WebKit-https.git
6 years ago[Win] Use RC_PROJECTBUILDVERSION as build portion of version
bfulgham@apple.com [Fri, 1 Aug 2014 01:15:56 +0000 (01:15 +0000)]
[Win] Use RC_PROJECTBUILDVERSION as build portion of version
https://bugs.webkit.org/show_bug.cgi?id=135478

Reviewed by David Kilzer.

Tools:
Add new test suite for the version-stamp program.

* Scripts/webkitperl/auto-version_unittest/versionStampTests.pl: Added.

WebKitLibraries:
* win/tools/scripts/version-stamp.pl: Check environment for
RC_PROJECTBUILDVERSION, and use it for the build portion of
the file version resource. Otherwise, use the __VERSION_BUILD__
value we calculated from the version string.

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

6 years agoReverted r171893, because it broke http/tests/appcache/different-https-origin-resourc...
mitz@apple.com [Fri, 1 Aug 2014 01:01:00 +0000 (01:01 +0000)]
Reverted r171893, because it broke http/tests/appcache/different-https-origin-resource-main.html,
which loads HTTPS content without calling the delegate.

Rubber-stamped by Alexey Proskuryakov.

* WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm:
(WTR::InjectedBundle::platformInitialize):
* WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
(WTR::InjectedBundle::platformInitialize):

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

6 years ago[EFL] remove ewk_defines.h
ryuan.choi@samsung.com [Fri, 1 Aug 2014 00:53:02 +0000 (00:53 +0000)]
[EFL] remove ewk_defines.h
https://bugs.webkit.org/show_bug.cgi?id=135456

Reviewed by Gyuyoung Kim.

* UIProcess/API/efl/ewk_context_menu.h:
* UIProcess/API/efl/ewk_context_menu_item.h: Moved the declaration from ewk_defines.h
* UIProcess/API/efl/ewk_defines.h: Removed.

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

6 years agoUnreviewed typo correction (and build fix).
bfulgham@apple.com [Fri, 1 Aug 2014 00:50:35 +0000 (00:50 +0000)]
Unreviewed typo correction (and build fix).

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController awakeFromNib]): Use correct
property name (_fullScreenIsEnabled -> _fullScreenEnabled)

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

6 years agoUnreviewed typo correction.
bfulgham@apple.com [Fri, 1 Aug 2014 00:39:47 +0000 (00:39 +0000)]
Unreviewed typo correction.
https://bugs.webkit.org/show_bug.cgi?id=135482

Rename '_fullScreenIsEnabled' -> '_fullScreenEnabled'

* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _fullScreenEnabled]): Added
(-[WKPreferences _fullScreenIsEnabled]): Deleted.
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:

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

6 years agoplatform/mac/fast/scrolling/scroll-select-bottom-test.html failing on Mavericks
bdakin@apple.com [Fri, 1 Aug 2014 00:26:53 +0000 (00:26 +0000)]
platform/mac/fast/scrolling/scroll-select-bottom-test.html failing on Mavericks
(after 171891?)
https://bugs.webkit.org/show_bug.cgi?id=135485

Skipping this test for now to allow some time to investigate the failure.

* platform/mac/TestExpectations:

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

6 years agoMiniBrowser Should Support Fullscreen Videos in WebKit2 Mode
bfulgham@apple.com [Fri, 1 Aug 2014 00:15:16 +0000 (00:15 +0000)]
MiniBrowser Should Support Fullscreen Videos in WebKit2 Mode
https://bugs.webkit.org/show_bug.cgi?id=135482

Reviewed by Simon Fraser.

Source/WebKit2:

Add accessors for the missing Fullscreen API so that MiniBrowser
can use them.

* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _fullScreenIsEnabled]): Added.
(-[WKPreferences _setFullScreenEnabled:]): Added.
* UIProcess/API/Cocoa/WKPreferencesPrivate.h: Add accessor for
Fullscreen mode.

Tools:

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController awakeFromNib]): Activate the Fullscreen
feature.

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

6 years agoSubpixel rendering: Region painting needs to take subpixel accumulation into account.
zalan@apple.com [Thu, 31 Jul 2014 23:55:31 +0000 (23:55 +0000)]
Subpixel rendering: Region painting needs to take subpixel accumulation into account.
https://bugs.webkit.org/show_bug.cgi?id=135469

Similar to non-region painting, when the context is translated, we need to propagate
the subpixel difference so that renderers get snapped to the same position as if they
were not part of a region.

Reviewed by Simon Fraser.

Covered by existing tests/not testable (webkit.org/b/135470)

* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
* page/FrameView.cpp:
(WebCore::FrameView::paintContents):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::calculateClipRects):
* rendering/RenderLayer.h:

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

6 years ago[iOS] Video in an <embed> has a bad aspect ratio when in fullscreen mode.
jer.noble@apple.com [Thu, 31 Jul 2014 23:52:19 +0000 (23:52 +0000)]
[iOS] Video in an <embed> has a bad aspect ratio when in fullscreen mode.
https://bugs.webkit.org/show_bug.cgi?id=135481

Reviewed by Simon Fraser.

Do not change the gravity of our AVPlayerLayer when in full screen mode; its gravity
is controlled by setVideoFullscreenGravity(), and should not be affected by style changes.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::updateVideoLayerGravity):

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

6 years agoWeb Inspector: Timeline recording is not working inspecting iOS 7 and earlier
commit-queue@webkit.org [Thu, 31 Jul 2014 23:17:15 +0000 (23:17 +0000)]
Web Inspector: Timeline recording is not working inspecting iOS 7 and earlier
https://bugs.webkit.org/show_bug.cgi?id=135466

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

Start / stop capturing for older backends that won't emit start / stop events.

* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackend.Agent.prototype.hasEvent):
Provide a way to check if an event is supported.

* UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype.startCapturing):
(WebInspector.TimelineManager.prototype.stopCapturing):
Fallback to starting and stopping capturing manually if the backend
does not provide the events.

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

6 years ago[Mac, iOS] Remove -setAllowsAnyHTTPSCertificate calls
ap@apple.com [Thu, 31 Jul 2014 22:56:30 +0000 (22:56 +0000)]
[Mac, iOS] Remove -setAllowsAnyHTTPSCertificate calls
https://bugs.webkit.org/show_bug.cgi?id=135472

Reviewed by Dan Bernstein.

We now handle server trust challenges, and don't need such hacks.

* WebKitTestRunner/InjectedBundle/ios/InjectedBundleIOS.mm:
(WTR::InjectedBundle::platformInitialize):
* WebKitTestRunner/InjectedBundle/mac/InjectedBundleMac.mm:
(WTR::InjectedBundle::platformInitialize):

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

6 years agoTest failure fix. I accidentally removed this file that is still used by another
bdakin@apple.com [Thu, 31 Jul 2014 22:45:00 +0000 (22:45 +0000)]
Test failure fix. I accidentally removed this file that is still used by another
test in the directory.

* platform/mac-wk2/tiled-drawing/resources/iframe-to-hit-test.html: Added.

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

6 years agoHit-testing broken in WebKit 1 views with AppKit's contentInsets
bdakin@apple.com [Thu, 31 Jul 2014 22:32:40 +0000 (22:32 +0000)]
Hit-testing broken in WebKit 1 views with AppKit's contentInsets
https://bugs.webkit.org/show_bug.cgi?id=135434
-and corresponding-
<rdar://problem/17850323>

Reviewed by Benjamin Poulain.

Source/WebCore:
AppKit's contentInsets are factored into scroll positions and mouse positions, but
in WebCore, we generally want all of those things to be factored out so that, for
example, the scroll position of a document pinned to the top is the same whether
or not there is a contentInset. So to fix hit-testing in WebKit 1 views with
contentInsets, this patch factors the inset out or into of all coordinate
conversion methods just like we do for the WebKit2 contentInset.

This patch also adds the ability to test WK1 platformContentInsets with
window.internals, and it re-names convertFromRenderer to
convertFromRendererToContainingView and also re-names convertToRenderer to
convertFromContainingViewToRenderer.

ScrollView::topContentInset() takes an optional parameter indicating whether the
caller wants the WebCore::Page contentInset or the platform content inset. It’s
necessary to distinguish between these cases because there is a lot of code that
only wants the WebCore::Page contentInset since that feature is actually
implemented in WebCore as opposed to being implemented at the platform level.
* WebCore.exp.in:
* page/FrameView.cpp:
(WebCore::FrameView::topContentInset):

For layout test purposes, set the platforTopContentInset here if there is a
platformWidget().
(WebCore::FrameView::topContentInsetDidChange):

Re-named functions, also all coordinate conversion functions call
topContentInset(ManualOrPlatformContentInset)
(WebCore::FrameView::convertFromContainingViewToRenderer):
(WebCore::FrameView::convertToContainingView):
(WebCore::FrameView::convertFromContainingView):
(WebCore::FrameView::convertFromRenderer): Deleted.
(WebCore::FrameView::convertToRenderer): Deleted.
* page/FrameView.h:
* page/Page.cpp:
(WebCore::Page::setTopContentInset):
* platform/ScrollView.cpp:
(WebCore::ScrollView::documentScrollOffsetRelativeToViewOrigin):
(WebCore::ScrollView::documentScrollPositionRelativeToViewOrigin):
(WebCore::ScrollView::contentsToRootView):
(WebCore::ScrollView::rootViewToTotalContents):
(WebCore::ScrollView::contentsToWindow):
(WebCore::ScrollView::platformTopContentInset):
(WebCore::ScrollView::platformSetTopContentInset):
* platform/ScrollView.h:
(WebCore::ScrollView::topContentInset):
* platform/ios/ScrollViewIOS.mm:
(WebCore::ScrollView::platformTopContentInset):
(WebCore::ScrollView::platformSetTopContentInset):

Implement new platform inset-related functions using AppKit's implementation.
* platform/mac/ScrollViewMac.mm:
(WebCore::ScrollView::platformTopContentInset):
(WebCore::ScrollView::platformSetTopContentInset):

When we set the scroll position for the documentView, we have to factor the inset
back into the WebCore scroll position.
(WebCore::ScrollView::platformSetScrollPosition):

Re-named functions.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::convertFromScrollbarToContainingView):
(WebCore::RenderLayer::convertFromContainingViewToScrollbar):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::convertFromScrollbarToContainingView):
(WebCore::RenderListBox::convertFromContainingViewToScrollbar):

Source/WebKit2:
Re-named functions.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::convertFromScrollbarToContainingView):
(WebKit::PDFPlugin::convertFromContainingViewToScrollbar):

LayoutTests:
These hit-testing related contentInset tests will now work for mac on wk1 on
Yosemite and wk2.

* platform/mac-wk1/TestExpectations:
* platform/mac-wk2/tiled-drawing/content-inset-hit-testing-expected.txt: Removed.
* platform/mac-wk2/tiled-drawing/content-inset-hit-testing-in-frame-expected.txt: Removed.
* platform/mac-wk2/tiled-drawing/content-inset-hit-testing-in-frame.html: Removed.
* platform/mac-wk2/tiled-drawing/content-inset-hit-testing.html: Removed.
* platform/mac-wk2/tiled-drawing/resources/iframe-to-hit-test.html: Removed.
* platform/mac/fast/events/content-inset-hit-testing-expected.txt: Copied from platform/mac-wk2/tiled-drawing/content-inset-hit-testing-expected.txt.
* platform/mac/fast/events/content-inset-hit-testing-in-frame-expected.txt: Copied from platform/mac-wk2/tiled-drawing/content-inset-hit-testing-in-frame-expected.txt.
* platform/mac/fast/events/content-inset-hit-testing-in-frame.html: Copied from platform/mac-wk2/tiled-drawing/content-inset-hit-testing-in-frame.html.
* platform/mac/fast/events/content-inset-hit-testing.html: Copied from platform/mac-wk2/tiled-drawing/content-inset-hit-testing.html.
* platform/mac/fast/events/resources: Added.
* platform/mac/fast/events/resources/iframe-to-hit-test.html: Copied from platform/mac-wk2/tiled-drawing/resources/iframe-to-hit-test.html.

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

6 years agoDefault buttons do not pulse in OS X 10.10
dino@apple.com [Thu, 31 Jul 2014 22:07:46 +0000 (22:07 +0000)]
Default buttons do not pulse in OS X 10.10
https://bugs.webkit.org/show_bug.cgi?id=135447
<rdar://problem/17875896>

Reviewed by Dan Bernstein.

OS X Yosemite does not have the animated pulsing default
buttons seen in previous releases. We don't need to have
a timer in RenderButton constantly triggering repaints.

* platform/mac/ThemeMac.mm:
(WebCore::paintButton): No need to advance the animation.
* rendering/RenderButton.cpp:
(WebCore::RenderButton::styleDidChange): Ask the theme if it
should advance the animation.
* rendering/RenderTheme.h:
(WebCore::RenderTheme::defaultButtonHasAnimation): Virtual function
indicating if the button needs to repaint.
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::defaultButtonHasAnimation): Provide platform
specific result on Yosemite and above.

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

6 years agoDOM::renderedImageForcingBlackText returns an image with the wrong logical size on...
timothy_horton@apple.com [Thu, 31 Jul 2014 22:06:10 +0000 (22:06 +0000)]
DOM::renderedImageForcingBlackText returns an image with the wrong logical size on 2x displays
https://bugs.webkit.org/show_bug.cgi?id=135442
<rdar://problem/17614632>

Reviewed by Simon Fraser.

