WebKit-https.git
6 years agoVersioning.
bshafiei@apple.com [Wed, 14 Jan 2015 18:53:58 +0000 (18:53 +0000)]
Versioning.

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

6 years agoJavaScript identifier incorrectly parsed if the prefix before an escape sequence...
msaboff@apple.com [Wed, 14 Jan 2015 18:48:58 +0000 (18:48 +0000)]
JavaScript identifier incorrectly parsed if the prefix before an escape sequence is a keyword
https://bugs.webkit.org/show_bug.cgi?id=140420

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Added new function isIdentPartIncludingEscape() that performs the original
isIdentPart() followed by a check for a valid unicode escape.  If there is a
unicode escape, its resolved value is checked with isIdentPart().

* KeywordLookupGenerator.py:
(Trie.printSubTreeAsC):
(Trie.printAsC):
* parser/Lexer.cpp:
(JSC::isUnicodeEscapeIdentPart):
(JSC::isIdentPartIncludingEscape):

LayoutTests:

New regression test.

* js/regress-140420-expected.txt: Added.
* js/regress-140420.html: Added.
* js/script-tests/regress-140420.js: Added.
(with):
(this):

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

6 years agoNull-deref crash when seeking immediately before looping.
jer.noble@apple.com [Wed, 14 Jan 2015 18:43:05 +0000 (18:43 +0000)]
Null-deref crash when seeking immediately before looping.
https://bugs.webkit.org/show_bug.cgi?id=140394

Reviewed by Eric Carlson.

Source/WebCore:

It is possible for finishSeek() to be called when a seek() has caused a pending seek task
to be scheduled, but before that pending seek task is run. In this case, if a seek request
is issued, the existing pending seek task will not be cancelled, which will cause a crash
when the pending seek task is run.

When checking whether an existing seek task needs to be cancelled, check the actual timer,
rather than the m_seeking boolean, so that this case is covered.

Test: media/video-ended-seek-crash.html

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

LayoutTests:

* media/video-ended-seek-crash-expected.txt: Added.
* media/video-ended-seek-crash.html: Added.

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

6 years agoAdd willOpen and didClose member functions to WebProcessLifetimeObserver
andersca@apple.com [Wed, 14 Jan 2015 18:39:03 +0000 (18:39 +0000)]
Add willOpen and didClose member functions to WebProcessLifetimeObserver
https://bugs.webkit.org/show_bug.cgi?id=140449

Reviewed by Andreas Kling.

* UIProcess/VisitedLinkProvider.cpp:
(WebKit::VisitedLinkProvider::addVisitedLinkHash):
(WebKit::VisitedLinkProvider::webProcessWillOpenConnection):
(WebKit::VisitedLinkProvider::webProcessDidCloseConnection):
* UIProcess/VisitedLinkProvider.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::close):
* UIProcess/WebProcessLifetimeObserver.cpp:
(WebKit::WebProcessLifetimeObserver::addWebPage):
(WebKit::WebProcessLifetimeObserver::removeWebPage):
* UIProcess/WebProcessLifetimeObserver.h:
(WebKit::WebProcessLifetimeObserver::webProcessWillOpenConnection):
(WebKit::WebProcessLifetimeObserver::webProcessDidCloseConnection):

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

6 years ago[Win] Layout Test fast/css/crash-on-custom-cursor-when-loading.html is failing
bfulgham@apple.com [Wed, 14 Jan 2015 18:25:44 +0000 (18:25 +0000)]
[Win] Layout Test fast/css/crash-on-custom-cursor-when-loading.html is failing
https://bugs.webkit.org/show_bug.cgi?id=140425

Reviewed by Anders Carlsson.

* platform/win/CursorWin.cpp:
(WebCore::createSharedCursor): Return nullptr when operating system
cannot support the requested icon specification.
(WebCore::Cursor::ensurePlatformCursor): Check for 'createSharedCursor'
returning nullptr, and fall back to the default icon construction.

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

6 years agoAdded availability annotations to some modern Cocoa SPI.
mitz@apple.com [Wed, 14 Jan 2015 18:01:45 +0000 (18:01 +0000)]
Added availability annotations to some modern Cocoa SPI.

Rubber-stamped by Anders Carlsson.

* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* UIProcess/API/Cocoa/WKProcessPoolPrivate.h:

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

6 years ago[Win] Unreviewed gardening.
bfulgham@apple.com [Wed, 14 Jan 2015 17:58:04 +0000 (17:58 +0000)]
[Win] Unreviewed gardening.

* platform/win/TestExpectations: Add a Crash expectation now that
https://bugs.webkit.org/show_bug.cgi?id=140444 has been filed.

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

6 years agoRemove WK2 Windows cruft
ossy@webkit.org [Wed, 14 Jan 2015 16:13:09 +0000 (16:13 +0000)]
Remove WK2 Windows cruft
https://bugs.webkit.org/show_bug.cgi?id=140440

Reviewed by Anders Carlsson.

* WebKitTestRunner/InjectedBundle/win/ActivateFonts.cpp: Removed.
* WebKitTestRunner/InjectedBundle/win/InjectedBundleWin.cpp: Removed.
* WebKitTestRunner/InjectedBundle/win/TestRunnerWin.cpp: Removed.

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

6 years agoUnreviewed fix after r163330.
ossy@webkit.org [Wed, 14 Jan 2015 16:10:00 +0000 (16:10 +0000)]
Unreviewed fix after r163330.

* wtf/Platform.h: Use C style comment.

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

6 years agoC++ style comment was preventing compile if CPU(ARM_NEON)
ossy@webkit.org [Wed, 14 Jan 2015 16:09:41 +0000 (16:09 +0000)]
C++ style comment was preventing compile if CPU(ARM_NEON)
https://bugs.webkit.org/show_bug.cgi?id=133827

Patch by Marc Juul <juul@sudomesh.org> on 2015-01-14
Reviewed by Csaba Osztrogonác.

* wtf/Platform.h:

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

6 years agoREGRESSION(r178367): [GStreamer] Several media tests time out after r178367
carlosgc@webkit.org [Wed, 14 Jan 2015 11:54:50 +0000 (11:54 +0000)]
REGRESSION(r178367): [GStreamer] Several media tests time out after r178367
https://bugs.webkit.org/show_bug.cgi?id=140437

Reviewed by Philippe Normand.

Add implementation for MediaPlayerPrivate::rate() to GStreamer
media backend.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::rate):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

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

6 years ago[GTK] Fix build after r178385
carlosgc@webkit.org [Wed, 14 Jan 2015 10:21:58 +0000 (10:21 +0000)]
[GTK] Fix build after r178385
https://bugs.webkit.org/show_bug.cgi?id=140429

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-01-14
Reviewed by Csaba Osztrogonác.

* UIProcess/API/gtk/WebKitUserContentManager.cpp:
(_WebKitUserContentManagerPrivate::_WebKitUserContentManagerPrivate):

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

6 years agoUnreviewed, rolling out r178412.
commit-queue@webkit.org [Wed, 14 Jan 2015 10:18:36 +0000 (10:18 +0000)]
Unreviewed, rolling out r178412.
https://bugs.webkit.org/show_bug.cgi?id=140433

Wrong fix (Requested by KaL on #webkit).

Reverted changeset:

"Unreviewed GTK build fix after r178385."
http://trac.webkit.org/changeset/178412

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

6 years ago[GTK] Do not schedule a redraw for the redirected XComposite window when not in accel...
carlosgc@webkit.org [Wed, 14 Jan 2015 09:03:36 +0000 (09:03 +0000)]
[GTK] Do not schedule a redraw for the redirected XComposite window when not in accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=140354

Reviewed by Martin Robinson.

The RedirectedXCompositeWindow uses XDamage to be notified when
the XWindow has been modified. Since the redirected window is
created unconditionally we always receive a XDamage notify when
the window is mapped, and we schedule a redraw in the web view
even when the web view is not in accelerated compositing mode.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseRealize): Only call gtk_widget_queue_draw() when
in accelerated compositing mode.

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

6 years ago[GTK] Do not resize the redirected XComposite window when not in accelerated composit...
carlosgc@webkit.org [Wed, 14 Jan 2015 09:00:14 +0000 (09:00 +0000)]
[GTK] Do not resize the redirected XComposite window when not in accelerated compositing mode
https://bugs.webkit.org/show_bug.cgi?id=140353

Reviewed by Martin Robinson.

We create the redirected XComposite window unconditionally, but
with a size of 1x1 to save memory. However, we are always resizing
it, so in the end we always end up with a XWindow allocated for
the same size of the web view, even for web views that never enter
in accelerated compositing mode.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewRenderAcceleratedCompositingResults): Resize the
RedirectedXCompositeWindow to the current web view size to ensure
the sizes match before drawing.
(resizeWebKitWebViewBaseFromAllocation): Only resize the
RedirectedXCompositeWindow when in accelerated compositing mode.
* UIProcess/gtk/RedirectedXCompositeWindow.cpp:
(WebKit::RedirectedXCompositeWindow::resize): Return early if the
given size is the current size.

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

6 years agoREGRESSION(r177075): Flickering when the WebView is realized
carlosgc@webkit.org [Wed, 14 Jan 2015 08:55:51 +0000 (08:55 +0000)]
REGRESSION(r177075): Flickering when the WebView is realized
https://bugs.webkit.org/show_bug.cgi?id=140352

Reviewed by Martin Robinson.

* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseRealize): Pass the parent GdkWindow to the
RedirectedXCompositeWindow constructor.
* UIProcess/gtk/RedirectedXCompositeWindow.cpp:
(WebKit::supportsXDamageAndXComposite): Get the display from the
given GdkWindow.
(WebKit::RedirectedXCompositeWindow::create): Receive a GdkWindow
instead of the Display and sise that is always 1x1.
(WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
Use the passed in GdkWindow to get the Display, Visual and Depth
instead of using the window as parent and reparent afterwards.
* UIProcess/gtk/RedirectedXCompositeWindow.h:

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

6 years agoUnreviewed GTK build fix after r178385.
yoon@igalia.com [Wed, 14 Jan 2015 08:34:21 +0000 (08:34 +0000)]
Unreviewed GTK build fix after r178385.

WebUserContentControllerProxy is not RefCounted anymore.

* UIProcess/API/gtk/WebKitUserContentManager.cpp:
(_WebKitUserContentManagerPrivate::_WebKitUserContentManagerPrivate):

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

6 years agoUnreviewed, rolling out r178390, r178392, r178398, r178400,
commit-queue@webkit.org [Wed, 14 Jan 2015 08:10:05 +0000 (08:10 +0000)]
Unreviewed, rolling out r178390, r178392, r178398, r178400,
r178402, and r178410.
https://bugs.webkit.org/show_bug.cgi?id=140431

Way too many failures to skip (Requested by ap_ on #webkit).

Reverted changesets:

"WebGL2: Support webgl2 context creation."
https://bugs.webkit.org/show_bug.cgi?id=126408
http://trac.webkit.org/changeset/178390

"Unreviewed iOS build fix after r178390."
http://trac.webkit.org/changeset/178392

"[Unreviewed] Windows build fix after r178390."
http://trac.webkit.org/changeset/178398

"[Unreviewed] Speculative test fix after r178390."
http://trac.webkit.org/changeset/178400

"[Unreviewed] Skip webgl tests for temporarily."
https://bugs.webkit.org/show_bug.cgi?id=140423
http://trac.webkit.org/changeset/178402

"[EFL] Fix build after r178390"
https://bugs.webkit.org/show_bug.cgi?id=140424
http://trac.webkit.org/changeset/178410

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

6 years ago[EFL] Fix build after r178390
ossy@webkit.org [Wed, 14 Jan 2015 07:29:48 +0000 (07:29 +0000)]
[EFL] Fix build after r178390
https://bugs.webkit.org/show_bug.cgi?id=140424

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-01-13
Reviewed by Csaba Osztrogonác.

* CMakeLists.txt:

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

6 years agoUnreviewed GTK build fix after r178375.
cdumez@apple.com [Wed, 14 Jan 2015 06:58:38 +0000 (06:58 +0000)]
Unreviewed GTK build fix after r178375.

uint64_t navigationID -> API::Navigation*.

* UIProcess/API/gtk/WebKitLoaderClient.cpp:

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

6 years agoUnreviewed GTK build fix after r178375.
cdumez@apple.com [Wed, 14 Jan 2015 06:08:49 +0000 (06:08 +0000)]
Unreviewed GTK build fix after r178375.

WebFrameProxy is now a reference instead of a pointer.

* UIProcess/API/gtk/WebKitLoaderClient.cpp:

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

6 years agoSimple line layout: Refactor TextFragment class.
zalan@apple.com [Wed, 14 Jan 2015 05:04:04 +0000 (05:04 +0000)]
Simple line layout: Refactor TextFragment class.
https://bugs.webkit.org/show_bug.cgi?id=140417

Reviewed by Andreas Kling.

Introduce text fragment type and use class member initializers.

No change in functionality.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::LineState::addUncommitted):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::nextFragment):
(WebCore::SimpleLineLayout::createLineRuns):

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

6 years agoFix TestWTF failed in TestWebKitAPI
commit-queue@webkit.org [Wed, 14 Jan 2015 05:01:18 +0000 (05:01 +0000)]
Fix TestWTF failed in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=140333

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-01-13
Reviewed by Sam Weinig.

Clear the std::ostringstream before starting test.

* TestWebKitAPI/Tests/WTF/RefLogger.h:
(TestWebKitAPI::DerivedRefLogger::DerivedRefLogger):

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

6 years ago[Win] Unreviewed test gardening.
bfulgham@apple.com [Wed, 14 Jan 2015 04:38:21 +0000 (04:38 +0000)]
[Win] Unreviewed test gardening.

* platform/win/TestExpectations: Add Debug Crash documentation now that Bug 140425 has been filed.

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

6 years agoWeb Inspector: TextEditor doesn't update when resizing console, white space instead...
commit-queue@webkit.org [Wed, 14 Jan 2015 03:39:10 +0000 (03:39 +0000)]
Web Inspector: TextEditor doesn't update when resizing console, white space instead of content
https://bugs.webkit.org/show_bug.cgi?id=140240

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-01-13
Reviewed by Timothy Hatcher.