* bindings/objc/DOM.mm:
(-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
Scale the NSImage size by the device scale factor,
similar to what we did for drag images in r167403.
Ideally this scaling would happen in the code that
generates the images, but this is a much larger change
with much more regression potential.

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

6 years agoJSCell::classInfo() belongs in JSCellInlines.h.
mark.lam@apple.com [Thu, 31 Jul 2014 21:56:38 +0000 (21:56 +0000)]
JSCell::classInfo() belongs in JSCellInlines.h.
<https://webkit.org/b/135475>

Reviewed by Mark Hahnenberg.

* runtime/JSCellInlines.h:
(JSC::JSCell::classInfo):
* runtime/JSDestructibleObject.h:
(JSC::JSCell::classInfo): Deleted.

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

6 years agoVarious SSO services need the networking process to be able to spoof its bundle id
oliver@apple.com [Thu, 31 Jul 2014 21:48:33 +0000 (21:48 +0000)]
Various SSO services need the networking process to be able to spoof its bundle id
https://bugs.webkit.org/show_bug.cgi?id=135468
<rdar://problem/17864139>

Reviewed by Alexey Proskuryakov.

Just add the entitlement required to allow the sandbox to let this happen.

* Configurations/Network-iOS.entitlements:

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

6 years ago[CSS Font Loading] Rename document.fontloader to document.fonts
betravis@adobe.com [Thu, 31 Jul 2014 21:38:27 +0000 (21:38 +0000)]
[CSS Font Loading] Rename document.fontloader to document.fonts
https://bugs.webkit.org/show_bug.cgi?id=135393

Reviewed by Bem Jones-Bey.

Source/WebCore:
The most recent version of the specification has renamed
document.fontloader to document.fonts. This change updates the
names in WebCore and LayoutTests.

Fixed up existing tests under LayoutTests/fast/css/fontloader-*
and LayoutTests/http/webfont/fontloader-*

* css/CSSFontFace.cpp:
(WebCore::CSSFontFace::notifyFontLoader):
(WebCore::CSSFontFace::notifyLoadingDone):
* dom/Document.cpp:
(WebCore::Document::fonts):
(WebCore::Document::fontloader): Deleted.
* dom/Document.h:
* dom/Document.idl:
* page/FrameView.cpp:
(WebCore::FrameView::performPostLayoutTasks):

LayoutTests:
Update tests to use the new document.fonts name.

* fast/css/fontloader-download-error.html:
* fast/css/fontloader-events.html:
* fast/css/fontloader-loadingdone.html:
* fast/css/fontloader-multiple-faces-download-error-expected.txt:
* fast/css/fontloader-multiple-faces-download-error.html:
* fast/css/fontloader-multiple-faces-expected.txt:
* fast/css/fontloader-multiple-faces.html:
* fast/css/fontloader-multiple-families-expected.txt:
* fast/css/fontloader-multiple-families.html:
* http/tests/webfont/fontloader-loading-attribute-expected.txt:
* http/tests/webfont/fontloader-loading-attribute.html:

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

6 years agoWeb Inspector: Sync button look and feel with Xcode updates.
jonowells@apple.com [Thu, 31 Jul 2014 21:00:45 +0000 (21:00 +0000)]
Web Inspector: Sync button look and feel with Xcode updates.
https://bugs.webkit.org/show_bug.cgi?id=135445

Reviewed by Timothy Hatcher.

Update styles to match recent changes to Xcode text-only
buttons, the navigation bar, and search fields. Include
older style rules for older Mac platforms.

* UserInterface/Views/ButtonNavigationItem.css:
(.navigation-bar .item.button.text-only):
(body.mac-platform.legacy .navigation-bar .item.button.text-only):
* UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
(.sidebar > .panel.details.css-style > .navigation-bar):
(.sidebar > .panel.details.css-style > .content):
(body.mac-platform.legacy .sidebar > .panel.details.css-style > .content):
* UserInterface/Views/DebuggerSidebarPanel.css:
(.sidebar > .panel.navigation.debugger > .content):
(body.mac-platform.legacy .sidebar > .panel.navigation.debugger > .content):
* UserInterface/Views/DividerNavigationItem.css:
(.navigation-bar .item.divider):
(body.mac-platform.legacy .navigation-bar .item.divider):
* UserInterface/Views/FilterBar.css:
(.filter-bar):
(body.mac-platform.legacy .filter-bar):
(.filter-bar > input[type="search"]):
(body.mac-platform.legacy .filter-bar > input[type="search"]):
* UserInterface/Views/LogContentView.css:
(.search-bar.log-search-bar > input[type="search"]):
(@media reader):
(.log-search-bar > input): Deleted.
* UserInterface/Views/Main.css:
(#split-content-browser > .navigation-bar):
(body.mac-platform.legacy #split-content-browser > .navigation-bar):
* UserInterface/Views/NavigationBar.css:
(.navigation-bar):
(body.mac-platform.legacy .navigation-bar):
(.navigation-bar .item):
(body.mac-platform.legacy .navigation-bar .item):
* UserInterface/Views/NavigationSidebarPanel.css:
(.sidebar > .panel.navigation > .content):
(body.mac-platform.legacy .sidebar > .panel.navigation > .content):
* UserInterface/Views/QuickConsole.css:
(.quick-console):
(body.mac-platform.legacy .quick-console):
* UserInterface/Views/RadioButtonNavigationItem.css:
(.navigation-bar .item.radio.button.text-only:hover):
(body.mac-platform.legacy .navigation-bar .item.radio.button.text-only:hover):
(.navigation-bar .item.radio.button.text-only.selected):
(body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected):
(.navigation-bar .item.radio.button.text-only:active):
(.navigation-bar .item.radio.button.text-only.selected:active):
(body.mac-platform.legacy .navigation-bar .item.radio.button.text-only.selected:active):
* UserInterface/Views/ResourceSidebarPanel.css:
(.sidebar > .panel.navigation.resource > .empty-content-placeholder):
(body.mac-platform.legacy .sidebar > .panel.navigation.resource > .empty-content-placeholder):
(.sidebar > .panel.navigation.resource > .search-bar):
(body.mac-platform.legacy .sidebar > .panel.navigation.resource > .search-bar):
(.sidebar > .panel.navigation.resource > .search-bar > input[type="search"]):
(body.mac-platform.legacy .sidebar > .panel.navigation.resource > .search-bar > input[type="search"]):
* UserInterface/Views/ScopeBar.css:
(.scope-bar > li):
(body.mac-platform.legacy .scope-bar > li):
(.scope-bar > li:hover):
(body.mac-platform.legacy .scope-bar > li:hover):
(.scope-bar > li.selected):
(.scope-bar > li:active):
(body.mac-platform.legacy .scope-bar > li:active):
(.scope-bar > li.selected:active):
(body.mac-platform.legacy .scope-bar > li.selected:active):
* UserInterface/Views/SearchBar.css:
(.search-bar > input[type="search"]):
(body.mac-platform.legacy .search-bar > input[type="search"]):
Update styles and apply older styles to legacy Mac platforms.

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

6 years agoREGRESSION: Search highlight is broken in RTL multicolumn content
abucur@adobe.com [Thu, 31 Jul 2014 19:50:45 +0000 (19:50 +0000)]
REGRESSION: Search highlight is broken in RTL multicolumn content
https://bugs.webkit.org/show_bug.cgi?id=135452

Reviewed by Simon Fraser.

Source/WebCore:
The offsets for elements inside RTL multi-column elements are incorrectly computed because
the columns don't calculate their left position according to the writing direction.

The patch extracts the column position computation in two helper functions (for top and left)
so they can be used when needed in different parts of the code. In our case, the |columnLogicalLeft|
function should be used inside |columnTranslationForOffset|.

Test: fast/multicol/content-bounding-box-rtl.html

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::columnLogicalLeft): Return the logical left of a column relative to the set.
(WebCore::RenderMultiColumnSet::columnLogicalTop): Return the logical top of a column relative to the set.
(WebCore::RenderMultiColumnSet::columnRectAt): Split the code between columnLogicalLeft and columnLogicalTop.
(WebCore::RenderMultiColumnSet::collectLayerFragments): Make code clearer by adding a new line.
(WebCore::RenderMultiColumnSet::columnTranslationForOffset): Use columnLogicalLeft instead of duplicating logic.
* rendering/RenderMultiColumnSet.h:

LayoutTests:
A test that verifies the bounding boxes for content inside a RTL multi-column element are correctly computed:
- for static elements
- for relative positioned elements
- for absolutely positioned elements

* fast/multicol/content-bounding-box-rtl-expected.txt: Added.
* fast/multicol/content-bounding-box-rtl.html: Added.

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

6 years agoWeb Inspector: MessageDispatcher should not synchronously dispatch all backend messages
burg@cs.washington.edu [Thu, 31 Jul 2014 19:47:40 +0000 (19:47 +0000)]
Web Inspector: MessageDispatcher should not synchronously dispatch all backend messages
https://bugs.webkit.org/show_bug.cgi?id=135427

Reviewed by Timothy Hatcher.

The frontend dispatches all queued messages from the backend synchronously, even if there are
hundreds of messages, or even if some of the messages take a long time (>10ms) to process.

This patch adds a time limit to the frontend's message dispatcher. If the time limit is exceeded
when processing the message queue, unhandled messages remain in the queue and the dispatcher goes
to sleep until the next run loop (obtained by a new setTimeout).

This has the effect of removing stutters when the message queue has hundreds of small messages.
The outliers are still the same since some single messages can take over 200ms to be handled.

This patch also improves performance logging in InspectorBackend so that it is easier to see
message handling times and their distribution among run loop turns.

* UserInterface/Protocol/InspectorBackend.js:
(InspectorBackendClass): Add a new diagnostic flag that warns about slow message handling.
(InspectorBackendClass.prototype._dispatchCallback.get if): Improve logging.
(InspectorBackendClass.prototype._dispatchCallback): Improve logging.
(InspectorBackendClass.prototype._dispatchEvent): Improve logging.
* UserInterface/Protocol/MessageDispatcher.js:
(WebInspector.dispatchNextQueuedMessageFromBackend): Keep track of a time limit for message
dispatching, and set a new timeout if we exceed the time limit.

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

6 years agomedia/track/add-and-remove-track.html and media/media-fragments/TC0001.html are flaky
ap@apple.com [Thu, 31 Jul 2014 19:21:28 +0000 (19:21 +0000)]
media/track/add-and-remove-track.html and media/media-fragments/TC0001.html are flaky
on Mac WK2 EWS, asserting under TestRunner::removeAllWebNotificationPermissions
https://bugs.webkit.org/show_bug.cgi?id=135418

Reviewed by Anders Carlsson.

This was only happening in shared web process mode, because WKBundlePostMessage
has different behavior then. When there is no process, the message is dropped on
the floor in multiple process mode, but it's stored to be delivered after launch
in shared process mode.

So, calling resetStateToConsistentValues() resulted in storing a Reset bundle message
that was delivered immediately after launch, when there was nothing to reset.

We don't actually need to reset anything at this point, as the previous call has
already reset everything UI process side, and web process is brand new. All we need
is to reattach the page to a process, as invoke() expects one to exist.

* WebKitTestRunner/TestController.cpp: (WTR::TestController::reattachPageToWebProcess):
* WebKitTestRunner/TestController.h:
* WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::invoke):

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

6 years agoEliminate "FractionConversion" from CSSPrimitiveValue::convertToLength
mhodovan.u-szeged@partner.samsung.com [Thu, 31 Jul 2014 18:20:51 +0000 (18:20 +0000)]
Eliminate "FractionConversion" from CSSPrimitiveValue::convertToLength
https://bugs.webkit.org/show_bug.cgi?id=135377

Reviewed by Darin Adler.

The FractionConversion argument in CSSPrimitiveValue::convertToLength
doesn't seem to actually have a purpose. It is for converting numbers
into Length(x * 100, Percent), but this case shouldn't be reachable.
The original patch introducing it doesn't shed any light either:
[https://bugs.webkit.org/show_bug.cgi?id=74913

This patch removes the now unused FractionConversion argument. Note
that we can probably also merge the two Fixed conversions, as the
two only differ in clamping large numbers (probably unintended).

No new tests.

* css/CSSCalculationValue.cpp:
(WebCore::determineCategory):
* css/CSSParser.cpp:
(WebCore::parseTransformTranslateArguments):
(WebCore::parseTranslateTransformValue):
(WebCore::parseTransformArguments): Deleted.
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::convertToLength):
* css/DeprecatedStyleBuilder.cpp:
(WebCore::ApplyPropertyClip::convertToLength):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::convertToIntLength):
(WebCore::StyleResolver::convertToFloatLength):
* css/TransformFunctions.cpp:
(WebCore::convertToFloatLength):

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

6 years ago[Win] Fix build failure when using 5-tuple build versions.
bfulgham@apple.com [Thu, 31 Jul 2014 18:00:41 +0000 (18:00 +0000)]
[Win] Fix build failure when using 5-tuple build versions.
https://bugs.webkit.org/show_bug.cgi?id=135464
<rdar://problem/17872507>

Reviewed by David Kilzer.

* win/tools/scripts/version-stamp.pl: Modify the environment for
the VersionStamper sub-process to work around bug in that tool.

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

6 years agoWeb Inspector: Right edge of Timeline Record button does not work
commit-queue@webkit.org [Thu, 31 Jul 2014 17:42:59 +0000 (17:42 +0000)]
Web Inspector: Right edge of Timeline Record button does not work
https://bugs.webkit.org/show_bug.cgi?id=135444

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

When hovering the record button we would show the status text, however
because the left edge of the status text box would overlap the right
edge of the record button causing completely unexpected behavior.

Position the status text correctly so that it never overlaps the record
button. 5px to match the left margin of the record button, and another
2px for some padding between the button and text.

* UserInterface/Views/TimelineSidebarPanel.css:
(.sidebar > .panel.navigation.timeline > .status-bar > .record-status):

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

6 years agoFix uninitialized scalar variable
commit-queue@webkit.org [Thu, 31 Jul 2014 17:40:49 +0000 (17:40 +0000)]
Fix uninitialized scalar variable
https://bugs.webkit.org/show_bug.cgi?id=135461

Patch by Przemyslaw Kuczynski <p.kuczynski@samsung.com> on 2014-07-31
Reviewed by Alexey Proskuryakov.

If fopen fails, returned ApplicationMemoryStats structure will be uninitialized

* Shared/linux/WebMemorySamplerLinux.cpp:
(WebKit::sampleMemoryAllocatedForApplication): Initialized applicationStats.

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

6 years agoBuild warning in webkit/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
commit-queue@webkit.org [Thu, 31 Jul 2014 17:37:40 +0000 (17:37 +0000)]
Build warning in webkit/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
https://bugs.webkit.org/show_bug.cgi?id=135414

Patch by Tanay C <tanay.c@samsung.com> on 2014-07-31
Reviewed by Csaba Osztrogonác.

* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::putToScopeCommon):removed unused parameter from function definition

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

6 years agoWeb Inspector: console.profile missing profile information
commit-queue@webkit.org [Thu, 31 Jul 2014 17:34:48 +0000 (17:34 +0000)]
Web Inspector: console.profile missing profile information
https://bugs.webkit.org/show_bug.cgi?id=135432

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

Source/WebCore:
By switching console.profile to start/stop the timeline we would
not have a chance to recompile JS functions with profiling information.
This used to work because whenever the inspector was open we would
have profiling information enabled. Go back to that behavior.

* inspector/InspectorController.cpp:
(WebCore::InspectorController::profilerEnabled):
Instead of checking if the timeline agent has started, check if the
timeline agent has been created. Going back to the normal behavior
of always having profiling information when the inspector is open.

* inspector/InspectorTimelineAgent.h:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
Recompile initializing the timeline agent to include profiling information.

(WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
Recompile destrying the timeline agent, only if needed.

(WebCore::InspectorTimelineAgent::willCallFunction):
(WebCore::InspectorTimelineAgent::didCallFunction):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::InspectorTimelineAgent::didEvaluateScript):
Using a boolean to track nested calls would not give expected
behavior when un-nesting. Switch to a counter to ensure that
as we start profiling in the outermost level we then stop
profiling at that same level and not inside an inner nesting.

Source/WebInspectorUI:
* UserInterface/Models/ScriptTimelineRecord.js:
Delete the payload information as soon as it has been processed.
It is no longer needed anymore and can be garbage collected.

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

6 years ago[CSS Font Loading] Test expectations should show success
betravis@adobe.com [Thu, 31 Jul 2014 17:24:38 +0000 (17:24 +0000)]
[CSS Font Loading] Test expectations should show success
https://bugs.webkit.org/show_bug.cgi?id=135420

Reviewed by Bem Jones-Bey.

Modify the expected files to represent success, and skip
the tests until the feature is enabled.

* TestExpectations: Skip the tests.
* fast/css/fontloader-download-error-expected.txt:
* fast/css/fontloader-events-expected.txt:
* fast/css/fontloader-loadingdone-expected.txt:
* fast/css/fontloader-multiple-faces-download-error-expected.txt:
* fast/css/fontloader-multiple-faces-expected.txt:
* fast/css/fontloader-multiple-families-expected.txt:
* http/tests/webfont/fontloader-loading-attribute-expected.txt:

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

6 years agoRefactor EventHandler to call ScrollAnimator::handleWheelEvent for overflow scrolling
commit-queue@webkit.org [Thu, 31 Jul 2014 17:16:08 +0000 (17:16 +0000)]
Refactor EventHandler to call ScrollAnimator::handleWheelEvent for overflow scrolling
https://bugs.webkit.org/show_bug.cgi?id=135195

Patch by Wenson Hsieh <wenson_hsieh@apple.com> on 2014-07-31
Reviewed by Beth Dakin.

ScrollableArea::handleWheelEvent is not currently being used to handle wheel events for overflow scrolling; it instead directly invokes ScrollableArea::scroll.
In order to expose wheel phases on Mac, the PlatformWheelEvent itself should propagate down to ScrollableArea, not just the scroll granularity, direction and
multiplier required by ScrollableArea::scroll. With this patch, PlatformWheelEvent will be "shipped" along with the WheelEvent.

No new tests, since behavior should not have changed.

* page/EventHandler.cpp:
(WebCore::didScrollInScrollableAreaForSingleAxis): Calls ScrollableArea::scroll directly using WheelEvent's data. Used to handle programmatic WheelEvents, e.g. from JavaScript.
(WebCore::handleWheelEventInAppropriateEnclosingBoxForSingleAxis): Finds the correct ScrollableArea and attempts to scroll it using the information contained in the WheelEvent via ScrollableArea::handleWheelEvent
(WebCore::EventHandler::defaultWheelEventHandler): Updated to use handleWheelEventInAppropriateEnclosingBoxForSingleAxis instead of scrollNode.
(WebCore::scrollNode): Deleted.
* rendering/RenderListBox.h: Made RenderListBox::scroll public so it can be invoked from EventHandler::handleWheelEventInAppropriateEnclosingBoxForSingleAxis.
* rendering/RenderNamedFlowThread.cpp: Refactored to let EventHandler update nextScrollBlock in the case of isRenderNamedFlowThread().
(WebCore::RenderNamedFlowThread::fragmentFromRenderBoxAsRenderBlock):
* rendering/RenderNamedFlowThread.h:

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

6 years agoClean up the WebKit build from unused parameter warning in Webkit2/WebProcess module
commit-queue@webkit.org [Thu, 31 Jul 2014 17:15:10 +0000 (17:15 +0000)]
Clean up the WebKit build from unused parameter warning in Webkit2/WebProcess module
https://bugs.webkit.org/show_bug.cgi?id=135413

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-07-31
Reviewed by Darin Adler.

* WebProcess/OriginData/WebOriginDataManager.cpp:
(WebKit::WebOriginDataManager::getOrigins):
(WebKit::WebOriginDataManager::deleteEntriesForOrigin):
(WebKit::WebOriginDataManager::deleteEntriesModifiedBetweenDates):
(WebKit::WebOriginDataManager::deleteAllEntries):

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

6 years agoAX: iOS: Crash accessing m_page in WKAccessibilityPageObject
cfleizach@apple.com [Thu, 31 Jul 2014 17:11:30 +0000 (17:11 +0000)]
AX: iOS: Crash accessing m_page in WKAccessibilityPageObject
https://bugs.webkit.org/show_bug.cgi?id=134617

Reviewed by Darin Adler.

Provide a way to detach a WK2 WebPage object so that it can uninitialize other pointers, like the accessibility object.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::~WebPage):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/efl/WebPageEfl.cpp:
(WebKit::WebPage::platformDetach):
* WebProcess/WebPage/gtk/WebPageGtk.cpp:
(WebKit::WebPage::platformDetach):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::platformDetach):
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::platformDetach):

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

6 years ago[WK2] Regression tests can't load HTTPS pages with NetworkProcess due to self-signed...
mitz@apple.com [Thu, 31 Jul 2014 16:45:19 +0000 (16:45 +0000)]
[WK2] Regression tests can't load HTTPS pages with NetworkProcess due to self-signed certificate
https://bugs.webkit.org/show_bug.cgi?id=115282

Reviewed by Sam Weinig.

Tools:
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::canAuthenticateAgainstProtectionSpaceInFrame): Return true for any
local host server trust protection space.
(WTR::TestController::didReceiveAuthenticationChallengeInFrame): Respond with a non-empty
credential to server trust challenges.

LayoutTests:
* platform/mac-wk2/TestExpectations: Removed the exceptions listed under this bug.

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

6 years agoSource/WebCore: WebCore part of: Server trust authentication challenges aren’t sent...
mitz@apple.com [Thu, 31 Jul 2014 16:43:06 +0000 (16:43 +0000)]
Source/WebCore: WebCore part of: Server trust authentication challenges aren’t sent to the navigation delegate
https://bugs.webkit.org/show_bug.cgi?id=135327

Reviewed by Alexey Proskuryakov.

* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::receivedCredential): Don’t try to change the persistence of
credentials used for server trust, because the platform doesn’t support persistence values
other than Session for server trust.
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::receivedCredential): Ditto.

Source/WebKit2: WebKit part of: Server trust authentication challenges aren’t sent to the navigation delegate
https://bugs.webkit.org/show_bug.cgi?id=135327

Reviewed by Alexey Proskuryakov.

* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
Return true for server trust protection spaces if the delegate implements
-webView:didReceiveAuthenticationChallenge:completionHandler:.
(WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame): Removed
an assertion that is no longer true due to the above.

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

6 years agoTried to fix building with the OS X 10.9 SDK while targeting OS X 10.8.
mitz@apple.com [Thu, 31 Jul 2014 16:41:40 +0000 (16:41 +0000)]
Tried to fix building with the OS X 10.9 SDK while targeting OS X 10.8.

* platform/network/cocoa/CredentialCocoa.mm:
(WebCore::toCredentialPersistence):

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

6 years ago[webkitpy] Make diff_text generate correct diff if there is no newline at the end...
commit-queue@webkit.org [Thu, 31 Jul 2014 16:24:02 +0000 (16:24 +0000)]
[webkitpy] Make diff_text generate correct diff if there is no newline at the end of file
https://bugs.webkit.org/show_bug.cgi?id=135381

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-07-31
Reviewed by Csaba Osztrogonác.

* Scripts/webkitpy/port/base.py:
(Port.diff_text):
* Scripts/webkitpy/port/base_unittest.py:
(PortTest.test_diff_text):

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

6 years agoReverted r171854, because it broke building with the OS X 10.8 SDK.
mitz@apple.com [Thu, 31 Jul 2014 16:16:14 +0000 (16:16 +0000)]
Reverted r171854, because it broke building with the OS X 10.8 SDK.

* platform/network/cocoa/CredentialCocoa.mm:
(WebCore::toCredentialPersistence):

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

6 years agoTried to fix building with the OS X 10.9 SDK while targeting OS X 10.8.
mitz@apple.com [Thu, 31 Jul 2014 16:07:14 +0000 (16:07 +0000)]
Tried to fix building with the OS X 10.9 SDK while targeting OS X 10.8.

* platform/network/cocoa/CredentialCocoa.mm:
(WebCore::toCredentialPersistence):

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

6 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Thu, 31 Jul 2014 15:58:06 +0000 (15:58 +0000)]
Unreviewed EFL gardening

Update test expectations for crashing tests.

* platform/efl/TestExpectations:

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

6 years agoNewFunctionExpression and NewFunctionNoCheck should setHaveStructures(true)
fpizlo@apple.com [Thu, 31 Jul 2014 15:21:42 +0000 (15:21 +0000)]
NewFunctionExpression and NewFunctionNoCheck should setHaveStructures(true)
https://bugs.webkit.org/show_bug.cgi?id=135430

Reviewed by Mark Hahnenberg.

We already handled this correctly after the ftlopt merge, but it's useful to have the test.

* tests/stress/new-function-expression-has-structures.js: Added.
(foo.f):
(foo.f.prototype.f):
(foo):

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

6 years agoREGRESSION(??): [iOS] Disabling MediaPlaybackRequiresUserGesture does not remove...
jer.noble@apple.com [Thu, 31 Jul 2014 15:08:29 +0000 (15:08 +0000)]
REGRESSION(??): [iOS] Disabling MediaPlaybackRequiresUserGesture does not remove user gesture requirement for entering full screen.
https://bugs.webkit.org/show_bug.cgi?id=135443

Reviewed by Dean Jackson.

Allow full screen mode to be entered without a user gesture if the gesture requirement for media playback
has been unset.

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

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

6 years agoUnreviewed. Update OptionsGTK.cmake and NEWS for 2.5.1 release.
carlosgc@webkit.org [Thu, 31 Jul 2014 14:05:05 +0000 (14:05 +0000)]
Unreviewed. Update OptionsGTK.cmake and NEWS for 2.5.1 release.

.:
* Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:
* gtk/NEWS: Add release notes for 2.5.1.

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

6 years ago2014-07-31 Andrei Bucur <abucur@adobe.com>
abucur@adobe.com [Thu, 31 Jul 2014 13:43:52 +0000 (13:43 +0000)]
2014-07-31  Andrei Bucur  <abucur@adobe.com>

[CSS Multicolumn] Clear the lines when switching to multi-column layout
https://bugs.webkit.org/show_bug.cgi?id=135127

Reviewed by Alexandru Chiculita.

Source/WebCore:

When switching an element to multi-column layout it becomes a container of block
children. When this happens the existing line boxes must be deleted in addition
to clearing the hasInlineChildren flag.

Tests: fast/multicol/inline-container-to-multicol.html
       fast/multicol/inline-container-to-multicol-float.html
       fast/multicol/inline-container-to-multicol-positioned.html

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::createMultiColumnFlowThread):

LayoutTests:

Tests that verifies lines are correctly cleared when an element is switched to
multi-column layout.

* fast/multicol/inline-container-to-multicol-expected.txt: Added.
* fast/multicol/inline-container-to-multicol.html: Added.
* fast/multicol/inline-container-to-multicol-float-expected.txt: Added.
* fast/multicol/inline-container-to-multicol-float.html: Added.
* fast/multicol/inline-container-to-multicol-positioned-expected.txt: Added.
* fast/multicol/inline-container-to-multicol-positioned.html: Added.

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

6 years agoUnreviewed. Fix GTK+ make distcheck.
carlosgc@webkit.org [Thu, 31 Jul 2014 13:18:24 +0000 (13:18 +0000)]
Unreviewed. Fix GTK+ make distcheck.

Source/WebKit2:
* Shared/InteractionInformationAtPosition.h: Only include
WebCore/SelectionRect.h for IOS.

Tools:
* gtk/make-dist.py:
(ensure_version_if_possible): Use 4.0 instead of 3.0 as binary
version to find the pkg-config file.
* gtk/manifest.txt: Add missing resource to the tarball.

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

6 years ago[GTK] make distcheck is building from sources dir instead of dist dir
carlosgc@webkit.org [Thu, 31 Jul 2014 12:27:14 +0000 (12:27 +0000)]
[GTK] make distcheck is building from sources dir instead of dist dir
https://bugs.webkit.org/show_bug.cgi?id=135457

Reviewed by Philippe Normand.

* gtk/make-dist.py:
(Distcheck.configure): Use dist_dir as source dir.
(Distcheck.check): Pass dist_dir to configure().

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

6 years ago[GTK] Bump binary version for 2.6
carlosgc@webkit.org [Thu, 31 Jul 2014 09:16:57 +0000 (09:16 +0000)]
[GTK] Bump binary version for 2.6
https://bugs.webkit.org/show_bug.cgi?id=133724

Reviewed by Philippe Normand.

.:
* Source/cmake/OptionsGTK.cmake: Bump binary version to 4.0 and
update library version numbers.

Source/WebKit2:
* PlatformGTK.cmake: Fix JavaScriptCore dependency on
instrospection commands and make them depend on GTK+-3.0.

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

6 years ago[GTK] Do not include files that are not in git in the tarball
carlosgc@webkit.org [Thu, 31 Jul 2014 08:41:33 +0000 (08:41 +0000)]
[GTK] Do not include files that are not in git in the tarball
https://bugs.webkit.org/show_bug.cgi?id=134804

Reviewed by Philippe Normand.

Skip all files in the source tree that are not under version control
except for files added from the build dir like the documentation.

* gtk/make-dist.py:
(Directory.__init__): Initialize the list of files under control version.
(Directory.list_cms_files): Helper function to list all files
under the control version for the current source root.
(Directory.should_skip_file): Return True for files that are not
under control version only when the source root is also under
control version.
(Directory.get_files): Filter the files also using should_skip_file().

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

6 years agoSpeculative Windows build fixery, part II.
akling@apple.com [Thu, 31 Jul 2014 07:36:44 +0000 (07:36 +0000)]
Speculative Windows build fixery, part II.

This seems to indicate that adding the globalObjectTable to the exports file
was the wrong idea:

1>WebKit.exp : error LNK2001: unresolved external symbol "struct JSC::HashTable const JSC::globalObjectTable" (?globalObjectTable@JSC@@3UHashTable@1@B)

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

6 years agoSpeculative Windows build fix.
akling@apple.com [Thu, 31 Jul 2014 06:51:47 +0000 (06:51 +0000)]
Speculative Windows build fix.