* UserInterface/Base/Main.js:
(WebInspector._consoleResizerMouseDown.dockedResizerDrag):
Dispatch the event that signals the console has changed size.

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

6 years agoOnly throttle DOM timers if they change CSS properties that cannot cause non-descenda...
cdumez@apple.com [Wed, 14 Jan 2015 03:35:43 +0000 (03:35 +0000)]
Only throttle DOM timers if they change CSS properties that cannot cause non-descendant elements to become visible
https://bugs.webkit.org/show_bug.cgi?id=140142

Reviewed by Daniel Bates.

Fix layout test introduced in r178014. I forgot to remove a
setTimeout() call.

* fast/dom/timer-height-change-no-throttling.html:

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

6 years ago[Unreviewed] Skip webgl tests for temporarily.
roger_fong@apple.com [Wed, 14 Jan 2015 03:15:01 +0000 (03:15 +0000)]
[Unreviewed] Skip webgl tests for temporarily.
https://bugs.webkit.org/show_bug.cgi?id=140423
* platform/mac/TestExpectations:

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

6 years agoUnreviewed, rolling out r178400.
commit-queue@webkit.org [Wed, 14 Jan 2015 03:10:03 +0000 (03:10 +0000)]
Unreviewed, rolling out r178400.
https://bugs.webkit.org/show_bug.cgi?id=140422

Test fix breaks build (Requested by rfong on #webkit).

Reverted changeset:

"[Unreviewed] Speculative test fix after r178390."
http://trac.webkit.org/changeset/178400

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

6 years ago[Unreviewed] Speculative test fix after r178390.
roger_fong@apple.com [Wed, 14 Jan 2015 02:25:36 +0000 (02:25 +0000)]
[Unreviewed] Speculative test fix after r178390.

* html/canvas/WebGL1RenderingContext.idl:

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

6 years agoFilters aren't applied to elements in columns after the first
dino@apple.com [Wed, 14 Jan 2015 02:18:24 +0000 (02:18 +0000)]
Filters aren't applied to elements in columns after the first
https://bugs.webkit.org/show_bug.cgi?id=140331
<rdar://problem/19313858>

Unreviewed followup after discussion with Simon Fraser.

Add a new test that exercises nested blocks inside columns. Also
use valid properties in my existing tests :)

* fast/multicol/clip-in-columns-expected.html:
* fast/multicol/clip-in-columns.html:
* fast/multicol/filter-in-columns-expected.html:
* fast/multicol/filter-in-columns.html:
* fast/multicol/nested-filter-in-columns-expected.html: Copied from LayoutTests/fast/multicol/filter-in-columns-expected.html.
* fast/multicol/nested-filter-in-columns.html: Copied from LayoutTests/fast/multicol/filter-in-columns.html.

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

6 years ago[Unreviewed] Windows build fix after r178390.
roger_fong@apple.com [Wed, 14 Jan 2015 01:55:33 +0000 (01:55 +0000)]
[Unreviewed] Windows build fix after r178390.

* DerivedSources.cpp:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* bindings/js/JSBindingsAllInOne.cpp:
* html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::create):

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

6 years agoNSButtonCell leak allocated under WebCore::paintToggleButton
joepeck@webkit.org [Wed, 14 Jan 2015 01:34:31 +0000 (01:34 +0000)]
NSButtonCell leak allocated under WebCore::paintToggleButton
https://bugs.webkit.org/show_bug.cgi?id=137014

Reviewed by Alexey Proskuryakov.

* platform/mac/ThemeMac.mm:
(WebCore::createToggleButtonCell):
Immediately adopt the NSButtonCell allocation.

(WebCore::sharedRadioCell):
(WebCore::sharedCheckboxCell):
Move from the RetainPtr into the static variable.

(WebCore::paintToggleButton):
Use RetainPtr logic to better manage lifetimes.

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

6 years agoSimple line layout: Refactor SimpleLineLayout::nextFragment().
zalan@apple.com [Wed, 14 Jan 2015 01:33:30 +0000 (01:33 +0000)]
Simple line layout: Refactor SimpleLineLayout::nextFragment().
https://bugs.webkit.org/show_bug.cgi?id=140407

Reviewed by Andreas Kling.

Simplify the code by using content specific branches with early returns.

No change in functionality.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::nextFragment):

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

6 years agoUnreviewed GTK build fix after r178375.
cdumez@apple.com [Wed, 14 Jan 2015 01:30:09 +0000 (01:30 +0000)]
Unreviewed GTK build fix after r178375.

WebPageProxy is now a reference instead of a pointer.

* UIProcess/API/gtk/WebKitLoaderClient.cpp:

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

6 years agoUnreviewed iOS build fix after r178375
cdumez@apple.com [Wed, 14 Jan 2015 01:05:55 +0000 (01:05 +0000)]
Unreviewed iOS build fix after r178375

Match FontSelector API changes.

* Misc/EmojiFallbackFontSelector.cpp:
(EmojiFallbackFontSelector::fallbackFontDataAt):
(EmojiFallbackFontSelector::getFallbackFontData): Deleted.
* Misc/EmojiFallbackFontSelector.h:

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

6 years agoFill in more of WebProcessLifetimeTracker
andersca@apple.com [Wed, 14 Jan 2015 00:45:49 +0000 (00:45 +0000)]
Fill in more of WebProcessLifetimeTracker
https://bugs.webkit.org/show_bug.cgi?id=140418

Reviewed by Andreas Kling.

* UIProcess/WebProcessLifetimeObserver.cpp:
(WebKit::WebProcessLifetimeObserver::WebProcessLifetimeObserver):
(WebKit::WebProcessLifetimeObserver::~WebProcessLifetimeObserver):
(WebKit::WebProcessLifetimeObserver::addWebPage):
(WebKit::WebProcessLifetimeObserver::removeWebPage):
* UIProcess/WebProcessLifetimeObserver.h:
* UIProcess/WebProcessLifetimeTracker.cpp:
(WebKit::WebProcessLifetimeTracker::WebProcessLifetimeTracker):
(WebKit::WebProcessLifetimeTracker::addObserver):
(WebKit::WebProcessLifetimeTracker::connectionWillOpen):
(WebKit::WebProcessLifetimeTracker::connectionWillClose):
(WebKit::WebProcessLifetimeTracker::pageWasInvalidated):
(WebKit::WebProcessLifetimeTracker::processIsRunning):
* UIProcess/WebProcessLifetimeTracker.h:

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

6 years agoUnreviewed iOS build fix after r178390.
cdumez@apple.com [Wed, 14 Jan 2015 00:44:10 +0000 (00:44 +0000)]
Unreviewed iOS build fix after r178390.

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
m_type is undeclared.

* html/canvas/WebGLContextGroup.h:
Fix bad include.

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

6 years agoUnreviewed iOS build fix after r178375.
cdumez@apple.com [Wed, 14 Jan 2015 00:33:50 +0000 (00:33 +0000)]
Unreviewed iOS build fix after r178375.

LoaderClient::didLayout() now takes a reference to the WebPageProxy
instead of a pointer.

* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::didCommitLayerTree):

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