Try to dllimport the dllexported global object HashTable.

* jsc.cpp:
* testRegExp.cpp:

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

6 years agoPropertyName's internal string is always atomic.
akling@apple.com [Thu, 31 Jul 2014 05:38:30 +0000 (05:38 +0000)]
PropertyName's internal string is always atomic.
<https://webkit.org/b/135451>

Source/JavaScriptCore:
Now that we've merged the JSC::Identifier and WTF::AtomicString tables,
we know that any string that's an Identifier is guaranteed to be atomic.

A PropertyName can be either an Identifier or a PrivateName, and the
private names are also guaranteed to be atomic internally.

Make PropertyName vend AtomicStringImpl* instead of StringImpl*.

Reviewed by Benjamin Poulain.

* runtime/PropertyName.h:
(JSC::PropertyName::PropertyName):
(JSC::PropertyName::uid):
(JSC::PropertyName::publicName):

Source/WebCore:
Use PropertyName::publicName() directly instead of taking the slow route
through AtomicString::findStringWithHash().

These strings are always atomic, and findStringWithHash() would trudge
through a full hash lookup just to discover that indeed, they are!

Reviewed by Benjamin Poulain.

* bindings/js/JSDOMBinding.cpp:
(WebCore::findAtomicString): Deleted.
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::namedItemGetter):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::canGetItemsForName):
(WebCore::JSHTMLDocument::nameGetter):

Source/WTF:
Remove AtomicString::findStringWithHash() since nobody uses it anymore.

Reviewed by Benjamin Poulain.

* wtf/text/AtomicString.cpp:
(WTF::findString): Deleted.
(WTF::AtomicString::findStringWithHash): Deleted.
* wtf/text/AtomicString.h:

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

6 years agoAdd a layout test for Geolocation's request queueing for hidden pages
benjamin@webkit.org [Thu, 31 Jul 2014 03:19:12 +0000 (03:19 +0000)]
Add a layout test for Geolocation's request queueing for hidden pages
https://bugs.webkit.org/show_bug.cgi?id=135402

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-07-30
Reviewed by Zalan Bujtas.

Sam added the queueing feature in r171188. This patch adds a layout test
for the simplest case.

* fast/dom/Geolocation/requestQueuingForHiddenPage-expected.txt: Added.
* fast/dom/Geolocation/requestQueuingForHiddenPage.html: Added.

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

6 years agoElementRuleCollector: group the shadow tree code
benjamin@webkit.org [Thu, 31 Jul 2014 03:18:40 +0000 (03:18 +0000)]
ElementRuleCollector: group the shadow tree code
https://bugs.webkit.org/show_bug.cgi?id=135410

Reviewed by Andreas Kling.

* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::collectMatchingRules):
Little cleanup: group the shadow tree rule collection in the same block.

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

6 years agoCleanup DetailsMarkerControl
benjamin@webkit.org [Thu, 31 Jul 2014 03:17:39 +0000 (03:17 +0000)]
Cleanup DetailsMarkerControl
https://bugs.webkit.org/show_bug.cgi?id=135429

Reviewed by Andreas Kling.

Remove the override of shadowPseudoId(). This is a simple type of shadowId,
it should use the generic pseudo() path.

Move DetailsMarkerControl::create() out-of-line. One could justify inlining the constructor,
inlining the ::create() function has little value.

* html/shadow/DetailsMarkerControl.cpp:
(WebCore::DetailsMarkerControl::create):
(WebCore::DetailsMarkerControl::DetailsMarkerControl):
(WebCore::DetailsMarkerControl::rendererIsNeeded):
(WebCore::DetailsMarkerControl::shadowPseudoId): Deleted.
(WebCore::DetailsMarkerControl::summaryElement): Deleted.
* html/shadow/DetailsMarkerControl.h:
(WebCore::DetailsMarkerControl::create): Deleted.

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

6 years agoRemove UploadButtonElement::shadowPseudoId()
benjamin@webkit.org [Thu, 31 Jul 2014 03:16:52 +0000 (03:16 +0000)]
Remove UploadButtonElement::shadowPseudoId()
https://bugs.webkit.org/show_bug.cgi?id=135435

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

Use the generic pseudo() path instead of a custom shadowPseudoId().

* html/FileInputType.cpp:
(WebCore::UploadButtonElement::create):
(WebCore::UploadButtonElement::createForMultiple):
(WebCore::UploadButtonElement::UploadButtonElement):
Set the type in the common constructor instead of the call sites.
(WebCore::UploadButtonElement::shadowPseudoId): Deleted.
* html/FileInputType.h:

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

6 years agoRemove SpinButtonElement::shadowPseudoId
benjamin@webkit.org [Thu, 31 Jul 2014 03:16:05 +0000 (03:16 +0000)]
Remove SpinButtonElement::shadowPseudoId
https://bugs.webkit.org/show_bug.cgi?id=135436

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

Use the generic pseudo.

* html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::SpinButtonElement):
(WebCore::SpinButtonElement::shadowPseudoId): Deleted.
* html/shadow/SpinButtonElement.h:

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

6 years agoClean up YouTubeEmbedShadowElement
benjamin@webkit.org [Thu, 31 Jul 2014 03:15:10 +0000 (03:15 +0000)]
Clean up YouTubeEmbedShadowElement
https://bugs.webkit.org/show_bug.cgi?id=135437

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

* html/shadow/YouTubeEmbedShadowElement.cpp:
(WebCore::YouTubeEmbedShadowElement::YouTubeEmbedShadowElement):
(WebCore::YouTubeEmbedShadowElement::pluginElement): Deleted.
This is unused in WebCore.

(WebCore::YouTubeEmbedShadowElement::shadowPseudoId): Deleted.
Use the generic pseudo path instead of a custom shadowPseudoId.
* html/shadow/YouTubeEmbedShadowElement.h:

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

6 years agoRemove shadowPseudoId() from InputFieldSpeechButtonElement and SearchFieldCancelButto...
benjamin@webkit.org [Thu, 31 Jul 2014 03:14:11 +0000 (03:14 +0000)]
Remove shadowPseudoId() from InputFieldSpeechButtonElement and SearchFieldCancelButtonElement
https://bugs.webkit.org/show_bug.cgi?id=135438

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

Use the generic path.

* html/shadow/TextControlInnerElements.cpp:
(WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
(WebCore::InputFieldSpeechButtonElement::InputFieldSpeechButtonElement):
(WebCore::SearchFieldCancelButtonElement::shadowPseudoId): Deleted.
(WebCore::InputFieldSpeechButtonElement::shadowPseudoId): Deleted.
* html/shadow/TextControlInnerElements.h:

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

6 years agoREGRESSION (WK2 iOS): Inline editing for Chinese and Japanese keyboards does not...
enrica@apple.com [Thu, 31 Jul 2014 02:19:43 +0000 (02:19 +0000)]
REGRESSION (WK2 iOS): Inline editing for Chinese and Japanese keyboards does not work in Safari.
https://bugs.webkit.org/show_bug.cgi?id=135449
<rdar://problem/17824833>

Reviewed by Benjamin Poulain.

The WebProcess sends the notification that the gesture modified the phrase boundary,
but the flag was not being converted properly, therefore we failed to notify
the text input system that a change had occurred.

* UIProcess/ios/WKContentViewInteraction.mm:
(toUIWKSelectionFlags):

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

6 years agoUSE(CONTENT_FILTERING) should be ENABLE(CONTENT_FILTERING)
aestes@apple.com [Thu, 31 Jul 2014 01:13:18 +0000 (01:13 +0000)]
USE(CONTENT_FILTERING) should be ENABLE(CONTENT_FILTERING)
https://bugs.webkit.org/show_bug.cgi?id=135439

Reviewed by Tim Horton.

We now support two different platform content filters, and will soon support a mock content filter (as part of
webkit.org/b/128858). This makes content filtering a feature of WebKit, not just an adoption of a third-party
library. ENABLE() is the correct macro to use for such a feature.

Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:

Source/WebCore:
* Configurations/FeatureDefines.xcconfig:
* WebCore.exp.in:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::responseReceived):
(WebCore::DocumentLoader::commitData):
(WebCore::DocumentLoader::dataReceived):
* loader/DocumentLoader.h:
* loader/FrameLoaderClient.h:
* platform/ContentFilter.h:
* platform/ios/ContentFilterIOS.mm:
* platform/mac/ContentFilterMac.mm:

Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:
* Shared/WebCoreArgumentCoders.h:
* UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::didStartProvisionalLoad):
* UIProcess/WebFrameProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
* WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

Source/WTF:
* wtf/Platform.h:

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

6 years agoStatic hash tables no longer need to be coupled with a VM.
akling@apple.com [Wed, 30 Jul 2014 22:26:22 +0000 (22:26 +0000)]
Static hash tables no longer need to be coupled with a VM.
<https://webkit.org/b/135421>

Source/JavaScriptCore:
Now that the static hash tables are using char** instead of StringImpl**,
it's no longer necessary to make them per-VM.

This patch removes the hook in ClassInfo for providing your own static
hash table getter. Everyone now uses ClassInfo::staticPropHashTable.
Most of this patch is tweaking ClassInfo construction sites to pass one
less null pointer.

Also simplified Lookup.h to stop requiring ExecState/VM to access the
static hash tables.

Reviewed by Geoffrey Garen.

* API/JSAPIWrapperObject.mm:
* API/JSCallbackConstructor.cpp:
* API/JSCallbackFunction.cpp:
* API/JSCallbackObject.cpp:
* API/ObjCCallbackFunction.mm:
* bytecode/UnlinkedCodeBlock.cpp:
* create_hash_table:
* debugger/DebuggerScope.cpp:
* inspector/JSInjectedScriptHost.cpp:
* inspector/JSInjectedScriptHostPrototype.cpp:
* inspector/JSJavaScriptCallFrame.cpp:
* inspector/JSJavaScriptCallFramePrototype.cpp:
* interpreter/CallFrame.h:
(JSC::ExecState::arrayConstructorTable): Deleted.
(JSC::ExecState::arrayPrototypeTable): Deleted.
(JSC::ExecState::booleanPrototypeTable): Deleted.
(JSC::ExecState::dataViewTable): Deleted.
(JSC::ExecState::dateTable): Deleted.
(JSC::ExecState::dateConstructorTable): Deleted.
(JSC::ExecState::errorPrototypeTable): Deleted.
(JSC::ExecState::globalObjectTable): Deleted.
(JSC::ExecState::jsonTable): Deleted.
(JSC::ExecState::numberConstructorTable): Deleted.
(JSC::ExecState::numberPrototypeTable): Deleted.
(JSC::ExecState::objectConstructorTable): Deleted.
(JSC::ExecState::privateNamePrototypeTable): Deleted.
(JSC::ExecState::regExpTable): Deleted.
(JSC::ExecState::regExpConstructorTable): Deleted.
(JSC::ExecState::regExpPrototypeTable): Deleted.
(JSC::ExecState::stringConstructorTable): Deleted.
(JSC::ExecState::promisePrototypeTable): Deleted.
(JSC::ExecState::promiseConstructorTable): Deleted.
* jsc.cpp:
* parser/Lexer.h:
(JSC::Keywords::isKeyword):
(JSC::Keywords::getKeyword):
* runtime/Arguments.cpp:
* runtime/ArgumentsIteratorConstructor.cpp:
* runtime/ArgumentsIteratorPrototype.cpp:
* runtime/ArrayBufferNeuteringWatchpoint.cpp:
* runtime/ArrayConstructor.cpp:
(JSC::ArrayConstructor::getOwnPropertySlot):
* runtime/ArrayIteratorConstructor.cpp:
* runtime/ArrayIteratorPrototype.cpp:
* runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::getOwnPropertySlot):
* runtime/BooleanConstructor.cpp:
* runtime/BooleanObject.cpp:
* runtime/BooleanPrototype.cpp:
(JSC::BooleanPrototype::getOwnPropertySlot):
* runtime/ClassInfo.h:
(JSC::ClassInfo::hasStaticProperties):
(JSC::ClassInfo::propHashTable): Deleted.
* runtime/ConsolePrototype.cpp:
* runtime/CustomGetterSetter.cpp:
* runtime/DateConstructor.cpp:
(JSC::DateConstructor::getOwnPropertySlot):
* runtime/DateInstance.cpp:
* runtime/DatePrototype.cpp:
(JSC::DatePrototype::getOwnPropertySlot):
* runtime/Error.cpp:
* runtime/ErrorConstructor.cpp:
* runtime/ErrorInstance.cpp:
* runtime/ErrorPrototype.cpp:
(JSC::ErrorPrototype::getOwnPropertySlot):
* runtime/ExceptionHelpers.cpp:
* runtime/Executable.cpp:
* runtime/FunctionConstructor.cpp:
* runtime/FunctionPrototype.cpp:
* runtime/GetterSetter.cpp:
* runtime/InternalFunction.cpp:
* runtime/JSAPIValueWrapper.cpp:
* runtime/JSActivation.cpp:
* runtime/JSArgumentsIterator.cpp:
* runtime/JSArray.cpp:
* runtime/JSArrayBuffer.cpp:
* runtime/JSArrayBufferConstructor.cpp:
* runtime/JSArrayBufferPrototype.cpp:
* runtime/JSArrayBufferView.cpp:
* runtime/JSArrayIterator.cpp:
* runtime/JSBoundFunction.cpp:
* runtime/JSConsole.cpp:
* runtime/JSDataView.cpp:
* runtime/JSDataViewPrototype.cpp:
(JSC::JSDataViewPrototype::getOwnPropertySlot):
* runtime/JSFunction.cpp:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::getOwnPropertySlot):
* runtime/JSMap.cpp:
* runtime/JSMapIterator.cpp:
* runtime/JSNameScope.cpp:
* runtime/JSNotAnObject.cpp:
* runtime/JSONObject.cpp:
(JSC::JSONObject::getOwnPropertySlot):
* runtime/JSObject.cpp:
(JSC::getClassPropertyNames):
(JSC::JSObject::put):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::findPropertyHashEntry):
(JSC::JSObject::reifyStaticFunctionsForDelete):
* runtime/JSObject.h:
* runtime/JSPromise.cpp:
* runtime/JSPromiseConstructor.cpp:
(JSC::JSPromiseConstructor::getOwnPropertySlot):
* runtime/JSPromiseDeferred.cpp:
* runtime/JSPromisePrototype.cpp:
(JSC::JSPromisePrototype::getOwnPropertySlot):
* runtime/JSPromiseReaction.cpp:
* runtime/JSPropertyNameIterator.cpp:
* runtime/JSProxy.cpp:
* runtime/JSSet.cpp:
* runtime/JSSetIterator.cpp:
* runtime/JSString.cpp:
* runtime/JSTypedArrayConstructors.cpp:
* runtime/JSTypedArrayPrototypes.cpp:
* runtime/JSTypedArrays.cpp:
* runtime/JSVariableObject.cpp:
* runtime/JSWeakMap.cpp:
* runtime/JSWithScope.cpp:
* runtime/Lookup.cpp:
(JSC::HashTable::createTable):
* runtime/Lookup.h:
(JSC::HashTable::initializeIfNeeded):
(JSC::HashTable::entry):
(JSC::HashTable::begin):
(JSC::HashTable::end):
(JSC::getStaticPropertySlot):
(JSC::getStaticFunctionSlot):
(JSC::getStaticValueSlot):
(JSC::lookupPut):
* runtime/MapConstructor.cpp:
* runtime/MapData.cpp:
* runtime/MapIteratorConstructor.cpp:
* runtime/MapIteratorPrototype.cpp:
* runtime/MapPrototype.cpp:
* runtime/MathObject.cpp:
* runtime/NameConstructor.cpp:
* runtime/NameInstance.cpp:
* runtime/NamePrototype.cpp:
(JSC::NamePrototype::getOwnPropertySlot):
* runtime/NativeErrorConstructor.cpp:
* runtime/NumberConstructor.cpp:
(JSC::NumberConstructor::getOwnPropertySlot):
* runtime/NumberObject.cpp:
* runtime/NumberPrototype.cpp:
(JSC::NumberPrototype::getOwnPropertySlot):
* runtime/ObjectConstructor.cpp:
(JSC::ObjectConstructor::getOwnPropertySlot):
* runtime/ObjectPrototype.cpp:
* runtime/PropertyTable.cpp:
* runtime/RegExp.cpp:
* runtime/RegExpConstructor.cpp:
(JSC::RegExpConstructor::getOwnPropertySlot):
* runtime/RegExpMatchesArray.cpp:
* runtime/RegExpObject.cpp:
(JSC::RegExpObject::getOwnPropertySlot):
* runtime/RegExpPrototype.cpp:
(JSC::RegExpPrototype::getOwnPropertySlot):
* runtime/SetConstructor.cpp:
* runtime/SetIteratorConstructor.cpp:
* runtime/SetIteratorPrototype.cpp:
* runtime/SetPrototype.cpp:
* runtime/SparseArrayValueMap.cpp:
* runtime/StrictEvalActivation.cpp:
* runtime/StringConstructor.cpp:
(JSC::StringConstructor::getOwnPropertySlot):
* runtime/StringObject.cpp:
* runtime/StringPrototype.cpp:
* runtime/Structure.cpp:
(JSC::Structure::Structure):
(JSC::Structure::freezeTransition):
(JSC::ClassInfo::hasStaticSetterOrReadonlyProperties):
* runtime/StructureChain.cpp:
* runtime/StructureRareData.cpp:
* runtime/SymbolTable.cpp:
* runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::~VM):
* runtime/VM.h:
* runtime/WeakMapConstructor.cpp:
* runtime/WeakMapData.cpp:
* runtime/WeakMapPrototype.cpp:
* testRegExp.cpp:

Source/WebCore:
Update for JSC::ClassInfo changes.

Remove the JSNoStaticTables mode for IDL code generation, which was used to
ensure that each VM had its own unique copy of certain static tables.
This was used for interfaces that could be used in workers, and now there's
no need to manually annotate these things anymore.

Also remove the DOMObjectHashTableMap class that was only used for this.

Reviewed by Geoffrey Garen.

* Modules/indexeddb/IDBAny.idl:
* Modules/indexeddb/IDBCursor.idl:
* Modules/indexeddb/IDBCursorWithValue.idl:
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBFactory.idl:
* Modules/indexeddb/IDBIndex.idl:
* Modules/indexeddb/IDBKeyRange.idl:
* Modules/indexeddb/IDBObjectStore.idl:
* Modules/indexeddb/IDBOpenDBRequest.idl:
* Modules/indexeddb/IDBRequest.idl:
* Modules/indexeddb/IDBTransaction.idl:
* Modules/indexeddb/IDBVersionChangeEvent.idl:
* Modules/webdatabase/Database.idl:
* Modules/webdatabase/DatabaseSync.idl:
* Modules/webdatabase/SQLError.idl:
* Modules/webdatabase/SQLException.idl:
* Modules/webdatabase/SQLResultSet.idl:
* Modules/webdatabase/SQLResultSetRowList.idl:
* Modules/webdatabase/SQLTransaction.idl:
* Modules/webdatabase/SQLTransactionSync.idl:
* Modules/websockets/CloseEvent.idl:
* Modules/websockets/WebSocket.idl:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/DOMObjectHashTableMap.cpp: Removed.
* bindings/js/DOMObjectHashTableMap.h: Removed.
* bindings/js/JSDOMBinding.cpp:
(WebCore::getHashTableForGlobalData): Deleted.
* bindings/js/JSDOMBinding.h:
(WebCore::getStaticValueSlotEntryWithoutCaching):
* bindings/js/JSDOMGlobalObject.cpp:
* bindings/js/JSDOMWindowBase.cpp:
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::put):
* bindings/js/JSDOMWindowShell.cpp:
* bindings/js/JSImageConstructor.cpp:
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::putDelegate):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::deleteProperty):
(WebCore::JSStorage::putDelegate):
* bindings/js/JSWorkerGlobalScopeBase.cpp:
* bindings/js/WebCoreJSClientData.h:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
(GenerateImplementation):
(GenerateConstructorHelperMethods):
(hashTableAccessor): Deleted.
(prototypeHashTableAccessor): Deleted.
(constructorHashTableAccessor): Deleted.
* bindings/scripts/IDLAttributes.txt:
* bridge/c/CRuntimeObject.cpp:
* bridge/c/c_instance.cpp:
* bridge/objc/ObjCRuntimeObject.mm:
* bridge/objc/objc_instance.mm:
* bridge/objc/objc_runtime.mm:
* bridge/runtime_array.cpp:
* bridge/runtime_method.cpp:
* bridge/runtime_object.cpp:
* crypto/CryptoKey.idl:
* css/CSSFontFaceLoadEvent.idl:
* dom/DOMCoreException.idl:
* dom/DOMStringList.idl:
* dom/ErrorEvent.idl:
* dom/Event.idl:
* dom/EventException.idl:
* dom/EventListener.idl:
* dom/MessageChannel.idl:
* dom/MessageEvent.idl:
* dom/MessagePort.idl:
* dom/ProgressEvent.idl:
* fileapi/Blob.idl:
* fileapi/File.idl:
* fileapi/FileError.idl:
* fileapi/FileException.idl:
* fileapi/FileList.idl:
* fileapi/FileReader.idl:
* fileapi/FileReaderSync.idl:
* html/DOMURL.idl:
* page/EventSource.idl:
* page/WorkerNavigator.idl:
* workers/DedicatedWorkerGlobalScope.idl:
* workers/SharedWorkerGlobalScope.idl:
* workers/WorkerGlobalScope.idl:
* workers/WorkerLocation.idl:
* xml/XMLHttpRequest.idl:
* xml/XMLHttpRequestException.idl:
* xml/XMLHttpRequestProgressEvent.idl:
* xml/XMLHttpRequestUpload.idl:

Source/WebKit/mac:
Reviewed by Geoffrey Garen.

* Plugins/Hosted/ProxyInstance.mm:
* Plugins/Hosted/ProxyRuntimeObject.mm:

Source/WebKit2:
Reviewed by Geoffrey Garen.

* WebProcess/Plugins/Netscape/JSNPMethod.cpp:
* WebProcess/Plugins/Netscape/JSNPObject.cpp:

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

6 years agoWeb Inspector: ProbeSetDetailsSection should not create live location links for unres...
burg@cs.washington.edu [Wed, 30 Jul 2014 21:46:52 +0000 (21:46 +0000)]
Web Inspector: ProbeSetDetailsSection should not create live location links for unresolved breakpoints
https://bugs.webkit.org/show_bug.cgi?id=135367

Reviewed by Timothy Hatcher.

Regenerate the source code link whenever the breakpoint resolved status changes. If it is
resolved, then we can create a live location link that respects source maps.

* UserInterface/Views/ProbeSetDetailsSection.js:
(WebInspector.ProbeSetDetailsSection):
(WebInspector.ProbeSetDetailsSection.prototype._updateLinkElement): Added.
(WebInspector.ProbeSetDetailsSection.prototype._probeSetPositionTextOrLink): Deleted.

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

6 years agoMerging platforms mixes baselines and targets into reported data
rniwa@webkit.org [Wed, 30 Jul 2014 21:34:51 +0000 (21:34 +0000)]
Merging platforms mixes baselines and targets into reported data
https://bugs.webkit.org/show_bug.cgi?id=135260

Reviewed by Geoffrey Garen.

Make sure two test configurations we're merging are of the same type (e.g. baseline, target, current).
Otherwise, we'll erroneously mix up runs for baseline, target, and current (reported values).

* public/admin/platforms.php:

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

6 years agoMove iphone-simulator test results landed in r171094 to the correct directory.
psolanki@apple.com [Wed, 30 Jul 2014 21:28:03 +0000 (21:28 +0000)]
Move iphone-simulator test results landed in r171094 to the correct directory.

* platform/ios-sim/fast/events/ontouchstart-active-selector-expected.txt: Renamed from LayoutTests/platform/iphone-simulator/fast/events/ontouchstart-active-selector-expected.txt.
* platform/ios-sim/fast/events/ontouchstart-active-selector.html: Renamed from LayoutTests/platform/iphone-simulator/fast/events/ontouchstart-active-selector.html.

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

6 years agoGet rid of the WKNSURLProtectionSpace wrapper
mitz@apple.com [Wed, 30 Jul 2014 21:03:31 +0000 (21:03 +0000)]
Get rid of the WKNSURLProtectionSpace wrapper
https://bugs.webkit.org/show_bug.cgi?id=135425

Reviewed by Sam Weinig.

* Shared/Cocoa/APIObject.mm:
(API::Object::newObject): Don’t allocate WKNSURLProtectionSpace wrappers.

* Shared/Cocoa/WKNSURLProtectionSpace.h: Removed.
* Shared/Cocoa/WKNSURLProtectionSpace.mm: Removed.

* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(canAuthenticateAgainstProtectionSpaceInFrame): Get the NSURLProtectionSpace from the
WebCore::ProtectionSpace in the WebProtectionSpace.

* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame): Ditto.

* WebKit2.xcodeproj/project.pbxproj: Removed references to removed files.

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

6 years ago<rdar://problem/17199364> [Mac] Popup button arrows appear on the left, underlapping...
mitz@apple.com [Wed, 30 Jul 2014 19:40:25 +0000 (19:40 +0000)]
<rdar://problem/17199364> [Mac] Popup button arrows appear on the left, underlapping text, when the UI layout direction is right-to-left
https://bugs.webkit.org/show_bug.cgi?id=135426

Reviewed by Dean Jackson.

No test, because the UI layout direction in the test harness is always left-to-right.

* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::popupButton): Forced the user interface layout direction of the
NSPopUpButtonCell to left-to-right. Added a FIXME about how we could make this vary based on
the direction of the <select>, though that would require additional changes elsewhere.

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

6 years agoSource/WebCore: Made Credential hold onto an NSURLCredential when needed.
mitz@apple.com [Wed, 30 Jul 2014 18:56:13 +0000 (18:56 +0000)]
Source/WebCore: Made Credential hold onto an NSURLCredential when needed.
Work towards fixing https://bugs.webkit.org/show_bug.cgi?id=135327

Reviewed by Alexey Proskuryakov.

No change in functionality.

* WebCore.exp.in: Updated.

* platform/network/Credential.h: Removed definition of CERTIFICATE_CREDENTIALS_SUPPORTED,
which is not used anymore.

* platform/network/CredentialBase.h:
(WebCore::CredentialBase::encodingRequiresPlatformData): Added a base implementation that
returns false.

* platform/network/cf/AuthenticationCF.cpp:
Changed to use the Credential constructor that takes an CFURLCredential, and the new
cfCredential member function. Made the createCF and core functions Windows-only and
therefore removed the CERTIFICATE_CREDENTIALS_SUPPORTED code from them.
* platform/network/cf/AuthenticationCF.h:

* platform/network/cf/CredentialStorageCFNet.cpp:
(WebCore::CredentialStorage::getFromPersistentStorage): Changed to construct a Credential
from a CFURLCredential.
(WebCore::CredentialStorage::saveToPersistentStorage): Changed to use the new cfCredential
member function.

* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Ditto to both.
(WebCore::ResourceHandle::receivedCredential): Ditto.

* platform/network/cocoa/CredentialCocoa.h:
Replaced the m_identity, m_certificates and m_type member variables with an m_nsCredential
one holding onto an NSURLCredential. Declared constructors from and getters for
NSURLCredential and CFURLCredentialRef.
(WebCore::Credential::encodingRequiresPlatformData): Override that checks the
NSURLCredential if necessary.

* platform/network/cocoa/CredentialCocoa.mm:
(WebCore::toNSURLCredentialPersistence): New helper function.
(WebCore::toCredentialPersistence): Ditto.
(WebCore::Credential::Credential): Defined constructors to create or take an
NSURLCredential.
(WebCore::Credential::cfCredential): Added.
(WebCore::Credential::nsCredential): Added. Returns nil for the empty credential.
(WebCore::Credential::isEmpty): Changed to check m_nsCredential.
(WebCore::Credential::platformCompare): Changed to compare m_nsCredential if needed.
(WebCore::Credential::encodingRequiresPlatformData): Returns true if the credential is not
a user and a password.

* platform/network/mac/AuthenticationMac.h: Removed mac and core functions for Credential.
* platform/network/mac/AuthenticationMac.mm:
(-[WebCoreAuthenticationClientAsChallengeSender useCredential:forAuthenticationChallenge:]):
Changed to use Credential constructor that takes an NSURLCredential.
(WebCore::AuthenticationChallenge::AuthenticationChallenge): Ditto. Also use the
nsCredential getter.

* platform/network/mac/CredentialStorageMac.mm:
(WebCore::CredentialStorage::getFromPersistentStorage): Use new Credential constructor.

* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Ditto. Also use the
nsCredential getter.
(WebCore::ResourceHandle::receivedCredential): Ditto.

Source/WebKit/mac: Updated for changes to the WebCore::Credential API.
Work towards fixing https://bugs.webkit.org/show_bug.cgi?id=135327