6 years agoWebGL2: Support webgl2 context creation.
roger_fong@apple.com [Wed, 14 Jan 2015 00:33:09 +0000 (00:33 +0000)]
WebGL2: Support webgl2 context creation.
https://bugs.webkit.org/show_bug.cgi?id=126408
<rdar://problem/15002170>
Reviewed by Dean Jackson.
Tests covered by existing Khronos tests for WebGL 1.0 conformance.
Create a WebGLRenderingContextBase class that extends to a WebGL1RenderingContext and WebGL2RenderingContext.
Replace all previous instances of WebGLRenderingContext usages with WebGLRenderingContextBase usages for now.
As the first step, the WebGL1 and WebGL2 contexts will have the exact same functionality.
* CMakeLists.txt:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSCanvasRenderingContextCustom.cpp:
(WebCore::toJS):
* bindings/js/JSDocumentCustom.cpp:
* bindings/js/JSHTMLCanvasElementCustom.cpp:
* bindings/js/JSWebGL1RenderingContextCustom.cpp: Copied from Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp.
* bindings/js/JSWebGL2RenderingContextCustom.cpp: Added.
(WebCore::JSWebGL2RenderingContext::visitAdditionalChildren):
* bindings/js/JSWebGLRenderingContextBaseCustom.cpp: Added.
* bindings/js/JSWebGLRenderingContextCustom.cpp: Removed.
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::is3dType):
(WebCore::HTMLCanvasElement::reset):
(WebCore::HTMLCanvasElement::paint):
(WebCore::HTMLCanvasElement::getImageData):
* html/canvas/ANGLEInstancedArrays.cpp:
(WebCore::ANGLEInstancedArrays::ANGLEInstancedArrays):
(WebCore::ANGLEInstancedArrays::supported):
* html/canvas/ANGLEInstancedArrays.h:
* html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::type):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
* html/canvas/EXTBlendMinMax.cpp:
(WebCore::EXTBlendMinMax::EXTBlendMinMax):
* html/canvas/EXTBlendMinMax.h:
* html/canvas/EXTFragDepth.cpp:
(WebCore::EXTFragDepth::EXTFragDepth):
* html/canvas/EXTFragDepth.h:
* html/canvas/EXTShaderTextureLOD.cpp:
(WebCore::EXTShaderTextureLOD::EXTShaderTextureLOD):
* html/canvas/EXTShaderTextureLOD.h:
* html/canvas/EXTTextureFilterAnisotropic.cpp:
(WebCore::EXTTextureFilterAnisotropic::EXTTextureFilterAnisotropic):
* html/canvas/EXTTextureFilterAnisotropic.h:
* html/canvas/EXTsRGB.cpp:
(WebCore::EXTsRGB::EXTsRGB):
* html/canvas/EXTsRGB.h:
* html/canvas/OESElementIndexUint.cpp:
(WebCore::OESElementIndexUint::OESElementIndexUint):
* html/canvas/OESElementIndexUint.h:
* html/canvas/OESStandardDerivatives.cpp:
(WebCore::OESStandardDerivatives::OESStandardDerivatives):
* html/canvas/OESStandardDerivatives.h:
* html/canvas/OESTextureFloat.cpp:
(WebCore::OESTextureFloat::OESTextureFloat):
* html/canvas/OESTextureFloat.h:
* html/canvas/OESTextureFloatLinear.cpp:
(WebCore::OESTextureFloatLinear::OESTextureFloatLinear):
* html/canvas/OESTextureFloatLinear.h:
* html/canvas/OESTextureHalfFloat.cpp:
(WebCore::OESTextureHalfFloat::OESTextureHalfFloat):
* html/canvas/OESTextureHalfFloat.h:
* html/canvas/OESTextureHalfFloatLinear.cpp:
(WebCore::OESTextureHalfFloatLinear::OESTextureHalfFloatLinear):
* html/canvas/OESTextureHalfFloatLinear.h:
* html/canvas/OESVertexArrayObject.cpp:
(WebCore::OESVertexArrayObject::OESVertexArrayObject):
* html/canvas/OESVertexArrayObject.h:
* html/canvas/WebGL1RenderingContext.cpp: Copied from Source/WebCore/html/canvas/WebGLRenderingContext.cpp.
* html/canvas/WebGL1RenderingContext.h: Copied from Source/WebCore/html/canvas/WebGLRenderingContext.h.
* html/canvas/WebGL1RenderingContext.idl: Copied from Source/WebCore/html/canvas/WebGLRenderingContext.idl.
* html/canvas/WebGL2RenderingContext.cpp: Added.
(WebCore::WebGL2RenderingContext::WebGL2RenderingContext):
* html/canvas/WebGL2RenderingContext.h: Added.
* html/canvas/WebGL2RenderingContext.idl: Added.
* html/canvas/WebGLBuffer.cpp:
(WebCore::WebGLBuffer::create):
(WebCore::WebGLBuffer::WebGLBuffer):
* html/canvas/WebGLBuffer.h:
* html/canvas/WebGLCompressedTextureATC.cpp:
(WebCore::WebGLCompressedTextureATC::WebGLCompressedTextureATC):
(WebCore::WebGLCompressedTextureATC::supported):
* html/canvas/WebGLCompressedTextureATC.h:
* html/canvas/WebGLCompressedTexturePVRTC.cpp:
(WebCore::WebGLCompressedTexturePVRTC::WebGLCompressedTexturePVRTC):
(WebCore::WebGLCompressedTexturePVRTC::supported):
* html/canvas/WebGLCompressedTexturePVRTC.h:
* html/canvas/WebGLCompressedTextureS3TC.cpp:
(WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
(WebCore::WebGLCompressedTextureS3TC::supported):
* html/canvas/WebGLCompressedTextureS3TC.h:
* html/canvas/WebGLContextGroup.cpp:
(WebCore::WebGLContextGroup::getAGraphicsContext3D):
(WebCore::WebGLContextGroup::addContext):
(WebCore::WebGLContextGroup::removeContext):
(WebCore::WebGLContextGroup::loseContextGroup):
* html/canvas/WebGLContextGroup.h:
* html/canvas/WebGLContextObject.cpp:
(WebCore::WebGLContextObject::WebGLContextObject):
* html/canvas/WebGLContextObject.h:
(WebCore::WebGLContextObject::context):
* html/canvas/WebGLDebugRendererInfo.cpp:
(WebCore::WebGLDebugRendererInfo::WebGLDebugRendererInfo):
* html/canvas/WebGLDebugRendererInfo.h:
* html/canvas/WebGLDebugShaders.cpp:
(WebCore::WebGLDebugShaders::WebGLDebugShaders):
* html/canvas/WebGLDebugShaders.h:
* html/canvas/WebGLDepthTexture.cpp:
(WebCore::WebGLDepthTexture::WebGLDepthTexture):
* html/canvas/WebGLDepthTexture.h:
* html/canvas/WebGLDrawBuffers.cpp:
(WebCore::WebGLDrawBuffers::WebGLDrawBuffers):
(WebCore::WebGLDrawBuffers::supported):
(WebCore::WebGLDrawBuffers::satisfiesWebGLRequirements):
* html/canvas/WebGLDrawBuffers.h:
* html/canvas/WebGLExtension.cpp:
(WebCore::WebGLExtension::WebGLExtension):
* html/canvas/WebGLExtension.h:
(WebCore::WebGLExtension::context):
* html/canvas/WebGLFramebuffer.cpp:
(WebCore::WebGLFramebuffer::create):
(WebCore::WebGLFramebuffer::WebGLFramebuffer):
* html/canvas/WebGLFramebuffer.h:
* html/canvas/WebGLLoseContext.cpp:
(WebCore::WebGLLoseContext::WebGLLoseContext):
(WebCore::WebGLLoseContext::loseContext):
* html/canvas/WebGLLoseContext.h:
* html/canvas/WebGLObject.cpp:
(WebCore::WebGLObject::WebGLObject):
* html/canvas/WebGLObject.h:
* html/canvas/WebGLProgram.cpp:
(WebCore::WebGLProgram::create):
(WebCore::WebGLProgram::WebGLProgram):
* html/canvas/WebGLProgram.h:
* html/canvas/WebGLRenderbuffer.cpp:
(WebCore::WebGLRenderbuffer::create):
(WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
* html/canvas/WebGLRenderbuffer.h:
* html/canvas/WebGLRenderingContext.cpp: Removed.
* html/canvas/WebGLRenderingContext.h: Removed.
* html/canvas/WebGLRenderingContext.idl: Removed.
* html/canvas/WebGLRenderingContextBase.cpp: Added.
* html/canvas/WebGLRenderingContextBase.h: Added.
* html/canvas/WebGLRenderingContextBase.idl: Added.
* html/canvas/WebGLShader.cpp:
(WebCore::WebGLShader::create):
(WebCore::WebGLShader::WebGLShader):
* html/canvas/WebGLShader.h:
* html/canvas/WebGLSharedObject.cpp:
(WebCore::WebGLSharedObject::WebGLSharedObject):
* html/canvas/WebGLSharedObject.h:
* html/canvas/WebGLTexture.cpp:
(WebCore::WebGLTexture::create):
(WebCore::WebGLTexture::WebGLTexture):
* html/canvas/WebGLTexture.h:
* html/canvas/WebGLVertexArrayObjectOES.cpp:
(WebCore::WebGLVertexArrayObjectOES::create):
(WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES):
* html/canvas/WebGLVertexArrayObjectOES.h:

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

6 years agoUnreviewed, fix Mac build after r178388
cdumez@apple.com [Wed, 14 Jan 2015 00:19:10 +0000 (00:19 +0000)]
Unreviewed, fix Mac build after r178388

FontRanges::isEmpty() -> FontRanges::isNull().

* platform/graphics/mac/FontComplexTextMac.cpp:
(WebCore::Font::fontDataForCombiningCharacterSequence):

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

6 years agoDevirtualize FontData
antti@apple.com [Tue, 13 Jan 2015 23:57:50 +0000 (23:57 +0000)]
Devirtualize FontData
https://bugs.webkit.org/show_bug.cgi?id=140390

Reviewed by Andreas Kling.

This patch removes the FontData base class and turns SegmentedFontData into a non-virtual FontRanges type.

SimpleFontData remains as is (without the base) and it can be renamed later to something more sensible.

* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::fontRangesForFamily):
(WebCore::CSSFontSelector::fallbackFontDataAt):
(WebCore::CSSFontSelector::getFontData): Deleted.
(WebCore::CSSFontSelector::getFallbackFontData): Deleted.
* css/CSSFontSelector.h:
* css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::pruneTable):
(WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading):
(WebCore::CSSSegmentedFontFace::fontRanges):
(WebCore::CSSSegmentedFontFace::loadFont):
(WebCore::CSSSegmentedFontFace::getFontData): Deleted.
* css/CSSSegmentedFontFace.h:
* platform/graphics/Font.h:
(WebCore::Font::fallbackRangesAt):
(WebCore::Font::fontDataAt): Deleted.
* platform/graphics/FontData.cpp: Removed.
* platform/graphics/FontData.h: Removed.
* platform/graphics/FontGlyphs.cpp:
(WebCore::FontGlyphs::FontGlyphs):
(WebCore::FontGlyphs::determinePitch):
(WebCore::FontGlyphs::isLoadingCustomFonts):
(WebCore::realizeNextFallback):
(WebCore::FontGlyphs::realizeFallbackRangesAt):
(WebCore::FontGlyphs::glyphDataForSystemFallback):
(WebCore::FontGlyphs::glyphDataForVariant):
(WebCore::FontGlyphs::glyphDataForNormalVariant):
(WebCore::glyphPageFromFontRanges):
(WebCore::FontGlyphs::glyphDataForCharacter):
(WebCore::realizeNextFamily): Deleted.
(WebCore::FontGlyphs::realizeFontDataAt): Deleted.
(WebCore::glyphPageFromFontData): Deleted.
* platform/graphics/FontGlyphs.h:
(WebCore::FontGlyphs::primarySimpleFontData):
* platform/graphics/FontRanges.cpp: Copied from Source/WebCore/platform/graphics/SegmentedFontData.cpp.
(WebCore::FontRanges::FontRanges):
(WebCore::FontRanges::~FontRanges):
(WebCore::FontRanges::fontDataForCharacter):
(WebCore::FontRanges::fontDataForFirstRange):
(WebCore::FontRanges::isLoading):
(WebCore::SegmentedFontData::SegmentedFontData): Deleted.
(WebCore::SegmentedFontData::~SegmentedFontData): Deleted.
(WebCore::SegmentedFontData::simpleFontDataForCharacter): Deleted.
(WebCore::SegmentedFontData::simpleFontDataForFirstRange): Deleted.
(WebCore::SegmentedFontData::isCustomFont): Deleted.
(WebCore::SegmentedFontData::isLoading): Deleted.
(WebCore::SegmentedFontData::isSegmented): Deleted.
(WebCore::SegmentedFontData::description): Deleted.
* platform/graphics/FontRanges.h: Copied from Source/WebCore/platform/graphics/SegmentedFontData.h.
(WebCore::FontRanges::Range::Range):
(WebCore::FontRanges::Range::from):
(WebCore::FontRanges::Range::to):
(WebCore::FontRanges::Range::fontData):
(WebCore::FontRanges::isEmpty):
(WebCore::FontRanges::appendRange):
(WebCore::FontRanges::size):
(WebCore::FontRanges::rangeAt):
(WebCore::FontDataRange::FontDataRange): Deleted.
(WebCore::FontDataRange::from): Deleted.
(WebCore::FontDataRange::to): Deleted.
(WebCore::FontDataRange::fontData): Deleted.
(WebCore::SegmentedFontData::create): Deleted.
(WebCore::SegmentedFontData::appendRange): Deleted.
(WebCore::SegmentedFontData::numRanges): Deleted.
(WebCore::SegmentedFontData::rangeAt): Deleted.
(isType): Deleted.
* platform/graphics/FontSelector.h:
* platform/graphics/SegmentedFontData.cpp: Removed.
* platform/graphics/SegmentedFontData.h: Removed.
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::simpleFontDataForCharacter): Deleted.
(WebCore::SimpleFontData::simpleFontDataForFirstRange): Deleted.
(WebCore::SimpleFontData::isSegmented): Deleted.
* platform/graphics/SimpleFontData.h:
(WebCore::SimpleFontData::isCustomFont):
(WebCore::SimpleFontData::isLoading):
(isType): Deleted.
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(-[WebCascadeList initWithFont:character:]):
(-[WebCascadeList objectAtIndex:]):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
* platform/graphics/mac/FontComplexTextMac.cpp:
(WebCore::Font::fontDataForCombiningCharacterSequence):

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

6 years agoTemporarily reintroduce the informal delegate protocols
andersca@apple.com [Tue, 13 Jan 2015 23:56:25 +0000 (23:56 +0000)]
Temporarily reintroduce the informal delegate protocols
https://bugs.webkit.org/show_bug.cgi?id=140416

Reviewed by Dan Bernstein.

* WebView/WebEditingDelegate.h:
* WebView/WebFrameLoadDelegate.h:
* WebView/WebPolicyDelegate.h:
* WebView/WebResourceLoadDelegate.h:
* WebView/WebUIDelegate.h:

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

6 years agoMissed images and missed new lines in the expected results of the imported w3c canvas...
commit-queue@webkit.org [Tue, 13 Jan 2015 23:49:33 +0000 (23:49 +0000)]
Missed images and missed new lines in the expected results of the imported w3c canvas layout tests.
https://bugs.webkit.org/show_bug.cgi?id=140409.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-01-13
Reviewed by Dean Jackson.
LayoutTests/imported/w3c:

Fix some failures in the imported W3C canvas tests. These failures were happening because
of missing images or missing new lines at the end of the expected results.

* canvas/2d.pattern.paint.repeat.basic-expected.txt:
* canvas/2d.pattern.paint.repeat.outside-expected.txt:
* canvas/2d.pattern.paint.repeatx.basic-expected.txt:
* canvas/2d.pattern.paint.repeaty.basic-expected.txt:
* canvas/resources/background.png: Added.
* canvas/resources/green-16x16.png: Added.
* common/canvas-tests.css:

LayoutTests:

Fix some failures in the imported W3C canvas tests. These failures were happening because
of missing images or missing new lines at the end of the expected results.

* TestExpectations:

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

6 years agoConvert WebUserContentControllerProxy to an API::Object bridged to WKUserContentContr...
weinig@apple.com [Tue, 13 Jan 2015 23:35:20 +0000 (23:35 +0000)]
Convert WebUserContentControllerProxy to an API::Object bridged to WKUserContentController
https://bugs.webkit.org/show_bug.cgi?id=140414

Reviewed by Dan Bernstein.

* Shared/API/APIObject.h:
Add Type::UserContentController.

* Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
Allocate WebUserContentControllerProxy using [WKUserContentController alloc].

* UIProcess/API/Cocoa/WKUserContentController.mm:
(-[WKUserContentController init]):
(-[WKUserContentController dealloc]):
(-[WKUserContentController _apiObject]):
* UIProcess/API/Cocoa/WKUserContentControllerInternal.h:
(WebKit::wrapper):
Convert to using API::ObjectStorage for the internal WebUserContentControllerProxy.

* UIProcess/UserContent/WebUserContentControllerProxy.cpp:
(WebKit::WebUserContentControllerProxy::create): Deleted.
* UIProcess/UserContent/WebUserContentControllerProxy.h:
Convert to inherit from API::ObjectImpl<> and remove create function.

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

6 years agoStub out more of the process lifetime tracker code
andersca@apple.com [Tue, 13 Jan 2015 23:32:42 +0000 (23:32 +0000)]
Stub out more of the process lifetime tracker code
https://bugs.webkit.org/show_bug.cgi?id=140411

Reviewed by Sam Weinig.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::connectionWillOpen):
(WebKit::WebPageProxy::connectionWillClose):
* UIProcess/WebProcessLifetimeTracker.cpp:
(WebKit::WebProcessLifetimeTracker::connectionWillOpen):
(WebKit::WebProcessLifetimeTracker::connectionWillClose):
(WebKit::WebProcessLifetimeTracker::pageWasInvalidated):
* UIProcess/WebProcessLifetimeTracker.h:

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

6 years agoFilters aren't applied to elements in columns after the first
dino@apple.com [Tue, 13 Jan 2015 23:22:21 +0000 (23:22 +0000)]
Filters aren't applied to elements in columns after the first
https://bugs.webkit.org/show_bug.cgi?id=140331
Source/WebCore:

Reviewed by Simon Fraser.

The important bits of this change came from Simon.

Filters and clipping were not taking columns into
account when using their offset rectangles. The fix
is to recalculate the rects if you're in such a
situation.

Tests: fast/multicol/clip-in-columns.html
       fast/multicol/filter-in-columns.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hasFilterThatIsPainting): New method used
to check if we're about to paint a filter.
(WebCore::RenderLayer::setupFilters): Use the new helper if possible.
(WebCore::RenderLayer::paintLayerContents): If we're in columns,
and we either have a clip or a filter, recalculate the offset rectangles.
* rendering/RenderLayer.h:

LayoutTests:

<rdar://problem/19313858>

Reviewed by Simon Fraser.

Tests for filters and clipping on a column other
than the first.

* fast/multicol/clip-in-columns-expected.html: Added.
* fast/multicol/clip-in-columns.html: Added.
* fast/multicol/filter-in-columns-expected.html: Added.
* fast/multicol/filter-in-columns.html: Added.

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

6 years ago[CMake] Unreviewed build fix after r178366.
clopez@igalia.com [Tue, 13 Jan 2015 23:04:09 +0000 (23:04 +0000)]
[CMake] Unreviewed build fix after r178366.

* CMakeLists.txt: Add new files added by r178366.

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

6 years agoShould disable immediate actions for iTunes
bdakin@apple.com [Tue, 13 Jan 2015 22:33:44 +0000 (22:33 +0000)]
Should disable immediate actions for iTunes
https://bugs.webkit.org/show_bug.cgi?id=140405
-and corresponding-
rdar://problem/19461358

Reviewed by Tim Horton.

Source/WebCore:

* WebCore.exp.in:

Source/WebKit/mac:

* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _updateImmediateActionItem]):

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

6 years agoConsider alignment when allocating from a SegregatedFreeList
ggaren@apple.com [Tue, 13 Jan 2015 22:26:57 +0000 (22:26 +0000)]
Consider alignment when allocating from a SegregatedFreeList
https://bugs.webkit.org/show_bug.cgi?id=140408

Reviewed by Sam Weinig.

In preparation for supporting aligned allocation.

No performance change.

Since this is just one extra branch in an already expensive function,
I decided not to duplicate the function just to avoid the branch in
the un-aligned case.

* bmalloc/SegregatedFreeList.cpp:
(bmalloc::SegregatedFreeList::take):
* bmalloc/SegregatedFreeList.h:

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

6 years agoRemove pure virtual functions from DatabaseBackendBase
andersca@apple.com [Tue, 13 Jan 2015 22:23:41 +0000 (22:23 +0000)]
Remove pure virtual functions from DatabaseBackendBase
https://bugs.webkit.org/show_bug.cgi?id=140402

Reviewed by Sam Weinig.

Also change DatabaseBackendBase to Database in a couple of places.

* Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::DatabaseBackendBase::closeDatabase):
(WebCore::DoneCreatingDatabaseOnExitCaller::~DoneCreatingDatabaseOnExitCaller):
(WebCore::DatabaseBackendBase::performOpenAndVerify):
(WebCore::DatabaseBackendBase::maximumSize):
* Modules/webdatabase/DatabaseBackendBase.h:
* Modules/webdatabase/DatabaseServer.cpp:
(WebCore::DatabaseServer::createDatabase):
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::getMaxSizeForDatabase):
(WebCore::DatabaseTracker::doneCreatingDatabase):
(WebCore::DatabaseTracker::addOpenDatabase):
(WebCore::DatabaseTracker::removeOpenDatabase):
(WebCore::DatabaseTracker::getOpenDatabases):
(WebCore::DatabaseTracker::deleteDatabaseFile):
* Modules/webdatabase/DatabaseTracker.h:

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

6 years agoMove more of the Navigation infrastructure down to WebPageProxy
weinig@apple.com [Tue, 13 Jan 2015 22:22:27 +0000 (22:22 +0000)]
Move more of the Navigation infrastructure down to WebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=140395

Reviewed by Anders Carlsson.

* UIProcess/API/APILoaderClient.h:
(API::LoaderClient::didStartProvisionalLoadForFrame):
(API::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
(API::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
(API::LoaderClient::didCommitLoadForFrame):
(API::LoaderClient::didFinishDocumentLoadForFrame):
(API::LoaderClient::didFinishLoadForFrame):
(API::LoaderClient::didFailLoadWithErrorForFrame):
(API::LoaderClient::didSameDocumentNavigationForFrame):
(API::LoaderClient::didReceiveTitleForFrame):
(API::LoaderClient::didFirstLayoutForFrame):
(API::LoaderClient::didFirstVisuallyNonEmptyLayoutForFrame):
(API::LoaderClient::didRemoveFrameFromHierarchy):
(API::LoaderClient::didDisplayInsecureContentForFrame):
(API::LoaderClient::didRunInsecureContentForFrame):
(API::LoaderClient::didDetectXSSForFrame):
(API::LoaderClient::didLayout):
(API::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
(API::LoaderClient::didReceiveAuthenticationChallengeInFrame):
(API::LoaderClient::didStartProgress):
(API::LoaderClient::didChangeProgress):
(API::LoaderClient::didFinishProgress):
(API::LoaderClient::processDidBecomeUnresponsive):
(API::LoaderClient::interactionOccurredWhileProcessUnresponsive):
(API::LoaderClient::processDidBecomeResponsive):
(API::LoaderClient::processDidCrash):
(API::LoaderClient::didChangeBackForwardList):
(API::LoaderClient::shouldKeepCurrentBackForwardListItemInList):
(API::LoaderClient::willGoToBackForwardListItem):
(API::LoaderClient::pluginLoadPolicy):
(API::LoaderClient::didFailToInitializePlugin):
(API::LoaderClient::didBlockInsecurePluginVersion):
(API::LoaderClient::webGLLoadPolicy):
(API::LoaderClient::resolveWebGLLoadPolicy):
(API::LoaderClient::didDestroyNavigation): Deleted.
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPageLoaderClient):
* UIProcess/Cocoa/NavigationState.h:
* UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::LoaderClient::didStartProvisionalLoadForFrame):
(WebKit::NavigationState::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
(WebKit::NavigationState::LoaderClient::didCommitLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFinishDocumentLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFinishLoadForFrame):
(WebKit::NavigationState::LoaderClient::didFailLoadWithErrorForFrame):
(WebKit::NavigationState::LoaderClient::didSameDocumentNavigationForFrame):
(WebKit::NavigationState::LoaderClient::didLayout):
(WebKit::NavigationState::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
(WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame):
(WebKit::NavigationState::LoaderClient::processDidCrash):
(WebKit::NavigationState::LoaderClient::didDestroyNavigation): Deleted.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didChangeBackForwardList):
(WebKit::WebPageProxy::willGoToBackForwardListItem):
(WebKit::WebPageProxy::shouldKeepCurrentBackForwardListItemInList):
(WebKit::WebPageProxy::findPlugin):
(WebKit::WebPageProxy::didStartProgress):
(WebKit::WebPageProxy::didChangeProgress):
(WebKit::WebPageProxy::didFinishProgress):
(WebKit::WebPageProxy::didDestroyNavigation):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::WebPageProxy::didFailLoadForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
(WebKit::WebPageProxy::didReceiveTitleForFrame):
(WebKit::WebPageProxy::didFirstLayoutForFrame):
(WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
(WebKit::WebPageProxy::didLayout):
(WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
(WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
(WebKit::WebPageProxy::didRunInsecureContentForFrame):
(WebKit::WebPageProxy::didDetectXSSForFrame):
(WebKit::WebPageProxy::webGLPolicyForURL):
(WebKit::WebPageProxy::resolveWebGLPolicyForURL):
(WebKit::WebPageProxy::processDidBecomeUnresponsive):
(WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
(WebKit::WebPageProxy::processDidBecomeResponsive):
(WebKit::WebPageProxy::processDidCrash):
(WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
(WebKit::WebPageProxy::didReceiveAuthenticationChallengeProxy):
(WebKit::WebPageProxy::didFailToInitializePlugin):
(WebKit::WebPageProxy::didBlockInsecurePluginVersion):
- Moves conversion from navigationID to API::Navigation into WebPageProxy
  from NavigationState.
- Changes API::LoaderClient to pass WebPageProxy and WebFrameProxy by reference
  rather than pointer, and to take an API::Navigation instead of a navigationID.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
Move access of the navigationID to after calling into the client bundle to avoid
passing a navigationID of a deleted navigation to the UIProcess. This problem was
caught via the WebKit2.StopLoadingDuringDidFailProvisionalLoadTest API test, which
now exercises the Navigation code path. Had that test been written using a Navigation
delegate, the issue would have happened prior to this change.

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

6 years agoRenamed minimum to size in SegregatedFreeList
ggaren@apple.com [Tue, 13 Jan 2015 22:00:35 +0000 (22:00 +0000)]
Renamed minimum to size in SegregatedFreeList
https://bugs.webkit.org/show_bug.cgi?id=140406

Reviewed by Sam Weinig.

In preparation for supporting aligned allocation.

* bmalloc/SegregatedFreeList.cpp:
(bmalloc::SegregatedFreeList::takeGreedy):
(bmalloc::SegregatedFreeList::take): Every size passed to malloc is
really just a minimum. Let's not imply that this value is special.

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

6 years agoWeb Inspector: I do not expect to see the same rule multiple times in styles sidebar
commit-queue@webkit.org [Tue, 13 Jan 2015 21:44:21 +0000 (21:44 +0000)]
Web Inspector: I do not expect to see the same rule multiple times in styles sidebar
https://bugs.webkit.org/show_bug.cgi?id=138185

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-01-13
Reviewed by Timothy Hatcher.

In the styles sidebar, don't show a duplicate, lesser-specificity rule even
if it matches the selected element multiple times with different selectors
in the list.

* UserInterface/Models/CSSRule.js:
(WebInspector.CSSRule.prototype.isEqualTo):
CSSRule identifiers are objects.

* UserInterface/Views/RulesStyleDetailsPanel.js:
(WebInspector.RulesStyleDetailsPanel.prototype.refresh):
Remove duplicates from the ordered list of style declarations.

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

6 years agoMake WTF::Optional work with msvc 2013
cdumez@apple.com [Tue, 13 Jan 2015 21:21:40 +0000 (21:21 +0000)]
Make WTF::Optional work with msvc 2013
https://bugs.webkit.org/show_bug.cgi?id=140401

Reviewed by Anders Carlsson.

Update the WTF::Optional implementation to use std::aligned_memory and
placement new instead of an unrestricted union because msvc 2013 still
doesn't support unrestricted unions.

This change is a pre-requirement to fix Bug 140347 as this change uses
WTF::Optional with types that have non-trivial copy constructors.

This change is covered by the existing Optional WTF test.

* wtf/Optional.h:

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

6 years agoWeb Inspector: Remove unused ResizeImage and DecodeImageData timeline events
commit-queue@webkit.org [Tue, 13 Jan 2015 20:31:00 +0000 (20:31 +0000)]
Web Inspector: Remove unused ResizeImage and DecodeImageData timeline events
https://bugs.webkit.org/show_bug.cgi?id=140404

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-01-13
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

* inspector/protocol/Timeline.json:

Source/WebCore:

* inspector/InspectorTimelineAgent.cpp:
(WebCore::toProtocol):
* inspector/InspectorTimelineAgent.h:
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createDecodeImageData): Deleted.
(WebCore::TimelineRecordFactory::createResizeImageData): Deleted.
* inspector/TimelineRecordFactory.h:

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

6 years agoDFG can call PutByValDirect for generic arrays
utatane.tea@gmail.com [Tue, 13 Jan 2015 20:17:54 +0000 (20:17 +0000)]
DFG can call PutByValDirect for generic arrays
https://bugs.webkit.org/show_bug.cgi?id=140389

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Computed properties in object initializers (ES6) use the put_by_val_direct operation.
However, current DFG asserts that put_by_val_direct is not used for the generic array,
the assertion failure is raised.
This patch allow DFG to use put_by_val_direct to generic arrays.

And fix the DFG put_by_val_direct implementation for string properties.
At first, put_by_val_direct is inteded to be used for spread elements.
So the property keys were limited to numbers (indexes).
But now, it's also used for computed properties in object initializers.

* dfg/DFGOperations.cpp:
(JSC::DFG::operationPutByValInternal):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

LayoutTests:

* js/dfg-put-by-val-direct-to-generic-array-expected.txt: Added.
* js/dfg-put-by-val-direct-to-generic-array.html: Added.
* js/script-tests/dfg-put-by-val-direct-to-generic-array.js: Added.
(foo1):
(foo2):

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

6 years agoTestWebKitWebContext depends on British English spellcheck dictionary
commit-queue@webkit.org [Tue, 13 Jan 2015 20:17:50 +0000 (20:17 +0000)]
TestWebKitWebContext depends on British English spellcheck dictionary
https://bugs.webkit.org/show_bug.cgi?id=140403

Patch by Michael Catanzaro <mcatanzaro@igalia.com> on 2015-01-13
Reviewed by Martin Robinson.

Install all English hunspell dictionaries on Fedora and Arch.

* gtk/install-dependencies:

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

6 years ago[GTK] install-dependencies should grok dnf
commit-queue@webkit.org [Tue, 13 Jan 2015 20:16:00 +0000 (20:16 +0000)]
[GTK] install-dependencies should grok dnf
https://bugs.webkit.org/show_bug.cgi?id=140396

Patch by Michael Catanzaro <mcatanzaro@igalia.com> on 2015-01-13
Reviewed by Martin Robinson.

Fedora: install dependencies with dnf if yum is not installed.

* gtk/install-dependencies:

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

6 years agodefaultPlaybackRate not respected when set before source is loaded
jer.noble@apple.com [Tue, 13 Jan 2015 20:01:43 +0000 (20:01 +0000)]
defaultPlaybackRate not respected when set before source is loaded
https://bugs.webkit.org/show_bug.cgi?id=140282

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/video-defaultplaybackrate-before-load.html

When the HTMLMediaElement is notified that the media player's rate has changed, it asks
for the rate from MediaPlayer. However, MediaPlayer never requests the playback rate
from the underlying MediaPlayerPrivate; it just returns the last rate which was set, or
1 if no rate was set. HTMLMediaElement then sets its playbackRate to the returned
value. So the end result is that the value from defaultPlaybackRate is overwritten by
the default value of 1 in MediaPlayer.

Rather than caching the requested rate in MediaPlayer, cache the value reported by
MediaPlayer inside HTMLMediaElement. And instead of returning the reported playback
rate from HTMLMediaElement.playbackRate, just return the last value set. The reported
value is still used for estimating the current time during playback.

Add MediaPlayerPrivate interface method to return the current playback rate.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_reportedPlaybackRate.
(WebCore::HTMLMediaElement::effectivePlaybackRate): Return m_reportedPlaybackRate.
(WebCore::HTMLMediaElement::requestedPlaybackRate): Return m_playbackRate.
(WebCore::HTMLMediaElement::updatePlaybackRate): Use requestedPlaybackRate() instead
    of effectivePlaybackRate();
(WebCore::HTMLMediaElement::ended): Ditto.
(WebCore::HTMLMediaElement::playbackProgressTimerFired): Ditto.
(WebCore::HTMLMediaElement::endedPlayback): Ditto.
(WebCore::HTMLMediaElement::updatePlayState): Ditto.
(WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto.
(WebCore::HTMLMediaElement::mediaPlayerRateChanged): Set m_reportedPlaybackRate.
(WebCore::HTMLMediaElement::mediaPlayerRequestedPlaybackRate): Return
    requestedPlaybackRate() if playing and 0 if not.
* html/HTMLMediaElement.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::MediaPlayer): Removed m_rate.
(WebCore::MediaPlayer::rate): Pass to MediaPlayerPrivate.
(WebCore::MediaPlayer::setRate): Do not cache the rate.
(WebCore::MediaPlayer::requestedRate): Added; ask HTMLMediaElement.
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerRequestedPlaybackRate): Added.
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::rate): Added.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
    Do not cache the requested rate.
(WebCore::MediaPlayerPrivateAVFoundation::requestedRate): Pass to MediaPlayer.
(WebCore::MediaPlayerPrivateAVFoundation::setRate): Deleted.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
(WebCore::MediaPlayerPrivateAVFoundation::requestedRate): Deleted.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::setRate): Renamed from updateRate.
(WebCore::MediaPlayerPrivateAVFoundationCF::rate): Fetch the rate from the player.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setRateDouble): Renamed from updateRate.
(WebCore::MediaPlayerPrivateAVFoundationObjC::rate): Fetch the rate from the player.
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::rate): Fetch the rate from the QTMovie.

LayoutTests:

* media/video-defaultplaybackrate-before-load-expected.txt: Added.
* media/video-defaultplaybackrate-before-load.html: Added.

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

6 years agoBegin stubbing out a per page process lifetime tracker object
andersca@apple.com [Tue, 13 Jan 2015 19:53:33 +0000 (19:53 +0000)]
Begin stubbing out a per page process lifetime tracker object
https://bugs.webkit.org/show_bug.cgi?id=140399

Reviewed by Beth Dakin.

This will make it easier for certain objects that track a set of web page proxy objects
(user content controller, visited link provider, data store) to be notified when their
underlying processes come and go.

* UIProcess/WebPageProxy.h:
* UIProcess/WebProcessLifetimeObserver.cpp: Added.
* UIProcess/WebProcessLifetimeObserver.h: Added.
* UIProcess/WebProcessLifetimeTracker.cpp: Added.
(WebKit::WebProcessLifetimeTracker::WebProcessLifetimeTracker):
(WebKit::WebProcessLifetimeTracker::~WebProcessLifetimeTracker):
(WebKit::WebProcessLifetimeTracker::addObserver):
(WebKit::WebProcessLifetimeTracker::removeObserver):
* UIProcess/WebProcessLifetimeTracker.h: Added.
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoOut of bounds access in BytecodeGenerator::emitGetById under DotAccessorNode::emitByt...
ggaren@apple.com [Tue, 13 Jan 2015 19:42:36 +0000 (19:42 +0000)]
Out of bounds access in BytecodeGenerator::emitGetById under DotAccessorNode::emitBytecode
https://bugs.webkit.org/show_bug.cgi?id=140397

Reviewed by Geoffrey Garen.

Patch by Alexey Proskuryakov.

Reviewed, performance tested, and ChangeLogged by Geoffrey Garen.

No performance change.

No test, since this is a small past-the-end read, which is very
difficult to turn into a reproducible failing test -- and existing tests
crash reliably using ASan.

* bytecompiler/NodesCodegen.cpp:
(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::FunctionCallBracketNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::DeleteBracketNode::emitBytecode):
(JSC::DeleteDotNode::emitBytecode):
(JSC::PrefixNode::emitResolve):
(JSC::UnaryOpNode::emitBytecode):
(JSC::BitwiseNotNode::emitBytecode):
(JSC::BinaryOpNode::emitBytecode):
(JSC::EqualNode::emitBytecode):
(JSC::StrictEqualNode::emitBytecode):
(JSC::ThrowableBinaryOpNode::emitBytecode):
(JSC::AssignDotNode::emitBytecode):
(JSC::AssignBracketNode::emitBytecode): Use RefPtr in more places. Any
register used across a call to a function that might allocate a new
temporary register must be held in a RefPtr.

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

6 years agoLocal JSArray* "keys" in objectConstructorKeys() is not marked during garbage collection
msaboff@apple.com [Tue, 13 Jan 2015 17:46:40 +0000 (17:46 +0000)]
Local JSArray* "keys" in objectConstructorKeys() is not marked during garbage collection
https://bugs.webkit.org/show_bug.cgi?id=140348

Reviewed by Mark Lam.

We used to read registers in MachineThreads::gatherFromCurrentThread(), but that is too late
because those registers may have been spilled on the stack and replaced with other values by
the time we call down to gatherFromCurrentThread().

Now we get the register contents at the same place that we demarcate the current top of
stack using the address of a local variable, in Heap::markRoots().  The register contents
buffer is passed along with the demarcation pointer.  These need to be done at this level
in the call tree and no lower, as markRoots() calls various functions that visit object
pointers that may be latter proven dead.  Any of those pointers that are left on the
stack or in registers could be incorrectly marked as live if we scan the stack contents
from a called function or one of its callees.  The stack demarcation pointer and register
saving need to be done in the same function so that we have a consistent stack, active
and spilled registers.

Because we don't want to make unnecessary calls to get the register contents, we use
a macro to allocated, and possibly align, the register structure and get the actual
register contents.

* heap/Heap.cpp:
(JSC::Heap::markRoots):
(JSC::Heap::gatherStackRoots):
* heap/Heap.h:
* heap/MachineStackMarker.cpp:
(JSC::MachineThreads::gatherFromCurrentThread):
(JSC::MachineThreads::gatherConservativeRoots):
* heap/MachineStackMarker.h:

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

6 years agoElement::normalizeAttributes() needs to handle arbitrary JS executing between loop...
akling@apple.com [Tue, 13 Jan 2015 16:59:49 +0000 (16:59 +0000)]
Element::normalizeAttributes() needs to handle arbitrary JS executing between loop iterations.
<https://webkit.org/b/140379>
<rdar://problem/19446901>

Reviewed by Benjamin Poulain.

Source/WebCore:

Since DOM mutation events may arise below the call to Node::normalize(),
have the loop in Element::normalizeAttributes() make a copy of the Attr nodes
beforehand, to guard against mutations.

Based on a patch by Chris "Chris Dumez" Dumez.

Test: fast/dom/Element/normalize-crash2.html

* dom/Element.cpp:
(WebCore::Element::normalizeAttributes):

LayoutTests:

* fast/dom/Element/normalize-crash2-expected.txt: Added.
* fast/dom/Element/normalize-crash2.html: Added.

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

6 years agoAX: [ATK] Mark accessibility/table-with-footer-section-above-body.html as a suitable...
commit-queue@webkit.org [Tue, 13 Jan 2015 13:14:09 +0000 (13:14 +0000)]
AX: [ATK] Mark accessibility/table-with-footer-section-above-body.html as a suitable test for EFL and GTK
https://bugs.webkit.org/show_bug.cgi?id=140355

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2015-01-13
Reviewed by Chris Fleizach.

The test shows the text contents of an AccessibilityTableCell object using tableCell.childAtIndex(0).stringValue.
In the case of ATK childAtIndex(0) returns a non-empty object, but it is not the ATK_OBJECT,
so the stringValue produces an empty string.
To avoid this, the cell text content is obtained by direct reading of stringValue of TableCell.

* accessibility/table-with-footer-section-above-body.html:
   This test is also suitable for EFL and GTK port.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:

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

6 years ago[EFL] Fix test expectations after r178310.
commit-queue@webkit.org [Tue, 13 Jan 2015 12:58:45 +0000 (12:58 +0000)]
[EFL] Fix test expectations after r178310.
https://bugs.webkit.org/show_bug.cgi?id=140387.

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2015-01-13
Reviewed by Gyuyoung Kim.

Clean reference to SharedWorkers in test expecations since they were removed.

* platform/efl/TestExpectations:

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

6 years agoFix Debug Build Error in Webcore module.
commit-queue@webkit.org [Tue, 13 Jan 2015 10:53:38 +0000 (10:53 +0000)]
Fix Debug Build Error in Webcore module.
https://bugs.webkit.org/show_bug.cgi?id=140383

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2015-01-13
Reviewed by Csaba Osztrogonác.

No new tests because there is no visible behavior change.

* platform/linux/MemoryPressureHandlerLinux.cpp:
(WebCore::MemoryPressureHandler::ReliefLogger::platformLog):

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

6 years ago[EFL][GTK] Fix build after r178309
commit-queue@webkit.org [Tue, 13 Jan 2015 06:23:44 +0000 (06:23 +0000)]
[EFL][GTK] Fix build after r178309
https://bugs.webkit.org/show_bug.cgi?id=140381

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-01-12
Reviewed by Gyuyoung Kim.

* TestWebKitAPI/CMakeLists.txt: Added the API directory

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

6 years agoWeb Inspector: Timeline: when Network Requests view is selected, in progress requests...
jonowells@apple.com [Tue, 13 Jan 2015 05:18:01 +0000 (05:18 +0000)]
Web Inspector: Timeline: when Network Requests view is selected, in progress requests are absent.
https://bugs.webkit.org/show_bug.cgi?id=140090

Reviewed by Timothy Hatcher.

TimelineContentView#_updateTimes() changed to call WebInspector.timelineSidebarPanel.updateFilter() in addition
to updating the layout of the current timeline view. TimelineSidebarPanel.updateFilter() now responsible for
updating filtered resources in a TimelineView.

* UserInterface/Views/NavigationSidebarPanel.js:
(WebInspector.NavigationSidebarPanel.prototype._updateFilter):
Now handles updating the UI associated with filtering of navigation sidebar tree elements.

* UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype.updateLayout):
No longer handles updating other UI along with the navigation sidebar tree elements. That is now handled by
WebInspector.TimelineView.prototype.filterUpdated.
(WebInspector.OverviewTimelineView.prototype._compareTreeElementsByDetails): Drive-by fix. Missing vars.