Reviewed by Alexey Proskuryakov.

* Misc/WebDownload.mm:
(-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]): Use new nsCredential
getter.
* Plugins/WebBaseNetscapePluginView.mm:
(WebKit::getAuthenticationInfo): Ditto.

Source/WebKit2: Updated for changes to the WebCore::Credential API.
Work towards fixing https://bugs.webkit.org/show_bug.cgi?id=135327

Reviewed by Alexey Proskuryakov.

* Shared/Downloads/mac/DownloadMac.mm:
(WebKit::Download::receivedCredential):Use new Credential::nsCredential getter.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<Credential>::encode):  If encoding the credential requires encoding the
platform data, do that.
(IPC::ArgumentCoder<Credential>::decode): If platform data was encoded, decode it.
* Shared/WebCoreArgumentCoders.h:

* Shared/mac/WebCoreArgumentCodersMac.mm:
(IPC::ArgumentCoder<Credential>::encodePlatformData): Archive the NSURLCredential.
(IPC::ArgumentCoder<Credential>::decodePlatformData): Unarchive it.

* UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.mm:
(-[WKNSURLAuthenticationChallengeSender useCredential:forAuthenticationChallenge:]): Use
Credential constructor that takes an NSURLCredential.

* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame): Ditto.

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

6 years agoiOS Simulator LayoutTestRelay
dfarler@apple.com [Wed, 30 Jul 2014 16:49:33 +0000 (16:49 +0000)]
iOS Simulator LayoutTestRelay
https://bugs.webkit.org/show_bug.cgi?id=135269

Reviewed by David Kilzer.

* LayoutTestRelay/Configurations/Base.xcconfig: Added.
* LayoutTestRelay/Configurations/DebugRelease.xcconfig: Added.
* LayoutTestRelay/LayoutTestRelay.xcodeproj/project.pbxproj: Added.
* LayoutTestRelay/LayoutTestRelay/LTPipeRelay.h: Added.
* LayoutTestRelay/LayoutTestRelay/LTPipeRelay.m: Added.
(-[LTPipeRelay inPipePath]):
(-[LTPipeRelay outPipePath]):
(-[LTPipeRelay errorPipePath]):
(-[LTPipeRelay outputStream]):
(-[LTPipeRelay initWithPrefix:]):
(-[LTPipeRelay setup]):
(-[LTPipeRelay tearDown]):
(-[LTPipeRelay connect]):
(-[LTPipeRelay disconnect]):
(-[LTPipeRelay createFIFOs]):
(-[LTPipeRelay destroyFIFOs]):
(-[LTPipeRelay relayStream:]):
(-[LTPipeRelay stream:handleEvent:]):
* LayoutTestRelay/LayoutTestRelay/LTRelay.h: Added.
* LayoutTestRelay/LayoutTestRelay/LTRelayController.h: Added.
* LayoutTestRelay/LayoutTestRelay/LTRelayController.m: Added.
(-[LTRelayController uniqueAppPath]):
(-[LTRelayController uniqueAppURL]):
(-[LTRelayController uniqueAppIdentifier]):
(-[LTRelayController processName]):
(-[LTRelayController initWithDevice:productDir:appPath:identifierSuffix:dumpToolArguments:]):
(-[LTRelayController readFileHandle:]):
(-[LTRelayController receivedStandardOutputData:]):
(-[LTRelayController receivedStandardErrorData:]):
(-[LTRelayController disconnected]):
(-[LTRelayController connected]):
(-[LTRelayController crashWithMessage:]):
(-[LTRelayController launchSimulator]):
(-[LTRelayController bootDevice]):
(-[LTRelayController createUniqueApp]):
(-[LTRelayController killApp]):
(-[LTRelayController launchApp]):
(-[LTRelayController start]):
* LayoutTestRelay/LayoutTestRelay/main.m: Added.
(usage):
(getTestingSimDevice):
(getRequiredStringArgument):
(getRemainderArguments):
(main):
* LayoutTestRelay/Makefile: Added.
* Tools/Scripts/build-layouttestrelay: Added.

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

6 years ago[GTK] Build depends on OpenGL ES
svillar@igalia.com [Wed, 30 Jul 2014 16:35:40 +0000 (16:35 +0000)]
[GTK] Build depends on OpenGL ES
https://bugs.webkit.org/show_bug.cgi?id=135289

Reviewed by Martin Robinson.

Guard the OpenGL ES code with USE(OPENGL_ES_2).

* platform/graphics/opengl/Extensions3DOpenGLES.cpp:
* platform/graphics/opengl/Extensions3DOpenGLES.h:

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

6 years ago[Win] Modify version numbering scheme to support 5-tuple versions
bfulgham@apple.com [Wed, 30 Jul 2014 16:35:17 +0000 (16:35 +0000)]
[Win] Modify version numbering scheme to support 5-tuple versions
https://bugs.webkit.org/show_bug.cgi?id=135400
<rdar://problem/17849033>

Reviewed by David Kilzer.

Source/JavaScriptCore:
* JavaScriptCore.vcxproj/JavaScriptCorePostBuild.cmd: Use the
new version-stamp.pl script to version JavaScriptCore.dll.

Source/WebKit:
* WebKit.vcxproj/WebKit/WebKitPostBuild.cmd: Use the new
version-stamp.pl script to version JavaScriptCore.dll.

Source/WTF:
* WTF.vcxproj/WTFPostBuild.cmd: Use new version-stamp.pl script
to version WTF.dll.
* WTF.vcxproj/WTFPreBuild.cmd: Make sure we have created the
appropriate version resource during builds.

Tools:
Update test cases to recognize that we can only support Major
values from 0-65535, Minor values from 0-64, Tiny values from 0-999,
Micro values from 0-64, and Nano values from 0-999.

* Scripts/webkitperl/auto-version_unittest/autoVersionTests.pl: Update
test expectations for physical limits.

WebKitLibraries:
Revise the auto-version.pl script so that it generates a set of packed
version tuples that allow us to map 5-tuple versions into something
that will work with Windows' 3-tuple version structure.

* win/tools/scripts/auto-version.pl:
(packTwoValues): Added,
(splitVersion): Revised to return packed combination of minor-tiny and
micro-nano to be used as "MINOR" and "TINY" portion of version.
(splitBuildMajorVersion): Deleted.
* win/tools/scripts/version-stamp.pl: Added.

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

6 years agoMember name collision in RenderView and SelectionSubtreeRoot
stavila@adobe.com [Wed, 30 Jul 2014 16:23:04 +0000 (16:23 +0000)]
Member name collision in RenderView and SelectionSubtreeRoot
https://bugs.webkit.org/show_bug.cgi?id=135233

Reviewed by Mihnea Ovidenie.

The selectionStart/End members in RenderView have been renamed to fix confusion caused by the fact that
RenderView inherits SelectionSubtreeRoot, which also has the same selectionStart/End members.

No new tests required, no new functionality.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::isSelectionRoot):
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::RenderView::setSelection):
(WebCore::RenderView::getSelection):
* rendering/RenderView.h:

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

6 years ago[GTK] REGRESSION(r171742): Test /webkit2/WebKitWebView/disallow-modal-dialogs fails
carlosgc@webkit.org [Wed, 30 Jul 2014 10:52:33 +0000 (10:52 +0000)]
[GTK] REGRESSION(r171742): Test /webkit2/WebKitWebView/disallow-modal-dialogs fails
https://bugs.webkit.org/show_bug.cgi?id=135412

Reviewed by Philippe Normand.

The problem is that WebPageProxy::setUIClient() calls
setCanRunModal() with the value of m_uiClient->canRunModal() which
is always true for us. We override that manually by calling
setCanRunModal() depending on the WebKitSettings. In r171742,
webkitWebViewUpdateSettings(), the method that overrides
setCanRunModal(), was moved before attachUIClientToView(), so the
value set by WebPageProxy::setUIClient() is the last one and takes
precedence. We need to make sure webkitWebViewUpdateSettings() is
always called after attachUIClientToView().

* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewConstructed): Move webkitWebViewUpdateSettings()
call after attachUIClientToView() and add a comment to not forget
about it again.

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

6 years ago[TexMap] Move TextureMapperLayer::textureMapper() definition into the header
zandobersek@gmail.com [Wed, 30 Jul 2014 07:47:33 +0000 (07:47 +0000)]
[TexMap] Move TextureMapperLayer::textureMapper() definition into the header
https://bugs.webkit.org/show_bug.cgi?id=135384

Reviewed by Martin Robinson.

Move the definitions of TextureMapperLayer::textureMapper() and TextureMapperLayer::rootLayer()
into the TextureMapperLayer header. This makes both functions inline-able, removing unnecessary
calling overhead in GraphicsLayerTextureMapper::flushCompositingState() and
GraphicsLayerTextureMapper::updateBackingStoreIfNeeded().

TextureMapperLayer::rootLayer() now also returns a reference.

* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::~TextureMapperLayer):
(WebCore::TextureMapperLayer::rootLayer): Deleted.
(WebCore::TextureMapperLayer::textureMapper): Deleted.
* platform/graphics/texmap/TextureMapperLayer.h:
(WebCore::TextureMapperLayer::textureMapper):
(WebCore::TextureMapperLayer::rootLayer):

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

6 years ago[GTK] GLib tests fail with recent GTK+ due to runtime warning about deprecated properties
carlosgc@webkit.org [Wed, 30 Jul 2014 07:47:22 +0000 (07:47 +0000)]
[GTK] GLib tests fail with recent GTK+ due to runtime warning about deprecated properties
https://bugs.webkit.org/show_bug.cgi?id=135411

Reviewed by Sergio Villar Senin.

Recent versions of GTK+ now warn at runtime when a deprecated
property or signal is used. A diagnostic mode was added that is
enabled by default, but that can be disabled by setting
G_ENABLE_DIAGNOSTIC=0. Runtime warnings are considered test
failures by gtester, so we need to run the tests with the
diganostic mode disabled.

* TestWebKitAPI/gtk/WebKit2Gtk/TestMain.cpp:
(main):

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

6 years ago[CMake] Bump the minimum required version
zandobersek@gmail.com [Wed, 30 Jul 2014 07:45:05 +0000 (07:45 +0000)]
[CMake] Bump the minimum required version
https://bugs.webkit.org/show_bug.cgi?id=135382

Reviewed by Gyuyoung Kim.

* CMakeLists.txt: Bump the minimum required version to 2.8.11 after
we introduced usage of target_include_directories().

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

6 years ago[GTK] Remove WebKitCertificateInfo from WebKit2GTK+ API
carlosgc@webkit.org [Wed, 30 Jul 2014 07:06:43 +0000 (07:06 +0000)]
[GTK] Remove WebKitCertificateInfo from WebKit2GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=134830

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:
It was added to make the API more convenient but it has ended up
making it more complicated. WebKitWebView::load-failed-with-tls-errors
now receives a GTlsCertificate + GTlsCertificateFlags and
webkit_web_context_allow_tls_certificate_for_host() receives a GTlsCertificate
since the errors are not actually needed. This makes the API more
consistent with the existing method webkit_web_view_get_tls_info().

* PlatformGTK.cmake: Remove files from compilation.
* UIProcess/API/gtk/WebKitCertificateInfo.cpp: Removed.
* UIProcess/API/gtk/WebKitCertificateInfo.h: Removed.
* UIProcess/API/gtk/WebKitCertificateInfoPrivate.h: Removed.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_allow_tls_certificate_for_host):
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_class_init):
(webkitWebViewLoadFailedWithTLSErrors):
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
* UIProcess/API/gtk/webkit2.h:

Tools:
Update the SSL test for the API changes.

* TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:
(testLoadFailedWithTLSErrors):

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

6 years ago[EFL] Unreviewed EFL gardening. Rebaseline tests after r170418.
jinwoo7.song@samsung.com [Wed, 30 Jul 2014 06:16:37 +0000 (06:16 +0000)]
[EFL] Unreviewed EFL gardening. Rebaseline tests after r170418.

* platform/efl/mathml/opentype/horizontal-expected.txt:
* platform/efl/mathml/opentype/horizontal-munderover-expected.txt:
* platform/efl/mathml/opentype/large-operators-expected.txt:
* platform/efl/mathml/opentype/vertical-expected.txt:
* platform/efl/mathml/presentation/menclose-notation-default-longdiv-expected.txt:
* platform/efl/mathml/presentation/mo-stretch-expected.png:
* platform/efl/mathml/presentation/mo-stretch-expected.txt:
* platform/efl/mathml/presentation/roots-expected.png:
* platform/efl/mathml/presentation/roots-expected.txt:

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

6 years agoWeb Inspector: 80% of time during recording is spent creating source code locations...
commit-queue@webkit.org [Wed, 30 Jul 2014 05:42:21 +0000 (05:42 +0000)]
Web Inspector: 80% of time during recording is spent creating source code locations for profile nodes
https://bugs.webkit.org/show_bug.cgi?id=135399

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

Profiling the inspector while recording a timeline, a significant amount of
time was spent creating SourceCodeLocation objects for profiling information
and call frames. A lot of this data was eagerly being processed, even though
it would not immediately be presentable to the user.

This makes two significant changes. We create a LazySourceCodeLocation class
which does as little as possible until display information is requested. We
also lazily convert the profiler payload data to a Profile object, so the
processing is only done if you drill into the Script specific timeline.

This results in a significant performance improvement in the overview view.

* UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
(WebInspector.TimelineManager.prototype.eventRecorded):
(WebInspector.TimelineManager.prototype._callFramesFromPayload.createCallFrame):
(WebInspector.TimelineManager.prototype._callFramesFromPayload):
(WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeFromPayload): Deleted.
(WebInspector.TimelineManager.prototype._profileFromPayload.profileNodeCallFromPayload): Deleted.
(WebInspector.TimelineManager.prototype._profileFromPayload): Deleted.
Do not eagerly process profile payloads. Instead pass the payload to ScriptTimelineRecords.
Likewise create callframes with lazy source code locations to do the minimum amount of work.

* UserInterface/Models/ScriptTimelineRecord.js:
(WebInspector.ScriptTimelineRecord):
(WebInspector.ScriptTimelineRecord.prototype.get profile):
(WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeFromPayload):
(WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload.profileNodeCallFromPayload):
(WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):
Only when the profile is asked do we process the profiler payload information.
This defer the processing until at least the user drills into the Script timeline.

* UserInterface/Main.html:
Add the new class and ensure SourceCodeLocation is available beforehand.