* UserInterface/Views/TimelineContentView.js:
(WebInspector.TimelineContentView.prototype._updateTimes): Add call to updateFilter().

* UserInterface/Views/TimelineView.js:
(WebInspector.TimelineView.prototype.filterUpdated):
Function added to dispatch a SelectionPathComponentsDidChange event.

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

6 years agoFix a typo in r178313
benjamin@webkit.org [Tue, 13 Jan 2015 03:26:09 +0000 (03:26 +0000)]
Fix a typo in r178313

* contentextensions/URLFilterParser.cpp:
(WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter):

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

6 years agoAdd basic pattern matching support to the url filters
benjamin@webkit.org [Tue, 13 Jan 2015 01:37:25 +0000 (01:37 +0000)]
Add basic pattern matching support to the url filters
https://bugs.webkit.org/show_bug.cgi?id=140283

Reviewed by Andreas Kling.

Source/JavaScriptCore:

* JavaScriptCore.xcodeproj/project.pbxproj:
Make YarrParser.h private in order to use it from WebCore.

Source/WebCore:

This patch adds some basic generic pattern support for the url filters
of ContentExtensions.

Instead of writting a new parser, I re-used Gavin's parser for JavaScript
RegExp.

This patch only implements the very basic stuffs: transition on any character
and repetition.

* WebCore.xcodeproj/project.pbxproj:
* contentextensions/ContentExtensionsBackend.cpp:
(WebCore::ContentExtensions::ContentExtensionsBackend::setRuleList):
Use the new parser.

* contentextensions/DFA.cpp:
(WebCore::ContentExtensions::DFA::DFA):
(WebCore::ContentExtensions::printRange):
(WebCore::ContentExtensions::printTransition):
(WebCore::ContentExtensions::DFA::debugPrintDot):
* contentextensions/NFA.cpp:
(WebCore::ContentExtensions::printRange):
(WebCore::ContentExtensions::printTransition):
(WebCore::ContentExtensions::NFA::debugPrintDot):
The graphs generated with the extended patterns are vastly more complicated
than the old prefix matcher.
I changed the debug output to have a single link between any two nodes
instead of one per transition. This makes the graph a little more manageable.

* contentextensions/NFA.cpp:
(WebCore::ContentExtensions::NFA::addTransition):
(WebCore::ContentExtensions::NFA::addEpsilonTransition):
(WebCore::ContentExtensions::NFA::graphSize):
(WebCore::ContentExtensions::NFA::restoreToGraphSize):
* contentextensions/NFA.h:
* contentextensions/NFANode.h:
(WebCore::ContentExtensions::epsilonClosure):
The new parser can generate transitions back to the root node of index zero.
All the hash structures had to be updated to support this kind of key.

* contentextensions/NFAToDFA.cpp:
(WebCore::ContentExtensions::HashableNodeIdSetHash::hash):
Two tiny improvements:
-Don't hash zero to zero, it causes more conflicts that needed.
-The hash operation must use a commutative operation, otherwise the order
 of elements can affect the hash, which is undesired for a set.
I'll improve this further later.

(WebCore::ContentExtensions::NFAToDFA::convert):

* contentextensions/URLFilterParser.cpp: Added.
(WebCore::ContentExtensions::GraphBuilder::GraphBuilder):
(WebCore::ContentExtensions::GraphBuilder::m_lastAtom):
(WebCore::ContentExtensions::GraphBuilder::finalize):
(WebCore::ContentExtensions::GraphBuilder::errorMessage):
(WebCore::ContentExtensions::GraphBuilder::atomPatternCharacter):
(WebCore::ContentExtensions::GraphBuilder::atomBuiltInCharacterClass):
(WebCore::ContentExtensions::GraphBuilder::quantifyAtom):
(WebCore::ContentExtensions::GraphBuilder::atomBackReference):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassAtom):
(WebCore::ContentExtensions::GraphBuilder::assertionBOL):
(WebCore::ContentExtensions::GraphBuilder::assertionEOL):
(WebCore::ContentExtensions::GraphBuilder::assertionWordBoundary):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassBegin):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassRange):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassBuiltIn):
(WebCore::ContentExtensions::GraphBuilder::atomCharacterClassEnd):
(WebCore::ContentExtensions::GraphBuilder::atomParenthesesSubpatternBegin):
(WebCore::ContentExtensions::GraphBuilder::atomParentheticalAssertionBegin):
(WebCore::ContentExtensions::GraphBuilder::atomParenthesesEnd):
(WebCore::ContentExtensions::GraphBuilder::disjunction):
(WebCore::ContentExtensions::GraphBuilder::hasError):
(WebCore::ContentExtensions::GraphBuilder::fail):
(WebCore::ContentExtensions::URLFilterParser::parse):
* contentextensions/URLFilterParser.h:
(WebCore::ContentExtensions::URLFilterParser::hasError):
(WebCore::ContentExtensions::URLFilterParser::errorMessage):

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

6 years ago[CMake] Unreviewed build fix after r178309.
clopez@igalia.com [Tue, 13 Jan 2015 01:20:35 +0000 (01:20 +0000)]
[CMake] Unreviewed build fix after r178309.

* CMakeLists.txt: Rename moved files at r178309.

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

6 years agoOut of bounds read in IdentifierArena::makeIdentifier
ggaren@apple.com [Tue, 13 Jan 2015 01:04:37 +0000 (01:04 +0000)]
Out of bounds read in IdentifierArena::makeIdentifier
https://bugs.webkit.org/show_bug.cgi?id=140376

Patch by Alexey Proskuryakov.

Reviewed and ChangeLogged by Geoffrey Garen.

No test, since this is a small past-the-end read, which is very
difficult to turn into a reproducible failing test -- and existing tests
crash reliably using ASan.

* parser/ParserArena.h:
(JSC::IdentifierArena::makeIdentifier):
(JSC::IdentifierArena::makeIdentifierLCharFromUChar): Check for a
zero-length string input, like we do in the literal parser, since it is
not valid to dereference characters in a zero-length string.

A zero-length string is allowed in JavaScript -- for example, "".

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

6 years agoRemove support for SharedWorkers
weinig@apple.com [Tue, 13 Jan 2015 00:40:49 +0000 (00:40 +0000)]
Remove support for SharedWorkers
https://bugs.webkit.org/show_bug.cgi?id=140344

Reviewed by Anders Carlsson.

.:

* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsGTK.cmake:
* Source/cmake/OptionsMac.cmake:
* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* DerivedSources.cpp:
* DerivedSources.make:
* PlatformGTK.cmake:
* PlatformMac.cmake:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore::RuntimeEnabledFeatures::sharedWorkerEnabled): Deleted.
* bindings/generic/RuntimeEnabledFeatures.h:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSDOMWindowCustom.cpp:
* bindings/js/JSSharedWorkerCustom.cpp: Removed.
* bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::toJSWorkerGlobalScope):
(WebCore::toJSSharedWorkerGlobalScope): Deleted.
* bindings/js/JSWorkerGlobalScopeBase.h:
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::initScript):
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/preprocess-idls.pl:
* dom/Document.cpp:
(WebCore::Document::prepareForDestruction):
* dom/EventTarget.h:
* dom/EventTargetFactory.in:
* history/PageCache.cpp:
(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):
* loader/FrameLoader.cpp:
* page/SecurityOrigin.h:
(WebCore::SecurityOrigin::canAccessLocalStorage):
(WebCore::SecurityOrigin::canAccessSharedWorkers): Deleted.
* platform/FeatureCounterKeys.h:
* platform/PlatformStrategies.h:
(WebCore::PlatformStrategies::PlatformStrategies):
(WebCore::PlatformStrategies::sharedWorkerStrategy): Deleted.
* workers/DefaultSharedWorkerRepository.cpp: Removed.
* workers/DefaultSharedWorkerRepository.h: Removed.
* workers/SharedWorker.cpp: Removed.
* workers/SharedWorker.h: Removed.
* workers/SharedWorker.idl: Removed.
* workers/SharedWorkerGlobalScope.cpp: Removed.
* workers/SharedWorkerGlobalScope.h: Removed.
* workers/SharedWorkerGlobalScope.idl: Removed.
* workers/SharedWorkerRepository.cpp: Removed.
* workers/SharedWorkerRepository.h: Removed.
* workers/SharedWorkerStrategy.h: Removed.
* workers/SharedWorkerThread.cpp: Removed.
* workers/SharedWorkerThread.h: Removed.
* workers/WorkerGlobalScope.h:
(WebCore::WorkerGlobalScope::isSharedWorkerGlobalScope): Deleted.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::createSharedWorkerStrategy): Deleted.

Source/WebKit/win:

* WebCoreSupport/WebPlatformStrategies.cpp:
(WebPlatformStrategies::createSharedWorkerStrategy): Deleted.
* WebCoreSupport/WebPlatformStrategies.h:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:
* NetworkProcess/NetworkProcessPlatformStrategies.cpp:
(WebKit::NetworkProcessPlatformStrategies::createSharedWorkerStrategy): Deleted.
* NetworkProcess/NetworkProcessPlatformStrategies.h:
* WebKit2Prefix.h:
* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::createSharedWorkerStrategy): Deleted.
(WebKit::WebPlatformStrategies::isAvailable): Deleted.
* WebProcess/WebCoreSupport/WebPlatformStrategies.h:

Source/WTF:

* wtf/FeatureDefines.h:

Tools:

* Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Remove shared worker specific tests and update others to remove references to shared workers.

* fast/constructors/constructor-as-function-crash-expected.txt:
* fast/constructors/constructor-as-function-crash.html:
* fast/dom/call-a-constructor-as-a-function-expected.txt:
* fast/dom/call-a-constructor-as-a-function.html:
* fast/workers/resources/create-shared-worker-frame.html: Removed.
* fast/workers/resources/shared-worker-common.js: Removed.
* fast/workers/resources/shared-worker-count-connections.js: Removed.
* fast/workers/resources/shared-worker-create-common.js: Removed.
* fast/workers/resources/shared-worker-exception.js: Removed.
* fast/workers/resources/shared-worker-iframe.html: Removed.
* fast/workers/resources/shared-worker-lifecycle.js: Removed.
* fast/workers/resources/shared-worker-name.js: Removed.
* fast/workers/resources/shared-worker-script-error.js: Removed.
* fast/workers/shared-worker-constructor-expected.txt: Removed.
* fast/workers/shared-worker-constructor.html: Removed.
* fast/workers/shared-worker-context-gc-expected.txt: Removed.
* fast/workers/shared-worker-context-gc.html: Removed.
* fast/workers/shared-worker-event-listener-expected.txt: Removed.
* fast/workers/shared-worker-event-listener.html: Removed.
* fast/workers/shared-worker-exception-expected.txt: Removed.
* fast/workers/shared-worker-exception.html: Removed.
* fast/workers/shared-worker-frame-lifecycle-expected.txt: Removed.
* fast/workers/shared-worker-frame-lifecycle.html: Removed.
* fast/workers/shared-worker-gc-expected.txt: Removed.
* fast/workers/shared-worker-gc.html: Removed.
* fast/workers/shared-worker-in-iframe-expected.txt: Removed.
* fast/workers/shared-worker-in-iframe.html: Removed.
* fast/workers/shared-worker-lifecycle-expected.txt: Removed.
* fast/workers/shared-worker-lifecycle.html: Removed.
* fast/workers/shared-worker-load-error-expected.txt: Removed.
* fast/workers/shared-worker-load-error.html: Removed.
* fast/workers/shared-worker-location-expected.txt: Removed.
* fast/workers/shared-worker-location.html: Removed.
* fast/workers/shared-worker-messageevent-source-expected.txt: Removed.
* fast/workers/shared-worker-messageevent-source.html: Removed.
* fast/workers/shared-worker-name-expected.txt: Removed.
* fast/workers/shared-worker-name.html: Removed.
* fast/workers/shared-worker-navigator-expected.txt: Removed.
* fast/workers/shared-worker-navigator.html: Removed.
* fast/workers/shared-worker-replace-global-constructor-expected.txt: Removed.
* fast/workers/shared-worker-replace-global-constructor.html: Removed.
* fast/workers/shared-worker-replace-self-expected.txt: Removed.
* fast/workers/shared-worker-replace-self.html: Removed.
* fast/workers/shared-worker-script-error-expected.txt: Removed.
* fast/workers/shared-worker-script-error.html: Removed.
* fast/workers/shared-worker-shared-expected.txt: Removed.
* fast/workers/shared-worker-shared.html: Removed.
* fast/workers/shared-worker-simple-expected.txt: Removed.
* fast/workers/shared-worker-simple.html: Removed.
* fast/workers/shared-worker-storagequota-query-usage-expected.txt: Removed.
* fast/workers/shared-worker-storagequota-query-usage.html: Removed.
* fast/workers/worker-crash-with-invalid-location-expected.txt:
* fast/workers/worker-crash-with-invalid-location.html:
* http/tests/resources/js-test-pre.js:
(startWorker):
(.worker.port.onmessage): Deleted.
(.self.onconnect.workerPort.onmessage): Deleted.
(.self.onconnect): Deleted.
* http/tests/security/contentSecurityPolicy/resources/shared-worker-make-xhr.js: Removed.
* http/tests/security/contentSecurityPolicy/shared-worker-connect-src-allowed-expected.txt: Removed.
* http/tests/security/contentSecurityPolicy/shared-worker-connect-src-allowed.html: Removed.
* http/tests/security/contentSecurityPolicy/shared-worker-connect-src-blocked-expected.txt: Removed.
* http/tests/security/contentSecurityPolicy/shared-worker-connect-src-blocked.html: Removed.
* http/tests/security/cross-origin-shared-worker-allowed-expected.txt: Removed.
* http/tests/security/cross-origin-shared-worker-allowed.html: Removed.
* http/tests/security/cross-origin-shared-worker-expected.txt: Removed.
* http/tests/security/cross-origin-shared-worker.html: Removed.
* http/tests/security/resources/cross-origin-iframe-for-shared-worker.html: Removed.
* http/tests/security/resources/iframe-for-storage-blocking-changed-shared-worker.html: Removed.
* http/tests/security/resources/shared-worker.js: Removed.
* http/tests/security/same-origin-shared-worker-blocked-expected.txt: Removed.
* http/tests/security/same-origin-shared-worker-blocked.html: Removed.
* http/tests/security/storage-blocking-loosened-shared-worker-expected.txt: Removed.
* http/tests/security/storage-blocking-loosened-shared-worker.html: Removed.
* http/tests/security/storage-blocking-strengthened-shared-worker-expected.txt: Removed.
* http/tests/security/storage-blocking-strengthened-shared-worker.html: Removed.
* http/tests/websocket/tests/hybi/workers/close-in-shared-worker-expected.txt: Removed.
* http/tests/websocket/tests/hybi/workers/close-in-shared-worker.html: Removed.
* http/tests/websocket/tests/hybi/workers/shared-worker-simple-expected.txt: Removed.
* http/tests/websocket/tests/hybi/workers/shared-worker-simple.html: Removed.
* http/tests/workers/shared-worker-importScripts-expected.txt: Removed.
* http/tests/workers/shared-worker-importScripts.html: Removed.
* http/tests/workers/shared-worker-invalid-url-expected.txt: Removed.
* http/tests/workers/shared-worker-invalid-url.html: Removed.
* http/tests/workers/shared-worker-redirect-expected.txt: Removed.
* http/tests/workers/shared-worker-redirect.html: Removed.
* http/tests/xmlhttprequest/workers/resources/shared-worker-create.js: Removed.
* http/tests/xmlhttprequest/workers/shared-worker-access-control-basic-get-fail-non-simple-expected.txt: Removed.
* http/tests/xmlhttprequest/workers/shared-worker-access-control-basic-get-fail-non-simple.html: Removed.
* http/tests/xmlhttprequest/workers/shared-worker-close-expected.txt: Removed.
* http/tests/xmlhttprequest/workers/shared-worker-close.html: Removed.
* http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt: Removed.
* http/tests/xmlhttprequest/workers/shared-worker-methods-async.html: Removed.
* http/tests/xmlhttprequest/workers/shared-worker-methods-expected.txt: Removed.
* http/tests/xmlhttprequest/workers/shared-worker-methods.html: Removed.
* http/tests/xmlhttprequest/workers/shared-worker-referer-expected.txt: Removed.
* http/tests/xmlhttprequest/workers/shared-worker-referer.html: Removed.
* http/tests/xmlhttprequest/workers/shared-worker-xhr-file-not-found-expected.txt: Removed.
* http/tests/xmlhttprequest/workers/shared-worker-xhr-file-not-found.html: Removed.
* js/dom/constructor-length.html:
* js/dom/global-constructors-attributes-expected.txt:
* js/dom/global-constructors-attributes-shared-worker-expected.txt: Removed.
* js/dom/global-constructors-attributes-shared-worker.html: Removed.
* platform/efl/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt: Removed.
* platform/efl/http/tests/xmlhttprequest/workers/shared-worker-methods-expected.txt: Removed.
* platform/efl/js/dom/constructor-length-expected.txt:
* platform/efl/js/dom/global-constructors-attributes-expected.txt:
* platform/efl/js/dom/global-constructors-attributes-shared-worker-expected.txt: Removed.
* platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt: Removed.
* platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-expected.txt: Removed.
* platform/gtk/js/dom/constructor-length-expected.txt:
* platform/gtk/js/dom/global-constructors-attributes-expected.txt:
* platform/ios-sim-deprecated/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/ios-sim-deprecated/fast/js/constructor-length-expected.txt:
* platform/ios-sim-deprecated/fast/js/global-constructors-expected.txt:
* platform/ios-sim-deprecated/fast/workers/shared-worker-storagequota-query-usage-expected.txt: Removed.
* platform/ios-sim-deprecated/http/tests/security/cross-origin-shared-worker-allowed-expected.txt: Removed.
* platform/ios-sim-deprecated/http/tests/security/cross-origin-shared-worker-expected.txt: Removed.
* platform/ios-sim-deprecated/js/dom/global-constructors-attributes-expected.txt:
* platform/ios-sim-deprecated/storage/indexeddb/basics-shared-workers-expected.txt: Removed.
* platform/ios-simulator/js/dom/constructor-length-expected.txt:
* platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-wk2/TestExpectations:
* platform/mac/js/dom/constructor-length-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
* platform/win/fast/dom/call-a-constructor-as-a-function-expected.txt:
* platform/win/js/dom/global-constructors-attributes-expected.txt:
* platform/win/js/dom/global-constructors-attributes-shared-worker-expected.txt: Removed.
* resources/js-test-pre.js:
(startWorker):
(.worker.port.onmessage): Deleted.
(.self.onconnect.workerPort.onmessage): Deleted.
(.self.onconnect): Deleted.
* resources/js-test.js:
(startWorker):
(.worker.port.onmessage): Deleted.
(.self.onconnect.workerPort.onmessage): Deleted.
(.self.onconnect): Deleted.
* storage/indexeddb/basics-shared-workers-expected.txt: Removed.
* storage/indexeddb/basics-shared-workers.html: Removed.

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