* UserInterface/Models/LazySourceCodeLocation.js: Added.
(WebInspector.LazySourceCodeLocation):
(WebInspector.LazySourceCodeLocation.prototype.isEqual):
(WebInspector.LazySourceCodeLocation.prototype.get sourceCode):
(WebInspector.LazySourceCodeLocation.prototype.set sourceCode):
(WebInspector.LazySourceCodeLocation.prototype.get formattedLineNumber):
(WebInspector.LazySourceCodeLocation.prototype.get formattedColumnNumber):
(WebInspector.LazySourceCodeLocation.prototype.formattedPosition):
(WebInspector.LazySourceCodeLocation.prototype.hasFormattedLocation):
(WebInspector.LazySourceCodeLocation.prototype.hasDifferentDisplayLocation):
(WebInspector.LazySourceCodeLocation.prototype.resolveMappedLocation):
(WebInspector.LazySourceCodeLocation.prototype._lazyInitialization):
Only when display information is requested will we perform extra processing.
For basic information we do not need to check for formatted (pretty-printed) info.

* UserInterface/Models/SourceCode.js:
(WebInspector.SourceCode.prototype.createLazySourceCodeLocation):
Provide an explict create function for lazy source codes.

* UserInterface/Models/SourceCodeLocation.js:
(WebInspector.SourceCodeLocation.prototype.set sourceCode):
(WebInspector.SourceCodeLocation.prototype.get displaySourceCode):
(WebInspector.SourceCodeLocation.prototype.get displayLineNumber):
(WebInspector.SourceCodeLocation.prototype.get displayColumnNumber):
(WebInspector.SourceCodeLocation.prototype.hasMappedLocation):
(WebInspector.SourceCodeLocation.prototype.setSourceCode):
(WebInspector.SourceCodeLocation.prototype.resolveMappedLocation):
(WebInspector.SourceCodeLocation.prototype._makeChangeAndDispatchChangeEventIfNeeded):
(WebInspector.SourceCodeLocation.prototype._resolveMappedLocation): Deleted.
Include two protected functions which LazySourceCodeLocation overrides.

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

6 years agoAdd knowledge of the iOS Simulator to webkitpy
dfarler@apple.com [Wed, 30 Jul 2014 04:49:32 +0000 (04:49 +0000)]
Add knowledge of the iOS Simulator to webkitpy
http://bugs.webkit.org/show_bug.cgi?id=133963

Reviewed by Simon Fraser.

* Scripts/webkitdirs.pm:
(argumentsForConfiguration): Add --ios-sim*
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
--runtime and --device-type args added.
* Scripts/webkitpy/port/base.py:
* Scripts/webkitpy/port/driver.py: Add simulator driver.
(IOSSimulatorDriver): Added.
* Scripts/webkitpy/port/factory.py: Add simulator platform.
* Scripts/webkitpy/port/ios.py: Added.

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

6 years ago[EFL] Do not initialize g_type system explicitly in the ewk_init()
jinwoo7.song@samsung.com [Wed, 30 Jul 2014 04:26:10 +0000 (04:26 +0000)]
[EFL] Do not initialize g_type system explicitly in the ewk_init()
https://bugs.webkit.org/show_bug.cgi?id=135407

Reviewed by Gyuyoung Kim.

EFL build requires glib version 2.38 but g_type_init() has been deprecated
since version 2.36. As the type system is initialized automatically since
version 2.36, we do not need to call g_type_init() in the ewk_init().

https://developer.gnome.org/gobject/unstable/gobject-Type-Information.html#g-type-init

* UIProcess/API/efl/ewk_main.cpp:
(ewk_init):

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

6 years agoWeb Inspector: Only compute full ProfileNode times if needed - Legacy Profiler
commit-queue@webkit.org [Wed, 30 Jul 2014 04:17:28 +0000 (04:17 +0000)]
Web Inspector: Only compute full ProfileNode times if needed - Legacy Profiler
https://bugs.webkit.org/show_bug.cgi?id=135406

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

Full ProfileNode times are only used by the Legacy Profiler. The new profile
information in the Scripts Timelines currently never uses the pass. We should
avoid calculating it if we never use it.

* UserInterface/Models/ProfileNode.js:
(WebInspector.ProfileNode.prototype.get startTime):
(WebInspector.ProfileNode.prototype.get endTime):
(WebInspector.ProfileNode.prototype.get selfTime):
(WebInspector.ProfileNode.prototype.get totalTime):
(WebInspector.ProfileNode.prototype.establishRelationships):
(WebInspector.ProfileNode.prototype._computeTotalTimes):

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

6 years agoWeb Inspector: Reduce forced layouts in TimelineOverview
commit-queue@webkit.org [Wed, 30 Jul 2014 04:00:39 +0000 (04:00 +0000)]
Web Inspector: Reduce forced layouts in TimelineOverview
https://bugs.webkit.org/show_bug.cgi?id=135405

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

Remove another forced layout. The scroll container won't
change size unless the ContentView itself resized. Make the
distinction between a layout update due to a resize and
normal events (scale changes, etc) and only calculate
element sizes then.

* UserInterface/Views/TimelineContentView.js:
(WebInspector.TimelineContentView.prototype.updateLayout):
* UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview):
(WebInspector.TimelineOverview.prototype.get visibleDuration):
(WebInspector.TimelineOverview.prototype.updateLayoutForResize):

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

6 years agoCrash when using 'em' units to specify font-size inside animation keyframe.
akling@apple.com [Wed, 30 Jul 2014 03:51:31 +0000 (03:51 +0000)]
Crash when using 'em' units to specify font-size inside animation keyframe.
<https://webkit.org/b/135395>
<rdar://problem/17851910>

Source/WebCore:
We'd forgotten to initialize the "parent style" when resolving keyframe
styles, and this led to a crash in length conversion where the code
assumes a parent style will be present.

To keep this fix minimal, simply make the "parent style" a clone of the
base element style.

Reviewed by Simon Fraser.

Test: fast/animation/keyframe-with-font-size-in-em-units.html

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

LayoutTests:
Add a reduced test case to cover this bug.

Reviewed by Simon Fraser.

* fast/animation/keyframe-with-font-size-in-em-units-expected.txt: Added.
* fast/animation/keyframe-with-font-size-in-em-units.html: Added.

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

6 years agoWeb Inspector: breakpoints are always speculatively resolved when restored from local...
burg@cs.washington.edu [Wed, 30 Jul 2014 03:48:54 +0000 (03:48 +0000)]
Web Inspector: breakpoints are always speculatively resolved when restored from local storage
https://bugs.webkit.org/show_bug.cgi?id=135396

Reviewed by Timothy Hatcher.

A longstanding quirk/optimization in the frontend is that we immediately set a breakpoint
as resolved if the breakpoint was successfully set in the backend. This ensures that clicking in
the gutter immediately produces a resolved breakpoint with only one round-trip.

However, not all breakpoints should be speculatively resolved, because the corresponding resource
may not be loaded yet. This situation causes problems for code that assumes a resolved breakpoint
also has a valid sourceCodeLocation.sourceCode.

* UserInterface/Controllers/DebuggerManager.js:
(WebInspector.DebuggerManager.restoreBreakpointsSoon): Don't leak the variable to global scope.
(WebInspector.DebuggerManager):
(WebInspector.DebuggerManager.prototype.speculativelyResolveBreakpoint):
(WebInspector.DebuggerManager.prototype.addBreakpoint): Speculatively resolve here if requested
using the success callback passed to _setBreakpoint.

(WebInspector.DebuggerManager.prototype.didSetBreakpoint): Emit simulated
Debugger.breakpointResolved events since they are only sent by the backend when a script is parsed.

(WebInspector.DebuggerManager.prototype._setBreakpoint):
* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype.textEditorBreakpointAdded): Request speculative resolve.

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

6 years agoWeb Inspector: Eliminate more forced layouts during timeline recordings
commit-queue@webkit.org [Wed, 30 Jul 2014 00:30:52 +0000 (00:30 +0000)]
Web Inspector: Eliminate more forced layouts during timeline recordings
https://bugs.webkit.org/show_bug.cgi?id=135397

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

Instead of computing the secondsPerPixel in each overview graph,
we can ask the overview view itself which has a cached value.
The computation used to force a layout, now it doesn't need to.

* UserInterface/Views/LayoutTimelineOverviewGraph.js:
* UserInterface/Views/NetworkTimelineOverviewGraph.js:
* UserInterface/Views/ScriptTimelineOverviewGraph.js:
* UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview):
* UserInterface/Views/TimelineOverviewGraph.js:
(WebInspector.TimelineOverviewGraph):
(WebInspector.TimelineOverviewGraph.prototype.get timelineOverview):
(WebInspector.TimelineOverviewGraph.prototype.set timelineOverview):

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

6 years agoREGRESSION [WebKit2 iOS]: Cannot add shortcut to user dictionary from non editable...
enrica@apple.com [Wed, 30 Jul 2014 00:17:45 +0000 (00:17 +0000)]
REGRESSION [WebKit2 iOS]: Cannot add shortcut to user dictionary from non editable content.
https://bugs.webkit.org/show_bug.cgi?id=135392
<rdar://problem/17760073>

Reviewed by Benjamin Poulain.

Adding a shortcut to the user dictionary needs to be available in non editable content too.

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

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

6 years agoWKPDFView paints rotated pages squished
timothy_horton@apple.com [Tue, 29 Jul 2014 23:01:47 +0000 (23:01 +0000)]
WKPDFView paints rotated pages squished
https://bugs.webkit.org/show_bug.cgi?id=135401
<rdar://problem/17173916>

Reviewed by Simon Fraser.

* UIProcess/ios/WKPDFView.mm:
(-[WKPDFView _computePageAndDocumentFrames]):
[page size] returns the crop box's size, ignoring rotation.
[page cropBoxAccountForRotation] respects rotation, but otherwise returns the same size.
UIPDFPageView will respect rotation when painting, so we
should make sure that it is given an aspect ratio that also
respects rotation, so that the page isn't squished.

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

6 years agofast/borders/border-radius-on-subpixel-position-non-hidpi.html fails on Retina machines
ap@apple.com [Tue, 29 Jul 2014 22:41:19 +0000 (22:41 +0000)]
fast/borders/border-radius-on-subpixel-position-non-hidpi.html fails on Retina machines
https://bugs.webkit.org/show_bug.cgi?id=135398

Reviewed by Zalan Bujtas.

Tools:
* WebKitTestRunner/TestController.cpp: (WTR::TestController::updateWindowScaleForTest):
"hidpi-" should be at the start. This allows "hidpi-" in both file and directory names.

* DumpRenderTree/mac/DumpRenderTree.mm: (changeWindowScaleIfNeeded): Same fix.
For some reason, I wasn't seeing this test fail on WK1 even without the fix, not
sure why.

LayoutTests:
* platform/mac-wk2/TestExpectations: Let's try to unskip the test, maybe this was
the actual reason for it to appear failing?

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

6 years ago[iOS] REGRESSION(r171526): PDF documents fail to load in WebKit1 with disk image...
psolanki@apple.com [Tue, 29 Jul 2014 21:41:36 +0000 (21:41 +0000)]
[iOS] REGRESSION(r171526): PDF documents fail to load in WebKit1 with disk image caching enabled
https://bugs.webkit.org/show_bug.cgi?id=135359
<rdar://problem/17824645>

Reviewed by Darin Adler.

r171526 broke the case where we have a memory mapped file from the DiskImageCache in the
SharedBuffer. In such a case, m_buffer is empty and createCFData() returned an
WebCoreSharedBufferData with an empty buffer.

Fix this by taking the easy route of bringing back the old code for the disk image cache
file backed case. In the long run we probably want to remove the iOS specific disk image
cache anyway.

Review also uncovered another bug in r171526 where we were balancing an Objective-C alloc
with a CFRelease which is incorrect when running under GC. Fix that by using adoptNS along
with adoptCF which is what the code did before.

No new tests because the bug only occurs on device and we can't run tests on device yet.

* platform/mac/SharedBufferMac.mm:
(-[WebCoreSharedBufferData initWithDiskImageSharedBuffer:]):
(-[WebCoreSharedBufferData length]):
(-[WebCoreSharedBufferData bytes]):
(WebCore::SharedBuffer::createCFData):

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

6 years agoPPT: run-webkit-tests doesn't upload crash logs to bots
ap@apple.com [Tue, 29 Jul 2014 20:33:53 +0000 (20:33 +0000)]
PPT: run-webkit-tests doesn't upload crash logs to bots
https://bugs.webkit.org/show_bug.cgi?id=135391

Reviewed by Joseph Pecoraro.

* WebKitTestRunner/TestController.cpp: (WTR::TestController::processDidCrash):
Not a fix to be proud of, but better than not having it work at all.

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

6 years agoURTBF for !ENABLE(DATABASE_PROCESS) platforms.
ossy@webkit.org [Tue, 29 Jul 2014 20:08:58 +0000 (20:08 +0000)]
URTBF for !ENABLE(DATABASE_PROCESS) platforms.

* WebProcess/OriginData/WebOriginDataManager.cpp:
(WebKit::WebOriginDataManager::getOrigins):
(WebKit::WebOriginDataManager::deleteEntriesForOrigin):
(WebKit::WebOriginDataManager::deleteEntriesModifiedBetweenDates):
(WebKit::WebOriginDataManager::deleteAllEntries):

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

6 years agoVisitedLinkState::determineLinkState should take a reference
benjamin@webkit.org [Tue, 29 Jul 2014 19:34:56 +0000 (19:34 +0000)]
VisitedLinkState::determineLinkState should take a reference
https://bugs.webkit.org/show_bug.cgi?id=135375

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

* css/StyleResolver.cpp:
(WebCore::StyleResolver::State::initElement):
* dom/VisitedLinkState.h:
(WebCore::VisitedLinkState::determineLinkState):

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

6 years agoMake WKOriginDataManager actually operate on IndexedDatabases.
beidson@apple.com [Tue, 29 Jul 2014 17:37:58 +0000 (17:37 +0000)]
Make WKOriginDataManager actually operate on IndexedDatabases.
https://bugs.webkit.org/show_bug.cgi?id=135346

Reviewed by Sam Weinig (and David Kilzer and Alex Christensen)

Source/WebCore:
* WebCore.exp.in:

Source/WebKit2:
* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::DatabaseProcess):
(WebKit::DatabaseProcess::getIndexedDatabaseOrigins):
(WebKit::DatabaseProcess::doGetIndexedDatabaseOrigins):
(WebKit::removeAllDatabasesForOriginPath): Utility to delete all database files for the given origin path
    that have been modified between the given dates.