6 years agoMove a couple of API files to UIProcess/API.
andersca@apple.com [Tue, 13 Jan 2015 00:35:25 +0000 (00:35 +0000)]
Move a couple of API files to UIProcess/API.

Rubber-stamped by Tim Horton.

* UIProcess/API/APINavigationData.cpp: Renamed from Source/WebKit2/UIProcess/APINavigationData.cpp.
* UIProcess/API/APINavigationData.h: Renamed from Source/WebKit2/UIProcess/APINavigationData.h.
* UIProcess/API/APIProcessPoolConfiguration.cpp: Renamed from Source/WebKit2/UIProcess/APIProcessPoolConfiguration.cpp.
* UIProcess/API/APIProcessPoolConfiguration.h: Renamed from Source/WebKit2/UIProcess/APIProcessPoolConfiguration.h.
* UIProcess/API/APISession.cpp: Renamed from Source/WebKit2/UIProcess/APISession.cpp.
* UIProcess/API/APISession.h: Renamed from Source/WebKit2/UIProcess/APISession.h.
* WebKit2.xcodeproj/project.pbxproj:

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

6 years agoREGRESSION(r178029): [GTK][EFL] Caused no-backing-for-clip-overlap test failures
commit-queue@webkit.org [Tue, 13 Jan 2015 00:35:24 +0000 (00:35 +0000)]
REGRESSION(r178029): [GTK][EFL] Caused no-backing-for-clip-overlap test failures
https://bugs.webkit.org/show_bug.cgi?id=140336

Patch by Byungseon Shin <sun.shin@lge.com> on 2015-01-12
Reviewed by Simon Fraser.

Avoid creating childClippingMaskLayer when renderer has not border radius nor clip path.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateChildClippingStrategy):

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

6 years ago[iOS][WK2] Push content bounds on layer tree commit to prevent drawing stale fixed...
mhock@apple.com [Tue, 13 Jan 2015 00:30:49 +0000 (00:30 +0000)]
[iOS][WK2] Push content bounds on layer tree commit to prevent drawing stale fixed position rects
https://bugs.webkit.org/show_bug.cgi?id=140264
<rdar://problem/18873545>

Reviewed by Benjamin Poulain.

When a resize occurs, we need to push the new content bounds to the web
process or stale fixed position rects may draw incorrectly.

As an example, suppose that WKWebView in UIProcess performs
_frameOrBoundsChanged with new view bounds.
Meanwhile, we'll switch to WebContentProcess and perform layout.
Switching back to UIProcess, _frameOrBoundsChanged calls WKWebView
_updateVisibleContentRects.
_updateVisibleContentRects calls WKContentView didUpdateVisibleRect with
the new bounds.
didUpdateVisibleRects in turn calls WebPageProxyIOS
computeCustomFixedPositionRect.
computeCustomFixedPositionRect asks for the content bounds from
PageClientImplIOS contentsSize which queries WKContentView's bounds
size. But those bounds are stale because the layer tree commit hasn't
occurred yet.

By informing the WKWebView of the updated content size on layer tree
commit, we ensure that the fixed position rects will be drawn correctly.

* UIProcess/ios/WKContentView.mm:
(-[WKContentView _didCommitLayerTree:]): Push new content bounds to the web process.

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

6 years ago[Apple] Squelch stderr log regarding negative stroke thickness
mmaxfield@apple.com [Tue, 13 Jan 2015 00:30:41 +0000 (00:30 +0000)]
[Apple] Squelch stderr log regarding negative stroke thickness
https://bugs.webkit.org/show_bug.cgi?id=140372
<rdar://problem/19426485>

Reviewed by Eric Carlson.

No new tests because there is no visible behavior change.

* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setPlatformStrokeThickness):

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

6 years agoGet rid of unnecessary reimplementations of CGFloor/Ceiling
timothy_horton@apple.com [Tue, 13 Jan 2015 00:25:45 +0000 (00:25 +0000)]
Get rid of unnecessary reimplementations of CGFloor/Ceiling
https://bugs.webkit.org/show_bug.cgi?id=140375

Reviewed by Simon Fraser.

* platform/mac/DragImageMac.mm:
(WebCore::widthWithFont):
(WebCore::drawAtPoint):
(WebCore::webkit_CGCeiling): Deleted.
* platform/mac/WebVideoFullscreenHUDWindowController.mm:
(-[WebVideoFullscreenHUDWindowController windowDidLoad]):
(webkit_CGFloor): Deleted.
Delete unnecessary code, use the real CGFloor/Ceiling instead.

* Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:allowingFontSmoothing:]):
(webkit_CGCeiling): Deleted.
Delete unnecessary code, use the real CGFloor/Ceiling instead.

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

6 years agoREGRESSION (r177656): Text in find-in-page yellow bouncy rectangle is not crisp
timothy_horton@apple.com [Mon, 12 Jan 2015 23:57:17 +0000 (23:57 +0000)]
REGRESSION (r177656): Text in find-in-page yellow bouncy rectangle is not crisp
https://bugs.webkit.org/show_bug.cgi?id=140373
<rdar://problem/19447156>

Reviewed by Simon Fraser.

* page/mac/TextIndicatorWindow.mm:
(WebCore::TextIndicatorWindow::setTextIndicator):
Expand the window margin to the nearest integer.
The window was already being pixel-snapped, but then we'd translate by
the non-integral margin when building up the layer tree.
It's OK to do this on 2x because it's fine to have the margin be bigger
than needed.

* platform/spi/cg/CoreGraphicsSPI.h:
Add a CGCeiling to match CGFloor.

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

6 years agoGuard web thread stuff with USE(WEB_THREAD) instead of PLATFORM(IOS).
akling@apple.com [Mon, 12 Jan 2015 23:53:12 +0000 (23:53 +0000)]
Guard web thread stuff with USE(WEB_THREAD) instead of PLATFORM(IOS).

Dan pointed out that we should guard WebThreadIsLockedOrDisabled() with
USE(WEB_THREAD) to communicate our ambitions to someday have an iOS
build of WebKit that doesn't need any of that.

* Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::resume):

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

6 years agoFix build for non-iOS platforms. :|
akling@apple.com [Mon, 12 Jan 2015 23:42:48 +0000 (23:42 +0000)]
Fix build for non-iOS platforms. :|

* Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::resume):

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

6 years ago[Freetype] Don't use non-scalable fonts.
clopez@igalia.com [Mon, 12 Jan 2015 23:32:26 +0000 (23:32 +0000)]
[Freetype] Don't use non-scalable fonts.
https://bugs.webkit.org/show_bug.cgi?id=31931

Reviewed by Martin Robinson.

No new tests needed.

* platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::FontCache::createFontPlatformData): Prefer scalable fonts.

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

6 years agoGeolocation objects shouldn't prevent page caching.
akling@apple.com [Mon, 12 Jan 2015 23:14:24 +0000 (23:14 +0000)]
Geolocation objects shouldn't prevent page caching.
<https://webkit.org/b/140369>

Reviewed by Joseph Pecoraro.

Source/WebCore:

Enable the code for suspend/resume of Geolocation objects on all platforms
instead of just iOS. This allows pages using geolocation to use page cache
instead of reloading on back/forward navigation.

Test: fast/history/page-cache-geolocation.html

* Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::Geolocation):
(WebCore::Geolocation::resetAllGeolocationPermission):
(WebCore::Geolocation::stop):
(WebCore::Geolocation::setIsAllowed):
(WebCore::Geolocation::positionChanged):
(WebCore::Geolocation::setError):
* Modules/geolocation/Geolocation.h:

LayoutTests:

Take the existing test for this and make it not-specific-to-iOS.
Also remove a test whose only purpose was confirming that we don't cache these pages.

* fast/dom/Geolocation/no-page-cache-expected.txt: Removed.
* fast/dom/Geolocation/no-page-cache.html: Removed.
* fast/dom/Geolocation/script-tests/no-page-cache.js: Removed.
* fast/history/page-cache-geolocation-expected.txt: Renamed from LayoutTests/platform/ios-simulator/ios/fast/history/page-cache-geolocation-expected.txt.
* fast/history/page-cache-geolocation.html: Renamed from LayoutTests/platform/ios-simulator/ios/fast/history/script-tests/page-cache-geolocation.js.
* fast/history/resources/page-cache-helper.html: Added.
* platform/ios-sim-deprecated/iphone/fast/history/page-cache-geolocation-expected.txt: Removed.
* platform/ios-sim-deprecated/iphone/fast/history/page-cache-geolocation.html: Removed.
* platform/ios-sim-deprecated/iphone/fast/history/script-tests/page-cache-geolocation.js: Removed.
* platform/ios-simulator/TestExpectations:
* platform/ios-simulator/ios/fast/history/page-cache-geolocation.html: Removed.

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

6 years agoMake fast/css/first-letter-skip-out-of-flow.html a ref-test
rego@igalia.com [Mon, 12 Jan 2015 22:40:29 +0000 (22:40 +0000)]
Make fast/css/first-letter-skip-out-of-flow.html a ref-test
https://bugs.webkit.org/show_bug.cgi?id=140324

Reviewed by Andreas Kling.

* fast/css/first-letter-skip-out-of-flow-expected.html: Added.
* platform/efl/fast/css/first-letter-skip-out-of-flow-expected.png: Removed.
* platform/efl/fast/css/first-letter-skip-out-of-flow-expected.txt: Removed.
* platform/gtk/fast/css/first-letter-skip-out-of-flow-expected.png: Removed.
* platform/gtk/fast/css/first-letter-skip-out-of-flow-expected.txt: Removed.
* platform/ios-sim-deprecated/fast/css/first-letter-skip-out-of-flow-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/css/first-letter-skip-out-of-flow-expected.txt: Removed.
* platform/mac-mountainlion/fast/css/first-letter-skip-out-of-flow-expected.txt: Removed.
* platform/mac/fast/css/first-letter-skip-out-of-flow-expected.png: Removed.
* platform/mac/fast/css/first-letter-skip-out-of-flow-expected.txt: Removed.

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

6 years agoLog navigation types using DiagnosticLoggingClient
cdumez@apple.com [Mon, 12 Jan 2015 22:30:59 +0000 (22:30 +0000)]
Log navigation types using DiagnosticLoggingClient
https://bugs.webkit.org/show_bug.cgi?id=140323

Reviewed by Darin Adler.

Log navigation types using DiagnosticLoggingClient to help us understand
what types of navigations are common and give us an estimate on the
total number of navigations.

* loader/FrameLoader.cpp:
(WebCore::logNavigation):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::logNavigationWithFeatureCounter): Deleted.
* page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::navigationKey):
* page/DiagnosticLoggingKeys.h:

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

6 years agoWeb Inspector: ASSERT under WebCore::InspectorResourceAgent::loadResource
burg@cs.washington.edu [Mon, 12 Jan 2015 22:02:56 +0000 (22:02 +0000)]
Web Inspector: ASSERT under WebCore::InspectorResourceAgent::loadResource
https://bugs.webkit.org/show_bug.cgi?id=140367

Reviewed by Andreas Kling.

* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::loadResource): use copyRef() instead of move(),
since we check the callback after giving it to the loader client.

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

6 years agoMove DatabaseBackend functions back to Database
andersca@apple.com [Mon, 12 Jan 2015 21:58:08 +0000 (21:58 +0000)]
Move DatabaseBackend functions back to Database
https://bugs.webkit.org/show_bug.cgi?id=140368

Reviewed by Sam Weinig.

* Modules/webdatabase/Database.cpp:
(WebCore::Database::openAndVerifyVersion):
(WebCore::Database::close):
(WebCore::Database::performOpenAndVerify):
(WebCore::Database::scheduleTransaction):
(WebCore::Database::runTransaction):
(WebCore::Database::scheduleTransactionStep):
(WebCore::Database::inProgressTransactionCompleted):
(WebCore::Database::transactionClient):
(WebCore::Database::transactionCoordinator):
* Modules/webdatabase/Database.h:
* Modules/webdatabase/DatabaseBackend.cpp:
(WebCore::DatabaseBackend::openAndVerifyVersion): Deleted.
(WebCore::DatabaseBackend::performOpenAndVerify): Deleted.
(WebCore::DatabaseBackend::close): Deleted.
(WebCore::DatabaseBackend::runTransaction): Deleted.
(WebCore::DatabaseBackend::inProgressTransactionCompleted): Deleted.
(WebCore::DatabaseBackend::scheduleTransaction): Deleted.
(WebCore::DatabaseBackend::scheduleTransactionStep): Deleted.
(WebCore::DatabaseBackend::transactionClient): Deleted.
(WebCore::DatabaseBackend::transactionCoordinator): Deleted.
* Modules/webdatabase/DatabaseBackend.h:
* Modules/webdatabase/DatabaseThread.cpp:
(WebCore::DatabaseThread::recordDatabaseOpen):
(WebCore::DatabaseThread::recordDatabaseClosed):
(WebCore::SameDatabasePredicate::SameDatabasePredicate):
(WebCore::DatabaseThread::unscheduleDatabaseTasks):
* Modules/webdatabase/DatabaseThread.h:
* Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::create):
(WebCore::SQLTransactionBackend::SQLTransactionBackend):
* Modules/webdatabase/SQLTransactionBackend.h:
(WebCore::SQLTransactionBackend::database):

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

6 years agoAddressing post-review comment after r178292
mmaxfield@apple.com [Mon, 12 Jan 2015 21:12:17 +0000 (21:12 +0000)]
Addressing post-review comment after r178292
https://bugs.webkit.org/show_bug.cgi?id=136769

Unreviewed.

* loader/cache/CachedFont.cpp:
(WebCore::CachedFont::ensureCustomFontData):

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

6 years agoMake delegates conform to formal delegate protocols
andersca@apple.com [Mon, 12 Jan 2015 21:07:59 +0000 (21:07 +0000)]
Make delegates conform to formal delegate protocols
https://bugs.webkit.org/show_bug.cgi?id=140370

Reviewed by Dan Bernstein.

Source/WebKit/mac:

* DefaultDelegates/WebDefaultPolicyDelegate.h:
* WebCoreSupport/WebInspectorClient.mm:
Add protocols to the interface declarations.

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController _defaultMenuItemsForDataDetectedText]):
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _updateImmediateActionItem]):
(-[WebImmediateActionController _menuItemForDataDetectedText]):
Cast to id when trying to invoke delegate methods that aren't on WebUIDelegate.

Tools:

* DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::numberOfPendingGeolocationPermissionRequests):
(TestRunner::setGeolocationPermission):

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

6 years agoAllow targetting the SVG->OTF font converter with ENABLE(SVG_OTF_CONVERTER)
mmaxfield@apple.com [Mon, 12 Jan 2015 20:55:09 +0000 (20:55 +0000)]
Allow targetting the SVG->OTF font converter with ENABLE(SVG_OTF_CONVERTER)
https://bugs.webkit.org/show_bug.cgi?id=136769

Reviewed by Antti Koivisto.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

If ENABLE(SVG_OTF_CONVERTER) is defined, use the converter. It can be defined at the same
time as ENABLE(SVG_FONTS) but, if so, the SVG font code will be dead code.

No new tests because the define is off by default. Tests will come soon, I promise.

* Configurations/FeatureDefines.xcconfig:
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData): When creating a font, if the ENABLE is on,
do the transcode and take the non-SVG path.
(WebCore::CSSFontFaceSource::ensureFontData): Pass extra arguments to
CachedFont::ensureCustomFontData()
* css/CSSFontFaceSource.h: For the case of in-document SVG fonts, keep the transcoded
bytes around.
* loader/cache/CachedFont.cpp:
(WebCore::CachedFont::ensureCustomFontData): For out-of-document SVG fonts, do the
transcode if the ENABLE is on, then treat as if the font is any old webfont.
(WebCore::CachedFont::getSVGFontById): This function looks up the relevant <font>
element. Modify it to take a pointer to a (possibly external) document within which
to search.
* loader/cache/CachedFont.h: Extra arguments to CachedFont::ensureCustomFontData()
and CachedFont::getSVGFontById()

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

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

6 years agoClean up FrameTree::traverseNext() traversals of main frames
zandobersek@gmail.com [Mon, 12 Jan 2015 20:22:53 +0000 (20:22 +0000)]
Clean up FrameTree::traverseNext() traversals of main frames
https://bugs.webkit.org/show_bug.cgi?id=140338

Reviewed by Andreas Kling.

There's no reason to pass the main frame as the stayWithin parameter
to FrameTree::traverseNext() when traversing over that same main frame.

Source/WebCore:

* inspector/InspectorApplicationCacheAgent.cpp:
(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::getCookies):
(WebCore::InspectorPageAgent::deleteCookie):
(WebCore::InspectorPageAgent::searchInResources):
* replay/SerializationMethods.cpp:
(WebCore::frameIndexFromFrame):
(WebCore::frameFromFrameIndex):

Source/WebKit2:

* WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
(WebKit::WebContextMenuClient::searchWithSpotlight):

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

6 years agoMulti-rect TextIndicators are vertically flipped in WebKit1
timothy_horton@apple.com [Mon, 12 Jan 2015 20:22:10 +0000 (20:22 +0000)]
Multi-rect TextIndicators are vertically flipped in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=140350
<rdar://problem/19441243>

Reviewed by Beth Dakin.

* page/TextIndicator.cpp:
(WebCore::TextIndicator::createWithSelectionInFrame):
(WebCore::TextIndicator::TextIndicator):
* page/TextIndicator.h:
(WebCore::TextIndicator::selectionRectInRootViewCoordinates):
(WebCore::TextIndicator::textBoundingRectInRootViewCoordinates):
(WebCore::TextIndicator::selectionRectInWindowCoordinates): Deleted.
(WebCore::TextIndicator::textBoundingRectInWindowCoordinates): Deleted.
* page/mac/TextIndicatorWindow.mm:
(-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
(WebCore::TextIndicatorWindow::setTextIndicator):
Compute, store, and use TextIndicator's selectionRect and textBoundingRect
in root view coordinates instead of window coordinates; this way, each
WebKit can do the conversion itself, and the rootView vs. window flipping
isn't wrongly factored into textRectsInBoundingRectCoordinates.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<TextIndicatorData>::encode):
(IPC::ArgumentCoder<TextIndicatorData>::decode):
Adjust to the field name changes.

* UIProcess/API/mac/WKView.mm:
(-[WKView _setTextIndicator:fadeOut:]):
Convert the textBoundingRect from root view to screen coordinates.

* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::updateFindIndicator):
(WebKit::FindController::drawRect):
Adjust to the new name, and use contentsToRootView when comparing against
the stored m_findIndicatorRect.

* WebView/WebView.mm:
(-[WebView _setTextIndicator:fadeOut:]):
Convert the textBoundingRect from root view to screen coordinates.

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

6 years agoUnreviewed, rolling out r178281.
commit-queue@webkit.org [Mon, 12 Jan 2015 20:02:32 +0000 (20:02 +0000)]
Unreviewed, rolling out r178281.
https://bugs.webkit.org/show_bug.cgi?id=140366

Broke many media tests (Requested by ap on #webkit).

Reverted changeset:

"defaultPlaybackRate not respected when set before source is
loaded"
https://bugs.webkit.org/show_bug.cgi?id=140282
http://trac.webkit.org/changeset/178281

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

6 years agoMerge DatabaseBackendContext into DatabaseContext
andersca@apple.com [Mon, 12 Jan 2015 19:43:31 +0000 (19:43 +0000)]
Merge DatabaseBackendContext into DatabaseContext
https://bugs.webkit.org/show_bug.cgi?id=140365

Reviewed by Antti Koivisto.

* CMakeLists.txt:
* Modules/webdatabase/AbstractDatabaseServer.h:
* Modules/webdatabase/Database.cpp:
(WebCore::Database::Database):
* Modules/webdatabase/Database.h:
* Modules/webdatabase/DatabaseBackend.cpp:
(WebCore::DatabaseBackend::DatabaseBackend):
* Modules/webdatabase/DatabaseBackend.h:
* Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::DatabaseBackendBase::DatabaseBackendBase):
* Modules/webdatabase/DatabaseBackendBase.h:
(WebCore::DatabaseBackendBase::databaseContext):
* Modules/webdatabase/DatabaseBackendContext.cpp: Removed.
* Modules/webdatabase/DatabaseBackendContext.h: Removed.
* Modules/webdatabase/DatabaseContext.cpp:
(WebCore::DatabaseContext::securityOrigin):
(WebCore::DatabaseContext::isContextThread):
(WebCore::DatabaseContext::backend): Deleted.
* Modules/webdatabase/DatabaseContext.h:
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::openDatabaseBackend):
(WebCore::DatabaseManager::interruptAllDatabasesForContext):
* Modules/webdatabase/DatabaseServer.cpp:
(WebCore::DatabaseServer::interruptAllDatabasesForContext):
(WebCore::DatabaseServer::openDatabase):
(WebCore::DatabaseServer::createDatabase):
* Modules/webdatabase/DatabaseServer.h:
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::canEstablishDatabase):
(WebCore::DatabaseTracker::retryCanEstablishDatabase):
(WebCore::DatabaseTracker::interruptAllDatabasesForContext):
* Modules/webdatabase/DatabaseTracker.h:
* Modules/webdatabase/SQLTransactionBackend.cpp:
* Modules/webdatabase/SQLTransactionClient.cpp:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:

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

6 years agoMake WebResourceDelegate a formal protocol as well
andersca@apple.com [Mon, 12 Jan 2015 18:50:00 +0000 (18:50 +0000)]
Make WebResourceDelegate a formal protocol as well
https://bugs.webkit.org/show_bug.cgi?id=140364

Reviewed by Dan Bernstein.

* WebView/WebResourceLoadDelegate.h:

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

6 years agoDelegates should be formal protocols
andersca@apple.com [Mon, 12 Jan 2015 18:41:38 +0000 (18:41 +0000)]
Delegates should be formal protocols
https://bugs.webkit.org/show_bug.cgi?id=140360
rdar://problem/17380856

Reviewed by Dan Bernstein.

This is the first half of this change. The second half involves actually changing the delegate properties to be protocols.

* DefaultDelegates/WebDefaultUIDelegate.h:
* Misc/WebDownload.h:
* WebView/WebEditingDelegate.h:
* WebView/WebFrameLoadDelegate.h:
* WebView/WebPolicyDelegate.h:
* WebView/WebUIDelegate.h:

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

6 years agoUnreviewed, rolling out r178266.
commit-queue@webkit.org [Mon, 12 Jan 2015 18:26:11 +0000 (18:26 +0000)]
Unreviewed, rolling out r178266.
https://bugs.webkit.org/show_bug.cgi?id=140363

Broke a JSC test (Requested by ap on #webkit).

Reverted changeset:

"Local JSArray* "keys" in objectConstructorKeys() is not
marked during garbage collection"
https://bugs.webkit.org/show_bug.cgi?id=140348
http://trac.webkit.org/changeset/178266

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

6 years agodefaultPlaybackRate not respected when set before source is loaded
jer.noble@apple.com [Mon, 12 Jan 2015 18:15:07 +0000 (18:15 +0000)]
defaultPlaybackRate not respected when set before source is loaded
https://bugs.webkit.org/show_bug.cgi?id=140282

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/video-defaultplaybackrate-before-load.html

When the HTMLMediaElement is notified that the media player's rate has changed, it asks
for the rate from MediaPlayer. However, MediaPlayer never requests the playback rate
from the underlying MediaPlayerPrivate; it just returns the last rate which was set, or
1 if no rate was set. HTMLMediaElement then sets its playbackRate to the returned
value. So the end result is that the value from defaultPlaybackRate is overwritten by
the default value of 1 in MediaPlayer.

Rather than caching the requested rate in MediaPlayer, cache the value reported by
MediaPlayer inside HTMLMediaElement. And instead of returning the reported playback
rate from HTMLMediaElement.playbackRate, just return the last value set. The reported
value is still used for estimating the current time during playback.

Add MediaPlayerPrivate interface method to return the current playback rate.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_reportedPlaybackRate.
(WebCore::HTMLMediaElement::effectivePlaybackRate): Return m_reportedPlaybackRate.
(WebCore::HTMLMediaElement::requestedPlaybackRate): Return m_playbackRate.
(WebCore::HTMLMediaElement::updatePlaybackRate): Use requestedPlaybackRate() instead
    of effectivePlaybackRate();
(WebCore::HTMLMediaElement::ended): Ditto.
(WebCore::HTMLMediaElement::playbackProgressTimerFired): Ditto.
(WebCore::HTMLMediaElement::endedPlayback): Ditto.
(WebCore::HTMLMediaElement::updatePlayState): Ditto.
(WebCore::HTMLMediaElement::mediaPlayerRateChanged): Set m_reportedPlaybackRate.
(WebCore::HTMLMediaElement::mediaPlayerRequestedPlaybackRate): Return
    requestedPlaybackRate() if playing and 0 if not.
* html/HTMLMediaElement.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::MediaPlayer): Removed m_rate.
(WebCore::MediaPlayer::rate): Pass to MediaPlayerPrivate.
(WebCore::MediaPlayer::setRate): Do not cache the rate.
(WebCore::MediaPlayer::requestedRate): Added; ask HTMLMediaElement.
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerRequestedPlaybackRate): Added.
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::rate): Added.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
    Do not cache the requested rate.
(WebCore::MediaPlayerPrivateAVFoundation::requestedRate): Pass to MediaPlayer.
(WebCore::MediaPlayerPrivateAVFoundation::setRate): Deleted.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
(WebCore::MediaPlayerPrivateAVFoundation::requestedRate): Deleted.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::setRate): Renamed from updateRate.
(WebCore::MediaPlayerPrivateAVFoundationCF::rate): Fetch the rate from the player.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::setRateDouble): Renamed from updateRate.
(WebCore::MediaPlayerPrivateAVFoundationObjC::rate): Fetch the rate from the player.
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::rate): Fetch the rate from the QTMovie.

LayoutTests:

* media/video-defaultplaybackrate-before-load-expected.txt: Added.
* media/video-defaultplaybackrate-before-load.html: Added.

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

6 years agoMerge DatabaseBase into Database
andersca@apple.com [Mon, 12 Jan 2015 18:09:10 +0000 (18:09 +0000)]
Merge DatabaseBase into Database
https://bugs.webkit.org/show_bug.cgi?id=140345

Reviewed by Antti Koivisto.

* CMakeLists.txt:
* Modules/webdatabase/Database.cpp:
(WebCore::Database::Database):
(WebCore::Database::runTransaction):
(WebCore::Database::logErrorMessage):
* Modules/webdatabase/Database.h:
(WebCore::Database::scriptExecutionContext):
* Modules/webdatabase/DatabaseBackendBase.cpp:
* Modules/webdatabase/DatabaseBackendBase.h:
(WebCore::DatabaseBackendBase::setFrontend):
* Modules/webdatabase/DatabaseBase.cpp: Removed.
* Modules/webdatabase/DatabaseBase.h: Removed.
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:

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

6 years agoLocal JSArray* "keys" in objectConstructorKeys() is not marked during garbage collection
msaboff@apple.com [Mon, 12 Jan 2015 16:29:22 +0000 (16:29 +0000)]
Local JSArray* "keys" in objectConstructorKeys() is not marked during garbage collection
https://bugs.webkit.org/show_bug.cgi?id=140348

Reviewed by Mark Lam.

Move the address of the local variable that is used to demarcate the top of the stack for
conservative roots down to MachineThreads::gatherFromCurrentThread() since it also gets
the register values using setjmp().  That way we don't lose any callee save register
contents between Heap::markRoots(), where it was set, and gatherFromCurrentThread().
If we lose any JSObject* that are only in callee save registers, they will be GC'ed
erroneously.

* heap/Heap.cpp:
(JSC::Heap::markRoots):
(JSC::Heap::gatherStackRoots):
* heap/Heap.h:
* heap/MachineStackMarker.cpp:
(JSC::MachineThreads::gatherFromCurrentThread):
(JSC::MachineThreads::gatherConservativeRoots):
* heap/MachineStackMarker.h:

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