(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesForOrigin):
(WebKit::DatabaseProcess::doDeleteIndexedDatabaseEntriesForOrigin):
(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesModifiedBetweenDates):
(WebKit::DatabaseProcess::doDeleteIndexedDatabaseEntriesModifiedBetweenDates):
(WebKit::DatabaseProcess::deleteAllIndexedDatabaseEntries):
(WebKit::DatabaseProcess::doDeleteAllIndexedDatabaseEntries):
* DatabaseProcess/DatabaseProcess.h:

* Shared/WebCrossThreadCopier.cpp:
(WebCore::SecurityOriginData>::copy):
* Shared/WebCrossThreadCopier.h:

* UIProcess/WebOriginDataManagerProxy.cpp:
(WebKit::WebOriginDataManagerProxy::getOrigins):
(WebKit::WebOriginDataManagerProxy::didGetOrigins):
(WebKit::WebOriginDataManagerProxy::deleteEntriesForOrigin):
(WebKit::WebOriginDataManagerProxy::deleteEntriesModifiedBetweenDates):
(WebKit::WebOriginDataManagerProxy::deleteAllEntries):

* WebProcess/OriginData/WebOriginDataManager.cpp:
(WebKit::WebOriginDataManager::getOrigins): Pipe IDB requests through to the DatabaseProcess.
(WebKit::WebOriginDataManager::deleteEntriesForOrigin): Ditto.
(WebKit::WebOriginDataManager::deleteEntriesModifiedBetweenDates): Ditto.
(WebKit::WebOriginDataManager::deleteAllEntries): Ditto.

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

6 years agoUnreviewed, rolling out r171704.
commit-queue@webkit.org [Tue, 29 Jul 2014 17:23:47 +0000 (17:23 +0000)]
Unreviewed, rolling out r171704.
https://bugs.webkit.org/show_bug.cgi?id=135389

Broke two IndexedDB tests (Requested by ap on #webkit).

Reverted changeset:

"IDB transactions never reset if the Web Process ends before
cleaning up"
https://bugs.webkit.org/show_bug.cgi?id=135218
http://trac.webkit.org/changeset/171704

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

6 years agoMoved the Cocoa-specific parts of CredentialBase into a Cocoa-specific Credential...
mitz@apple.com [Tue, 29 Jul 2014 16:40:17 +0000 (16:40 +0000)]
Moved the Cocoa-specific parts of CredentialBase into a Cocoa-specific Credential class.
Work towards fixing https://bugs.webkit.org/show_bug.cgi?id=135327

Reviewed by Alexey Proskuryakov.

No change in functionality.

* WebCore.exp.in: Updated for functions moved in the class hierarchy.

* WebCore.xcodeproj/project.pbxproj: Added CredentialCocoa.{h,mm}.

* platform/network/Credential.h: For Cocoa, include CredentialCocoa.h instead of the generic
class.
(WebCore::Credential::Credential): Removed #if CERTIFICATE_CREDENTIALS_SUPPORTED code.

* platform/network/CredentialBase.cpp:
(WebCore::CredentialBase::CredentialBase): Changed to use emptyString instead of "", removed
#if CERTIFICATE_CREDENTIALS_SUPPORTED code.
(WebCore::CredentialBase::isEmpty): Ditto.
(WebCore::CredentialBase::compare): Renamed operator== to this, removed
#if CERTIFICATE_CREDENTIALS_SUPPORTED code, but changed the end to call platformCompare.
(WebCore::CredentialBase::identity): Deleted.
(WebCore::CredentialBase::certificates): Deleted.
(WebCore::CredentialBase::type): Deleted.
* platform/network/CredentialBase.h: Removed #if CERTIFICATE_CREDENTIALS_SUPPORTED members.
(WebCore::CredentialBase::platformCompare): Added a base implementation that returns true.
(WebCore::operator==): Changed to use CredentialBase::compare.

* platform/network/cocoa/CredentialCocoa.h: Added.
(WebCore::Credential::Credential):
* platform/network/cocoa/CredentialCocoa.mm: Added.
(WebCore::Credential::Credential): Moved the constructor that takes an identity and
certificates here.
(WebCore::Credential::isEmpty): Moved here.
(WebCore::Credential::identity): Ditto.
(WebCore::Credential::certificates): Ditto.
(WebCore::Credential::type): Ditto.
(WebCore::Credential::platformCompare): Moved the code that compares client-certificate
credentials here.

* platform/network/mac/AuthenticationMac.mm:
(WebCore::mac): Removed #if CERTIFICATE_CREDENTIALS_SUPPORTED guards in this Cocoa-only
file.
(WebCore::core): Ditto.

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

6 years agoUse WTF::move() instead of std::move() to help ensure move semantics
dbates@webkit.org [Tue, 29 Jul 2014 15:47:39 +0000 (15:47 +0000)]
Use WTF::move() instead of std::move() to help ensure move semantics
https://bugs.webkit.org/show_bug.cgi?id=135351

Reviewed by Alexey Proskuryakov.

Source/JavaScriptCore:
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::computeForStubInfo):
* bytecode/GetByIdVariant.cpp:
(JSC::GetByIdVariant::GetByIdVariant):

Source/WebCore:
* page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::updateCaptionStyleSheetOveride):

Source/WebKit2:
* UIProcess/API/Cocoa/_WKSessionState.mm:
(-[_WKSessionState _initWithSessionState:]):
* UIProcess/API/gtk/WebKitUserContent.cpp:
(toStringVector): Remove use of std::move(). It's unnecessary to call std::move() on an rvalue.
* WebProcess/WebPage/mac/ServicesOverlayController.mm:
(WebKit::ServicesOverlayController::mouseEvent):

Source/WTF:
* wtf/HashTable.h:
(WTF::KeyTraits>::HashTable):

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

6 years ago[CSSRegions] Assertion failure hit testing a region-based multicolumn in a region
mihnea@adobe.com [Tue, 29 Jul 2014 15:11:28 +0000 (15:11 +0000)]
[CSSRegions] Assertion failure hit testing a region-based multicolumn in a region
https://bugs.webkit.org/show_bug.cgi?id=135385

Reviewed by Andrei Bucur.

Source/WebCore:
When a region-based multicolumn element is displayed and hit tested in a region,
we have to disable the named flow region information not only for painting,
but also for hit-testing. This is a follow-up for https://bugs.webkit.org/show_bug.cgi?id=132121,
which provided the fix for painting.

Test: fast/regions/assert-hit-test-multicol-in-region.html

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

LayoutTests:
* fast/regions/assert-hit-test-multicol-in-region-expected.txt: Added.
* fast/regions/assert-hit-test-multicol-in-region.html: Added.

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

6 years agoCleanup RenderSelectionInfoBase/RenderSelectionInfo/RenderBlockSelectionInfo.
zalan@apple.com [Tue, 29 Jul 2014 14:51:31 +0000 (14:51 +0000)]
Cleanup RenderSelectionInfoBase/RenderSelectionInfo/RenderBlockSelectionInfo.
https://bugs.webkit.org/show_bug.cgi?id=135326

Reviewed by Darin Adler.

1. Move implementation to RenderSelectInfo.cpp
2. RenderSelectionInfoBase/RenderSelectionInfo/RenderBlockSelectionInfo take Render* reference.
3. Remove unused functions.
4. Add RenderSelectionInfoBase::repaintRectangle()

No change in behavior.

* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderSelectionInfo.cpp: Added.
(WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase):
(WebCore::RenderSelectionInfoBase::repaintRectangle):
(WebCore::RenderSelectionInfo::RenderSelectionInfo):
(WebCore::RenderSelectionInfo::repaint):
(WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
(WebCore::RenderBlockSelectionInfo::repaint):
* rendering/RenderSelectionInfo.h:
(WebCore::RenderSelectionInfo::collectedSelectionRects):
(WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase): Deleted.
(WebCore::RenderSelectionInfoBase::object): Deleted.
(WebCore::RenderSelectionInfo::RenderSelectionInfo): Deleted.
(WebCore::RenderSelectionInfo::repaint): Deleted.
(WebCore::RenderSelectionInfo::rects): Deleted.
(WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo): Deleted.
(WebCore::RenderBlockSelectionInfo::repaint): Deleted.
(WebCore::RenderBlockSelectionInfo::block): Deleted.
* rendering/RenderView.cpp:
(WebCore::RenderView::subtreeSelectionBounds):
(WebCore::RenderView::repaintSubtreeSelection):
(WebCore::RenderView::clearSubtreeSelection):
(WebCore::RenderView::applySubtreeSelection):

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

6 years agoGet SharedBuffer.h out of ResourceBuffer.h (and a few other places)
psolanki@apple.com [Tue, 29 Jul 2014 14:35:13 +0000 (14:35 +0000)]
Get SharedBuffer.h out of ResourceBuffer.h (and a few other places)
https://bugs.webkit.org/show_bug.cgi?id=131782

Original patch by Tim Horton.
Reviewed by Darin Adler.

Source/WebCore:
No new tests because no functional changes.

* Modules/indexeddb/IDBCallbacks.h:
* Modules/indexeddb/IDBCursorBackend.h:
* loader/ios/DiskImageCacheIOS.h:
Forward declare SharedBuffer in headers.

* Modules/indexeddb/IDBRequest.cpp:
* loader/cache/CachedImage.cpp:
* loader/icon/IconLoader.cpp:
* loader/ios/DiskImageCacheIOS.mm:
* loader/cache/MemoryCache.cpp:
* loader/mac/ResourceBuffer.mm:
Include SharedBuffer.h in implementation files.

* Modules/notifications/Notification.h:
* loader/appcache/ApplicationCacheGroup.h:
Remove unnecessary includes.

* loader/ResourceBuffer.cpp:
(WebCore::ResourceBuffer::adoptSharedBuffer):
* loader/ResourceBuffer.h:
Out-of-line adoptSharedBuffer so that the PassRefPtr doesn't require including SharedBuffer.h.

* platform/graphics/opentype/OpenTypeMathData.cpp:
* platform/graphics/opentype/OpenTypeMathData.h:
Out-of-line destructor to avoid requiring SharedBuffer.h for the RefPtr.
Forward-declare SharedBuffer in the header, include in implementation.

Source/WebKit2:
* NetworkProcess/NetworkResourceLoader.cpp:
* WebProcess/Network/NetworkProcessConnection.cpp:
Include SharedBuffer.h in implementation files.

* WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
Un-indent namespace and remove SharedBuffer forward-declaration.

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

6 years ago[GTK] Remove WebKitWebViewGroup from WebKit2 GTK+ API
commit-queue@webkit.org [Tue, 29 Jul 2014 12:42:53 +0000 (12:42 +0000)]
[GTK] Remove WebKitWebViewGroup from WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=133729

Patch by Adrian Perez de Castro <aperez@igalia.com> on 2014-07-29
Reviewed by Carlos Garcia Campos.

Removes WebKitWebViewGroup, effectively reverting the changes
introduced by r149117. The motivation for WebKitWebViewGroup
was using the user style sheet injection API, which has been
moved into WebKitUserContentManager, rendering it unneeded.

Source/WebKit2:
* PlatformGTK.cmake: Remove WebKitWebViewGroup source files
from the build.
* UIProcess/API/C/gtk/WKView.cpp:
(WKViewCreate): Accomodate for changes in the signature of
webkitWebViewBaseCreate().
* UIProcess/API/gtk/WebKitSettings.cpp: Update API documentation.
* UIProcess/API/gtk/WebKitWebContext.cpp: Remove the default web
view group from WebKitWebContext.
(webkitWebContextCreatePageForWebView): Allow passing a
WebPreferences object at construction.
(webkitWebContextGetDefaultWebViewGroup): Deleted.
* UIProcess/API/gtk/WebKitWebContextPrivate.h: Ditto.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewUpdateSettings): Use WebPageProxy::setPreferences()
directly. Handle the case when webkit_web_view_set_settings()
is called on construction by doing an early-return.
(webkitWebViewConstructed): Call webkitWebViewUpdateSettings()
after creating the internal WebPageProxy object.
(webkitWebViewSetProperty): Removed "group" property, added
"settings" property.
(webkitWebViewGetProperty): Ditto.
(webkitWebViewDispose): Do not disconnect signal handler for
the (now unexistant) WebKitWebViewGroup.
(webkit_web_view_class_init): Removed "group" property, added
"settings" property.
(webkitWebViewHandleAuthenticationChallenge): Access the
WebKitWebSettings directly.
(webkit_web_view_new_with_related_view): Make new views share
settings with their related view.
(webkit_web_view_new_with_settings): Added.
(webkit_web_view_set_settings): Access the settings directly in
the WebKitWebView.
(webkit_web_view_get_settings): Ditto.
(webkit_web_view_set_zoom_level): Ditto.
(webkit_web_view_get_zoom_level): Ditto.
(webkitWebViewSettingsChanged): Deleted.
(webkitWebViewDisconnectSettingsChangedSignalHandler): Deleted.
(webkit_web_view_new_with_group): Deleted.
(webkit_web_view_get_group): Deleted.
* UIProcess/API/gtk/WebKitWebView.h: Removed API methods related
to WebKitWebViewGroup.
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseCreate): Allow passing a WebPreferences object
for constructing the WebPageProxy.
(webkitWebViewBaseUpdatePreferences): Instead of going through
the page group, use WebPageProxy::preferences() directly.
(webkitWebViewBaseCreateWebPage): Allow passing a WebPreferences
object for constructing the WebPageProxy.
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Update the
prototypes of the internal functions.
* UIProcess/API/gtk/WebKitWebViewGroup.cpp: Removed.
* UIProcess/API/gtk/WebKitWebViewGroup.h: Removed.
* UIProcess/API/gtk/WebKitWebViewGroupPrivate.h: Removed.
* UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Change public API
bits in the documentation.
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
* UIProcess/API/gtk/docs/webkit2gtk.types: Ditto.
* UIProcess/API/gtk/webkit2.h: Removed WebKitWebViewGroup.h header.
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
Accomodate for changes in the signature of
webkitWebViewBaseCreate().

Tools:
* TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt: Remove tests
for WebKitWebViewGroup.
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:
(testWebViewSettings):
Restore the assertions that check that settings objects are
released. Add test for webkit_web_view_new_with_settings().
* TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebViewGroup.cpp: Removed.

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

6 years ago[EFL][GTK] Remove ACCELERATED_COMPOSITING compile flag
commit-queue@webkit.org [Tue, 29 Jul 2014 11:41:21 +0000 (11:41 +0000)]
[EFL][GTK] Remove ACCELERATED_COMPOSITING compile flag
https://bugs.webkit.org/show_bug.cgi?id=135376

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2014-07-29
Reviewed by Gyuyoung Kim.

ACCELERATED_COMPOSITING was changed to the mandatory code after r163079.

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:

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