Timeline



Apr 7, 2014:

11:55 PM Changeset in webkit [166914] by gyuyoung.kim@samsung.com
  • 7 edits in trunk/Source/WebKit2

[WK2] Fix unused parameter compile warning
https://bugs.webkit.org/show_bug.cgi?id=131260

Reviewed by Darin Adler.

Remove the arguments name without UNUSED_PARAM().

  • UIProcess/API/APIDownloadClient.h:

(API::DownloadClient::didReceiveData):
(API::DownloadClient::shouldDecodeSourceDataOfMIMEType):
(API::DownloadClient::decideDestinationWithSuggestedFilename):
(API::DownloadClient::didCreateDestination):

  • UIProcess/API/APIFindClient.h:

(API::FindClient::didCountStringMatches):
(API::FindClient::didFindString):

  • UIProcess/API/APIHistoryClient.h:

(API::HistoryClient::didPerformClientRedirect):
(API::HistoryClient::didPerformServerRedirect):
(API::HistoryClient::didUpdateHistoryTitle):

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::didStartProvisionalLoadForFrame):
(API::LoaderClient::didReceiveServerRedirectForProvisionalLoadForFrame):
(API::LoaderClient::didFailProvisionalLoadWithErrorForFrame):
(API::LoaderClient::didCommitLoadForFrame):
(API::LoaderClient::didFinishLoadForFrame):
(API::LoaderClient::didFailLoadWithErrorForFrame):
(API::LoaderClient::didChangeBackForwardList):

  • UIProcess/API/APIPolicyClient.h:

(API::PolicyClient::decidePolicyForNavigationAction):
(API::PolicyClient::decidePolicyForNewWindowAction):
(API::PolicyClient::decidePolicyForResponse):
(API::PolicyClient::unableToImplementPolicy):

11:51 PM Changeset in webkit [166913] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] Allow com.apple.ViewBridge preferences reading in plug-in sandbox profile
https://bugs.webkit.org/show_bug.cgi?id=131306
<rdar://problem/16359865>

Reviewed by Sam Weinig.

  • Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb: Do it.
11:09 PM Changeset in webkit [166912] by Martin Robinson
  • 2 edits in trunk/LayoutTests

Skipped some HighDPI tests for GTK+

  • platform/gtk/TestExpectations: GTK+ does not yet have HighDPI support.
11:02 PM Changeset in webkit [166911] by Martin Robinson
  • 7 edits
    11 moves
    5 adds
    30 deletes in trunk/LayoutTests

[GTK] Remove WebKit1 test results and merge TestExpectations files
https://bugs.webkit.org/show_bug.cgi?id=131342

Merge all WebKit1 test expectations into the gtk directory and also merge the WebKit2
test expectations files into the GTK+ one, removing duplicate lines.

  • http/tests/security/resources/drag-drop-allowed-expected.txt: Added.
  • platform/gtk-wk1: Removed.
  • platform/gtk-wk2: Removed.
  • platform/gtk/TestExpectations: Merged in WebKit2 expectations.
  • platform/gtk/accessibility/file-upload-button-stringvalue-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/accessibility/file-upload-button-stringvalue-expected.txt.
  • platform/gtk/fast/events/wheelevent-in-horizontal-scrollbar-in-rtl-expected.txt:
  • platform/gtk/fast/events/wheelevent-in-vertical-scrollbar-in-rtl-expected.txt:
  • platform/gtk/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt.
  • platform/gtk/http/tests/loading/basic-credentials-sent-automatically-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/http/tests/loading/basic-credentials-sent-automatically-expected.txt.
  • platform/gtk/http/tests/misc/401-alternative-content-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/http/tests/misc/401-alternative-content-expected.txt.
  • platform/gtk/http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin-expected.txt.
  • platform/gtk/http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin-expected.txt.
  • platform/gtk/http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url-expected.txt.
  • platform/gtk/http/tests/security/401-logout/401-logout-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/http/tests/security/401-logout/401-logout-expected.txt.
  • platform/gtk/http/tests/xmlhttprequest/failed-auth-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/http/tests/xmlhttprequest/failed-auth-expected.txt.
  • platform/gtk/http/tests/xmlhttprequest/remember-bad-password-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/http/tests/xmlhttprequest/remember-bad-password-expected.txt.
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt: Renamed from LayoutTests/platform/gtk-wk2/js/dom/global-constructors-attributes-expected.txt.
  • platform/gtk/plugins/npruntime/object-from-destroyed-plugin-expected.txt:
  • platform/gtk/plugins/npruntime/object-from-destroyed-plugin-in-subframe-expected.txt:
  • platform/gtk/plugins/plugin-clip-subframe-expected.txt:
10:31 PM Changeset in webkit [166910] by ggaren@apple.com
  • 14 edits
    7 adds in trunk

Build bmalloc on Mac
https://bugs.webkit.org/show_bug.cgi?id=131333

Reviewed by Mark Rowe.

.:

  • Source/Makefile:
  • WebKitBuild: Added.
  • WebKitBuild/Debug: Added.

Source/bmalloc:

  • Makefile: Added. For make clients.

These files are required for building any project in WebKit. I copied
them from WTF:

  • Configurations: Added.
  • Configurations/Base.xcconfig: Added.
  • Configurations/DebugRelease.xcconfig: Added.
  • Configurations/bmalloc.xcconfig: Added.
  • Configurations/iOS.xcconfig: Added.
  • Configurations/mbmalloc.xcconfig: Added.
  • bmalloc.xcodeproj/project.pbxproj: I removed per-project-file stuff

from here because everything is in .xcconfig files now.

I had to fix a bunch of minor warnings, since they're enabled in our
.xcconfig files:

  • bmalloc/AsyncTask.h:

(bmalloc::Function>::AsyncTask):

  • bmalloc/BAssert.h:
  • bmalloc/BoundaryTagInlines.h:

(bmalloc::validate):

  • bmalloc/Heap.cpp:

(bmalloc::Heap::Heap):
(bmalloc::Heap::allocateLarge):
(bmalloc::Heap::deallocateLarge):

  • bmalloc/Mutex.h:

(bmalloc::Mutex::Mutex): Deleted.

  • bmalloc/VMAllocate.h:

(bmalloc::vmValidate):

  • bmalloc/mbmalloc.cpp:

Tools:

  • Scripts/build-webkit: Add the bmalloc target if we're on Mac.

(Note: Just testing Mac is not good enough because in this
script 'Mac' means 'Mac or iOS'.)

9:47 PM Changeset in webkit [166909] by zoltan@webkit.org
  • 3 edits in trunk/Source/WebCore

[CSS Shapes] Simplify the parsing of width arguments for Inset shapes
https://bugs.webkit.org/show_bug.cgi?id=131305

Reviewed by Andreas Kling.

This code introduces some helper functions for setting the size arguments of inset shapes. This change
also modifies the code to be the same as in Blink, so it helps us to keep the shapes code similar.

No new tests, no behavior change.

  • css/CSSBasicShapes.h:

(WebCore::CSSBasicShapeInset::updateShapeSize4Values):
(WebCore::CSSBasicShapeInset::updateShapeSize1Value):
(WebCore::CSSBasicShapeInset::updateShapeSize2Values):
(WebCore::CSSBasicShapeInset::updateShapeSize3Values):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseBasicShapeInset):

8:55 PM Changeset in webkit [166908] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Setters are just getters that take an extra argument and don't return a value
https://bugs.webkit.org/show_bug.cgi?id=131336

Reviewed by Geoffrey Garen.

Other than that, they're totally the same thing.

This isn't as dumb as it sounds.

Most of the work in calling an accessor has to do with emitting the necessary checks for
figuring out whether we're calling the accessor we expected, followed by the boilerplate
needed for setting up a call inside of a stub. It makes sense for the code to be totally
common.

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::storeValue):
(JSC::AssemblyHelpers::moveTrustedValue):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupResults):

  • jit/Repatch.cpp:

(JSC::kindFor):
(JSC::customFor):
(JSC::generateByIdStub):
(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):
(JSC::tryCachePutByID):
(JSC::tryBuildPutByIdList):
(JSC::generateGetByIdStub): Deleted.
(JSC::emitCustomSetterStub): Deleted.

  • runtime/JSCJSValue.h:

(JSC::JSValue::asValue):

  • runtime/PutPropertySlot.h:

(JSC::PutPropertySlot::cachedOffset):

8:49 PM Changeset in webkit [166907] by Stephanie Lewis
  • 2 edits in trunk/Source/WebKit2

Crash in com.apple.WebKit.Plugin.Development at com.apple.WebKit2: WebKit::PluginControllerProxy::pluginInstanceID
<rdar://problem/16479432>
https://bugs.webkit.org/show_bug.cgi?id=131203

Reviewed by Geoff Garen.

pluginController was being removed before accessing the pluginInstanceID.

  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::removePluginControllerProxy):

7:46 PM Changeset in webkit [166906] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

More Mountain Lion build fix.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
7:12 PM Changeset in webkit [166905] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Implement the update of content offset on animated resize
https://bugs.webkit.org/show_bug.cgi?id=131329

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

Compute a reasonable target offset on rotation. This goes in 3 steps:
1) Move the page so that the center does not move during scaling.
2) Limit the range to keep the page in scrollview without rubberbanding.
3) The horizontal content stays the same but the vertical area changes. When on the top or bottom

edge, stick to the edge.

The code is moved inside _beginAnimatedResizeToSize:obscuredInsets:minimumLayoutSizeOverride: so that we can tell
the WebProcess where the scroll position will be at the end of the animation.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _frameOrBoundsChangedFrom:]):
(-[WKWebView _updateVisibleContentRects]):
(-[WKWebView _beginAnimatedResizeToSize:obscuredInsets:minimumLayoutSizeOverride:]):

7:07 PM Changeset in webkit [166904] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

Mountain Lion build fix.

  • UIProcess/ios/PageClientImplIOS.mm:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:
6:38 PM Changeset in webkit [166903] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Handle decoding of nil invocation arguments
https://bugs.webkit.org/show_bug.cgi?id=131335
<rdar://problem/16528449>

Reviewed by Tim Horton.

  • Shared/APIArray.h:

Don't crash if the array element is null.

6:35 PM Changeset in webkit [166902] by Martin Robinson
  • 8 edits in trunk

fast/css3-text/css3-text-decoration/text-decoration-thickness.html fails on GTK
https://bugs.webkit.org/show_bug.cgi?id=129957

Reviewed by Dean Jackson.

Source/WebCore:

Causes existing tests to pass.

  • platform/graphics/cairo/GraphicsContextCG.cpp: Use the now-shared computeLineBoundsAndAntialiasingModeForText.
  • platform/graphics/cairo/GraphicsContextCairo.cpp: Align the Cairo version of text underline drawing with the CG version.
  • platform/graphics/GraphicsContext.h: Add computeLineBoundsAndAntialiasingModeForText.
  • platform/graphics/GraphicsContext.cpp: Ditto.

LayoutTests:

Unskipped tests and modified one test to use the platform-independent Ahem font.

  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-tall-underlines.html: We

need to use Ahem because Helvetica is not a platform-independent font.

  • platform/gtk/TestExpectations: Unskipped tests.
5:56 PM Changeset in webkit [166901] by Brian Burg
  • 12 edits
    4 moves
    3 adds in trunk/LayoutTests

Web Inspector: test helper files should be under LayoutTests/http/tests/inspector/
https://bugs.webkit.org/show_bug.cgi?id=131324

Reviewed by Joseph Pecoraro.

Rearrange helper files used by full inspector tests. In their previous placement,
they were outside the http server root and couldn't be loaded from http tests.

  • http/tests/inspector/debugger/debugger-test.js: Renamed from LayoutTests/inspector/debugger/debugger-test.js.
  • http/tests/inspector/dom/shapes-test.js: Renamed from LayoutTests/inspector/dom/shapes-test.js.
  • http/tests/inspector/inspector-test.js: Renamed from LayoutTests/inspector/inspector-test.js.
  • http/tests/inspector/replay/replay-test.js: Renamed from LayoutTests/inspector/replay/replay-test.js.
  • inspector/debugger/probe-manager-add-remove-actions.html:
  • inspector/dom/content-flow-content-nodes.html:
  • inspector/dom/content-flow-content-removal.html:
  • inspector/dom/content-flow-list.html:
  • inspector/dom/content-node-region-info.html:
  • inspector/dom/highlight-shape-outside-margin.html:
  • inspector/dom/highlight-shape-outside.html:
  • inspector/page/main-frame-resource.html:
  • inspector/replay/javascript-date-now.html:
  • inspector/replay/javascript-random-seed.html:
  • inspector/test-harness-trivially-works.html:
5:39 PM Changeset in webkit [166900] by mitz@apple.com
  • 13 edits in trunk/Source/WebKit2

Add bundle client function corresponding to startAssistingNode
https://bugs.webkit.org/show_bug.cgi?id=131332

Reviewed by Anders Carlsson.

  • UIProcess/PageClient.h: Added userData parameter to startAssistingNode.
  • UIProcess/WebPageProxy.h: Added message decoder parameter to startAssistingNode.
  • UIProcess/WebPageProxy.messages.in: Added message decoder parameter to StartAssistingNode.
  • UIProcess/ios/PageClientImplIOS.h: Updated startAssistingNode override.
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::startAssistingNode): Decode the user data into an NSObject and pass
it on to the content view.

  • UIProcess/ios/WKContentViewInteraction.h: Added userObject parameter to

-_startAssitingNode:.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _startAssistingNode:userObject:]): Added userObject parameter. We will pass
it to a future delegate method.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::startAssistingNode): Decode the user data and pass it to the client.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFormDelegatePrivate.h: Declared new

delegate method.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): Added an implementation
of API::InjectedBundle::FormClient::willBeginInputSession which calls the new delegate
method, and encodes the user object into userData.

  • WebProcess/InjectedBundle/APIInjectedBundleFormClient.h:

(API::InjectedBundle::FormClient::willBeginInputSession): Added willBeginInputSession.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::elementDidFocus): Call willBeginInputSession and send the user data along
with the StartAssistingNode message to the UI process.

5:24 PM Changeset in webkit [166899] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fixing the EFL build.

  • WebProcess/WebPage/CoordinatedGraphics/WebPageCoordinatedGraphics.cpp: Include the Document header from WebCore

to avoid operating on an incomplete type.

5:23 PM Changeset in webkit [166898] by ggaren@apple.com
  • 2 edits in trunk/Source/bmalloc

bmalloc: Fixed a leak in the per-thread cache
https://bugs.webkit.org/show_bug.cgi?id=131330

Reviewed by Andreas Kling.

Remember to deallocate our line caches upon thread exit.

  • bmalloc/Deallocator.cpp:

(bmalloc::Deallocator::~Deallocator):

5:12 PM Changeset in webkit [166897] by ggaren@apple.com
  • 8 edits in trunk/Source/bmalloc

bmalloc: rolled out the tryLock experiment
https://bugs.webkit.org/show_bug.cgi?id=131328

Reviewed by Andreas Kling.

It wasn't a speedup.

  • bmalloc.xcodeproj/project.pbxproj:
  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::processSmallAllocatorLog):
(bmalloc::Allocator::processMediumAllocatorLog):

  • bmalloc/Deallocator.cpp:

(bmalloc::Deallocator::processObjectLog):
(bmalloc::Deallocator::deallocateSlowCase):
(bmalloc::Deallocator::deallocateSmallLine):
(bmalloc::Deallocator::deallocateMediumLine):

  • bmalloc/Deallocator.h:

(bmalloc::Deallocator::deallocateFastCase):

  • bmalloc/Heap.h:

(bmalloc::Heap::deallocateSmallLine):
(bmalloc::Heap::deallocateMediumLine):

  • bmalloc/Line.h:

(bmalloc::Line<Traits>::deref):

  • bmalloc/Page.h:

(bmalloc::Page<Traits>::deref):

5:07 PM Changeset in webkit [166896] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

[iOS WebKit2] WKPDFView fades in tiles, PDFs load very flashily
https://bugs.webkit.org/show_bug.cgi?id=131325
<rdar://problem/16382960>

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView scrollViewDidScroll:]):
Forward scroll events to the current custom content provider.

  • UIProcess/Cocoa/WKWebViewContentProvider.h:

Make content providers UIScrollViewDelegates (though we only forward didScroll for now).

  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView web_setContentProviderData:suggestedFilename:]):
(-[WKPDFView web_setMinimumSize:]):
(-[WKPDFView web_setScrollView:]):
(-[WKPDFView scrollViewDidScroll:]):
(-[WKPDFView _revalidateViews]):
(-[WKPDFView _computePageAndDocumentFrames]):
(-[WKPDFView layoutViews]): Deleted.
Keep track of each UIPDFPage, UIPDFPageView, and its frame (in unscaled/document coordinates).
Compute all the rects up front (and re-compute upon rotation, loading, etc.).
When scrolling, find all the pages that intersect the view (inflated by 1.5x in each
vertical direction), and ensure that pages that are inside that rect have
UIPDFPageViews installed, and ones that are outside that rect do not.
Use setUseBackingLayer to ensure that we have a low-resolution layer behind the
tiled layer to avoid flashiness.

5:04 PM Changeset in webkit [166895] by Beth Dakin
  • 4 edits in trunk/Source/WebCore

REGRESSION (r163194-r163227): Garbage tiles in overflow of RTL page with
background image
https://bugs.webkit.org/show_bug.cgi?id=131323
-and corresponding-
<rdar://problem/16402013>

Reviewed by Tim Horton.

Returning the TiledBacking::bounds() for the
FrameView::extendedBackgroundRectForPainting() in convenient for ltr pages, but it
is simply incorrect in rtl. There is no easy way to map the rect into the right
coordinate space, so this patch re-works the code to use computations in
RenderView to get the right rect.

Call RenderView::unextendedBackgroundRect() and expand and move it based on the
TiledBacking’s margins.

  • page/FrameView.cpp:

(WebCore::FrameView::extendedBackgroundRectForPainting):

The logic that used to be in backgroundRect() has been moved to
unextendedBackgroundRect().

  • rendering/RenderView.cpp:

(WebCore::RenderView::unextendedBackgroundRect):
(WebCore::RenderView::backgroundRect):

  • rendering/RenderView.h:
5:01 PM Changeset in webkit [166894] by zoltan@webkit.org
  • 5 edits in trunk

[CSS Shapes] inset complex calc() args vanish in serialized computed style
https://bugs.webkit.org/show_bug.cgi?id=129838

Reviewed by Bem Jones-Bey.

Source/WebCore:

We didn't pass the style parameter when setting the width members of CSSBasicShapeInset,
which lead to a 'should never reach asserttion' in CSSPrimitiveValue::init. This patch
adds the missing parameters to the call sites.

Extended existing parsing test script.

  • css/BasicShapeFunctions.cpp:

(WebCore::valueForBasicShape):

LayoutTests:

  • fast/shapes/parsing/parsing-shape-outside-expected.txt:
  • fast/shapes/parsing/parsing-test-utils.js:
4:54 PM Changeset in webkit [166893] by ggaren@apple.com
  • 55 adds in trunk/Source/bmalloc

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

Reviewed by Andreas Kling.

Initial commit.

  • bmalloc: Added.
  • bmalloc.xcodeproj: Added.
  • bmalloc.xcodeproj/project.pbxproj: Added.
  • bmalloc/Algorithm.h: Added.

(bmalloc::max):
(bmalloc::min):
(bmalloc::mask):
(bmalloc::test):
(bmalloc::roundUpToMultipleOf):
(bmalloc::roundDownToMultipleOf):
(bmalloc::sizeOf):
(bmalloc::bitCount):
(bmalloc::isPowerOfTwo):

  • bmalloc/Allocator.cpp: Added.

(bmalloc::Allocator::Allocator):
(bmalloc::Allocator::~Allocator):
(bmalloc::Allocator::log):
(bmalloc::Allocator::processSmallAllocatorLog):
(bmalloc::Allocator::processMediumAllocatorLog):
(bmalloc::Allocator::allocateLarge):
(bmalloc::Allocator::allocateXLarge):
(bmalloc::Allocator::allocateMedium):
(bmalloc::Allocator::allocateSlowCase):

  • bmalloc/Allocator.h: Added.

(bmalloc::Allocator::smallAllocatorFor):
(bmalloc::Allocator::allocateFastCase):
(bmalloc::Allocator::allocate):

  • bmalloc/AsyncTask.cpp: Added.

(bmalloc::AsyncTask<Function>::runSlowCase):
(bmalloc::AsyncTask<Function>::pthreadEntryPoint):
(bmalloc::AsyncTask<Function>::entryPoint):

  • bmalloc/AsyncTask.h: Added.

(bmalloc::Function>::AsyncTask):
(bmalloc::Function>::join):
(bmalloc::Function>::run):
(bmalloc::Function>::runSlowCase):
(bmalloc::Function>::pthreadEntryPoint):
(bmalloc::Function>::entryPoint):

  • bmalloc/BAssert.h: Added.
  • bmalloc/BeginTag.h: Added.

(bmalloc::BeginTag::isInFreeList):

  • bmalloc/BoundaryTag.h: Added.

(bmalloc::BoundaryTag::isXLarge):
(bmalloc::BoundaryTag::setXLarge):
(bmalloc::BoundaryTag::isFree):
(bmalloc::BoundaryTag::setFree):
(bmalloc::BoundaryTag::isEnd):
(bmalloc::BoundaryTag::setEnd):
(bmalloc::BoundaryTag::hasPhysicalPages):
(bmalloc::BoundaryTag::setHasPhysicalPages):
(bmalloc::BoundaryTag::isNull):
(bmalloc::BoundaryTag::clear):
(bmalloc::BoundaryTag::size):
(bmalloc::BoundaryTag::setSize):
(bmalloc::BoundaryTag::prev):
(bmalloc::BoundaryTag::next):

  • bmalloc/BoundaryTagInlines.h: Added.

(bmalloc::validate):
(bmalloc::validatePrev):
(bmalloc::validateNext):
(bmalloc::BoundaryTag::init):
(bmalloc::BoundaryTag::mergeLargeLeft):
(bmalloc::BoundaryTag::mergeLargeRight):
(bmalloc::BoundaryTag::mergeLarge):
(bmalloc::BoundaryTag::deallocate):
(bmalloc::BoundaryTag::splitLarge):
(bmalloc::BoundaryTag::allocate):

  • bmalloc/Cache.cpp: Added.

(bmalloc::Cache::operator new):
(bmalloc::Cache::operator delete):
(bmalloc::Cache::Cache):
(bmalloc::Cache::allocateSlowCase):
(bmalloc::Cache::allocateSlowCaseNullCache):
(bmalloc::Cache::deallocateSlowCase):
(bmalloc::Cache::deallocateSlowCaseNullCache):

  • bmalloc/Cache.h: Added.

(bmalloc::Cache::allocator):
(bmalloc::Cache::deallocator):
(bmalloc::Cache::allocateFastCase):
(bmalloc::Cache::deallocateFastCase):
(bmalloc::Cache::allocate):
(bmalloc::Cache::deallocate):

  • bmalloc/Chunk.h: Added.

(bmalloc::Chunk::begin):
(bmalloc::Chunk::end):
(bmalloc::Chunk::lines):
(bmalloc::Chunk::pages):

  • bmalloc/Deallocator.cpp: Added.

(bmalloc::Deallocator::Deallocator):
(bmalloc::Deallocator::~Deallocator):
(bmalloc::Deallocator::deallocateLarge):
(bmalloc::Deallocator::deallocateXLarge):
(bmalloc::Deallocator::processObjectLog):
(bmalloc::Deallocator::deallocateSlowCase):
(bmalloc::Deallocator::deallocateSmallLine):
(bmalloc::Deallocator::allocateSmallLine):
(bmalloc::Deallocator::deallocateMediumLine):
(bmalloc::Deallocator::allocateMediumLine):

  • bmalloc/Deallocator.h: Added.

(bmalloc::Deallocator::deallocateFastCase):
(bmalloc::Deallocator::deallocate):

  • bmalloc/EndTag.h: Added.

(bmalloc::EndTag::operator=):

  • bmalloc/FixedVector.h: Added.

(bmalloc::FixedVector::begin):
(bmalloc::FixedVector::end):
(bmalloc::FixedVector::size):
(bmalloc::FixedVector::capacity):
(bmalloc::FixedVector::clear):
(bmalloc::FixedVector::isEmpty):
(bmalloc::Capacity>::FixedVector):
(bmalloc::Capacity>::operator):
(bmalloc::Capacity>::push):
(bmalloc::Capacity>::pop):
(bmalloc::Capacity>::shrink):

  • bmalloc/Heap.cpp: Added.

(bmalloc::sleep):
(bmalloc::Heap::Heap):
(bmalloc::Heap::concurrentScavenge):
(bmalloc::Heap::scavengeSmallPages):
(bmalloc::Heap::scavengeMediumPages):
(bmalloc::Heap::scavengeLargeRanges):
(bmalloc::Heap::allocateSmallLineSlowCase):
(bmalloc::Heap::allocateMediumLineSlowCase):
(bmalloc::Heap::allocateXLarge):
(bmalloc::Heap::deallocateXLarge):
(bmalloc::Heap::allocateLarge):
(bmalloc::Heap::deallocateLarge):

  • bmalloc/Heap.h: Added.

(bmalloc::Heap::deallocateSmallLine):
(bmalloc::Heap::allocateSmallLine):
(bmalloc::Heap::deallocateMediumLine):
(bmalloc::Heap::allocateMediumLine):

  • bmalloc/Inline.h: Added.
  • bmalloc/LargeChunk.h: Added.

(bmalloc::LargeChunk::begin):
(bmalloc::LargeChunk::end):
(bmalloc::LargeChunk::create):
(bmalloc::LargeChunk::get):
(bmalloc::LargeChunk::beginTag):
(bmalloc::LargeChunk::endTag):

  • bmalloc/Line.h: Added.

(bmalloc::Line<Traits>::begin):
(bmalloc::Line<Traits>::end):
(bmalloc::Line<Traits>::concurrentRef):
(bmalloc::Line<Traits>::deref):

  • bmalloc/MediumAllocator.h: Added.

(bmalloc::MediumAllocator::isNull):
(bmalloc::MediumAllocator::MediumAllocator):
(bmalloc::MediumAllocator::line):
(bmalloc::MediumAllocator::allocate):
(bmalloc::MediumAllocator::derefCount):
(bmalloc::MediumAllocator::refill):

  • bmalloc/MediumChunk.h: Added.
  • bmalloc/MediumLine.h: Added.
  • bmalloc/MediumPage.h: Added.
  • bmalloc/MediumTraits.h: Added.
  • bmalloc/Mutex.cpp: Added.

(bmalloc::Mutex::lockSlowCase):

  • bmalloc/Mutex.h: Added.

(bmalloc::Mutex::Mutex):
(bmalloc::Mutex::try_lock):
(bmalloc::Mutex::lock):
(bmalloc::Mutex::unlock):

  • bmalloc/ObjectType.cpp: Added.

(bmalloc::objectType):

  • bmalloc/ObjectType.h: Added.

(bmalloc::isSmallOrMedium):
(bmalloc::isSmall):

  • bmalloc/Page.h: Added.

(bmalloc::Page<Traits>::ref):
(bmalloc::Page<Traits>::deref):
(bmalloc::Page<Traits>::refCount):

  • bmalloc/PerProcess.h: Added.

(bmalloc::PerProcess::mutex):
(bmalloc::PerProcess<T>::getFastCase):
(bmalloc::PerProcess<T>::get):
(bmalloc::PerProcess<T>::getSlowCase):

  • bmalloc/PerThread.h: Added.

(bmalloc::PerThreadStorage<Cache>::get):
(bmalloc::PerThreadStorage<Cache>::init):
(bmalloc::PerThreadStorage::get):
(bmalloc::PerThreadStorage::init):
(bmalloc::PerThread<T>::getFastCase):
(bmalloc::PerThread<T>::get):
(bmalloc::PerThread<T>::destructor):
(bmalloc::PerThread<T>::getSlowCase):

  • bmalloc/Range.h: Added.

(bmalloc::Range::Range):
(bmalloc::Range::begin):
(bmalloc::Range::end):
(bmalloc::Range::size):
(bmalloc::Range::operator!):
(bmalloc::Range::operator<):

  • bmalloc/SegregatedFreeList.cpp: Added.

(bmalloc::SegregatedFreeList::SegregatedFreeList):
(bmalloc::SegregatedFreeList::insert):
(bmalloc::SegregatedFreeList::takeGreedy):
(bmalloc::SegregatedFreeList::take):

  • bmalloc/SegregatedFreeList.h: Added.
  • bmalloc/Sizes.h: Added.
  • bmalloc/SmallAllocator.h: Added.

(bmalloc::SmallAllocator::isNull):
(bmalloc::SmallAllocator::canAllocate):
(bmalloc::SmallAllocator::SmallAllocator):
(bmalloc::SmallAllocator::line):
(bmalloc::SmallAllocator::allocate):
(bmalloc::SmallAllocator::objectCount):
(bmalloc::SmallAllocator::derefCount):
(bmalloc::SmallAllocator::refill):

  • bmalloc/SmallChunk.h: Added.
  • bmalloc/SmallLine.h: Added.
  • bmalloc/SmallPage.h: Added.
  • bmalloc/SmallTraits.h: Added.
  • bmalloc/Syscall.h: Added.
  • bmalloc/VMAllocate.h: Added.

(bmalloc::vmSize):
(bmalloc::vmValidate):
(bmalloc::vmAllocate):
(bmalloc::vmDeallocate):
(bmalloc::vmDeallocatePhysicalPages):
(bmalloc::vmAllocatePhysicalPages):
(bmalloc::vmDeallocatePhysicalPagesSloppy):
(bmalloc::vmAllocatePhysicalPagesSloppy):

  • bmalloc/VMHeap.cpp: Added.

(bmalloc::VMHeap::VMHeap):
(bmalloc::VMHeap::allocateSmallChunk):
(bmalloc::VMHeap::allocateMediumChunk):
(bmalloc::VMHeap::allocateLargeChunk):

  • bmalloc/VMHeap.h: Added.

(bmalloc::VMHeap::allocateSmallPage):
(bmalloc::VMHeap::allocateMediumPage):
(bmalloc::VMHeap::allocateLargeRange):
(bmalloc::VMHeap::deallocateSmallPage):
(bmalloc::VMHeap::deallocateMediumPage):
(bmalloc::VMHeap::deallocateLargeRange):

  • bmalloc/Vector.h: Added.

(bmalloc::Vector::begin):
(bmalloc::Vector::end):
(bmalloc::Vector::size):
(bmalloc::Vector::capacity):
(bmalloc::Vector::last):
(bmalloc::Vector::pop):
(bmalloc::Vector<T>::Vector):
(bmalloc::Vector<T>::~Vector):
(bmalloc::Vector<T>::operator):
(bmalloc::Vector<T>::push):
(bmalloc::Vector<T>::pop):
(bmalloc::Vector<T>::shrink):
(bmalloc::Vector<T>::reallocateBuffer):
(bmalloc::Vector<T>::shrinkCapacity):
(bmalloc::Vector<T>::growCapacity):

  • bmalloc/XLargeChunk.h: Added.

(bmalloc::XLargeChunk::get):
(bmalloc::XLargeChunk::begin):
(bmalloc::XLargeChunk::XLargeChunk):
(bmalloc::XLargeChunk::create):
(bmalloc::XLargeChunk::destroy):
(bmalloc::XLargeChunk::range):
(bmalloc::XLargeChunk::size):

  • bmalloc/bmalloc.h: Added.

(bmalloc::api::malloc):
(bmalloc::api::free):
(bmalloc::api::realloc):

  • bmalloc/mbmalloc.cpp: Added.
4:51 PM Changeset in webkit [166892] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] MediaDocument should allow autoplay
https://bugs.webkit.org/show_bug.cgi?id=131301

Reviewed by Jer Noble.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Don't add the RequireUserGestureForRateChange

behavior restriction when in a MediaDocument.

4:45 PM Changeset in webkit [166891] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Web Inspector: Hang in debuggable application after receiving WIRPermissionDenied
https://bugs.webkit.org/show_bug.cgi?id=131321

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-04-07
Reviewed by Mark Rowe.

  • inspector/remote/RemoteInspector.mm:

(Inspector::RemoteInspector::xpcConnectionReceivedMessage):
Avoid attempting to take the same lock twice. Move the received message
lock grab after the WIRPermissionDenied branch, which takes the lock
inside RemoteInspector::stop.

4:00 PM Changeset in webkit [166890] by mitz@apple.com
  • 11 edits
    1 add in trunk/Source/WebKit2

Add API::InjectedBundle::FormClient
https://bugs.webkit.org/show_bug.cgi?id=131317

Reviewed by Anders Carlsson.

  • WebKit2.xcodeproj/project.pbxproj: Added reference to new file.
  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageSetFormClient):

  • WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]): Changed to define and
create a FormClient (which derives from API::InjectedBundle::FormClient and messages a
delegate), and set it as the form client.
(didFocusTextField): Deleted.
(willSubmitForm): Deleted.
(setUpFormClient): Deleted.

  • WebProcess/InjectedBundle/APIInjectedBundleFormClient.h: Added.

(API::InjectedBundle::FormClient::~FormClient):
(API::InjectedBundle::FormClient::didFocusTextField):
(API::InjectedBundle::FormClient::textFieldDidBeginEditing):
(API::InjectedBundle::FormClient::textFieldDidEndEditing):
(API::InjectedBundle::FormClient::textDidChangeInTextField):
(API::InjectedBundle::FormClient::textDidChangeInTextArea):
(API::InjectedBundle::FormClient::shouldPerformActionInTextField):
(API::InjectedBundle::FormClient::willSubmitForm):
(API::InjectedBundle::FormClient::willSendSubmitEvent):
(API::InjectedBundle::FormClient::didAssociateFormControls):
(API::InjectedBundle::FormClient::shouldNotifyOnFormChanges):

  • WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:

(WebKit::InjectedBundlePageFormClient::InjectedBundlePageFormClient): Added a constructor
from WKBundlePageFormClientBase.
(WebKit::toWKInputFieldActionType): Added helper to convert from internal enum to C SPI
enum.
(WebKit::InjectedBundlePageFormClient::shouldPerformActionInTextField): Use helper.

  • WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: Added inheritance from

API::InjectedBundle::FormClient, marked overrides as such.

  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Removed unused forward

declarations.

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::toInputFieldAction): Added helper to convert from C SPI enum to internal enum.
(WebKit::WebEditorClient::doTextFieldCommandFromEvent): Use helper.
(WebKit::WebEditorClient::textWillBeDeletedInTextField): Ditto.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Initialize m_formClient member.
(WebKit::WebPage::setInjectedBundleFormClient): Added. Updates m_formClient.
(WebKit::WebPage::close): Updated code to clear m_formClient.
(WebKit::WebPage::initializeInjectedBundleFormClient): Deleted.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::injectedBundleFormClient): Updated return type.

3:21 PM Changeset in webkit [166889] by commit-queue@webkit.org
  • 39 edits in trunk/Source

Move to using std::unique_ptr for opengl, texmap, transforms and efl in WebCore/platform/graphics.
https://bugs.webkit.org/show_bug.cgi?id=131276

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-04-07
Reviewed by Darin Adler.

Source/WebCore:

Replace uses of OwnPtr and PassOwnPtr in code under WebCore/platform/graphics/
opengl, texmap, transforms and efl with std::unique_ptr.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::initializeNewContext):

  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/GraphicsContext3DPrivate.cpp:

(WebCore::GraphicsContext3DPrivate::create): Deleted.

  • platform/graphics/GraphicsContext3DPrivate.h:
  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::setContextLostCallback):
(WebCore::GraphicsContext3D::setErrorMessageCallback):

  • platform/graphics/efl/EvasGLContext.h:
  • platform/graphics/efl/EvasGLSurface.h:
  • platform/graphics/efl/GraphicsContext3DEfl.cpp:

(WebCore::GraphicsContext3D::setContextLostCallback):
(WebCore::GraphicsContext3D::setErrorMessageCallback):

  • platform/graphics/efl/GraphicsContext3DPrivate.cpp:

(WebCore::GraphicsContext3DPrivate::create):
(WebCore::GraphicsContext3DPrivate::setContextLostCallback):

  • platform/graphics/efl/GraphicsContext3DPrivate.h:
  • platform/graphics/mac/GraphicsContext3DMac.mm:

(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::setContextLostCallback):
(WebCore::GraphicsContext3D::setErrorMessageCallback):

  • platform/graphics/opengl/Extensions3DOpenGLES.cpp:

(WebCore::Extensions3DOpenGLES::setEXTContextLostCallback):

  • platform/graphics/opengl/Extensions3DOpenGLES.h:
  • platform/graphics/opengl/GLPlatformContext.cpp:

(WebCore::createOffScreenContext):
(WebCore::GLPlatformContext::createContext):

  • platform/graphics/opengl/GLPlatformContext.h:
  • platform/graphics/opengl/GLPlatformSurface.cpp:

(WebCore::GLPlatformSurface::createOffScreenSurface):

  • platform/graphics/opengl/GLPlatformSurface.h:
  • platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp:
  • platform/graphics/surfaces/egl/EGLSurface.cpp:

(WebCore::EGLOffScreenSurface::createOffScreenSurface):

  • platform/graphics/surfaces/egl/EGLSurface.h:
  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:
  • platform/graphics/texmap/TextureMapper.cpp:

(WebCore::TextureMapper::create):
(WebCore::TextureMapper::TextureMapper):

  • platform/graphics/texmap/TextureMapper.h:

(WebCore::TextureMapper::platformCreateAccelerated):

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapper::platformCreateAccelerated):

  • platform/graphics/texmap/TextureMapperGL.h:

(WebCore::TextureMapperGL::create): Deleted.

  • platform/graphics/texmap/TextureMapperImageBuffer.h:

(WebCore::TextureMapperImageBuffer::TextureMapperImageBuffer):
(WebCore::TextureMapperImageBuffer::create): Deleted.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::purgeGLResources):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
  • platform/graphics/transforms/TransformState.cpp:

(WebCore::TransformState::operator=):
(WebCore::TransformState::applyTransform):

  • platform/graphics/transforms/TransformState.h:
  • platform/graphics/win/GraphicsContext3DWin.cpp:

(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::setContextLostCallback):
(WebCore::GraphicsContext3D::setErrorMessageCallback):

Source/WebKit/efl:

Replace uses of OwnPtr for TextureMapper in AcceleratedCompositingContextEfl with std::unique_ptr.

  • WebCoreSupport/AcceleratedCompositingContextEfl.h:

Source/WebKit/gtk:

Replace uses of OwnPtr for TextureMapper in AcceleratedCompositingContext with std::unique_ptr.

  • WebCoreSupport/AcceleratedCompositingContext.h:

Source/WebKit2:

Replace uses of OwnPtr for TextureMapper in LayerTreeHostGtk with std::unique_ptr.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
3:11 PM Changeset in webkit [166888] by Joseph Pecoraro
  • 7 edits in trunk/Source/WebKit2

Make Mac only parts of TelephoneNumberOverlayController PLATFORM(MAC).

Unreviewed build fix for r166881.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::showTelephoneNumberMenu): Deleted.

  • WebProcess/WebPage/TelephoneNumberOverlayController.cpp:

(WebKit::TelephoneNumberOverlayController::drawRect):
(WebKit::TelephoneNumberOverlayController::mouseEvent):

  • WebProcess/WebPage/TelephoneNumberOverlayController.h:
  • WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:
2:55 PM Changeset in webkit [166887] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebKit2

Unreviewed. Fixing the GTK build.

  • WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: Include the Document header from WebCore

to avoid operating on an incomplete type.

  • WebProcess/WebPage/TapHighlightController.cpp: Include the RenderElement instead of RenderObject

to make the RenderObject::style() inline accessible.

  • WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp: Include the Document header from WebCore
2:23 PM Changeset in webkit [166886] by timothy_horton@apple.com
  • 17 edits
    2 adds in trunk/Source

[iOS WebKit2] Make back-buffers purgeable when possible
https://bugs.webkit.org/show_bug.cgi?id=131213
<rdar://problem/15373906>

Reviewed by Simon Fraser.

We should make back-buffers volatile when their owning
layer falls out of use (either stops being repainted or
is unparented), as they are inherently recreatable.

  • Shared/mac/RemoteLayerBackingStore.h:

(WebKit::RemoteLayerBackingStore::volatility):
(WebKit::RemoteLayerBackingStore::lastDisplayTime):
Add storage and a getter for the backing store's last paint time.
Add setter/getter for volatility of backing store.
Add RemoteLayerTreeContext param to constructor.

  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::RemoteLayerBackingStore):
(WebKit::RemoteLayerBackingStore::~RemoteLayerBackingStore):
Inform the RemoteLayerTreeContext when backing store
is created and destroyed. Since we only have a Context in
the Web process, this will only happen there.

(WebKit::RemoteLayerBackingStore::encode):
(WebKit::RemoteLayerBackingStore::decode):
Move some assertions out of #else blocks which are preceded by returns.

(WebKit::RemoteLayerBackingStore::display):
Update the last display time.
If the backing store was volatile, make it non-volatile.

(WebKit::RemoteLayerBackingStore::setVolatility):
Mark the relevant surfaces as volatile or not.
setVolatility:

  • fails and returns false if any surfaces weren't marked volatile because they were in use
  • marks the whole backing store for repaint if the front surface was purged
  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
Make it possible to remove the RemoteLayerBackingStore on layers
that went from drawing contents to not drawing contents.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::removeSwipeSnapshot):

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::removeSwipeSnapshot):

  • UIProcess/mac/ViewSnapshotStore.mm:

(WebKit::ViewSnapshotStore::recordSnapshot):
Adopt the new names from WebCore.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::recursiveBuildTransaction):
Clear the backing store if the layer doesn't want to draw contents anymore.

(WebKit::PlatformCALayerRemote::ensureBackingStore):

  • WebProcess/WebPage/mac/RemoteLayerTreeContext.h:

(WebKit::RemoteLayerTreeContext::backingStoreCollection):

  • WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::RemoteLayerTreeContext):
(WebKit::RemoteLayerTreeContext::backingStoreWasCreated):
(WebKit::RemoteLayerTreeContext::backingStoreWillBeDestroyed):
Keep a RemoteLayerBackingStoreCollection, which just keeps track
of all backing store (even unparented) created for layers in a
particular context. Forward backing store creation/deletion to it.
Remove a unused m_rootLayer member.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
If any layers had backing store changes, start the timer
on the RemoteLayerBackingStoreCollection that will mark them
purgeable once they are no longer needed.

  • Shared/mac/RemoteLayerBackingStoreCollection.mm:
  • Shared/mac/RemoteLayerBackingStoreCollection.h:

Keep track of all backing store for our context.
When the timer fires, run through the backing store, finding
backing store that was last painted more than 1 second ago,
and mark them purgeable. If there was more recently-painted
backing store, let the timer fire again in another second;
otherwise, stop it.

  • WebCore.exp.in:
  • platform/graphics/cg/IOSurfacePool.cpp:

(WebCore::IOSurfacePool::takeSurface):
(WebCore::IOSurfacePool::markOlderSurfacesPurgeable):
(WebCore::IOSurfacePool::showPoolStatistics):

  • platform/graphics/cocoa/IOSurface.h:
  • platform/graphics/cocoa/IOSurface.mm:

(IOSurface::isVolatile):
(IOSurface::setIsVolatile):
Rename purgeability functions to match the system
and reduce confusion between purgeable memory
and volatile vs. non-volatile memory.

1:45 PM Changeset in webkit [166885] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Make it possible to disable some of the FTL's more interesting features
https://bugs.webkit.org/show_bug.cgi?id=131312

Reviewed by Mark Hahnenberg.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::handlePutById):
(JSC::DFG::ByteCodeParser::parse):

  • runtime/Options.h:
1:34 PM Changeset in webkit [166884] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit2

Another build fix after r166879.

  • WebProcess/WebPage/mac/WebPageMac.mm:
1:26 PM Changeset in webkit [166883] by benjamin@webkit.org
  • 17 edits in trunk/Source/WebCore

Split CSS Selectors pseudo class and pseudo elements
https://bugs.webkit.org/show_bug.cgi?id=131295

Reviewed by Andreas Kling.

Split pseudo class and pseudo element to make it clearer what pseudo types
are possible for a given match type.

Pseudo Element types are separated and Pseudo Class are left in place. The Pseudo Class
will have to be renamed too but that will be done separately to make this change smaller.

  • css/CSSGrammar.y.in:
  • css/CSSParser.cpp:

(WebCore::CSSParser::rewriteSpecifiersWithElementName):
(WebCore::CSSParser::rewriteSpecifiers):
Use a method isPseudoElementCueFunction() to abstract the #ifdef out of the parser.

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::parsePseudoElementSelector):

(WebCore::CSSParserSelector::parsePseudoElementCueFunctionSelector):
Rename to specify this is for the pseudo element cue function, not the pseudo element cue.

(WebCore::CSSParserSelector::parsePseudoClassAndCompatibilityElementSelector):
(WebCore::CSSParserSelector::parsePseudoCueFunctionSelector): Deleted.

  • css/CSSParserValues.h:

(WebCore::CSSParserSelector::isPseudoElementCueFunction):

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::specificityForOneSelector):
(WebCore::CSSSelector::pseudoId):
(WebCore::CSSSelector::parsePseudoElementType):
(WebCore::CSSSelector::operator==):

  • css/CSSSelector.h:

(WebCore::CSSSelector::pseudoType):
(WebCore::CSSSelector::setPseudoElementType):
(WebCore::CSSSelector::pseudoElementType):
(WebCore::CSSSelector::isUnknownPseudoElement):
(WebCore::CSSSelector::isCustomPseudoElement):
(WebCore::pseudoClassIsRelativeToSiblings):
(WebCore::CSSSelector::isSiblingSelector):

  • css/RuleFeature.cpp:

(WebCore::RuleFeatureSet::collectFeaturesFromSelector):

  • css/RuleSet.cpp:

(WebCore::determinePropertyWhitelistType):
(WebCore::RuleSet::findBestRuleSetAndAdd):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::matchRecursively):
(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::checkScrollbarPseudoClass):
(WebCore::SelectorChecker::determineLinkMatchType):

  • css/SelectorPseudoClassAndCompatibilityElementMap.in:
  • css/SelectorPseudoElementTypeMap.in:
  • css/SelectorPseudoTypeMap.h:
  • css/makeSelectorPseudoClassAndCompatibilityElementMap.py:
  • css/makeSelectorPseudoElementsMap.py:

(enumerablePseudoType):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::getMatchedCSSRules):

  • rendering/style/RenderStyleConstants.h:

All the fullscreen pseudo types are pseudo class selectors. They should not have a pseudo ID.

1:20 PM Changeset in webkit [166882] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Tried to fix the Mac build.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:
1:08 PM WebKitGTK/KeepingTheTreeGreen edited by Diego Pino Garcia
(diff)
1:05 PM Changeset in webkit [166881] by beidson@apple.com
  • 14 edits in trunk/Source/WebKit2

Handle clicks on DataDetectors UI for scanned phone numbers
<rdar://problem/16379588> and https://bugs.webkit.org/show_bug.cgi?id=131309

Reviewed by Tim Horton.

WebContextMenuItemDatas never need to know about a ContextMenu, so remove that concept.
Also add the concept of a selection handler for UIProcess-native menu items.

  • Shared/WebContextMenuItemData.cpp:

(WebKit::WebContextMenuItemData::WebContextMenuItemData):
(WebKit::WebContextMenuItemData::encode):
(WebKit::kitItems):
(WebKit::WebContextMenuItemData::decode):

  • Shared/WebContextMenuItemData.h:

(WebKit::WebContextMenuItemData::selectionHandler):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::showContextMenu):
(WebKit::WebPageProxy::internalShowContextMenu): Make the decoder argument optional. Make consulting the client optional.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::showTelephoneNumberMenu):

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(-[WKSelectionHandlerWrapper initWithSelectionHandler:std::]):
(-[WKSelectionHandlerWrapper executeSelectionHandler]):
(-[WKMenuTarget forwardContextMenuAction:]):
(WebKit::nsMenuItemVector):
(WebKit::WebContextMenuProxyMac::contextMenuItemSelected): If the represented object is a WKSelectionHandlerWrapper,

execute the selection handler. Do nothing else.

Instead of getting rects from ranges, creating highlights, and storing those highlights,
work in terms of a TelephoneNumberData object that wraps both a range and a highlight.
This makes it easier to track where the mouse is down and to know what phone number we should act on when clicked.

  • WebProcess/WebPage/TelephoneNumberOverlayController.cpp:

(WebKit::TelephoneNumberOverlayController::rectsForDrawing): Deleted.

  • WebProcess/WebPage/TelephoneNumberOverlayController.h:

(WebKit::TelephoneNumberData::create):
(WebKit::TelephoneNumberData::range):
(WebKit::TelephoneNumberData::highlight):
(WebKit::TelephoneNumberData::TelephoneNumberData):

  • WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:

(WebKit::TelephoneNumberOverlayController::drawRect):
(WebKit::TelephoneNumberOverlayController::handleTelephoneClick): Pass the phone number text and the point to WebPage.
(WebKit::TelephoneNumberOverlayController::mouseEvent):
(WebKit::TelephoneNumberOverlayController::clearMouseDownInformation):
(WebKit::TelephoneNumberOverlayController::clearHighlights):

  • WebProcess/WebPage/WebContextMenu.cpp:

(WebKit::WebContextMenu::menuItemsWithUserData):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::handleTelephoneNumberClick): Message the phone number and coordinate to the UIProcess.

12:58 PM Changeset in webkit [166880] by Brian Burg
  • 12 edits
    1 add in trunk/Source/WebCore

Web Replay: detect possible replay divergence from unexpected DOM event dispatches
https://bugs.webkit.org/show_bug.cgi?id=131193

Reviewed by Andreas Kling.

Add assertions to catch potential nondeterministic behavior.

The assertion added by this patch catches dispatched DOM events
that are triggered by nondeterministic event loop cycles. If we
did not capture an event loop input in the current event loop
cycle nor are we manually simulating an event loop input during
playback, then DOM events fired during the unordered cycle could
run JavaScript and diverge the execution.

During playback, we can assert that EventLoopInputDispatcher is dispatching
when a DOM event is be dispatched to a document that is being replayed.

During capturing, event loop inputs are captured rather than
dispatched, so we add some accounting to track what caused a DOM
event. To approximate the extent of computation triggered by an
event loop input, we add RAII helpers to call sites where event
loop inputs are captured.

The assertions are disabled by default until the most common
sources of nondeterminism are handled and playback errors are
gracefully surfaced to the user. <https://webkit.org/b/131279>

No new tests. This patch adds extra assertions for debugging purposes.

  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorInstrumentation.cpp: Notify ReplayAgent of dispatched DOM event.

(WebCore::InspectorInstrumentation::willDispatchEventImpl):
(WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):

  • inspector/InspectorReplayAgent.cpp: Forward dispatched DOM events to ReplayController.

(WebCore::InspectorReplayAgent::willDispatchEvent): Added.

  • inspector/InspectorReplayAgent.h:
  • replay/CapturingInputCursor.cpp:

(WebCore::CapturingInputCursor::CapturingInputCursor):
(WebCore::CapturingInputCursor::setWithinEventLoopInputExtent): Added.

  • replay/CapturingInputCursor.h:
  • replay/EventLoopInput.cpp: Added.

(WebCore::EventLoopInputExtent::EventLoopInputExtent): Added.
(WebCore::EventLoopInputExtent::~EventLoopInputExtent): Added.

  • replay/EventLoopInput.h:
  • replay/EventLoopInputDispatcher.h:

(WebCore::EventLoopInputDispatcher::isDispatching): Add a getter.

  • replay/ReplayController.cpp:

(WebCore::logDispatchedDOMEvent): Added. This is useful for understanding script-visible events.
(WebCore::ReplayController::willDispatchEvent): Added.

  • replay/ReplayController.h:
  • replay/UserInputBridge.cpp: Add extent helpers to call sites that capture inputs.

(WebCore::UserInputBridge::handleMousePressEvent):
(WebCore::UserInputBridge::handleMouseReleaseEvent):
(WebCore::UserInputBridge::handleMouseMoveEvent):
(WebCore::UserInputBridge::handleMouseMoveOnScrollbarEvent):
(WebCore::UserInputBridge::handleKeyEvent):
(WebCore::UserInputBridge::handleWheelEvent):
(WebCore::UserInputBridge::scrollRecursively):
(WebCore::UserInputBridge::logicalScrollRecursively):

12:44 PM Changeset in webkit [166879] by mitz@apple.com
  • 11 edits
    1 add in trunk/Source/WebKit2

Introduce API::InjectedBundle::PageUIClient
https://bugs.webkit.org/show_bug.cgi?id=131310

Reviewed by Anders Carlsson.

  • WebKit2.xcodeproj/project.pbxproj: Added references to new files.
  • WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: Added #include that

became necessary.

  • WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h: Added.

(API::InjectedBundle::PageUIClient::~PageUIClient):
(API::InjectedBundle::PageUIClient::willAddMessageToConsole):
(API::InjectedBundle::PageUIClient::willSetStatusbarText):
(API::InjectedBundle::PageUIClient::willRunJavaScriptAlert):
(API::InjectedBundle::PageUIClient::willRunJavaScriptConfirm):
(API::InjectedBundle::PageUIClient::willRunJavaScriptPrompt):
(API::InjectedBundle::PageUIClient::mouseDidMoveOverElement):
(API::InjectedBundle::PageUIClient::pageDidScroll):
(API::InjectedBundle::PageUIClient::shouldGenerateFileForUpload):
(API::InjectedBundle::PageUIClient::generateFileForUpload):
(API::InjectedBundle::PageUIClient::statusBarIsVisible):
(API::InjectedBundle::PageUIClient::menuBarIsVisible):
(API::InjectedBundle::PageUIClient::toolbarsAreVisible):
(API::InjectedBundle::PageUIClient::didReachApplicationCacheOriginQuota):
(API::InjectedBundle::PageUIClient::didExceedDatabaseQuota):
(API::InjectedBundle::PageUIClient::plugInStartLabelTitle):
(API::InjectedBundle::PageUIClient::plugInStartLabelSubtitle):
(API::InjectedBundle::PageUIClient::plugInExtraStyleSheet):
(API::InjectedBundle::PageUIClient::plugInExtraScript):

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageSetUIClient): Changed to create an InjectedBundlePageUIClient and set it on
the WebPage.

  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:

(WebKit::InjectedBundlePageUIClient::InjectedBundlePageUIClient): Added constructor from
WKBundlePageUIClient.
(WebKit::toUIElementVisibility): Added helper to convert from C SPI enum to internal enum.
(WebKit::InjectedBundlePageUIClient::statusBarIsVisible): Changed to use the above.
(WebKit::InjectedBundlePageUIClient::menuBarIsVisible): Ditto.
(WebKit::InjectedBundlePageUIClient::toolbarsAreVisible): Ditto.

  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Added inheritance from

API::InjectedBundle::PageUIClient, marked overrides as such.

  • WebProcess/Storage/StorageAreaMap.cpp: Added #include that became necessary.
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::toolbarsVisible): Updated to use new internal enum.
(WebKit::WebChromeClient::statusbarVisible): Ditto.
(WebKit::WebChromeClient::menubarVisible): Ditto.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Initialized m_uiClient member.
(WebKit::WebPage::setInjectedBundleUIClient): Added. Updates m_uiClient.
(WebKit::WebPage::close): Updated for change in m_uiClient.
(WebKit::WebPage::pageDidScroll): Ditto.
(WebKit::WebPage::initializeInjectedBundleUIClient): Deleted.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::injectedBundleUIClient): Updated return type.

  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectBase.mm: Added #include that became

necessary.

12:37 PM WebKitGTK/KeepingTheTreeGreen edited by Adrian Perez de Castro
(diff)
12:37 PM Changeset in webkit [166878] by timothy@apple.com
  • 2 edits
    1 delete in trunk/Source/WebCore

Remove copy of combine-javascript-resources.pl that isn't used anymore
https://bugs.webkit.org/show_bug.cgi?id=131307

Reviewed by Joseph Pecoraro.

  • WebCore.xcodeproj/project.pbxproj:
  • inspector/combine-javascript-resources.pl: Removed.
11:45 AM Changeset in webkit [166877] by fpizlo@apple.com
  • 214 edits
    53 moves
    2 adds in trunk

Move slow JSRegress tests out of the way so that they don't show up in run-jsc-benchmarks runs and also skip tests that are extremely long-running
https://bugs.webkit.org/show_bug.cgi?id=130951

Reviewed by Geoffrey Garen.

Tools:

  • Scripts/run-javascriptcore-tests:

LayoutTests:

  • js/regress/ArrayBuffer-DataView-alloc-large-long-lived.html:
  • js/regress/ArrayBuffer-DataView-alloc-long-lived.html:
  • js/regress/ArrayBuffer-Int32Array-byteOffset.html:
  • js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived-expected.txt: Removed.
  • js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived.html: Removed.
  • js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented-expected.txt: Removed.
  • js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.html: Removed.
  • js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived.html:
  • js/regress/ArrayBuffer-Int8Array-alloc-long-lived-buffer.html:
  • js/regress/ArrayBuffer-Int8Array-alloc-long-lived.html:
  • js/regress/ArrayBuffer-Int8Array-alloc.html:
  • js/regress/DataView-custom-properties.html:
  • js/regress/Float32Array-matrix-mult.html:
  • js/regress/Float32Array-to-Float64Array-set.html:
  • js/regress/Float64Array-alloc-long-lived.html:
  • js/regress/Float64Array-to-Int16Array-set.html:
  • js/regress/HashMap-put-get-iterate-keys.html:
  • js/regress/HashMap-put-get-iterate.html:
  • js/regress/HashMap-string-put-get-iterate.html:
  • js/regress/Int16Array-alloc-long-lived.html:
  • js/regress/Int16Array-bubble-sort-with-byteLength.html:
  • js/regress/Int16Array-bubble-sort.html:
  • js/regress/Int16Array-load-int-mul.html:
  • js/regress/Int16Array-to-Int32Array-set.html:
  • js/regress/Int32Array-Int8Array-view-alloc.html:
  • js/regress/Int32Array-alloc-huge-expected.txt: Removed.
  • js/regress/Int32Array-alloc-huge-long-lived-expected.txt: Removed.
  • js/regress/Int32Array-alloc-huge-long-lived.html: Removed.
  • js/regress/Int32Array-alloc-huge.html: Removed.
  • js/regress/Int32Array-alloc-large-long-lived-expected.txt: Removed.
  • js/regress/Int32Array-alloc-large-long-lived.html: Removed.
  • js/regress/Int32Array-alloc-large.html:
  • js/regress/Int32Array-alloc-long-lived.html:
  • js/regress/Int32Array-alloc.html:
  • js/regress/Int8Array-alloc-long-lived.html:
  • js/regress/Int8Array-load-with-byteLength.html:
  • js/regress/Int8Array-load.html:
  • js/regress/adapt-to-double-divide.html:
  • js/regress/aliased-arguments-getbyval.html:
  • js/regress/allocate-big-object.html:
  • js/regress/arity-mismatch-inlining.html:
  • js/regress/array-access-polymorphic-structure.html:
  • js/regress/array-nonarray-polymorhpic-access.html:
  • js/regress/array-nonarray-polymorphic-access.html:
  • js/regress/array-prototype-every.html:
  • js/regress/array-prototype-filter-expected.txt: Removed.
  • js/regress/array-prototype-filter.html: Removed.
  • js/regress/array-prototype-forEach.html:
  • js/regress/array-prototype-map.html:
  • js/regress/array-prototype-some.html:
  • js/regress/array-with-double-add.html:
  • js/regress/array-with-double-increment.html:
  • js/regress/array-with-double-mul-add.html:
  • js/regress/array-with-double-sum.html:
  • js/regress/array-with-int32-add-sub.html:
  • js/regress/array-with-int32-or-double-sum.html:
  • js/regress/asmjs_bool_bug.html:
  • js/regress/assign-custom-setter-polymorphic.html:
  • js/regress/assign-custom-setter.html:
  • js/regress/basic-set.html:
  • js/regress/big-int-mul.html:
  • js/regress/boolean-test.html:
  • js/regress/branch-fold.html:
  • js/regress/by-val-generic.html:
  • js/regress/call-spread-apply.html:
  • js/regress/call-spread-call.html:
  • js/regress/call-spread-expected.txt: Removed.
  • js/regress/call-spread.html: Removed.
  • js/regress/captured-assignments.html:
  • js/regress/cast-int-to-double.html:
  • js/regress/cell-argument.html:
  • js/regress/cfg-simplify.html:
  • js/regress/chain-custom-getter-expected.txt: Removed.
  • js/regress/chain-custom-getter.html: Removed.
  • js/regress/chain-getter-access.html:
  • js/regress/cmpeq-obj-to-obj-other.html:
  • js/regress/constant-test.html:
  • js/regress/delay-tear-off-arguments-strictmode.html:
  • js/regress/destructuring-arguments-length-expected.txt: Removed.
  • js/regress/destructuring-arguments-length.html: Removed.
  • js/regress/destructuring-arguments.html:
  • js/regress/destructuring-swap.html:
  • js/regress/direct-arguments-getbyval.html:
  • js/regress/double-get-by-val-out-of-bounds.html:
  • js/regress/double-pollution-getbyval.html:
  • js/regress/double-pollution-putbyoffset.html:
  • js/regress/double-to-int32-typed-array-no-inline.html:
  • js/regress/double-to-int32-typed-array.html:
  • js/regress/double-to-uint32-typed-array-no-inline.html:
  • js/regress/double-to-uint32-typed-array.html:
  • js/regress/empty-string-plus-int.html:
  • js/regress/emscripten-cube2hash.html:
  • js/regress/emscripten-memops-expected.txt: Removed.
  • js/regress/emscripten-memops.html: Removed.
  • js/regress/external-arguments-getbyval.html:
  • js/regress/external-arguments-putbyval.html:
  • js/regress/fixed-typed-array-storage-var-index.html:
  • js/regress/fixed-typed-array-storage.html:
  • js/regress/fold-double-to-int.html:
  • js/regress/fold-strict-eq-expected.txt: Removed.
  • js/regress/fold-strict-eq.html: Removed.
  • js/regress/for-of-iterate-array-entries.html:
  • js/regress/for-of-iterate-array-keys.html:
  • js/regress/for-of-iterate-array-values.html:
  • js/regress/function-dot-apply.html:
  • js/regress/function-test.html:
  • js/regress/function-with-eval.html:
  • js/regress/get-by-id-chain-from-try-block.html:
  • js/regress/get-by-id-proto-or-self.html:
  • js/regress/get-by-id-self-or-proto.html:
  • js/regress/get-by-val-out-of-bounds.html:
  • js/regress/get_callee_monomorphic.html:
  • js/regress/get_callee_polymorphic.html:
  • js/regress/getter.html:
  • js/regress/global-var-const-infer-fire-from-opt.html:
  • js/regress/global-var-const-infer.html:
  • js/regress/imul-double-only.html:
  • js/regress/imul-int-only.html:
  • js/regress/imul-mixed.html:
  • js/regress/in-four-cases.html:
  • js/regress/in-one-case-false.html:
  • js/regress/in-one-case-true.html:
  • js/regress/in-two-cases.html:
  • js/regress/indexed-properties-in-objects.html:
  • js/regress/infer-closure-const-then-mov-no-inline.html:
  • js/regress/infer-closure-const-then-mov.html:
  • js/regress/infer-closure-const-then-put-to-scope-no-inline.html:
  • js/regress/infer-closure-const-then-put-to-scope.html:
  • js/regress/infer-closure-const-then-reenter-no-inline.html:
  • js/regress/infer-closure-const-then-reenter.html:
  • js/regress/infer-one-time-closure-ten-vars.html:
  • js/regress/infer-one-time-closure-two-vars.html:
  • js/regress/infer-one-time-closure.html:
  • js/regress/infer-one-time-deep-closure.html:
  • js/regress/inline-arguments-access.html:
  • js/regress/inline-arguments-aliased-access.html:
  • js/regress/inline-arguments-local-escape.html:
  • js/regress/inline-get-scoped-var.html:
  • js/regress/inlined-put-by-id-transition.html:
  • js/regress/int-or-other-abs-then-get-by-val.html:
  • js/regress/int-or-other-abs-zero-then-get-by-val.html:
  • js/regress/int-or-other-add-then-get-by-val.html:
  • js/regress/int-or-other-add.html:
  • js/regress/int-or-other-div-then-get-by-val.html:
  • js/regress/int-or-other-max-then-get-by-val.html:
  • js/regress/int-or-other-min-then-get-by-val.html:
  • js/regress/int-or-other-mod-then-get-by-val.html:
  • js/regress/int-or-other-mul-then-get-by-val.html:
  • js/regress/int-or-other-neg-then-get-by-val.html:
  • js/regress/int-or-other-neg-zero-then-get-by-val.html:
  • js/regress/int-or-other-sub-then-get-by-val.html:
  • js/regress/int-or-other-sub.html:
  • js/regress/int-overflow-local.html:
  • js/regress/int52-spill.html:
  • js/regress/integer-divide.html:
  • js/regress/integer-modulo.html:
  • js/regress/large-int-captured.html:
  • js/regress/large-int-neg.html:
  • js/regress/large-int.html:
  • js/regress/logical-not.html:
  • js/regress/lots-of-fields.html:
  • js/regress/make-indexed-storage.html:
  • js/regress/make-rope-cse.html:
  • js/regress/marsaglia-expected.txt: Removed.
  • js/regress/marsaglia-larger-ints.html:
  • js/regress/marsaglia-osr-entry.html:
  • js/regress/marsaglia.html: Removed.
  • js/regress/method-on-number.html:
  • js/regress/misc-strict-eq.html:
  • js/regress/negative-zero-divide.html:
  • js/regress/negative-zero-modulo.html:
  • js/regress/negative-zero-negate.html:
  • js/regress/nested-function-parsing-random-expected.txt: Removed.
  • js/regress/nested-function-parsing-random.html: Removed.
  • js/regress/nested-function-parsing.html:
  • js/regress/new-array-buffer-dead.html:
  • js/regress/new-array-buffer-push.html:
  • js/regress/new-array-dead.html:
  • js/regress/new-array-push.html:
  • js/regress/new-spread-expected.txt: Removed.
  • js/regress/new-spread.html: Removed.
  • js/regress/number-test.html:
  • js/regress/object-closure-call.html:
  • js/regress/object-test.html:
  • js/regress/poly-stricteq.html:
  • js/regress/polymorphic-get-by-id.html:
  • js/regress/polymorphic-put-by-id.html:
  • js/regress/polymorphic-structure.html:
  • js/regress/polyvariant-monomorphic-get-by-id.html:
  • js/regress/proto-custom-getter-expected.txt: Removed.
  • js/regress/proto-custom-getter.html: Removed.
  • js/regress/proto-getter-access.html:
  • js/regress/put-by-id.html:
  • js/regress/put-by-val-large-index-blank-indexing-type.html:
  • js/regress/put-by-val-machine-int.html:
  • js/regress/rare-osr-exit-on-local.html:
  • js/regress/register-pressure-from-osr.html:
  • js/regress/resources/regress-post.js: Removed.
  • js/regress/resources/regress-pre.js: Removed.
  • js/regress/script-tests/ArrayBuffer-Int8Array-alloc-huge-long-lived.js: Removed.
  • js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.js: Removed.
  • js/regress/script-tests/Int32Array-alloc-huge-long-lived.js: Removed.
  • js/regress/script-tests/Int32Array-alloc-huge.js: Removed.
  • js/regress/script-tests/Int32Array-alloc-large-long-lived.js: Removed.
  • js/regress/script-tests/array-prototype-filter.js: Removed.
  • js/regress/script-tests/call-spread.js: Removed.
  • js/regress/script-tests/chain-custom-getter.js: Removed.
  • js/regress/script-tests/destructuring-arguments-length.js: Removed.
  • js/regress/script-tests/emscripten-memops.js: Removed.
  • js/regress/script-tests/fold-strict-eq.js: Removed.
  • js/regress/script-tests/marsaglia.js: Removed.
  • js/regress/script-tests/nested-function-parsing-random.js: Removed.
  • js/regress/script-tests/new-spread.js: Removed.
  • js/regress/script-tests/proto-custom-getter.js: Removed.
  • js/regress/script-tests/simple-custom-getter.js: Removed.
  • js/regress/script-tests/variadic-closure-call.js: Removed.
  • js/regress/simple-activation-demo.html:
  • js/regress/simple-custom-getter-expected.txt: Removed.
  • js/regress/simple-custom-getter.html: Removed.
  • js/regress/simple-getter-access.html:
  • js/regress/slow-array-profile-convergence.html:
  • js/regress/slow-convergence.html:
  • js/regress/sparse-conditional.html:
  • js/regress/splice-to-remove.html:
  • js/regress/string-char-code-at.html:
  • js/regress/string-concat-object.html:
  • js/regress/string-concat-pair-object.html:
  • js/regress/string-concat-pair-simple.html:
  • js/regress/string-concat-simple.html:
  • js/regress/string-cons-repeat.html:
  • js/regress/string-cons-tower.html:
  • js/regress/string-equality.html:
  • js/regress/string-get-by-val-big-char.html:
  • js/regress/string-get-by-val-out-of-bounds-insane.html:
  • js/regress/string-get-by-val-out-of-bounds.html:
  • js/regress/string-get-by-val.html:
  • js/regress/string-hash.html:
  • js/regress/string-long-ident-equality.html:
  • js/regress/string-repeat-arith.html:
  • js/regress/string-sub.html:
  • js/regress/string-test.html:
  • js/regress/string-var-equality.html:
  • js/regress/structure-hoist-over-transitions.html:
  • js/regress/switch-char-constant.html:
  • js/regress/switch-char.html:
  • js/regress/switch-constant.html:
  • js/regress/switch-string-basic-big-var.html:
  • js/regress/switch-string-basic-big.html:
  • js/regress/switch-string-basic-var.html:
  • js/regress/switch-string-basic.html:
  • js/regress/switch-string-big-length-tower-var.html:
  • js/regress/switch-string-length-tower-var.html:
  • js/regress/switch-string-length-tower.html:
  • js/regress/switch-string-short.html:
  • js/regress/switch.html:
  • js/regress/tear-off-arguments-simple.html:
  • js/regress/tear-off-arguments.html:
  • js/regress/temporal-structure.html:
  • js/regress/to-int32-boolean.html:
  • js/regress/undefined-test.html:
  • js/regress/unprofiled-licm.html:
  • js/regress/variadic-closure-call-expected.txt: Removed.
  • js/regress/variadic-closure-call.html: Removed.
  • js/regress/weird-inlining-const-prop.html:
  • js/slow-stress: Added.
  • js/slow-stress/ArrayBuffer-Int8Array-alloc-huge-long-lived-expected.txt: Copied from LayoutTests/js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived-expected.txt.
  • js/slow-stress/ArrayBuffer-Int8Array-alloc-huge-long-lived.html: Copied from LayoutTests/js/regress/ArrayBuffer-Int8Array-alloc-huge-long-lived.html.
  • js/slow-stress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented-expected.txt: Copied from LayoutTests/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented-expected.txt.
  • js/slow-stress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.html: Copied from LayoutTests/js/regress/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.html.
  • js/slow-stress/Int32Array-alloc-huge-expected.txt: Copied from LayoutTests/js/regress/Int32Array-alloc-huge-expected.txt.
  • js/slow-stress/Int32Array-alloc-huge-long-lived-expected.txt: Copied from LayoutTests/js/regress/Int32Array-alloc-huge-long-lived-expected.txt.
  • js/slow-stress/Int32Array-alloc-huge-long-lived.html: Copied from LayoutTests/js/regress/Int32Array-alloc-huge-long-lived.html.
  • js/slow-stress/Int32Array-alloc-huge.html: Copied from LayoutTests/js/regress/Int32Array-alloc-huge.html.
  • js/slow-stress/Int32Array-alloc-large-long-lived-expected.txt: Copied from LayoutTests/js/regress/Int32Array-alloc-large-long-lived-expected.txt.
  • js/slow-stress/Int32Array-alloc-large-long-lived.html: Copied from LayoutTests/js/regress/Int32Array-alloc-large-long-lived.html.
  • js/slow-stress/array-prototype-filter-expected.txt: Copied from LayoutTests/js/regress/array-prototype-filter-expected.txt.
  • js/slow-stress/array-prototype-filter.html: Copied from LayoutTests/js/regress/array-prototype-filter.html.
  • js/slow-stress/call-spread-expected.txt: Copied from LayoutTests/js/regress/call-spread-expected.txt.
  • js/slow-stress/call-spread.html: Copied from LayoutTests/js/regress/call-spread.html.
  • js/slow-stress/chain-custom-getter-expected.txt: Copied from LayoutTests/js/regress/chain-custom-getter-expected.txt.
  • js/slow-stress/chain-custom-getter.html: Copied from LayoutTests/js/regress/chain-custom-getter.html.
  • js/slow-stress/destructuring-arguments-length-expected.txt: Copied from LayoutTests/js/regress/destructuring-arguments-length-expected.txt.
  • js/slow-stress/destructuring-arguments-length.html: Copied from LayoutTests/js/regress/destructuring-arguments-length.html.
  • js/slow-stress/emscripten-memops-expected.txt: Copied from LayoutTests/js/regress/emscripten-memops-expected.txt.
  • js/slow-stress/emscripten-memops.html: Copied from LayoutTests/js/regress/emscripten-memops.html.
  • js/slow-stress/fold-strict-eq-expected.txt: Copied from LayoutTests/js/regress/fold-strict-eq-expected.txt.
  • js/slow-stress/fold-strict-eq.html: Copied from LayoutTests/js/regress/fold-strict-eq.html.
  • js/slow-stress/marsaglia-expected.txt: Copied from LayoutTests/js/regress/marsaglia-expected.txt.
  • js/slow-stress/marsaglia.html: Copied from LayoutTests/js/regress/marsaglia.html.
  • js/slow-stress/nested-function-parsing-random-expected.txt: Copied from LayoutTests/js/regress/nested-function-parsing-random-expected.txt.
  • js/slow-stress/nested-function-parsing-random.html: Copied from LayoutTests/js/regress/nested-function-parsing-random.html.
  • js/slow-stress/new-spread-expected.txt: Copied from LayoutTests/js/regress/new-spread-expected.txt.
  • js/slow-stress/new-spread.html: Copied from LayoutTests/js/regress/new-spread.html.
  • js/slow-stress/proto-custom-getter-expected.txt: Copied from LayoutTests/js/regress/proto-custom-getter-expected.txt.
  • js/slow-stress/proto-custom-getter.html: Copied from LayoutTests/js/regress/proto-custom-getter.html.
  • js/slow-stress/script-tests: Added.
  • js/slow-stress/script-tests/ArrayBuffer-Int8Array-alloc-huge-long-lived.js: Copied from LayoutTests/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-huge-long-lived.js.
  • js/slow-stress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.js: Copied from LayoutTests/js/regress/script-tests/ArrayBuffer-Int8Array-alloc-large-long-lived-fragmented.js.
  • js/slow-stress/script-tests/Int32Array-alloc-huge-long-lived.js: Copied from LayoutTests/js/regress/script-tests/Int32Array-alloc-huge-long-lived.js.
  • js/slow-stress/script-tests/Int32Array-alloc-huge.js: Copied from LayoutTests/js/regress/script-tests/Int32Array-alloc-huge.js.
  • js/slow-stress/script-tests/Int32Array-alloc-large-long-lived.js: Copied from LayoutTests/js/regress/script-tests/Int32Array-alloc-large-long-lived.js.
  • js/slow-stress/script-tests/array-prototype-filter.js: Copied from LayoutTests/js/regress/script-tests/array-prototype-filter.js.
  • js/slow-stress/script-tests/call-spread.js: Copied from LayoutTests/js/regress/script-tests/call-spread.js.
  • js/slow-stress/script-tests/chain-custom-getter.js: Copied from LayoutTests/js/regress/script-tests/chain-custom-getter.js.
  • js/slow-stress/script-tests/destructuring-arguments-length.js: Copied from LayoutTests/js/regress/script-tests/destructuring-arguments-length.js.
  • js/slow-stress/script-tests/emscripten-memops.js: Copied from LayoutTests/js/regress/script-tests/emscripten-memops.js.
  • js/slow-stress/script-tests/fold-strict-eq.js: Copied from LayoutTests/js/regress/script-tests/fold-strict-eq.js.
  • js/slow-stress/script-tests/marsaglia.js: Copied from LayoutTests/js/regress/script-tests/marsaglia.js.
  • js/slow-stress/script-tests/nested-function-parsing-random.js: Copied from LayoutTests/js/regress/script-tests/nested-function-parsing-random.js.
  • js/slow-stress/script-tests/new-spread.js: Copied from LayoutTests/js/regress/script-tests/new-spread.js.
  • js/slow-stress/script-tests/proto-custom-getter.js: Copied from LayoutTests/js/regress/script-tests/proto-custom-getter.js.
  • js/slow-stress/script-tests/simple-custom-getter.js: Copied from LayoutTests/js/regress/script-tests/simple-custom-getter.js.
  • js/slow-stress/script-tests/variadic-closure-call.js: Copied from LayoutTests/js/regress/script-tests/variadic-closure-call.js.
  • js/slow-stress/simple-custom-getter-expected.txt: Copied from LayoutTests/js/regress/simple-custom-getter-expected.txt.
  • js/slow-stress/simple-custom-getter.html: Copied from LayoutTests/js/regress/simple-custom-getter.html.
  • js/slow-stress/variadic-closure-call-expected.txt: Copied from LayoutTests/js/regress/variadic-closure-call-expected.txt.
  • js/slow-stress/variadic-closure-call.html: Copied from LayoutTests/js/regress/variadic-closure-call.html.
  • resources/regress-post.js: Copied from LayoutTests/js/regress/resources/regress-post.js.
  • resources/regress-pre.js: Copied from LayoutTests/js/regress/resources/regress-pre.js.
11:24 AM Changeset in webkit [166876] by mark.lam@apple.com
  • 9 edits
    3 adds in trunk

Date object needs to check for ES5 15.9.1.14 TimeClip limit.
<https://webkit.org/b/131248>

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

The current Date object code does not adequately check for the ES5
15.9.1.14 TimeClip limit. As a result, some calculations can underflow
/ overflow and produce unexpected results.

For example, we were getting an assertion failure in
WTF::equivalentYearForDST() due int underflows in this function, which
in turn were due to an int overflow in WTF::msToYear().

This patch adds the needed checks, and adds some assertions to ensure
that the used values are sane.

The changes have no noticeable impact on benchmark results.

  • runtime/DateConstructor.cpp:

(JSC::callDate):

  • runtime/JSDateMath.cpp:

(JSC::localTimeOffset):
(JSC::gregorianDateTimeToMS):
(JSC::msToGregorianDateTime):
(JSC::parseDateFromNullTerminatedCharacters):
(JSC::parseDate):

  • runtime/JSDateMath.h:
  • parseDateFromNullTerminatedCharacters() does not need to be public. Made it a static function.
  • runtime/VM.cpp:

(JSC::VM::resetDateCache):

  • Changed cachedDateStringValue to use std::numeric_limits<double>::quiet_NaN() to be consistent with other Date code.

Source/WTF:

  • wtf/DateMath.cpp:
  • Moved the definition of maxECMAScriptTime to the .h file so that we can use it in other files as well.

(WTF::msToYear):

  • Removed a stale comment for parseDateFromNullTerminatedCharacters().
  • wtf/DateMath.h:

LayoutTests:

  • js/regress-131248-expected.txt: Added.
  • js/regress-131248.html: Added.
  • js/script-tests/regress-131248.js: Added.

(testDateFromSetDateAdjustement):
(testDateFromSetTimeWithMilliseconds):
(testDateFromString):

11:18 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
10:33 AM Changeset in webkit [166875] by svillar@igalia.com
  • 3 edits in trunk/LayoutTests

Unreviewed gardening for GTK.

Removed tests that have been actually passing in both release and
debug bots for some time.

  • platform/gtk-wk2/TestExpectations:
  • platform/gtk/TestExpectations:
10:15 AM Changeset in webkit [166874] by zoltan@webkit.org
  • 2 edits in trunk/Source/WebCore

[CSS Shapes] Clean up invalid FIXME
https://bugs.webkit.org/show_bug.cgi?id=131304

Reviewed by Andreas Kling.

No new tests, no behavior change.

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):

9:30 AM Changeset in webkit [166873] by svillar@igalia.com
  • 2 edits in trunk/LayoutTests

Unreviewed update of GTK expectations.

Canvas composite tests with alpha are not working.

  • platform/gtk/TestExpectations:
5:34 AM Changeset in webkit [166872] by ryuan.choi@samsung.com
  • 20 edits
    3 deletes in trunk

[EFL] Turn on ENABLE_MEDIA_CONTROLS_SCRIPT
https://bugs.webkit.org/show_bug.cgi?id=131257

Reviewed by Gyuyoung Kim.

.:

  • Source/cmake/OptionsEfl.cmake: Enable MEDIA_CONTROLS_SCRIPT

Source/WebCore:

no new tests. just rebased exisiting tests.

  • PlatformEfl.cmake: Added the media controls script associated files.
  • css/mediaControlsEfl.css: Removed.
  • css/mediaControlsEflFullscreen.css: Removed.
  • platform/efl/DefaultTheme/CMakeLists.txt:
  • platform/efl/DefaultTheme/default.edc:
  • platform/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/enterfullscreenbutton.png: Removed.
  • platform/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/exitfullscreenbutton.png: Removed.
  • platform/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/fullscreen_button.edc: Removed.
  • platform/efl/DefaultTheme/widget/mediacontrol/mutebutton/mute_button.edc: Removed.
  • platform/efl/DefaultTheme/widget/mediacontrol/mutebutton/mutebutton.png: Removed.
  • platform/efl/DefaultTheme/widget/mediacontrol/mutebutton/unmutebutton.png: Removed.
  • platform/efl/DefaultTheme/widget/mediacontrol/playpausebutton/pausebutton.png: Removed.
  • platform/efl/DefaultTheme/widget/mediacontrol/playpausebutton/playbutton.png: Removed.
  • platform/efl/DefaultTheme/widget/mediacontrol/playpausebutton/playpause_button.edc: Removed.
  • platform/efl/DefaultTheme/widget/mediacontrol/seekbackwardbutton/seekbackward_button.edc: Removed.
  • platform/efl/DefaultTheme/widget/mediacontrol/seekbackwardbutton/seekbackwardbutton.png: Removed.
  • platform/efl/DefaultTheme/widget/mediacontrol/seekforwardbutton/seekforward_button.edc: Removed.
  • platform/efl/DefaultTheme/widget/mediacontrol/seekforwardbutton/seekforwardbutton.png: Removed.
  • platform/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption.png: Removed.
  • platform/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.png: Removed.
  • platform/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc: Removed.
  • platform/efl/RenderThemeEfl.cpp:

(WebCore::toEdjeGroup):
(WebCore::RenderThemeEfl::RenderThemeEfl):
(WebCore::RenderThemeEfl::adjustSliderThumbSize):
(WebCore::RenderThemeEfl::mediaControlsStyleSheet): Modified to load bundle style sheet.
(WebCore::RenderThemeEfl::mediaControlsScript): Added to load bundle scripts.
(WebCore::RenderThemeEfl::emitMediaButtonSignal): Deleted.
(WebCore::RenderThemeEfl::extraMediaControlsStyleSheet): Deleted.
(WebCore::RenderThemeEfl::extraFullScreenStyleSheet): Deleted.
(WebCore::RenderThemeEfl::formatMediaControlsCurrentTime): Deleted.
(WebCore::RenderThemeEfl::hasOwnDisabledStateHandlingFor): Deleted.
(WebCore::RenderThemeEfl::paintMediaFullscreenButton): Deleted.
(WebCore::RenderThemeEfl::paintMediaMuteButton): Deleted.
(WebCore::RenderThemeEfl::paintMediaPlayButton): Deleted.
(WebCore::RenderThemeEfl::paintMediaSeekBackButton): Deleted.
(WebCore::RenderThemeEfl::paintMediaSeekForwardButton): Deleted.
(WebCore::RenderThemeEfl::paintMediaSliderTrack): Deleted.
(WebCore::RenderThemeEfl::paintMediaSliderThumb): Deleted.
(WebCore::RenderThemeEfl::paintMediaVolumeSliderContainer): Deleted.
(WebCore::RenderThemeEfl::paintMediaVolumeSliderTrack): Deleted.
(WebCore::RenderThemeEfl::paintMediaVolumeSliderThumb): Deleted.
(WebCore::RenderThemeEfl::paintMediaCurrentTime): Deleted.
(WebCore::RenderThemeEfl::supportsClosedCaptioning): Deleted.
(WebCore::RenderThemeEfl::paintMediaToggleClosedCaptionsButton): Deleted.

  • platform/efl/RenderThemeEfl.h:

LayoutTests:

Rebased tests.

  • platform/efl/TestExpectations:
  • platform/efl/media/audio-controls-rendering-expected.png:
  • platform/efl/media/audio-controls-rendering-expected.txt:
  • platform/efl/media/controls-after-reload-expected.png:
  • platform/efl/media/controls-after-reload-expected.txt:
  • platform/efl/media/controls-strict-expected.png:
  • platform/efl/media/controls-strict-expected.txt:
  • platform/efl/media/controls-styling-expected.png:
  • platform/efl/media/controls-styling-expected.txt:
  • platform/efl/media/controls-without-preload-expected.png:
  • platform/efl/media/controls-without-preload-expected.txt:
2:14 AM Changeset in webkit [166871] by svillar@igalia.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

Updated expectations for GTK. Added some more failing AX tests.

  • platform/gtk-wk2/TestExpectations:
1:52 AM Changeset in webkit [166870] by benjamin@webkit.org
  • 5 edits in trunk/Source/WebCore

CSS JIT: change the node flags directly instead of using function calls when possible
https://bugs.webkit.org/show_bug.cgi?id=131292

Reviewed by Andreas Kling.

For historical reasons, changing the node flags was always done with function calls.
This patch changes those calls to modify the nodes directly.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::setNodeFlag):
(WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLastChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsOnlyChild):
(WebCore::SelectorCompiler::markElementWithSetChildrenAffectedByLastChildRules): Deleted.
(WebCore::SelectorCompiler::markElementWithSetChildrenAffectedByFirstChildAndLastChildRules): Deleted.

  • dom/Element.cpp:

(WebCore::Element::setChildrenAffectedByFirstChildRules): Deleted.
(WebCore::Element::setChildrenAffectedByDirectAdjacentRules): Deleted.

  • dom/Element.h:
  • dom/Node.h:

(WebCore::Node::flagChildrenAffectedByFirstChildRulesFlag):
(WebCore::Node::flagChildrenAffectedByLastChildRulesFlag):
(WebCore::Node::flagChildrenAffectedByDirectAdjacentRulesFlag):

1:18 AM Changeset in webkit [166869] by k.czech@samsung.com
  • 2 edits in trunk/Source/WebCore

Remove unused header from PlatformSpeechSynthesizer.h
https://bugs.webkit.org/show_bug.cgi?id=131103

Reviewed by Anders Carlsson.

Since WebSpeech has switched to use std::unique_ptr, we do not need to include PassOwnPtr.

No new tests. No behaviour change, just quick fix.

  • platform/PlatformSpeechSynthesizer.h:
12:55 AM Changeset in webkit [166868] by svillar@igalia.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

Updated expectations for GTK. Added some failing AX tests.

  • platform/gtk-wk2/TestExpectations:

Apr 6, 2014:

11:38 PM Changeset in webkit [166867] by mihnea@adobe.com
  • 10 edits in trunk

[CSSRegions] Use RenderRegion::isValid() before using a region
https://bugs.webkit.org/show_bug.cgi?id=131232

Reviewed by Andreas Kling.

Source/WebCore:

RenderRegion method isValid() should be used to test whether a region
is good to use instead of a mix between isValid() and flowThread().
When the region is designed to fragment content from a parent flow thread,
the m_flowThread is not nullified anymore, thus ensuring the same treatment for all invalid
regions.
Covered by existing regions tests.

  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForElementInfo):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::layoutOverflowRectForPropagation):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::pageLogicalHeight):
(WebCore::RenderNamedFlowFragment::maxPageLogicalHeight):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::getRanges):
(WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):
(WebCore::RenderNamedFlowThread::checkRegionsWithStyling):

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::positionForPoint):
(WebCore::RenderRegion::pageLogicalWidth):
(WebCore::RenderRegion::pageLogicalHeight):
(WebCore::RenderRegion::styleDidChange):
(WebCore::RenderRegion::installFlowThread):
(WebCore::RenderRegion::attachRegion):
(WebCore::RenderRegion::detachRegion):
(WebCore::RenderRegion::ensureOverflowForBox):
(WebCore::RenderRegion::renderBoxRegionInfo):

LayoutTests:

Adjust test expectation now that an invalid region is not unnecessary repainted.

  • fast/regions/repaint/invalid-region-repaint-crash-expected.txt:
10:24 PM Changeset in webkit [166866] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebKit/efl

[EFL][WK1] Apply std::unique_ptr<> to NavigatorContentUtilsClientEfl
https://bugs.webkit.org/show_bug.cgi?id=130958

Reviewed by Darin Adler.

As a step of replacing OwnPtr with std::unique_ptr, this patch replaces
OwnPtr with the std::unique_ptr for NavigatorContentUtilsClientEfl.

  • WebCoreSupport/NavigatorContentUtilsClientEfl.cpp:

(WebCore::NavigatorContentUtilsClientEfl::create): Deleted.

  • WebCoreSupport/NavigatorContentUtilsClientEfl.h:
  • ewk/ewk_view.cpp:

(_ewk_view_priv_new):

10:07 PM Changeset in webkit [166865] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the debug bots after r166863

  • css/PageRuleCollector.cpp:

(WebCore::checkPageSelectorComponents): I forgot to update one call site for PagePseudoClass.

8:43 PM Changeset in webkit [166864] by Darin Adler
  • 25 edits in trunk/Source

Make some bindings improvements, with smaller code size for error message generation
https://bugs.webkit.org/show_bug.cgi?id=131285

Reviewed by Andreas Kling.

Source/WebCore:

  • WebCore.exp.in: Updated to remove old and add new functions, for use by the Internals

JavaScript bindings.

  • bindings/js/JSDOMBinding.cpp:

(WebCore::makeDOMBindingsTypeErrorStringInternal): Deleted.
(WebCore::throwTypeError): Added. Helper to avoid repeating throwVMError/createTypeError.
(WebCore::appendArgumentMustBe): Added. Helper for building up argument error strings.
(WebCore::reportDeprecatedGetterError): Added. For bindings to use.
(WebCore::throwArgumentMustBeEnumError): Ditto.
(WebCore::throwArgumentMustBeFunctionError): Ditto.
(WebCore::throwArgumentTypeError): Ditto.
(WebCore::throwArrayElementTypeError): Ditto.
(WebCore::throwAttributeTypeError): Ditto.
(WebCore::throwConstructorDocumentUnavailableError): Ditto.
(WebCore::throwGetterTypeError): Ditto.
(WebCore::throwSequenceTypeError): Ditto.
(WebCore::throwSetterTypeError): Ditto.
(WebCore::throwThisTypeError): Ditto.

  • bindings/js/JSDOMBinding.h: Added declarations for new functions. Removed forward

declarations for things not used in this file. Use nullptr instead of 0. Format
templates consistently. Use a better for loop in the jsArray function. Removed
unused HasMemoryCostMemberFunction, makeDOMBindingsTypeErrorString, and
makeDOMBindingsTypeErrorStringInternal.

  • bindings/js/JSNavigatorCustom.cpp: Fixed a hand-written binding that was using

makeDOMBindingsTypeErrorString to make a string.

  • bindings/js/ScriptController.h: Updated forward declarations.
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation): Cut down on use of UNUSED_PARAM. Use the new functions
for errors, keeping the code in the generated file to a minimum.
(GenerateParametersCheck): Ditto.
(GenerateConstructorDefinition): Ditto.

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:
  • bindings/scripts/test/JS/JSTestEventTarget.cpp:
  • bindings/scripts/test/JS/JSTestException.cpp:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
  • bindings/scripts/test/JS/JSTestNode.cpp:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:
  • bindings/scripts/test/JS/JSattribute.cpp:
  • bindings/scripts/test/JS/JSreadonly.cpp:

Updated expected results for changes above.

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Updated for

changes in JavaScript binding functions.

7:28 PM Changeset in webkit [166863] by benjamin@webkit.org
  • 6 edits in trunk/Source/WebCore

Move the PseudoPageClass types out of the pseudo element/class mix
https://bugs.webkit.org/show_bug.cgi?id=131284

Reviewed by Darin Adler.

Some more cleanup of Selector's pseudo types. This patch moves the page pseudo
class types into their own enumeration (PagePseudoClassType).

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::parsePagePseudoSelector):

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::specificityForPage):
(WebCore::CSSSelector::pseudoId):
(WebCore::CSSSelector::selectorText):

  • css/CSSSelector.h:

(WebCore::CSSSelector::setPagePseudoType):
(WebCore::CSSSelector::pagePseudoClassType):

  • css/PageRuleCollector.cpp:

(WebCore::checkPageSelectorComponents):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):

7:25 PM Changeset in webkit [166862] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

CSS JIT: add support for :last-child and :only-child
https://bugs.webkit.org/show_bug.cgi?id=131283

Reviewed by Andreas Kling.

This is the straightforward implementation of :last-child and :only-child.

Both are extremely similar to :first-child. There are only minor differences:
-:last-child has an additional check for the flag IsParsingChildrenFinished.
-:only-child is like :first-child + :last-child but with combined marking.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToNextAdjacentElement):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::jumpIfNoPreviousAdjacentElement):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::jumpIfNoNextAdjacentElement):
(WebCore::SelectorCompiler::markElementWithSetChildrenAffectedByLastChildRules):
(WebCore::SelectorCompiler::setLastChildState):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLastChild):
(WebCore::SelectorCompiler::markElementWithSetChildrenAffectedByFirstChildAndLastChildRules):
(WebCore::SelectorCompiler::setOnlyChildState):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsOnlyChild):

  • dom/Node.h:

(WebCore::Node::nextSiblingMemoryOffset):
(WebCore::Node::flagIsParsingChildrenFinished):

  • rendering/style/RenderStyle.h:

Removed the unused flags, I will add them back later as needed.

5:54 PM Changeset in webkit [166861] by mitz@apple.com
  • 8 edits
    1 move in trunk/Source/WebKit2

Clean up WKGestureTypes.h
https://bugs.webkit.org/show_bug.cgi?id=131286

Reviewed by Sam Weinig.

Renamed WKGestureTypes.h to GestureTypes.h, dropped the useless “WK” prefixes and changed
into scoped enums, with the exception of SelectionFlags.

  • Shared/ios/GestureTypes.h: Copied from Source/WebKit2/Shared/ios/WKGestureTypes.h.
  • Shared/ios/WKGestureTypes.h: Removed.
  • UIProcess/API/Cocoa/_WKElementAction.mm:

(copyElement):
(saveImage):

  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::didUpdateBlockSelectionWithTouch):

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _performAction:]):
(toGestureType):
(toUIWKGestureType):
(toSelectionTouch):
(toUIWKSelectionTouch):
(toGestureRecognizerState):
(toUIGestureRecognizerState):
(toUIWKSelectionFlags):
(toSelectionHandlePosition):
(selectionChangedWithGesture):
(selectionChangedWithTouch):
(-[WKContentView _didUpdateBlockSelectionWithTouch:withFlags:growThreshold:shrinkThreshold:]):
(-[WKContentView changeSelectionWithGestureAt:withGesture:withState:]):
(-[WKContentView changeSelectionWithTouchAt:withSelectionTouch:baseIsStart:]):
(-[WKContentView changeSelectionWithTouchesFrom:to:withGesture:withState:]):
(-[WKContentView changeBlockSelectionWithTouchAt:withSelectionTouch:forHandle:]):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::rangeForWebSelectionAtPosition):
(WebKit::WebPage::selectWithGesture):
(WebKit::distanceBetweenRectsForPosition):
(WebKit::computeEdgeCenter):
(WebKit::WebPage::expandedRangeFromHandle):
(WebKit::WebPage::contractedRangeFromHandle):
(WebKit::WebPage::computeExpandAndShrinkThresholdsForHandle):
(WebKit::shouldExpand):
(WebKit::WebPage::changeBlockSelection):
(WebKit::WebPage::updateBlockSelectionWithTouch):
(WebKit::WebPage::updateSelectionWithTouches):
(WebKit::WebPage::performActionOnElement):

5:16 PM Changeset in webkit [166860] by Darin Adler
  • 27 edits
    1 add in trunk

Source/WebCore: Rework CSS calc logic, fixing some reference count mistakes in Length
https://bugs.webkit.org/show_bug.cgi?id=131280
rdar://problem/16400823

Reviewed by Andreas Kling.

New unit test in TestWebKitAPI.

Changed the classes related to CSS "calc" to make the code a bit easier to read by
moving code out of class definitions. Also used final some more, made more things private,
used references instead of pointers, and other such changes. Biggest change, though, is to
Length, which had a broken system for managing reference counted calculated objects.
There were multiple bugs including a basic design mistake of not having a reference count
and trying to use the reference count in the object itself. Fixed and covered by the unit
test now; test found multiple problems in both the old and new implementations.

  • WebCore.exp.in: Updated exports, including symbols to make the unit test practical.
  • WebCore.xcodeproj/project.pbxproj: Made CalculationValue.h a Private file so it can

be used in a unit test. Also let Xcode update the file type for a gperf file.

  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcValue::equals): Updated since m_expression is a Ref now.
(WebCore::CSSCalcValue::clampToPermittedRange): Marked inline and updated for data member
name change.
(WebCore::isIntegerResult): Changed argument order to put the operator first and use
references instead of pointers. Also marked inline.
(WebCore::createBlendHalf): Added. Helper to make the other functions more readable.
(WebCore::createExpressionNode): Made non-member function private to this file. Also made
many small improvements.
(WebCore::CSSCalcValue::create): Updated so both of these call the same constructor.

  • css/CSSCalculationValue.h: Cut down CSSCalcValue class by making more things private

and deleting unneeded things. Also use Ref instead of RefPtr.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::getPositionOffsetValue): Use isFixed function instead of type function.

  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::addStops): Updated code since toCalcValue now returns PassRef
instead of PassRefPtr. Unfortunately the new code is a bit more verbose.
(WebCore::positionFromValue): Ditto.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseCalculation):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Updated to pass reference rather than pointer.
(WebCore::CSSPrimitiveValue::init): Ditto.

  • css/CSSToStyleMap.h: Removed unneeded include of LengthBox.h.
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyLength::applyValue): Updated for function name change.
(WebCore::ApplyPropertyBorderRadius::applyValue): Removed extra parentheses.
(WebCore::ApplyPropertyFontSize::applyValue): Ditto. Also updated since toCalcValue returns Ref.

  • css/LengthFunctions.cpp:

(WebCore::floatValueForLength): Updated to call value instead of getFloatValue; both are the same.

  • css/StyleResolver.cpp:

(WebCore::addIntrinsicMargins): Updated for function name change.
(WebCore::createGridTrackBreadth): Ditto.

  • platform/CalculationValue.cpp:

(WebCore::CalculationValue::create): Changed to return PassRef.
(WebCore::CalcExpressionNumber::evaluate): Moved this function out of the header, since it's
virtual and not really going to be inlined.
(WebCore::CalcExpressionNumber::operator==): Ditto.
(WebCore::CalculationValue::evaluate): Ditto.
(WebCore::CalcExpressionBinaryOperation::operator==): Ditto.
(WebCore::CalcExpressionLength::evaluate): Ditto.
(WebCore::CalcExpressionLength::operator==): Ditto.
(WebCore::CalcExpressionBlendLength::evaluate): Ditto.
(WebCore::CalcExpressionBlendLength::operator==): Ditto.

  • platform/CalculationValue.h: Moved most functions out of the class bodies so the classes are

easier to see. Made all the == operator functions non-member ones except for the polymorphic
one from the base class. Changed the casting functions to work on references instead of pointers.
Tweaked name of some members.

  • platform/Length.cpp: Reworked the CalculationValueMap (formerly CalculationValueHandleMap) to

use unsigned instead of int, and store reference counts in the map rather than trying to share the
reference count of the underlying CalculationValue object, which can lead to storage leaks where
handles end up in the map permanently.
(WebCore::calculationValues): Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL.
(WebCore::Length::Length): Updated some data member names.
(WebCore::Length::calculationValue): Updated to return a reference instead of a PassRefPtr.
(WebCore::Length::ref): Renamed and updated for new interface to the map.
(WebCore::Length::deref): Ditto.
(WebCore::Length::nonNanCalculatedValue): Updated to use a reference instead of a pointer.
(WebCore::Length::isCalculatedEqual): Updated since this is now only called if both objects are
known to be calculated values.

  • platform/Length.h: Moved most functions out of the class definition to make the class definition

easier to read. Reworked the constructors and assignment operators to handle the reference counting
correctly. Added various FIXMEs and assertions. Removed some unused functions, made others private.

  • platform/LengthBox.h: Renamed some one-letter arguments to use words instead.
  • rendering/AutoTableLayout.cpp:

(WebCore::AutoTableLayout::recalcColumn): Updated for change to Length::setValue.

  • rendering/FixedTableLayout.cpp:

(WebCore::FixedTableLayout::calcWidthArray): Ditto.

  • rendering/style/FillLayer.h:

(WebCore::FillLayer::initialFillXPosition): Updated to not convert a double to a float at runtime.
(WebCore::FillLayer::initialFillYPosition): Ditto.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setWordSpacing): Removed a bogus FALLTHROUGH that was clearly wrong, but
harmless. Updated for changes to Length.

  • rendering/style/RenderStyle.h: Updated for name changes and to avoid converting doubles to floats

at runtime.

Tools: Rework CSS calc logic, fixing some reference count mistakes in Length
https://bugs.webkit.org/show_bug.cgi?id=131280

Reviewed by Andreas Kling.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Added CalculationValue.cpp.
  • TestWebKitAPI/Tests/WebCore/CalculationValue.cpp: Added.
4:41 PM Changeset in webkit [166859] by weinig@apple.com
  • 9 edits
    2 moves
    2 adds in trunk/Source

Source/WebKit/mac: Document user content related APIs

Reviewed by Anders Carlsson.

  • MigrateHeaders.make:

Source/WebKit2: Document user content related APIs..

Reviewed by Anders Carlsson.

  • Also demote WKScriptWorld to SPI.
  • UIProcess/API/Cocoa/WKScriptMessage.h:
  • UIProcess/API/Cocoa/WKScriptMessage.mm:

(-[WKScriptMessage _scriptWorld]):
(-[WKScriptMessage scriptWorld]): Deleted.

  • UIProcess/API/Cocoa/WKScriptMessageHandler.h:
  • UIProcess/API/Cocoa/WKScriptMessagePrivate.h: Added.
  • UIProcess/API/Cocoa/WKScriptWorld.h: Removed.
  • UIProcess/API/Cocoa/WKScriptWorld.mm: Removed.
  • UIProcess/API/Cocoa/WKUserContentController.h:
  • UIProcess/API/Cocoa/WKUserContentController.mm:

(-[WKUserContentController addScriptMessageHandler:name:]):
(-[WKUserContentController removeScriptMessageHandlerForName:]):
(-[WKUserContentController _addScriptMessageHandler:name:world:]):
(-[WKUserContentController _removeScriptMessageHandlerForName:world:]):
(-[WKUserContentController addScriptMessageHandler:name:world:]): Deleted.
(-[WKUserContentController removeScriptMessageHandlerForName:world:]): Deleted.

  • UIProcess/API/Cocoa/WKUserContentControllerPrivate.h: Added.
  • UIProcess/API/Cocoa/_WKScriptWorld.h: Copied from WebKit2/UIProcess/API/Cocoa/WKScriptWorld.h.
  • UIProcess/API/Cocoa/_WKScriptWorld.mm: Copied from WebKit2/UIProcess/API/Cocoa/WKScriptWorld.mm.

(+[_WKScriptWorld defaultWorld]):
(+[WKScriptWorld defaultWorld]): Deleted.

  • WebKit2.xcodeproj/project.pbxproj:
4:21 PM Changeset in webkit [166858] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

Honor System-Level User Preferences for Caption Display
https://bugs.webkit.org/show_bug.cgi?id=131258

Reviewed by Eric Carlson.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setSelectedTextTrack): Allow preferenced change to fully dispatch
so we can properly deal with captions being turned off.
(WebCore::HTMLMediaElement::captionPreferencesChanged): Use 'webkit' variant of the
setWebKitClosedCaptionsVisible method so we properly adjust settings needed for the JS API call.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::updateDisplay): When captions are turned off, e.g.
because the user turned off the preference, don't inadvertently turn them back on just bacause there
was an existing track that was not in a 'hidden' state.

3:12 PM Changeset in webkit [166857] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed speculative 32-bit buildfix after r166837.

  • heap/Heap.cpp:

(JSC::Heap::updateObjectCounts):

2:51 PM Changeset in webkit [166856] by Brian Burg
  • 3 edits in trunk/Source/WebCore

Web Replay: add methods to encode a frame's index based on its FrameTree position
https://bugs.webkit.org/show_bug.cgi?id=131281

Reviewed by Timothy Hatcher.

Given a frame, its encoded index is computed by traversing the frame tree
and saving how many nodes have been traversed to reach a given frame.

This is used to disambiguate frames when dispatching frame-specific event
loop inputs during replay, such as timers and resource loaders.

  • replay/SerializationMethods.cpp:

(WebCore::frameIndexFromDocument): Added.
(WebCore::frameIndexFromFrame): Added.
(WebCore::documentFromFrameIndex): Added.
(WebCore::frameFromFrameIndex): Added.

  • replay/SerializationMethods.h:
2:48 PM Changeset in webkit [166855] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix.

  • WebCore.exp.in: Move newly exported function to a right section of this file.
2:14 PM Changeset in webkit [166854] by Darin Adler
  • 4 edits in trunk

Fix change log dates and a small editing mistake in last patch

1:27 PM Changeset in webkit [166853] by Darin Adler
  • 19 edits in trunk

Refactor post-attach and HTMLObjectElement-related code
https://bugs.webkit.org/show_bug.cgi?id=131282

Reviewed by Antti Koivisto.

Source/WebCore:

  • dom/ContainerNode.cpp: Moved the post-attach callback code from here to

StyleResolveTree.h/cpp.

  • dom/ContainerNode.h: Ditto.
  • dom/Document.cpp:

(WebCore::Document::recalcStyle): Use Style::PostResolutionCallbackDisabler instead of
PostAttachCallbackDisabler.

  • dom/Element.h: Moved the post-attach callback code from here to StyleResolveTree.h/cpp.
  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::parseAttribute): Simplified the code for typeAttr, turning
it into a 1-liner. Added a FIXME in codeAttr about the fact that it does not have the
code to trigger image loads.

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::didAttachRenderers): Updated to use
Style::queuePostResolutionCallback and use a lambda instead of a function.
(WebCore::HTMLFormControlElement::didRecalcStyle): Ditto. Also added RefPtr instead
of just using wishful thinking to keep the object alive.

  • html/HTMLFrameOwnerElement.cpp:

(WebCore::HTMLFrameOwnerElement::scheduleSetNeedsStyleRecalc): Ditto.

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parseAttribute):: Simplified the code for typeAttr, turning
it into a 1-liner. Made dataAttr call setNeedsWidgetUpdate(true) unconditionally after
checking carefully to see that's harmless if there is no renderer. Changed classidAttr
to call setNeedsWidgetUpdate(true) unconditionally and not set m_classId.
(WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk): Use fastGetAttribute
instead of classId and descendantsOfType instead of getElementsByTagName.
(WebCore::HTMLObjectElement::hasValidClassId): Use fastGetAttribute instead of classId.
(WebCore::HTMLObjectElement::renderFallbackContent): Use imageLoader instead of m_imageLoader.

  • html/HTMLObjectElement.h: Removed classId, since there is no reason to cache that

attribute in a data member. Rearranged header, making more private, and fixing some typos,
and doing a "using" instead of a function to disambiguate the inherited form functions.

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::createElementRenderer): Fixed some code that assumed the
first child of the shadow root is guaranteed to be an element.
(WebCore::HTMLPlugInImageElement::didMoveToNewDocument): Removed null check on oldDocument,
since m_needsDocumentActivationCallbacks can't be true if the old document was null.
(WebCore::is100Percent): Added helper to make function below more readable.
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Restructured the code a
bit. The part that attracted my attention was the local variable of type RenderBox, which
was named renderEmbeddedObject. Turns out the caller guarantees to only call this if there
is a renderer of type RenderEmbeddedObject, so depend on that.

  • html/HTMLPlugInImageElement.h: Trimmed includes a bit. Made more members private.

Marked more function members final. Made a protected imageLoader function so that
m_imageLoader can be private eventually. Made m_imageLoader be std::unique_ptr.

  • style/StyleResolveTree.cpp:

(WebCore::Style::needsPseudoElement): Fixed spelling error in the name of this function.
(WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded): Updated for name change.
(WebCore::Style::attachRenderTree): Update for new name of PostResolutionCallbackDisabler.
(WebCore::Style::updateBeforeOrAfterPseudoElement): Updated for name change.
(WebCore::Style::postResolutionCallbackQueue): Added.
(WebCore::Style::queuePostResolutionCallback): Added.
(WebCore::Style::suspendMemoryCacheClientCalls): Added. This is a side effect of the original
PostAttachCallbackDisabler that is now done in a cleaner way, using the callback queue, instead
of as a special case. It should not work for multiple documents across multiple pages instead of
only the outermost one.
(WebCore::Style::PostResolutionCallbackDisabler::PostResolutionCallbackDisabler): Added.
Calls suspendMemoryCacheClientCalls, but a FIXME tries to point out why that isn't so great.
(WebCore::Style::PostResolutionCallbackDisabler::~PostResolutionCallbackDisabler): Added.
(WebCore::Style::postResolutionCallbacksAreSuspended): Added.

  • style/StyleResolveTree.h: Added queuePostResolutionCallback and

postResolutionCallbacksAreSuspended. Also added PostResolutionCallbackDisabler, which should
eventually become a private implementation detail.

Source/WebKit/mac:

  • WebCoreSupport/WebFrameLoaderClient.mm: Call toHTMLPlugInImageElement instead of

doing a static_cast.

LayoutTests:

  • svg/custom/object-no-size-attributes-expected.txt: Removed expectation of an empty text

renderer from the render tree.

  • svg/custom/object-no-size-attributes.xhtml: Restructured the source so there is no text

to render. Without this, we were seeing two text renderers due to the loading timing change.

1:20 PM Changeset in webkit [166852] by mitz@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

32-bit build fix.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::setInputCursor):

10:28 AM Changeset in webkit [166851] by Brian Burg
  • 15 edits in trunk

Enable WEB_REPLAY for PLATFORM(MAC)
https://bugs.webkit.org/show_bug.cgi?id=130700

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Switch on WEB_REPLAY feature flag for non-production builds.

  • Configurations/FeatureDefines.xcconfig:
  • replay/ReplayInputDispatchMethods.cpp: Fix the ENABLE(WEB_REPLAY) build.

It was broken by the bool to enum refactoring in r166684.
(WebCore::InitialNavigation::dispatch):

Source/WebInspectorUI:

If the ReplayAgent is available, then add an option to toggle between the
replay interface and normal Timeline interface from the timeline
sidebar panel. The option is available through a context menu item on the
sidebar panel's top navigation bar.

If web replay not available, just show the non-replay interface.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Main.js: Add WebInspector.showReplayInterfaceSetting.

(WebInspector.loaded):

  • UserInterface/Views/TimelineSidebarPanel.js: Unconditionally create the replay

interface elements, but only show them if showReplayInterfaceSetting is enabled.
(WebInspector.TimelineSidebarPanel.prototype._updateReplayInterfaceVisibility): Added
(WebInspector.TimelineSidebarPanel.prototype._contextMenuNavigationBarOrStatusBar.toggleReplayInterface): Added.
(WebInspector.TimelineSidebarPanel.prototype._contextMenuNavigationBarOrStatusBar): Added.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • Scripts/webkitperl/FeatureList.pm: Set the default for WEB_REPLAY for OS X engineering builds.
9:24 AM Changeset in webkit [166850] by rakuco@webkit.org
  • 2 edits in trunk

[GTK] Stop trying to install WebKit1 documentation
https://bugs.webkit.org/show_bug.cgi?id=131278

Reviewed by Martin Robinson.

  • Source/PlatformGTK.cmake: Remove install() call since the WebKit1 documentation is not

built anymore since r166584. This fixes `make install'.

Apr 5, 2014:

10:55 PM Changeset in webkit [166849] by Brian Burg
  • 13 edits in trunk/Source

Web Inspector: remove unused test hook setInspectorResourcesDataSizeLimits
https://bugs.webkit.org/show_bug.cgi?id=131268

Reviewed by Timothy Hatcher.

Source/WebCore:

This was used in the old inspector frontend tests for the Network panel.
It's no longer used by any tests or frontend code.

  • WebCore.exp.in: Remove symbols.
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::setInspectorResourcesDataSizeLimits): Deleted.

  • inspector/InspectorController.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::setResourcesDataSizeLimitsFromInternals): Deleted.

  • inspector/InspectorResourceAgent.h:
  • inspector/NetworkResourcesData.cpp:

(WebCore::NetworkResourcesData::setResourcesDataSizeLimits): Deleted.

  • inspector/NetworkResourcesData.h:
  • testing/Internals.cpp:

(WebCore::Internals::setInspectorResourcesDataSizeLimits): Deleted.

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Remove symbols.
7:33 PM Changeset in webkit [166848] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2] Fix unused parameter compile warning.
https://bugs.webkit.org/show_bug.cgi?id=131260

Patch by Miyoung Shin <myid.m.shin@gmail.com> on 2014-04-05
Reviewed by Gyuyoung Kim.

fix unused parameter warning in the WebKit2 build.

  • UIProcess/API/APIDownloadClient.h:

(API::DownloadClient::didReceiveData):
(API::DownloadClient::shouldDecodeSourceDataOfMIMEType):
(API::DownloadClient::decideDestinationWithSuggestedFilename):
(API::DownloadClient::didCreateDestination):

6:00 PM Changeset in webkit [166847] by ap@apple.com
  • 7 edits in trunk/Source

REGRESSION (NetworkProcess): Subresources fail to load from AppCache
https://bugs.webkit.org/show_bug.cgi?id=131262
<rdar://problem/15370653>

Reviewed by Sam Weinig.

Source/WebCore:

Exported ApplicationCacheHost::maybeLoadResource. Changed it to take a const
reference to ResourceRequest, as appropriate for WebResourceLoadScheduler.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/appcache/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::maybeLoadResource):

  • loader/appcache/ApplicationCacheHost.h:

Source/WebKit2:

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::scheduleLoad): Check application cache,
as done in ResourceLoader::start() for in-process loads.

5:51 PM Changeset in webkit [166846] by Brian Burg
  • 20 edits in trunk/Source

Web Inspector: remove unused metrics and commands from the Timeline agent
https://bugs.webkit.org/show_bug.cgi?id=131184

Reviewed by Timothy Hatcher.

Source/WebCore:

This patch removes several instrumentation hooks that are not being
used by the frontend in any way. Most of them are not hooked up to
produce any data, so they just clutter up InspectorClient and the agent.

  • WebCore.exp.in: Remove didBeginFrame/didCancelFrame.
  • inspector/InspectorClient.h: Remove client methods that are never overridden.

(WebCore::InspectorClient::canMonitorMainThread): Deleted.
(WebCore::InspectorClient::supportsFrameInstrumentation): Deleted.
(WebCore::InspectorClient::getAllocatedObjects): Deleted.
(WebCore::InspectorClient::dumpUncountedAllocatedObjects): Deleted.

  • inspector/InspectorController.cpp: Remove unused instrumentation.

(WebCore::InspectorController::didBeginFrame): Deleted.
(WebCore::InspectorController::didCancelFrame): Deleted.
(WebCore::InspectorController::didComposite): Deleted.
(WebCore::InspectorController::wilComposite): Deleted.

  • inspector/InspectorController.h:
  • inspector/InspectorTimelineAgent.cpp: Remove the backend's BeginFrame enum

value, but keep it in the protocol for when it is reimplemented. Remove
management of the current frame record, and simplify some code.
(WebCore::toProtocol):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):
(WebCore::InspectorTimelineAgent::clearRecordStack):
(WebCore::InspectorTimelineAgent::canMonitorMainThread): Deleted.
(WebCore::InspectorTimelineAgent::supportsFrameInstrumentation): Deleted.
(WebCore::InspectorTimelineAgent::didBeginFrame): Deleted.
(WebCore::InspectorTimelineAgent::didCancelFrame): Deleted.
(WebCore::InspectorTimelineAgent::didComposite): Deleted.
(WebCore::InspectorTimelineAgent::wilComposite): Deleted.
(WebCore::InspectorTimelineAgent::innerAddRecordToTimeline): Deleted. Undo telescoping.
(WebCore::usedHeapSize): Deleted.
(WebCore::InspectorTimelineAgent::commitFrameRecord): Deleted.

  • inspector/InspectorTimelineAgent.h:

(WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):

  • inspector/protocol/Timeline.json:
  • platform/graphics/texmap/coordinated/CompositingCoordinator.cpp: Remove

instrumentation hook for beginFrame. This is the only backend that implements it.
(WebCore::CompositingCoordinator::syncDisplayState):

  • testing/Internals.cpp: Remove crufty test methods that aren't used.

(WebCore::Internals::emitInspectorDidBeginFrame): Deleted.
(WebCore::Internals::emitInspectorDidCancelFrame): Deleted.

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebInspectorUI:

Remove the Memory domain from old protocol versions. Remove enum values
BeginFrame and CompositeLayers. Remove arguments to Timeline.start.
Remove miscellaneous Timeline commands that no longer exist and were never used.

  • UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js:
  • UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:
  • Versions/Inspector-iOS-6.0.json:
  • Versions/Inspector-iOS-7.0.json:

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Remove symbols.
5:50 PM Changeset in webkit [166845] by ap@apple.com
  • 3 edits in trunk/Source/WebKit2

Frequent PluginProcess crashes at libsqlite3.dylib: openDatabase
https://bugs.webkit.org/show_bug.cgi?id=131264
<rdar://problem/14165329>

Reviewed by Sam Weinig.

Don't create NSURLCache until after having called setenv.

  • PluginProcess/PluginProcess.h: Added m_nsurlCacheDirectory.
  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::PluginProcess::platformInitializePluginProcess): Compute NSURL cache path
on our own. This does not match CFNetwork's result in most cases, but should work
equally well.
(WebKit::PluginProcess::initializeSandbox): Create a cache with our path and best
guess for capacity.

5:48 PM Changeset in webkit [166844] by ap@apple.com
  • 3 edits in trunk/Source/WebCore

REGRESSION (r163914): Application cache cannot be used in main frame
https://bugs.webkit.org/show_bug.cgi?id=131263
<rdar://problem/16532063>

Reviewed by Sam Weinig.

  • loader/appcache/ApplicationCacheHost.cpp: (WebCore::ApplicationCacheHost::isApplicationCacheBlockedForRequest):

Don't check main frame origin when loading into main frame, it's not a 3rd party
subframe, and the URL is unrelated to the page we are loading now.

  • loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::cacheForMainRequest):

Removed the same incorrect check that was duplicated here. The only caller already
checks isApplicationCacheBlockedForRequest().

3:55 PM Changeset in webkit [166843] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

[Xcode] Clean up the platform/graphics group
https://bugs.webkit.org/show_bug.cgi?id=131271

Reviewed by Eric Carlson.

  • WebCore.xcodeproj/project.pbxproj: Created an opentype group and moved opentype file

references into it. Removed duplicate file references.

3:02 PM Changeset in webkit [166842] by rakuco@webkit.org
  • 2 edits in trunk/Tools

[CMake] Include X11's include dirs in TestNetscapePlugin
https://bugs.webkit.org/show_bug.cgi?id=131270

Reviewed by Martin Robinson.

  • DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt: Include X11_INCLUDE_DIR since

TestNetscapePlugin includes WebCore code that includes X headers.

2:46 PM Changeset in webkit [166841] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Remove unused type casting helpers for HTMLUnknownElement...

...to fix the debug build.

  • html/HTMLUnknownElement.h:
2:34 PM Changeset in webkit [166840] by krit@webkit.org
  • 3 edits
    2 adds in trunk

Canvas strokeText and fillText with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
https://bugs.webkit.org/show_bug.cgi?id=66766

Reviewed by Andreas Kling.

Source/WebCore:

Use transparency layers to draw text with certain compositing modes on
the canvas. This follows the Canvas specification and makes WebKit fully
compatible with IE. It also makes it more compatible with Firefox, even though
Firefox still has some bugs.

Test: fast/canvas/canvas-composite-text-alpha.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawTextInternal):

LayoutTests:

330 tests check compositing on Canvas with text.

  • fast/canvas/canvas-composite-text-alpha-expected.txt: Added.
  • fast/canvas/canvas-composite-text-alpha.html: Added.
2:33 PM Changeset in webkit [166839] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Devirtualize isHTMLUnknownElement().
<https://webkit.org/b/131269>

We were hitting isHTMLUnknownElement() pretty hard when marking
out-of-document Nodes. (The check is part of isHTMLAudioElement()
which is called by JSNodeOwner::isReachableFromOpaqueRoots().)

This patch uses a Node flag for the unknown element instead.
I'm also adding HTMLUnknownElement.{h,idl} to the Xcode project
since they were suspiciously missing.

Reviewed by Benjamin Poulain.

  • WebCore.xcodeproj/project.pbxproj:
  • dom/Node.h:
  • html/HTMLElement.h:

(WebCore::HTMLElement::isHTMLUnknownElement):

  • html/HTMLUnknownElement.h:

(WebCore::toHTMLUnknownElement): Deleted.

1:06 PM Changeset in webkit [166838] by mhahnenberg@apple.com
  • 1 edit
    2 adds in trunk/Source/JavaScriptCore

Add missing files from r166837

  • heap/GCLogging.cpp: Added.

(JSC::GCLogging::levelAsString):
(JSC::LoggingFunctor::LoggingFunctor):
(JSC::LoggingFunctor::~LoggingFunctor):
(JSC::LoggingFunctor::operator()):
(JSC::LoggingFunctor::log):
(JSC::LoggingFunctor::reviveCells):
(JSC::LoggingFunctor::returnValue):
(JSC::GCLogging::dumpObjectGraph):

  • heap/GCLogging.h: Added.
1:05 PM Changeset in webkit [166837] by mhahnenberg@apple.com
  • 23 edits in trunk/Source

Enhanced GC logging
https://bugs.webkit.org/show_bug.cgi?id=131246

Reviewed by Geoff Garen.

Source/JavaScriptCore:

Getting data on the state of the JSC Heap at runtime is currently in a sad state.
The OBJECT_MARK_LOGGING macro enables some basic GC logging, but it requires a full
recompile to turn it on. It would be nice if we could runtime enable our GC logging
infrastructure while incurring minimal cost when it is disabled.

It would also be nice to get a complete view of the Heap. Currently OBJECT_MARK_LOGGING
provides us with the discovered roots along with parent-child relationships as objects
are scanned. However, once an object is scanned it will never be declared as the child
of another object during that collection. This gives us a tree-like view of the
Heap (i.e. each scanned node only reports having a single parent), where the actual
Heap can be an arbitrary graph.

This patch replaces OBJECT_MARK_LOGGING and gives us these nice to haves. First it enhances
our logGC() runtime Option by changing it to be a tri-state value of None, Basic, or Verbose
logging levels. None means no logging is done, Basic is what logGC() = true would have done
prior to this patch, and Verbose logs all object relationships.

JSCell has new dump/dumpToStream methods, the latter of which is "virtual" to allow
subclasses to override the default string representation that will be dumped. These
methods allow JSCells to be dumped using the standard dataLog() calls similar to much of
the logging infrastructure in our compilers.

This patch also adds a GCLogging class that handles dumping the relationships between objects.
It does this by using the pre-existing visitChildren virtual methods to obtain the immediate
children of each live cell at the end of garbage collection.

This change meets our goal of being neutral on the benchmarks we track.

(JSC::GCLogging::levelAsString):
(JSC::LoggingFunctor::LoggingFunctor):
(JSC::LoggingFunctor::operator()):
(JSC::LoggingFunctor::log):
(JSC::LoggingFunctor::reviveCells):
(JSC::LoggingFunctor::returnValue):
(JSC::GCLogging::dumpObjectGraph):

  • heap/GCLogging.h: Added.
  • heap/GCSegmentedArray.h:

(JSC::GCSegmentedArray::begin):
(JSC::GCSegmentedArray::end):

  • heap/Heap.cpp:

(JSC::Heap::markRoots):
(JSC::Heap::visitSmallStrings):
(JSC::Heap::visitConservativeRoots):
(JSC::Heap::visitCompilerWorklists):
(JSC::Heap::visitProtectedObjects):
(JSC::Heap::visitTempSortVectors):
(JSC::Heap::visitArgumentBuffers):
(JSC::Heap::visitException):
(JSC::Heap::visitStrongHandles):
(JSC::Heap::visitHandleStack):
(JSC::Heap::traceCodeBlocksAndJITStubRoutines):
(JSC::Heap::visitWeakHandles):
(JSC::Heap::updateObjectCounts):
(JSC::Heap::collect):
(JSC::Heap::didFinishCollection):

  • heap/Heap.h:
  • heap/MarkStack.h:
  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::dump):

  • heap/SlotVisitor.h:

(JSC::SlotVisitor::markStack):

  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::internalAppend):

  • runtime/ClassInfo.h:
  • runtime/JSCell.cpp:

(JSC::JSCell::dump):
(JSC::JSCell::dumpToStream):
(JSC::JSCell::className):

  • runtime/JSCell.h:
  • runtime/JSCellInlines.h:

(JSC::JSCell::visitChildren):

  • runtime/JSString.cpp:

(JSC::JSString::dumpToStream):
(JSC::JSString::visitChildren):

  • runtime/JSString.h:

(JSC::JSString::length):
(JSC::JSRopeString::RopeBuilder::length):

  • runtime/Options.cpp:

(JSC::parse):
(JSC::Options::setOption):
(JSC::Options::dumpOption):

  • runtime/Options.h:

Source/WTF:

Remove OBJECT_MARK_LOGGING

  • wtf/FeatureDefines.h:
  • wtf/Platform.h:
12:57 PM Changeset in webkit [166836] by krit@webkit.org
  • 3 edits
    2 adds in trunk

Canvas stroke and strokeRect with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
https://bugs.webkit.org/show_bug.cgi?id=66762

Reviewed by Andreas Kling.

Source/WebCore:

For fill operations we create a new ImageBuffer to ensure that the results are composited
correctly according to the Canvas spec. This patch creates a new transparency layer
for stroking on certain compositing operators to archive the same. This makes WebKit's
behavior interoperable with Firefox and IE as well.

Test: fast/fast/canvas/canvas-composite-stroke-alpha.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::strokeInternal):
(WebCore::CanvasRenderingContext2D::strokeRect):

LayoutTests:

330 tests based on canvas-composite-alpha to test correct compositing behavior with
strokeRect() and stroke().

  • fast/canvas/canvas-composite-stroke-alpha-expected.txt: Added.
  • fast/canvas/canvas-composite-stroke-alpha.html: Added.
12:54 PM Changeset in webkit [166835] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Remove bogus ASSERT in -JSVirtualMachine scanObjectGraph
https://bugs.webkit.org/show_bug.cgi?id=131251

Reviewed by Geoffrey Garen.

  • API/JSVirtualMachine.mm:

(scanExternalObjectGraph):

  • API/tests/testapi.mm:
12:31 PM Changeset in webkit [166834] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Use preallocated stack reference to store adjacentBacktrackingStart
https://bugs.webkit.org/show_bug.cgi?id=131237

Patch by Yusuke Suzuki <Yusuke Suzuki> on 2014-04-05
Reviewed by Benjamin Poulain.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::SelectorCodeGenerator::computeBacktrackingInformation):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAdjacentBacktrackingTail):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateBacktrackingTailsIfNeeded):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateWalkToPreviousAdjacent): Deleted.
(WebCore::SelectorCompiler::SelectorCodeGenerator::linkFailures): Deleted.
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateDescendantBacktrackingTail): Deleted.

  • cssjit/StackAllocator.h:

(WebCore::StackAllocator::allocateUninitialized):

6:52 AM Changeset in webkit [166833] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Source/WebCore: bad values from HTMLImageElement x and y attributes (CSSOM-View)
https://bugs.webkit.org/show_bug.cgi?id=130308

Patch by Jeongeun Kim <je_julie.kim@samsung.com> on 2014-04-05
Reviewed by Simon Fraser.

According to CSSOM-View, interface HTMLImageElement,
The x attribute must return the x-coordinate.
If style is not updated when x() is called, it can’t return anything.
Style and layout should be done before getting value for x() and y().

Test: cssom/cssom-view-img-attributes-001.html

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::x):
(WebCore::HTMLImageElement::y):

LayoutTests: bad values from HTMLImageElement x and y attributes (CSSOM-View)
https://bugs.webkit.org/show_bug.cgi?id=130308

Patch by Jeongeun Kim <je_julie.kim@samsung.com> on 2014-04-05
Reviewed by Simon Fraser.

According to CSSOM-View, ‘interface HTMLImageElement’,
The x attribute must return the x-coordinate.
If style is not updated when x() is called, it can’t return anything.
Style and layout should be done before getting value for x() and y().

  • cssom/cssom-view-img-attributes-001-expected.txt: Added.
  • cssom/cssom-view-img-attributes-001.html: Added.
6:34 AM Changeset in webkit [166832] by ddkilzer@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r166529): Fix build after renaming TileCache to LegacyTileCache
<http://webkit.org/b/130986>

  • Scripts/check-for-inappropriate-objc-class-names: Add 'Legacy'

prefix to TileCache class names in exception list.

5:24 AM Changeset in webkit [166831] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebKit/efl

[EFL][WK1] Apply override and final keyword for ChromeClientEfl
https://bugs.webkit.org/show_bug.cgi?id=131261

Reviewed by Gyuyoung Kim.

There are unnecessary virtual methods in ChromeClientEfl.
Almost methods are already removed from parent class and
the others does not need to be virtual method.

This patch removed them and applied override and final.

  • WebCoreSupport/ChromeClientEfl.cpp:

(WebCore::ChromeClientEfl::scheduleAnimation):
(WebCore::ChromeClientEfl::serviceScriptedAnimations): Deleted.
(WebCore::ChromeClientEfl::cancelGeolocationPermissionForFrame): Deleted.
(WebCore::ChromeClientEfl::invalidateContents): Deleted.
(WebCore::ChromeClientEfl::cancelGeolocationPermissionRequestForFrame): Deleted.
(WebCore::ChromeClientEfl::iconForFiles): Deleted.

  • WebCoreSupport/ChromeClientEfl.h:

(WebCore::ChromeClientEfl::scrollRectIntoView): Deleted.
(WebCore::ChromeClientEfl::numWheelEventHandlersChanged): Deleted.

1:22 AM Changeset in webkit [166830] by zoltan@webkit.org
  • 4 edits in trunk/Source/WebCore

[CSS Shapes] Remove CSSBoxType member from BasicShape and CSSBasicShape
https://bugs.webkit.org/show_bug.cgi?id=129706

Reviewed by Andreas Kling.

The CSSBoxType has been moved up to ShapeValue and is no longer needed in the BasicShape classes.

No new tests, no behavior change.

  • css/BasicShapeFunctions.cpp:

(WebCore::valueForBasicShape):
(WebCore::basicShapeForValue):

  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShape::canBlend):

  • rendering/style/BasicShapes.h:

(WebCore::BasicShape::referenceBox): Deleted.
(WebCore::BasicShape::setReferenceBox): Deleted.
(WebCore::BasicShape::BasicShape): Deleted.

1:19 AM Changeset in webkit [166829] by ap@apple.com
  • 4 edits in trunk/LayoutTests

WebProcess freezes after fast/forms/form-associated-element-crash3.html test
https://bugs.webkit.org/show_bug.cgi?id=122130

fast/forms/form-associated-element-crash.html often times out on Mavericks WK1
https://bugs.webkit.org/show_bug.cgi?id=124593

With underlying bug having been fixed in OS X 10.9.2, removing expectations
for form-associated-element tests that were affected by it.

I'm not sure if Mountain Lion was affected, let's see if tests start to fail there.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/wk2/TestExpectations:
12:08 AM Changeset in webkit [166828] by mrowe@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the 32-bit build after r166818.

  • WebCore.exp.in:

Apr 4, 2014:

11:59 PM AddingFiles edited by brrian@me.com
How to add new WebCore directory containing headers used in Win WebKit (diff)
10:53 PM Changeset in webkit [166827] by Brian Burg
  • 10 edits in trunk/Source

Web Inspector: hook up probe samples to TimelineAgent's records
https://bugs.webkit.org/show_bug.cgi?id=131127

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/ScriptDebugListener.h: Add a proper forward declaration for ScriptBreakpointAction.

Source/WebCore:

Hook up probe callbacks from ScriptDebugListener so that timeline records are
created for probe samples. The record includes the probe identifier and hit count.
The actual probe evaluation result is sent separately by DebuggerAgent, and
can be looked up in frontend models using the identifier and hit count.

  • inspector/InspectorTimelineAgent.cpp: Only listen to the debug server when recording.

(WebCore::InspectorTimelineAgent::start):
(WebCore::InspectorTimelineAgent::stop):
(WebCore::InspectorTimelineAgent::breakpointActionProbe):
(WebCore::toProtocol):

  • inspector/InspectorTimelineAgent.h:
  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createProbeSampleData):

  • inspector/TimelineRecordFactory.h:
  • inspector/protocol/Timeline.json: Add new enum value.

Source/WebInspectorUI:

  • UserInterface/Controllers/TimelineManager.js: Stub out a case for the ProbeSample record type.

(WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
(WebInspector.TimelineManager.prototype.eventRecorded):

9:52 PM Changeset in webkit [166826] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add missing

symbol export.

8:54 PM Changeset in webkit [166825] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: JSContext inspection Resource search throws exception
https://bugs.webkit.org/show_bug.cgi?id=131253

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-04-04
Reviewed by Timothy Hatcher.

Fail gracefully when none of the supported search backends are available.
In JSContext inspection the DOM and Page agents are unavailable.

  • UserInterface/Views/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel.prototype.performSearch):

8:52 PM Changeset in webkit [166824] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: JSContext inspection - TypeError: null is not an object (evaluating 'contentView.showSourceCode')
https://bugs.webkit.org/show_bug.cgi?id=129857

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-04-04
Reviewed by Timothy Hatcher.

When inspecting a JSContext, there is no main frame resource, so
attempting to show it was resulting in a runtime error.
Instead, check to see if there is a main frame resource, fallback
to selecting the first tree element.

  • UserInterface/Base/Main.js:

(WebInspector.toggleConsoleView):

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):

  • UserInterface/Views/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):

8:17 PM Changeset in webkit [166823] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Streamline cached wrapper lookup for Nodes in the normal world.
<https://webkit.org/b/131249>

Inline the hot path for toJS(..., Node*) for cached wrapper lookups
in the normal world. (Or really, out-of-line the cold path, since
that was preventing the compiler from inlining this function.)

Also have JSDOMGlobalObject cache the "is normal world" flag from
the DOMWrapperWorld so we can avoid the extra load.

Reviewed by Benjamin Poulain.

  • WebCore.exp.in:
  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::JSDOMGlobalObject):

  • bindings/js/JSDOMGlobalObject.h:

(WebCore::JSDOMGlobalObject::worldIsNormal):

  • bindings/js/JSNodeCustom.cpp:

(WebCore::getOutOfLineCachedWrapper):

  • bindings/js/JSNodeCustom.h:

(WebCore::toJS):

8:15 PM Changeset in webkit [166822] by commit-queue@webkit.org
  • 2 edits
    2 deletes in trunk/Source/JavaScriptCore

Unreviewed, rolling out r166820.
https://bugs.webkit.org/show_bug.cgi?id=131256

Broke builds. (Requested by bdash on #webkit).

Reverted changeset:

"WIP for inlining C++. Added a build target to produce llvm
ir."
https://bugs.webkit.org/show_bug.cgi?id=130523
http://trac.webkit.org/changeset/166820

8:03 PM Changeset in webkit [166821] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit2

Unreviewed. iOS Build fix after r166818.

These member variables / declarations are accessed by iOS
in shared code in TelephoneNumberOverlayControllerMac.

  • WebProcess/WebPage/TelephoneNumberOverlayController.h:
7:47 PM Changeset in webkit [166820] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/Source/JavaScriptCore

WIP for inlining C++. Added a build target to produce llvm ir.
https://bugs.webkit.org/show_bug.cgi?id=130523

Patch by Matthew Mirman <mmirman@apple.com> on 2014-04-04
Reviewed by Filip Pizlo.

The llvm ir gets placed JavaScriptCoreRuntimeToLLVMir.build with the extension .o

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • build_index.py: Added.
  • Configurations/CompileRuntimeToLLVMir.xcconfig: Added.
6:24 PM Changeset in webkit [166819] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Rollout r166812, breaks 32-bit Mavericks build.

  • Shared/mac/CookieStorageShim.mm:

(WebKit::CookieStorageShim::initialize):
(-[WKNSURLSessionLocal _copyCookiesForRequestUsingAllAppropriateStorageSemantics:]):

6:10 PM Changeset in webkit [166818] by beidson@apple.com
  • 12 edits
    3 adds in trunk/Source

Show DataDetector UI on scanned phone numbers.
<rdar://problem/16379588> and https://bugs.webkit.org/show_bug.cgi?id=131247

Reviewed by Tim Horton.

Source/WebCore:

Gather the ranges of the scanned telephone numbers and send them up to WK2:

  • editing/Editor.cpp:

(WebCore::Editor::respondToChangedSelection):
(WebCore::Editor::scanSelectionForTelephoneNumbers):
(WebCore::Editor::scanRangeForTelephoneNumbers):

  • editing/Editor.h:

Add client method to receive scanned telephone number ranges:

  • page/EditorClient.h:

(WebCore::EditorClient::selectedTelephoneNumberRangesChanged):

Remove unneeded placeholder UI:

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDocumentMarkers):
(WebCore::InlineTextBox::computeRectForReplacementMarker): Deleted.
(WebCore::InlineTextBox::paintCompositionUnderline): Deleted.

  • rendering/InlineTextBox.h:

(WebCore::InlineTextBox::expansionBehavior): Deleted.

Source/WebKit2:

Add a new PageOverlay for telephone number UI, handle drawing the UI, and
handle mouse clicks on the button in that UI.

Even though clicks are detected, they aren’t acted upon yet.

  • WebProcess/WebCoreSupport/WebEditorClient.cpp:

(WebKit::WebEditorClient::selectedTelephoneNumberRangesChanged): Pass ranges to

the TelephoneNumberController.

  • WebProcess/WebCoreSupport/WebEditorClient.h:

This controller handles installing/removing the PageOverlay, drawing the UI elements,
and handling mouse events while any of the UI elements are shown.
There’s also a clumsy attempt to keep platform-specific parts separated out.

  • WebProcess/WebPage/TelephoneNumberOverlayController.cpp: Added.

(WebKit::TelephoneNumberOverlayController::TelephoneNumberOverlayController):
(WebKit::TelephoneNumberOverlayController::createOverlayIfNeeded):
(WebKit::TelephoneNumberOverlayController::destroyOverlay):
(WebKit::TelephoneNumberOverlayController::pageOverlayDestroyed):
(WebKit::TelephoneNumberOverlayController::willMoveToWebPage):
(WebKit::TelephoneNumberOverlayController::didMoveToWebPage):
(WebKit::TelephoneNumberOverlayController::rectsForDrawing):
(WebKit::TelephoneNumberOverlayController::selectedTelephoneNumberRangesChanged):

  • WebProcess/WebPage/TelephoneNumberOverlayController.h: Added.

(WebKit::TelephoneNumberOverlayController::create):

  • WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm: Added.

(WebKit::TelephoneNumberOverlayController::drawRect):
(WebKit::TelephoneNumberOverlayController::handleTelephoneClick):
(WebKit::TelephoneNumberOverlayController::mouseEvent):
(WebKit::TelephoneNumberOverlayController::clearMouseDownInformation):
(WebKit::TelephoneNumberOverlayController::clearHighlights):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::telephoneNumberOverlayController):

  • WebProcess/WebPage/WebPage.h:
  • WebKit2.xcodeproj/project.pbxproj:
5:37 PM Changeset in webkit [166817] by commit-queue@webkit.org
  • 4 edits in trunk

AX: supportsARIAExpanded should always return true for a few roles: combobox, disclosure.
https://bugs.webkit.org/show_bug.cgi?id=129787

Patch by James Craig <jcraig@apple.com> on 2014-04-04
Reviewed by Chris Fleizach.

Source/WebCore:

Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::supportsARIAExpanded):

LayoutTests:

  • inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
  • inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
4:54 PM Changeset in webkit [166816] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Web Inspector: Log JS Exceptions to System Console if JavaScriptCoreOutputConsoleMessagesToSystemConsole enabled
https://bugs.webkit.org/show_bug.cgi?id=131241

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-04-04
Reviewed by Timothy Hatcher.

  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::reportAPIException):
Log the exception to the system console if system console output is enabled.

4:53 PM Changeset in webkit [166815] by mhock@apple.com
  • 5 edits in trunk/Source/WebKit2

Include Session ID in WebPageCreationParameters.
https://bugs.webkit.org/show_bug.cgi?id=131239

<rdar://problem/16175483>

Reviewed by Sam Weinig.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::creationParameters):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

4:30 PM Changeset in webkit [166814] by akling@apple.com
  • 17 edits in trunk/Source/WebCore

JSGenerateToNativeObject should use fast JSNode/JSElement casts.
<https://webkit.org/b/131245>

Make JSGenerateToNativeObject spit out code using the fast new wrapper
casts for JSNode and JSElement.

This avoids walking the ClassInfo chain in many core functions, e.g:

  • Node.insertBefore()
  • Node.replaceChild()
  • Node.removeChild()
  • Node.appendChild()
  • window.getComputedStyle()

Reviewed by Geoff Garen.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

4:25 PM Changeset in webkit [166813] by zoltan@webkit.org
  • 5 edits in trunk

[CSS Shapes] polygon y-value calc() args serialize incorrectly
https://bugs.webkit.org/show_bug.cgi?id=129842

Reviewed by Bem Jones-Bey.

Source/WebCore:

The code hit ASSERT(isCalculation(value)) in CSSParser::createPrimitiveNumbericValue, because
CSSParser::validUnit had been called on both coordinates, which set the value for m_parsedCalculation,
but only one of the coordinates was calculation value. I reordered calling valudUnit and
createPrimitiveNumbericValue to be called in the correct order on the coordinates.

I added the new test case to parsing-test-utils.js.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseBasicShapePolygon):

LayoutTests:

  • fast/shapes/parsing/parsing-shape-outside-expected.txt:
  • fast/shapes/parsing/parsing-test-utils.js:
4:15 PM Changeset in webkit [166812] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac][WK2] Videos do not have access to session cookies
https://bugs.webkit.org/show_bug.cgi?id=129687

Reviewed by Eric Carlson.

Update the CookieStorageShim to track changes in underlying networking stack.

  • Shared/mac/CookieStorageShim.mm:

(WebKit::CookieStorageShim::initialize):
(-[WKNSURLSessionLocal _getCookieHeadersForTask:completionHandler:]):

4:14 PM Changeset in webkit [166811] by Brian Burg
  • 12 edits
    1 add in trunk

Web Replay: capture and replay wheel events and scroll commands
https://bugs.webkit.org/show_bug.cgi?id=129402

.:

Reviewed by Timothy Hatcher.

  • ManualTests/inspector/replay-wheel-events.html: Added.

Source/WebCore:

Reviewed by Timothy Hatcher and Simon Fraser.

To capture and replay scrolling, the scrolling coordinator will force synchronous
scrolling during capture and replay. If the page is capturing or replaying,
ForceOnMainThread will be added to the coordinator's SynchronousScrollingReasons.

A callback was added to signal that replay session state have changed,
and thus the synchronous scrolling reasons should be recomputed.

Automated replay reftests for scrolling are not included, because they will be
too flaky until more nondeterminism is handled. Specifically, resource loading,
initial focus/active state, and parsing are known blocking issues.

Test: ManualTests/inspector/replay-wheel-events.html

  • page/scrolling/ScrollingCoordinator.cpp: Add a new callback for replay state

session changes. Add ForceOnMainThread if the page's active input cursor is
capturing or replaying.

(WebCore::ScrollingCoordinator::synchronousScrollingReasons):
(WebCore::ScrollingCoordinator::replaySessionStateDidChange): Added.

  • page/scrolling/ScrollingCoordinator.h:
  • platform/PlatformWheelEvent.h:
  • platform/ScrollTypes.h: Add explicit enum storage types so these enums can

be forward-declared. This is necessary to generate enum encode/decode implementations.

  • replay/ReplayController.cpp:

(WebCore::ReplayController::setForceDeterministicSettings): If async scrolling
support is available, tell the scrolling tree to behave deterministically.

  • replay/ReplayInputDispatchMethods.cpp:

(WebCore::HandleWheelEvent::dispatch): Added.
(WebCore::LogicalScrollPage::dispatch): Added.
(WebCore::ScrollPage::dispatch): Added.

  • replay/SerializationMethods.cpp: Introduce more specific macros for values

deserialized to arbitraray lvalues, scalars, RefPtr, and unique_ptr. Fix existing
uses of decode macros.

(JSC::EncodingTraits<NondeterministicInputBase>::encodeValue): Fix macro name.
(JSC::EncodingTraits<KeypressCommand>::encodeValue): Fix macro name.
(JSC::EncodingTraits<PlatformKeyboardEvent>::encodeValue): Fix macro name.
(JSC::EncodingTraits<PlatformMouseEvent>::encodeValue): Fix macro name.
(JSC::PlatformWheelEventCocoa::PlatformWheelEventCocoa): Added. Encapsulate
and initialize data members specific to PLATFORM(COCOA).

(JSC::EncodingTraits<PlatformWheelEvent>::encodeValue): Added.
(JSC::EncodingTraits<PlatformWheelEvent>::decodeValue): Added.

  • replay/SerializationMethods.h:
  • replay/UserInputBridge.cpp: Fill in bridge methods to capture inputs.

(WebCore::UserInputBridge::handleWheelEvent):
(WebCore::UserInputBridge::scrollRecursively):
(WebCore::UserInputBridge::logicalScrollRecursively):

  • replay/WebInputs.json: Add inputs and new enum types.
3:56 PM Changeset in webkit [166810] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

Improve error checking in WebPageProxy::didReceiveEvent
https://bugs.webkit.org/show_bug.cgi?id=131243
<rdar://problem/16529207>

Reviewed by Anders Carlsson.

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didReceiveEvent):
3:46 PM Changeset in webkit [166809] by Joseph Pecoraro
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Mark a flakey test that is failing intermittenly in pixel tests.

  • platform/mac/TestExpectations:

Mark svg/as-image/svg-as-image-canvas.html as flakey.

3:30 PM Changeset in webkit [166808] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Upgrade to SelectorFailsAllSiblings when Child selector is failed.
https://bugs.webkit.org/show_bug.cgi?id=130961

Patch by Yusuke Suzuki <Yusuke Suzuki> on 2014-04-04
Reviewed by Benjamin Poulain.

When Child selector fails, we should resume matching from the closest
Descendant selector.
So upgrading SelectorFailsLocally to SelectorFailsAllSibling at least
to prevent unnecessary direct/indirect adjacent selectors matching.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::matchRecursively):

3:21 PM Changeset in webkit [166807] by Lucas Forschler
  • 7 edits in tags/Safari-538.26.3/Source

Merged r166748.

3:19 PM Changeset in webkit [166806] by Lucas Forschler
  • 2 edits in tags/Safari-538.26.3/Source/WebCore

Merged r166659.

3:17 PM Changeset in webkit [166805] by Lucas Forschler
  • 10 edits
    2 copies in tags/Safari-538.26.3/Source

Merged r166654.

3:13 PM Changeset in webkit [166804] by Lucas Forschler
  • 42 edits
    4 copies in tags/Safari-538.26.3/Source

Merged r166542.

3:08 PM Changeset in webkit [166803] by roger_fong@apple.com
  • 5 edits in trunk/Source/WebCore

Keep track of filtered active attribute/uniform indices per shader program.
https://bugs.webkit.org/show_bug.cgi?id=131235.

Reviewed by Dean Jackson.

Tests: Covered by existing Khronos Conformance tests.
Will create a test to use multiple shader programs in a follow-up patch.

  • html/canvas/WebGLProgram.cpp:

(WebCore::WebGLProgram::cacheActiveAttribLocations): Use getActiveAttribImpl. We do not need to use the filtered list of attributes here.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getUniformLocation): Use filtered list of uniforms for uniform count.

  • platform/graphics/GraphicsContext3D.h: Create a map of shader programs to ActiveShaderSymbolCounts.
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::attachShader):
When attaching or detaching a shader the shader program's active symbols list will change. Clear it so that it will be updated later.
(WebCore::GraphicsContext3D::detachShader): Ditto.
(WebCore::GraphicsContext3D::compileShader): No need to clear symbol counts here.
(WebCore::GraphicsContext3D::getActiveAttrib): getActiveAttrib should only be able to query for attributes in the filtered list.
(WebCore::GraphicsContext3D::getActiveUniform): getActiveUniform should only be able to query for uniforms in the filtered list.
(WebCore::GraphicsContext3D::getNonBuiltInActiveSymbolCount): Return the filtered symbol count for a shader program.

3:06 PM Changeset in webkit [166802] by Lucas Forschler
  • 18 edits in tags/Safari-538.26.3/Source

Merged r166516.

3:03 PM Changeset in webkit [166801] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

More documentation
https://bugs.webkit.org/show_bug.cgi?id=131238

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKNavigation.h:
  • UIProcess/API/Cocoa/WKNavigationDelegate.h:
  • UIProcess/API/Cocoa/WKPreferences.h:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.h:
1:34 PM Changeset in webkit [166800] by commit-queue@webkit.org
  • 9 edits
    2 adds in trunk

[CSS Blending] Add compositing reason for isolation.
https://bugs.webkit.org/show_bug.cgi?id=131153

Patch by Ion Rosca <Ion Rosca> on 2014-04-04
Reviewed by Joseph Pecoraro.

Source/WebCore:

There are 2 reasons involving blend modes for a layer to be composited:
1) the layer has blend mode and has composited descendants: CompositingReasonBlendingWithCompositedDescendants.
2) the layer has to isolate composited blending descendants: CompositingReasonIsolatesCompositedBlendingDescendants

Test: inspector-protocol/layers/layers-blending-compositing-reasons.html

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):

  • inspector/protocol/LayerTree.json:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::reasonsForCompositing):
(WebCore::RenderLayerCompositor::logReasonsForCompositing):

  • rendering/RenderLayerCompositor.h: adding CompositingReasonIsolatesCompositedBlendingDescendants.

Source/WebInspectorUI:

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Views/LayerTreeSidebarPanel.js:

(WebInspector.LayerTreeSidebarPanel.prototype._populateListOfCompositingReasons):

LayoutTests:

  • inspector-protocol/layers/layers-blending-compositing-reasons-expected.txt: Added.
  • inspector-protocol/layers/layers-blending-compositing-reasons.html: Added.
12:57 PM Changeset in webkit [166799] by commit-queue@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

Web Inspector: Provide a way for JSContext console to log to system console
https://bugs.webkit.org/show_bug.cgi?id=131050

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-04-04
Reviewed by Timothy Hatcher.

Applications often re-expose some log -> NSLog functionality.
We already have the capability ourselves, which includes extra
information such as sourceURL:line:column, all arguments instead
of just one argument, and backtrace information on console.trace.
Therefore it would be convenient if developers could just use
the built-in console.log and get rich output in both the inspector
and the console, without writing their own logger.

The logging will be enabled in debug builds by default, and can be enabled
otherwise by setting a user default before creating the first context.

For example, in the application itself:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"JavaScriptCoreOutputConsoleMessagesToSystemConsole"];

Or from outside the application:

shell> defaults write <app-bundle-identifier> JavaScriptCoreOutputConsoleMessagesToSystemConsole -bool YES

  • inspector/JSConsoleClient.h:
  • inspector/JSConsoleClient.cpp:

(Inspector::JSConsoleClient::logToSystemConsole):
(Inspector::JSConsoleClient::setLogToSystemConsole):
(Inspector::JSConsoleClient::initializeLogToSystemConsole):
(Inspector::JSConsoleClient::JSConsoleClient):
Global setting for logging to system console. Enabled on
debug builds, and by a user default on supported platforms.

(Inspector::JSConsoleClient::messageWithTypeAndLevel):
Log to system console when the static setting is enabled.

  • runtime/ConsoleClient.h:
  • runtime/ConsoleClient.cpp:

(JSC::appendURLAndPosition):
(JSC::appendMessagePrefix):
(JSC::ConsoleClient::printConsoleMessage):
(JSC::ConsoleClient::printConsoleMessageWithArguments):
Clean up printing. Build strings and use WTFLogAlways instead of printf
for consistant logging.

  • runtime/ConsoleClient.cpp:

(JSC::ConsoleClient::printConsoleMessageWithArguments):
Clean up printing. If there is no source URL, don't print a leading colon.

11:47 AM AddingFiles edited by Brian Burg
CMake: how to reference headers in new WebCore directories from WebKit2 (diff)
11:37 AM Changeset in webkit [166798] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] kill-old-processes should kill dbus-daemon processes
https://bugs.webkit.org/show_bug.cgi?id=127352

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

  • BuildSlaveSupport/kill-old-processes:

(main):

11:36 AM Changeset in webkit [166797] by Bem Jones-Bey
  • 3 edits in trunk/Source/WebCore

Use more const refs in ShapeOutsideInfo and some misc cleanup
https://bugs.webkit.org/show_bug.cgi?id=131192

Reviewed by Dirk Schulze.

Use const refs for pretty much everything that can't be null. Also
cleanup some code that got a bit messy when ShapeInfo was merged into
ShapeOutsideInfo.

No new tests, no behavior change.

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::shapeToRendererPoint):
(WebCore::ShapeOutsideInfo::shapeToRendererSize):
(WebCore::referenceBox):
(WebCore::ShapeOutsideInfo::setReferenceBoxLogicalSize):
(WebCore::getShapeImageAndRect):
(WebCore::ShapeOutsideInfo::computedShape):
(WebCore::ShapeOutsideInfo::logicalTopOffset):
(WebCore::ShapeOutsideInfo::logicalLeftOffset):

  • rendering/shapes/ShapeOutsideInfo.h:
11:28 AM Changeset in webkit [166796] by Lucas Forschler
  • 5 edits in tags/Safari-538.26.3/Source

Versioning.

11:24 AM Changeset in webkit [166795] by Lucas Forschler
  • 1 copy in tags/Safari-538.26.3

New Tag.

11:16 AM Changeset in webkit [166794] by mhock@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Add radar number.

11:07 AM Changeset in webkit [166793] by ap@apple.com
  • 4 edits
    2 adds in trunk

REGRESSION (r166615): Pressing return doesn’t submit search term at bing.com
https://bugs.webkit.org/show_bug.cgi?id=131212
<rdar://problem/16521788>

Reviewed by Dan Bernstein.

Source/WebCore:

Test: fast/forms/submit-while-you-submit.html

Turns out that m_shouldSubmit can actually be modified in a code path where we can't
directly return the result. I'm not sure if the current behavior is entirely correct
(we have open bugs about submitting forms multiple times), but let's restore it to
pre-r166615 state.

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::HTMLFormElement):
(WebCore::HTMLFormElement::prepareForSubmission):
(WebCore::HTMLFormElement::submit):

  • html/HTMLFormElement.h:

LayoutTests:

  • fast/forms/submit-while-you-submit-expected.txt: Added.
  • fast/forms/submit-while-you-submit.html: Added.
10:56 AM Changeset in webkit [166792] by mhahnenberg@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Use JSCell::indexingType instead of Structure::indexingType wherever possible
https://bugs.webkit.org/show_bug.cgi?id=131230

Reviewed by Mark Lam.

Avoid the indirection through the Structure.

  • bytecode/ArrayAllocationProfile.cpp:

(JSC::ArrayAllocationProfile::updateIndexingType):

  • bytecode/ArrayAllocationProfile.h:

(JSC::ArrayAllocationProfile::selectIndexingType):

  • heap/HeapStatistics.cpp:

(JSC::StorageStatistics::operator()):

  • runtime/ArrayPrototype.cpp:

(JSC::attemptFastSort):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::objectPrototypeIsSane):
(JSC::JSGlobalObject::arrayPrototypeChainIsSane):
(JSC::JSGlobalObject::stringPrototypeChainIsSane):

  • runtime/JSPropertyNameIterator.cpp:

(JSC::JSPropertyNameIterator::create):

10:48 AM Changeset in webkit [166791] by mhock@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Change operation queue width to NSOperationQueueDefaultMaxConcurrentOperationCount.
https://bugs.webkit.org/show_bug.cgi?id=131231

Reviewed by Brady Eidson.

No new tests, no behavior change.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::operationQueueForAsyncClients):

10:35 AM Changeset in webkit [166790] by hmuller@adobe.com
  • 5 edits in trunk/Source/WebCore

[CSS Shapes] Simplify Polygon implementation
https://bugs.webkit.org/show_bug.cgi?id=130975

Reviewed by Andreas Kling.

Only floats can specify shape-outside. For polygon shape-outside values, the problem
of finding the left and right exclusion edges reduces to finding the X axis
limits of the polygon edges that overlap a particular layout line. This is a much
simpler version of the problem that PolygonShape was originally designed for, and so
the implementation can also be simplified. There's more about the new algorithm in
http://hansmuller-webkit.blogspot.com/2014/03/a-simpler-algorithm-for-css-shapes.html.

No new tests, since functionality was only removed.

  • platform/graphics/FloatRect.h:

(WebCore::FloatRect::overlapsYRange):
(WebCore::FloatRect::overlapsXRange):

  • rendering/shapes/PolygonShape.cpp:

(WebCore::OffsetPolygonEdge::xIntercept):
(WebCore::circleXIntercept):
(WebCore::OffsetPolygonEdge::clippedEdgeXRange): X axis extent of the edge clipped to a vertical interval.
(WebCore::clippedCircleXRange): X axis extent of a circle clipped to a vertical interval.
(WebCore::PolygonShape::shapeMarginLogicalBoundingBox):
(WebCore::PolygonShape::getExcludedIntervals):
(WebCore::PolygonShape::buildDisplayPaths):

  • rendering/shapes/PolygonShape.h:

(WebCore::OffsetPolygonEdge::OffsetPolygonEdge):
(WebCore::OffsetPolygonEdge::isWithinYRange):
(WebCore::OffsetPolygonEdge::overlapsYRange):
(WebCore::PolygonShape::PolygonShape):

  • rendering/shapes/ShapeInterval.h:

(WebCore::ShapeInterval::isEmpty):
(WebCore::ShapeInterval::unite):

10:34 AM Changeset in webkit [166789] by Brent Fulgham
  • 1 edit
    4 adds in trunk/LayoutTests

Unreviewed test fix. Rebaseline Mountain Lion scrolling tests
after switching to high-resolution continuous scroll output.

  • platform/mac-mountainlion/fast/scrolling: Added.
  • platform/mac-mountainlion/fast/scrolling/scroll-div-latched-mainframe-expected.txt: Added.
  • platform/mac-mountainlion/fast/scrolling/scroll-iframe-latched-mainframe-expected.txt: Added.
  • platform/mac-mountainlion/fast/scrolling/scroll-select-latched-mainframe-expected.txt: Added.
10:21 AM Changeset in webkit [166788] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Use JSCell::type instead of TypeInfo::type wherever possible
https://bugs.webkit.org/show_bug.cgi?id=131229

Reviewed by Michael Saboff.

Avoid going through the Structure and reifying the TypeInfo.

  • runtime/Executable.h:

(JSC::ExecutableBase::isEvalExecutable):
(JSC::ExecutableBase::isProgramExecutable):

10:14 AM Changeset in webkit [166787] by Bem Jones-Bey
  • 8 edits
    2 adds in trunk

[CSS Shapes] shape-margin in percentage units always computes to 0px
https://bugs.webkit.org/show_bug.cgi?id=130369

Reviewed by Andreas Kling.

Source/WebCore:

Make shape-margin parsing accept percentages and properly compute the
length once the percentage is accepted.

Test: fast/shapes/shape-outside-floats/shape-outside-floats-shape-margin-percent.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createShape):
(WebCore::Shape::createRasterShape):
(WebCore::Shape::createBoxShape):

  • rendering/shapes/Shape.h:
  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::computedShape):

LayoutTests:

Fix parsing test to understand that percentages are allowed for
shape-margin. Also add the layout test from Rebecca Hauck.

  • fast/shapes/parsing/parsing-shape-margin-expected.txt:
  • fast/shapes/parsing/parsing-test-utils.js:
  • fast/shapes/shape-outside-floats/shape-outside-floats-shape-margin-percent-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-shape-margin-percent.html: Added.
9:56 AM Changeset in webkit [166786] by zoltan@webkit.org
  • 9 edits in trunk

[CSS Shapes] Remove outside-shape CSS value
https://bugs.webkit.org/show_bug.cgi?id=131201

Reviewed by Bem Jones-Bey.

Source/WebCore:

Outside-shape is not a valid CSS value anymore. This patch removes it.

No new tests, existing tests are removed.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::shapePropertyValue):

  • css/CSSValueKeywords.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyShape::applyValue):

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::computedShape):
(WebCore::ShapeOutsideInfo::isEnabledFor):

  • rendering/style/ShapeValue.h:

(WebCore::ShapeValue::createOutsideValue): Deleted.

LayoutTests:

  • fast/shapes/parsing/parsing-shape-outside-expected.txt:
  • fast/shapes/parsing/parsing-shape-outside.html:
9:41 AM Changeset in webkit [166785] by krit@webkit.org
  • 3 edits
    3 adds in trunk

Gradient offsets are off if compositing operator != source-over
https://bugs.webkit.org/show_bug.cgi?id=129791

Reviewed by Andreas Kling.

Source/WebCore:

Instead of transforming the path before drawing it on the context,
the whole context should be transformed. This will make the gradient
map correctly to the context space.

Test: fast/canvas/canvas-gradient-on-compositing.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):

LayoutTests:

Test that the gradient space maps correctly to context space after
applying compositing mode.

  • fast/canvas/canvas-gradient-on-compositing-expected.txt: Added.
  • fast/canvas/canvas-gradient-on-compositing.html: Added.
  • fast/canvas/script-tests/canvas-gradient-on-compositing.js: Added.

(dataToArray):
(getPixel):
(pixelShouldBe):

9:30 AM Changeset in webkit [166784] by Alan Bujtas
  • 37 edits
    9 adds in trunk

Subpixel rendering: Move background images to device pixel boundaries.
https://bugs.webkit.org/show_bug.cgi?id=131144

Reviewed by Simon Fraser.

Replace integral snapping with device pixel snapping.
Background image geometry calculation uses LayoutUnits and we snap to device pixels right before painting.

Source/WebCore:

Tests: fast/backgrounds/hidpi-bitmap-background-on-subpixel-position.html

fast/backgrounds/hidpi-bitmap-background-origin-on-subpixel-position.html
fast/backgrounds/hidpi-bitmap-background-repeat-on-subpixel-position.html
fast/backgrounds/hidpi-generated-gradient-background-on-subpixel-position.html

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::setContentsTilePhase):
(WebCore::GraphicsLayer::contentsTilePhase):
(WebCore::GraphicsLayer::setContentsTileSize):
(WebCore::GraphicsLayer::contentsTileSize):

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::setContentsTileSize):
(WebCore::TextureMapperLayer::setContentsTilePhase):

  • platform/graphics/texmap/TextureMapperLayer.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setContentsTileSize):
(WebCore::CoordinatedGraphicsLayer::setContentsTilePhase):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::repaintLayerRectsForImage):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::resolveWidthForRatio):
(WebCore::resolveHeightForRatio):
(WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio):
(WebCore::resolveAgainstIntrinsicRatio):
(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
(WebCore::RenderBoxModelObject::calculateFillTileSize):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase):
(WebCore::getSpace):
(WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
(WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
(WebCore::RenderBoxModelObject::getGeometryForBackgroundImage):
(WebCore::RenderBoxModelObject::paintNinePieceImage):
(WebCore::applySubPixelHeuristicForTileSize): Deleted.

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::spaceSize):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setSpaceSize):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseX):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhaseY):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::getShapeImageAndRect):

LayoutTests:

  • css3/background/background-repeat-round-auto1-expected.html:
  • css3/background/background-repeat-round-auto1.html:
  • css3/background/background-repeat-round-auto2-expected.html:
  • css3/background/background-repeat-round-auto2.html:
  • css3/background/background-repeat-round-border-expected.html:
  • css3/background/background-repeat-round-border.html:
  • css3/background/background-repeat-round-content-expected.html:
  • css3/background/background-repeat-round-content.html:
  • css3/background/background-repeat-space-content-expected.html:
  • css3/background/background-repeat-space-content.html:
  • css3/background/background-repeat-space-padding-expected.html:
  • css3/background/background-repeat-space-padding.html:
  • css3/masking/mask-repeat-round-auto1-expected.html:
  • css3/masking/mask-repeat-round-auto1.html:
  • css3/masking/mask-repeat-round-auto2-expected.html:
  • css3/masking/mask-repeat-round-auto2.html:
  • css3/masking/mask-repeat-round-border-expected.html:
  • css3/masking/mask-repeat-round-border.html:
  • css3/masking/mask-repeat-round-content-expected.html:
  • css3/masking/mask-repeat-round-content.html:
  • css3/masking/mask-repeat-space-content-expected.html:
  • css3/masking/mask-repeat-space-content.html:
  • css3/masking/mask-repeat-space-padding-expected.html:
  • css3/masking/mask-repeat-space-padding.html:
  • fast/backgrounds/hidpi-bitmap-background-on-subpixel-position-expected.html: Added.
  • fast/backgrounds/hidpi-bitmap-background-on-subpixel-position.html: Added.
  • fast/backgrounds/hidpi-bitmap-background-origin-on-subpixel-position-expected.html: Added.
  • fast/backgrounds/hidpi-bitmap-background-origin-on-subpixel-position.html: Added.
  • fast/backgrounds/hidpi-bitmap-background-repeat-on-subpixel-position-expected.html: Added.
  • fast/backgrounds/hidpi-bitmap-background-repeat-on-subpixel-position.html: Added.
  • fast/backgrounds/hidpi-generated-gradient-background-on-subpixel-position-expected.html: Added.
  • fast/backgrounds/hidpi-generated-gradient-background-on-subpixel-position.html: Added.
  • fast/backgrounds/resources/black25x25.png: Added.
9:14 AM Changeset in webkit [166783] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed test fix (crash in debug build).

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::AVFWrapper::legibleOutputCallback): Correct assertion. This
callback is scheduled for the caption queue, not the main queue.

9:12 AM Changeset in webkit [166782] by Brent Fulgham
  • 10 edits in trunk/Source/WebCore

[Win] Load Media Controls js/css from bundle
https://bugs.webkit.org/show_bug.cgi?id=131194

Reviewed by Dean Jackson.

  • DerivedSources.cpp: Remove no-longer generated file.
  • DerivedSources.make: Don't generate unneeded files.
  • WebCore.vcxproj/WebCore.vcxproj: Don't compile unneeded files.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.vcxproj/copyWebCoreResourceFiles.cmd: Copy css/js to resource
  • rendering/RenderThemeSafari.cpp:
  • rendering/RenderThemeSafari.h:
  • rendering/RenderThemeWin.cpp:
  • rendering/RenderThemeWin.h:
8:05 AM Changeset in webkit [166781] by mihnea@adobe.com
  • 5 edits
    4 adds in trunk

[CSSRegions] Region's behaviour not updated when becoming valid from invalid
https://bugs.webkit.org/show_bug.cgi?id=131211

Reviewed by Andrei Bucur.

Source/WebCore:

When a region becomes valid again from invalid, it was part of a dependency cycle and the dependency cycle was broken,
it needs to behave like a valid region again: if it has autoheight then it should compute its height based on the
named flow content, if it has region styling then it should apply the additional style to the flowed content.

Added a new method, updateRegionFlags, that is used to ensure that auto-height and region-styling flags
are properly set in several situations. Checking the behaviour, autoheight or styling, is done only
if the region is valid.

Tests: fast/regions/auto-size/autoheight-region-valid-from-invalid.html

fast/regions/region-styling/region-withstyling-valid-from-invalid.html

  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::updateRegionFlags):
(WebCore::RenderNamedFlowFragment::styleDidChange):
(WebCore::RenderNamedFlowFragment::updateRegionHasAutoLogicalHeightFlag):
(WebCore::RenderNamedFlowFragment::checkRegionStyle):
(WebCore::RenderNamedFlowFragment::attachRegion):
(WebCore::RenderNamedFlowFragment::detachRegion):

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::addFragmentToNamedFlowThread):

LayoutTests:

Add tests for auto-height and region styling behaviour.

  • fast/regions/auto-size/autoheight-region-valid-from-invalid-expected.html: Added.
  • fast/regions/auto-size/autoheight-region-valid-from-invalid.html: Added.
  • fast/regions/region-styling/region-withstyling-valid-from-invalid-expected.html: Added.
  • fast/regions/region-styling/region-withstyling-valid-from-invalid.html: Added.
7:03 AM Changeset in webkit [166780] by rakuco@webkit.org
  • 4 edits
    1 delete in trunk

[GTK][CMake] Remove FindXt.cmake.
https://bugs.webkit.org/show_bug.cgi?id=131227

Reviewed by Anders Carlsson.

.:

Xt is already detected by CMake's own FindX11.cmake, so there is no need to keep a custom FindXt.cmake around.

  • Source/cmake/FindXt.cmake: Removed.
  • Source/cmake/OptionsGTK.cmake:

Source/WebCore:

  • PlatformGTK.cmake: Use FindX11.cmake's Xt variables instead of our own FindXt.cmake's ones.
5:35 AM Changeset in webkit [166779] by rakuco@webkit.org
  • 6 edits in trunk/Source/WebKit2

[GTK][CMake] Use a stricter check for the HAVE_GTK_UNIX_PRINTING define
https://bugs.webkit.org/show_bug.cgi?id=131226

Reviewed by Carlos Garcia Campos.

#cmakedefine01 will define HAVE_GTK_UNIX_PRINTING to 0 instead of #undef'ining it. This
means that simple checks like #ifdef HAVE_GTK_UNIX_PRINTING will always be true -- we
actually need to check if the value is set to 1, which is precisely what the HAVE() macro
does, so start using it.

  • UIProcess/API/gtk/WebKitPrintOperation.cpp:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::print):

  • WebProcess/WebPage/gtk/PrinterListGtk.cpp:
  • WebProcess/WebPage/gtk/PrinterListGtk.h:
  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:

(WebKit::WebPrintOperationGtk::create):

3:53 AM Changeset in webkit [166778] by svillar@igalia.com
  • 4 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Updated expectations for tests crashing in Debug bots.

  • platform/gtk-wk1/TestExpectations:
  • platform/gtk-wk2/TestExpectations:
  • platform/gtk/TestExpectations:
3:27 AM WebKitGTK/2.2.x edited by vjaquez@igalia.com
the --track argument is not needed in recent versions of git / git-svn (diff)
3:24 AM Changeset in webkit [166777] by tgergely.u-szeged@partner.samsung.com
  • 2 edits in trunk

[EFL] Build error due to changed path of generated js files.
https://bugs.webkit.org/show_bug.cgi?id=131215

Reviewed by Gyuyoung Kim.

r166648 fixed the generation of some .js files on GTK. Due to some
changes in the paths it causes a build error on EFL.

  • Source/PlatformEfl.cmake: Replaced path for two derived source files.
1:40 AM WebKitGTK/StartHacking edited by Andres Gomez
Updating stable release dependencies (diff)
1:35 AM WebKitGTK edited by Andres Gomez
Updating the stable release link (diff)
1:11 AM Changeset in webkit [166776] by Andres Gomez
  • 3 edits in trunk/Tools

[Win] Update obsolete packages in cygwin
https://bugs.webkit.org/show_bug.cgi?id=126264

Reviewed by Brent Fulgham.

Removed "apache" and "minires" as the first has been replaced by
"lighttpd" and the second is now integrated into
"cygwin". Replaced the transitional and now obsolete "gcc" package
with "gcc-g++" and ensure that "python" stays at version "2.6.8"
since the newer version available is "2.7.3" which breaks the
build due to some funniness with environment variable handling.

  • CygwinDownloader/cygwin-downloader.py:
  • CygwinDownloader/cygwin-downloader.zip:
12:54 AM Changeset in webkit [166775] by bshafiei@apple.com
  • 6 edits in tags/Safari-538.27.2/Source/WebKit2

Merged r166767.

12:50 AM Changeset in webkit [166774] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.27.2/Source

Versioning.

12:48 AM Changeset in webkit [166773] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.27.2

New tag.

12:18 AM Changeset in webkit [166772] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.27.1/Source/WebKit2

Merged r166769.

12:10 AM Changeset in webkit [166771] by bshafiei@apple.com
  • 5 edits in tags/Safari-538.27.1/Source

Versioning.

12:07 AM Changeset in webkit [166770] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.27.1

New tag.

Apr 3, 2014:

11:52 PM Changeset in webkit [166769] by Chris Fleizach
  • 5 edits in trunk/Source/WebKit2

AX: iOS does not need to spin the run loop on synchronous message calls
https://bugs.webkit.org/show_bug.cgi?id=131195

Reviewed by Dan Bernstein.

On the Mac platform, we need to spin the run loop while making synchronous calls to avoid VoiceOver hanging.
On iOS, this not needed due to architectural differences.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::synchronousMessagesShouldSpinRunLoop):

  • WebProcess/WebPage/WebPage.h:
11:26 PM Changeset in webkit [166768] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/efl

[EFL] Should flush and render layers after the root layer is changed.
https://bugs.webkit.org/show_bug.cgi?id=131108

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

If there is no update event after root layer is changed, old webview can be shown.
Because the syncTimer is not being triggered by root layer change.
We should flush and render layers by starting syncTimer when the root layer is changed.

  • WebCoreSupport/AcceleratedCompositingContextEfl.cpp:

(WebCore::AcceleratedCompositingContext::setRootGraphicsLayer): Add m_syncTimer.startOneShot(0);

  • WebCoreSupport/AcceleratedCompositingContextEfl.h:

(WebCore::AcceleratedCompositingContext::setRootGraphicsLayer): Move implementation from header to source.

10:23 PM Changeset in webkit [166767] by aestes@apple.com
  • 6 edits in trunk/Source/WebKit2

[Cocoa] Add additional WKWebView SPI for clients that interact with PDFs
https://bugs.webkit.org/show_bug.cgi?id=131206

Reviewed by Dan Bernstein.

Add _dataForDisplayedPDF and _suggestedFilenameForDisplayedPDF to
support clients that wish to save a copy of the currently displayed PDF
to disk. Ultimately we should support this use case by exposing something
like WKWebViewContentProvider, but for now let's do something simple.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didFinishLoadingDataForCustomContentProviderWithSuggestedFilename:data:]):
(-[WKWebView _dataForDisplayedPDF]):
(-[WKWebView _suggestedFilenameForDisplayedPDF]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/Cocoa/WKWebViewContentProvider.h:
  • UIProcess/ios/WKPDFView.h:
  • UIProcess/ios/WKPDFView.mm:

(-[WKPDFView documentData]):
(-[WKPDFView suggestedFilename]):
(-[WKPDFView web_setContentProviderData:suggestedFilename:]):

10:04 PM Changeset in webkit [166766] by eunmi15.lee@samsung.com
  • 6 edits in trunk/Source/WebKit2

[EFL][WK2] Add API to get contents size of current web page.
https://bugs.webkit.org/show_bug.cgi?id=131148

Reviewed by Gyuyoung Kim.

Application can want to get contents size of current web page without
monitoring "contents,size,changed" signal, so I add API to get contents
size directly.

  • UIProcess/API/C/CoordinatedGraphics/WKView.cpp:

(WKViewGetContentsSize): WK API to get contents size from WebView.

  • UIProcess/API/C/CoordinatedGraphics/WKView.h:
  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_contents_size_get): new API to get contents size.

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(TEST_F):

9:42 PM Changeset in webkit [166765] by akling@apple.com
  • 6 edits
    1 add in trunk/Source/WebCore

Fast-path for casting JS wrappers to JSElement.
<https://webkit.org/b/131210>

Add an extended JSType for Element wrappers so we can avoid walking
the ClassInfo chain in those bindings as well.

Generalized the code to select a casting helper in the bindings
generator into a function (GetCastingHelperForThisObject.)
Updated all the jsDynamicCast call sites to go through this, in case
there's an optimized cast available for the desired type.

Reviewed by Benjamin Poulain.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMWrapper.h:
  • bindings/js/JSElementCustom.h: Added.

(WebCore::jsElementCast):

  • bindings/js/JSNodeCustom.h:

(WebCore::jsNodeCast):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GetCastingHelperForThisObject):
(GenerateImplementation):

  • dom/Element.idl:
9:23 PM Changeset in webkit [166764] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix.

  • WebKit.vcxproj/WebKit.sln: Make sure we don't generate the

WebInspectorUI before the generated JS is ready.

9:11 PM Changeset in webkit [166763] by jinwoo7.song@samsung.com
  • 3 edits
    1 delete in trunk/Source/WebKit2

[WK2][EFL] Use template method in creating NativeWebMouseEvent
https://bugs.webkit.org/show_bug.cgi?id=131152

Reviewed by Anders Carlsson.

There are three EFL mouse events, such as Evas_Event_Mouse_Down, Evas_Event_Mouse_Up,
and Evas_Event_Mouse_Move. They can be defined as a template method.

  • PlatformEfl.cmake: Remove NativeWebMouseEventEfl.cpp
  • Shared/NativeWebMouseEvent.h:

(WebKit::NativeWebMouseEvent::NativeWebMouseEvent): Add a template method.

  • Shared/efl/NativeWebMouseEventEfl.cpp: Removed.
9:08 PM Changeset in webkit [166762] by Joseph Pecoraro
  • 3 edits in trunk/LayoutTests

compositing/tiling/rotated-tiled-* tests failing on bots
https://bugs.webkit.org/show_bug.cgi?id=131207

Unreviewed rebaseline of tests after r166748.

  • platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
  • platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
8:24 PM Changeset in webkit [166761] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Rebaseline a bindings test.

  • bindings/scripts/test/JS/JSTestNode.h:

(WebCore::JSTestNode::createStructure):

7:29 PM Changeset in webkit [166760] by akling@apple.com
  • 7 edits in trunk/Source

Fast-path for casting JS wrappers to JSNode.
<https://webkit.org/b/131196>

Source/JavaScriptCore:

Allow code outside of JSC (well, WebCore) to extend the JSType spectrum
a little bit. We do this by exposing a LastJSCObjectType constant so
WebCore can encode its own wrapper types after that.

Reviewed by Mark Hahnenberg and Geoff Garen.

  • runtime/JSType.h:

Added LastJSCObjectType for use by WebCore.

  • runtime/JSObject.h:

(JSC::JSObject::isVariableObject):

Updated since this can no longer assume that types >= VariableObjectType
are all variable objects.

Source/WebCore:

Add a way to quickly determine that a given JSObject is a JSNode.
This lets us avoid walking the ClassInfo chain in the DOM bindings
for WebCore::Node.

Reviewed by Mark Hahnenberg and Geoff Garen.

  • bindings/js/JSDOMWrapper.h:

Added a JSNodeType constant that extends beyond JSC::JSType.

  • bindings/js/JSNodeCustom.h:

(WebCore::jsNodeCast):

Added. Fast cast from JSValue to JSNode.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):

Generate code that uses jsNodeCast in Node interfaces.

7:24 PM Changeset in webkit [166759] by mhahnenberg@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

All Heap::writeBarriers should be inline
https://bugs.webkit.org/show_bug.cgi?id=131197

Reviewed by Mark Lam.

One is in a JSCellInlines.h, another is in Heap.cpp. These are all critical
enough and small enough to belong in HeapInlines.h. Also added the proper
ENABLE(GGC) ifdefs to minimize the cost of C++ barriers for !ENABLE(GGC) builds.

  • heap/Heap.cpp:

(JSC::Heap::writeBarrier): Deleted.

  • heap/Heap.h:
  • heap/HeapInlines.h:

(JSC::Heap::writeBarrier):

  • runtime/JSCellInlines.h:

(JSC::Heap::writeBarrier): Deleted.

6:56 PM Changeset in webkit [166758] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style: Improve warnings on Objective-C @property syntax
https://bugs.webkit.org/show_bug.cgi?id=131200

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-04-03
Reviewed by Dan Bernstein.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_spacing):
(CppChecker):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTest.test_spacing_in_objective_c_properties):

6:24 PM Changeset in webkit [166757] by Simon Fraser
  • 7 edits in trunk/LayoutTests

Rebaseline some tests after r166748. These tests now correctly
report a contentsScale.

  • platform/mac-wk2/compositing/tiling/rotated-tiled-clamped-expected.txt:
  • platform/mac-wk2/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
  • platform/mac-wk2/compositing/tiling/tile-cache-zoomed-expected.txt:
  • platform/mac-wk2/tiled-drawing/tile-size-slow-zoomed-expected.txt:
  • platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-expected.txt:
  • platform/mac-wk2/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:
5:50 PM Changeset in webkit [166756] by commit-queue@webkit.org
  • 7 edits in trunk/Source/JavaScriptCore

Web Inspector: JSContext inspection provide a way to opt-out of including Native Call Stacks in Exception traces reported to Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=131186

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-04-03
Reviewed by Geoffrey Garen.

  • API/JSContextPrivate.h:
  • API/JSContext.mm:

(-[JSContext _includesNativeCallStackWhenReportingExceptions]):
(-[JSContext _setIncludesNativeCallStackWhenReportingExceptions:]):
JSContext ObjC SPI to opt-out of including native call stacks in exceptions.

  • API/JSContextRefPrivate.h:
  • API/JSContextRef.cpp:

(JSGlobalContextGetIncludesNativeCallStackWhenReportingExceptions):
(JSGlobalContextSetIncludesNativeCallStackWhenReportingExceptions):
JSContext C SPI to opt-out of including native call stacks in exceptions.

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::reportAPIException):
Only include the native call stack if the setting is enabled. It is enabled by default.

4:55 PM Changeset in webkit [166755] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Add WKWebView documentation
https://bugs.webkit.org/show_bug.cgi?id=131190

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKBackForwardListItem.h:
  • UIProcess/API/Cocoa/WKNavigationAction.h:
  • UIProcess/API/Cocoa/WKWebView.h:
4:51 PM Changeset in webkit [166754] by msaboff@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION: PCE.js is 20x slower in WebKit2 because timers are throttled
https://bugs.webkit.org/show_bug.cgi?id=131189

Reviewed by Geoffrey Garen.

Elevate the priority of all WebKit2 service processes on iOS, not just the network process.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToService):

4:28 PM Changeset in webkit [166753] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

ASSERT(m_children.isEmpty()) in PlatformCALayerRemote::removeAllSublayers() on time.com
https://bugs.webkit.org/show_bug.cgi?id=131187

Reviewed by Maciej Stachowiak.

After a call to PlatformCALayerRemote::adoptSublayers() when a layer
toggles between tiled and non-tiled, we'd assert in PlatformCALayerRemote::removeAllSublayers()
that not all sublayers had been removed (there was one with a null superlayer).

Fix by ensuring that we don't copy over custom subviews when adoptSublayers()
is called; they'll get added as we update children anyway.

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::adoptSublayers):

4:04 PM Changeset in webkit [166752] by Bem Jones-Bey
  • 7 edits
    2 deletes in trunk/Source/WebCore

Merge ShapeInfo & ShapeOutsideInfo now that ShapeInsideInfo is no more
https://bugs.webkit.org/show_bug.cgi?id=131180

Reviewed by Andreas Kling.

Now that ShapeInsideInfo is gone, having a class hiearachy and
templates doesn't make any sense. As a first step to cleaning up the
code, this remove ShapeInfo and puts all of its functionality into
ShapeOutsideInfo.

No new tests, no behavior change.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/shapes/ShapeInfo.cpp: Removed.
  • rendering/shapes/ShapeInfo.h: Removed.
  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::computedShapePhysicalBoundingBox):
(WebCore::ShapeOutsideInfo::shapeToRendererPoint):
(WebCore::ShapeOutsideInfo::shapeToRendererSize):
(WebCore::referenceBox):
(WebCore::ShapeOutsideInfo::setReferenceBoxLogicalSize):
(WebCore::checkShapeImageOrigin):
(WebCore::getShapeImageAndRect):
(WebCore::getShapeImageMarginRect):
(WebCore::ShapeOutsideInfo::computedShape):
(WebCore::borderBeforeInWritingMode):
(WebCore::borderAndPaddingBeforeInWritingMode):
(WebCore::ShapeOutsideInfo::logicalTopOffset):
(WebCore::borderStartWithStyleForWritingMode):
(WebCore::borderAndPaddingStartWithStyleForWritingMode):
(WebCore::ShapeOutsideInfo::logicalLeftOffset):
(WebCore::ShapeOutsideInfo::computeSegmentsForLine):
(WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):
(WebCore::ShapeOutsideInfo::shapeValue): Deleted.
(WebCore::ShapeOutsideInfo::styleForWritingMode): Deleted.

  • rendering/shapes/ShapeOutsideInfo.h:
3:56 PM Changeset in webkit [166751] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Fix over-retain in SharedBufferCF's createCFData().
<https://webkit.org/b/131139>

Constructing the return type (RetainPtr<CFDataRef>) will also retain
the pointee, so this would end up leaking.

Reviewed by Anders Carlsson.

  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::createCFData):

3:55 PM Changeset in webkit [166750] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebKit2

[iOS][WK2] Add SPI to handle animated resize
https://bugs.webkit.org/show_bug.cgi?id=131141

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

Set up a basic API to handle animated resize. The code does not do much at the moment,
it is mostly to have an interface we can implement later.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView setFrame:]):
(-[WKWebView setBounds:]):
(-[WKWebView _didCommitLayerTree:WebKit::]):
(-[WKWebView _frameOrBoundsChangedFrom:]):
(-[WKWebView _beginAnimatedResizeToSize:obscuredInsets:minimumLayoutSizeOverride:]):
(-[WKWebView _endAnimatedResize]):
(-[WKWebView _frameOrBoundsChanged]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
3:47 PM Changeset in webkit [166749] by Brent Fulgham
  • 5 edits in trunk

Source/WebCore: [Win] Turn on ENABLE_CSS_GRID_LAYOUT
https://bugs.webkit.org/show_bug.cgi?id=131147

Reviewed by Simon Fraser.

Covered by existing fast/css/getComputedStyle tests.

  • css/CSSAllInOne.cpp: Add CSSGridLineNamesValue.cpp when building

with ENABLE(CSS_GRID_LAYOUT)

WebKitLibraries: [Win] Enable the CSS_GRID_LAYOUT feature.
https://bugs.webkit.org/show_bug.cgi?id=131147

Reviewed by Simon Fraser.

Just like the CANVAS_PATH feature, this seems to have been
overlooked when it was turned on for other ports.

  • win/tools/vsprops/FeatureDefines.props:
  • win/tools/vsprops/FeatureDefinesCairo.props:
3:44 PM Changeset in webkit [166748] by Simon Fraser
  • 7 edits in trunk/Source

Source/WebCore: Pixelated WebView when display is changed from hiDPI to regularDPI
https://bugs.webkit.org/show_bug.cgi?id=131185

Reviewed by Tim Horton.

r166309 added a short circuit in GraphicsLayerCA::updateContentsScale()
when the scale didn't change. This broke layers which expected to
unconditionally receive a setContentsScale(), namely the WebTiledBackingLayer
which owns the TileController. WebTiledBackingLayer overrode -setContentsScale:
to pass the scale down to the TileController; however, it didn't override
-contentsScale, and it mucked with the scale passed in.

Fix by having setting and fetching contentsScale on a WebTiledBackingLayer
work as expected. Also rename the TileController functions to mirror the
CALayer functions better.

  • WebCore.exp.in:
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateContentsScale):

  • platform/graphics/ca/mac/TileController.h:
  • platform/graphics/ca/mac/TileController.mm:

(WebCore::TileController::TileController):
(WebCore::TileController::contentsScale):
(WebCore::TileController::setContentsScale):
(WebCore::TileController::scale): Deleted.
(WebCore::TileController::setScale): Deleted.

  • platform/graphics/ca/mac/WebTiledBackingLayer.mm:

(-[WebTiledBackingLayer setContentsScale:]):
(-[WebTiledBackingLayer contentsScale]):

Source/WebKit2: Pixelated WebView when display is changed from hiDPI to regularDPI
https://bugs.webkit.org/show_bug.cgi?id=131185
<rdar://problem/16512184&16503714>

Reviewed by Tim Horton.

TileController function was renamed.

  • WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:

(WebKit::PlatformCALayerRemoteTiledBacking::setContentsScale):

3:34 PM Changeset in webkit [166747] by zoltan@webkit.org
  • 2 edits in trunk/Source/WebCore

[CSS Shapes] LineSegment logicalLeft and logicalRight members should be floats
https://bugs.webkit.org/show_bug.cgi?id=116160

Reviewed by Andreas Kling.

LineSegment edges should not have been changed to LayoutUnit. These are
used only as floats. I modified them back to floats.

No new tests are needed, no behavior change.

  • rendering/shapes/Shape.h:
2:44 PM Changeset in webkit [166746] by krit@webkit.org
  • 3 edits
    3 adds in trunk

[CG] Canvas lineDashOffset does not handle negative numbers correctly
https://bugs.webkit.org/show_bug.cgi?id=80560

Reviewed by Dean Jackson.

Source/WebCore:

CG ignores negative dash array offsets. Check if we have a negative offset, if yes
then calculate the length of the dash array and modulo the dash array offset with
the dash array length.

Test: fast/canvas/canvas-negative-lineDashOffset.html

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::setLineDash):

LayoutTests:

Test correct rendering of negative offset for Canvas dash arrays.

  • fast/canvas/canvas-negative-lineDashOffset-expected.txt: Added.
  • fast/canvas/canvas-negative-lineDashOffset.html: Added.
  • fast/canvas/script-tests/canvas-negative-lineDashOffset.js: Added.

(dataToArray):
(getPixel):
(pixelShouldBe):

2:40 PM Changeset in webkit [166745] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION: fast/css/relative-positioned-block-nested-with-inline-parent-multiple-descendant-blocks-dynamic.html broken
https://bugs.webkit.org/show_bug.cgi?id=131183

Reviewed by Simon Fraser.

Revert the loop to continue rather than breaking when an invalid block is encountered.
This is what it used to do if it encountered a non-continuation block.

  • rendering/RenderInline.cpp:

(WebCore::updateStyleOfAnonymousBlockContinuations):

2:36 PM Changeset in webkit [166744] by weinig@apple.com
  • 9 edits
    7 moves in trunk/Source

[WebKit2] Promote user script SPI to API
https://bugs.webkit.org/show_bug.cgi?id=131181

Reviewed by Anders Carlsson.

Source/WebKit/mac:

  • MigrateHeaders.make:

Source/WebKit2:

  • UIProcess/API/Cocoa/WKScriptMessage.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptMessage.h.
  • UIProcess/API/Cocoa/WKScriptMessage.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptMessage.mm.

(-[WKScriptMessage scriptWorld]):
(-[_WKScriptMessage scriptWorld]): Deleted.

  • UIProcess/API/Cocoa/WKScriptMessageHandler.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptMessageHandler.h.
  • UIProcess/API/Cocoa/WKScriptWorld.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptWorld.h.
  • UIProcess/API/Cocoa/WKScriptWorld.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKScriptWorld.mm.

(+[WKScriptWorld defaultWorld]):
(+[_WKScriptWorld defaultWorld]): Deleted.

  • UIProcess/API/Cocoa/WKUserContentController.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKUserContentController.h.
  • UIProcess/API/Cocoa/WKUserContentController.mm: Copied from Source/WebKit2/UIProcess/API/Cocoa/_WKUserContentController.mm.

(-[WKUserContentController addScriptMessageHandler:name:world:]):
(-[WKUserContentController removeScriptMessageHandlerForName:world:]):
(-[_WKUserContentController addScriptMessageHandler:name:world:]): Deleted.
(-[_WKUserContentController removeScriptMessageHandlerForName:world:]): Deleted.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.h:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration userContentController]):
(-[WKWebViewConfiguration setUserContentController:]):
(-[WKWebViewConfiguration _userContentController]): Deleted.
(-[WKWebViewConfiguration _setUserContentController:]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/_WKScriptMessage.h: Removed.
  • UIProcess/API/Cocoa/_WKScriptMessage.mm: Removed.
  • UIProcess/API/Cocoa/_WKScriptMessageHandler.h: Removed.
  • UIProcess/API/Cocoa/_WKScriptWorld.h: Removed.
  • UIProcess/API/Cocoa/_WKScriptWorld.mm: Removed.
  • UIProcess/API/Cocoa/_WKUserContentController.h: Removed.
  • UIProcess/API/Cocoa/_WKUserContentController.mm: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
2:11 PM Changeset in webkit [166743] by santoshbit2007@gmail.com
  • 2 edits in trunk/Tools

Unreviewed. Moving my name to committer section accidently

added in reviewer section.

  • Scripts/webkitpy/common/config/contributors.json:
2:03 PM Changeset in webkit [166742] by andersca@apple.com
  • 5 edits in trunk

Make download policy decisions SPI for now
https://bugs.webkit.org/show_bug.cgi?id=131179

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKNavigationDelegate.h:

(NS_ENUM):

  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:

(NS_ENUM):

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::PolicyClient::decidePolicyForResponse):

1:57 PM Changeset in webkit [166741] by Simon Fraser
  • 14 edits in trunk/Source

Harden FilterOperation type casting
https://bugs.webkit.org/show_bug.cgi?id=131142

Reviewed by Sam Weinig.

DefaultFilterOperation had an error-prone behavior where it set the base class
OperationType to the type of some other filter class, but overrode isDefault().
This made it very easy to write incorrect code that casted incorrectly based on type().

Fix by making adding a DEFAULT filter operation type, and storing the represented
type on DefaultFilterOperation().

Also remove the OperationType argument for constructors of FilterOperations that
can only be of one type, to avoid possible mistakes.

Make the type cast macros a bit more normal, and use them in a few places.

Fixed PlatformCAFiltersMac to handle the default filter case more cleanly.

Source/WebCore:

  • WebCore.exp.in:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForFilter):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::createFilterOperations):

  • platform/graphics/ca/PlatformCAFilters.h:
  • platform/graphics/ca/mac/PlatformCAFiltersMac.mm:

(PlatformCAFilters::filterValueForOperation):
(PlatformCAFilters::colorMatrixValueForFilter):

  • platform/graphics/filters/FilterOperation.cpp:

(WebCore::DefaultFilterOperation::operator==):
(WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
(WebCore::ReferenceFilterOperation::operator==):
(WebCore::BlurFilterOperation::operator==):
(WebCore::BlurFilterOperation::blend):
(WebCore::DropShadowFilterOperation::operator==):
(WebCore::DropShadowFilterOperation::blend):

  • platform/graphics/filters/FilterOperation.h:

(WebCore::FilterOperation::blend):
(WebCore::FilterOperation::type):
(WebCore::FilterOperation::isBasicColorMatrixFilterOperation):
(WebCore::FilterOperation::isBasicComponentTransferFilterOperation):
(WebCore::FilterOperation::isSameType):
(WebCore::DefaultFilterOperation::create):
(WebCore::DefaultFilterOperation::representedType):
(WebCore::DefaultFilterOperation::DefaultFilterOperation):
(WebCore::ReferenceFilterOperation::create):
(WebCore::BlurFilterOperation::create):
(WebCore::BlurFilterOperation::BlurFilterOperation):
(WebCore::DropShadowFilterOperation::create):
(WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
(WebCore::FilterOperation::isDefault): Deleted.

  • platform/graphics/filters/FilterOperations.cpp:

(WebCore::FilterOperations::outsets):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::build):

  • rendering/RenderLayerFilterInfo.cpp:

(WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):

Source/WebKit2:

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::encodeFilterOperation):
(IPC::decodeFilterOperation):

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTextStream::operator<<):

1:56 PM Changeset in webkit [166740] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Stop throwing away the Document's StyleResolver on a timer.
<https://webkit.org/b/131168>
<rdar://problem/15227045>

This was causing some unfortunate pauses when returning to idle pages
after a long-ish time. There's already a mechanism in place that will
throw these away if the system comes under memory pressure.

Reviewed by Sam Weinig.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::styleForKeyframe):
(WebCore::StyleResolver::pseudoStyleForElement):
(WebCore::StyleResolver::styleForPage):

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::didAccessStyleResolver): Deleted.
(WebCore::Document::styleResolverThrowawayTimerFired): Deleted.

  • dom/Document.h:
1:46 PM Changeset in webkit [166739] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Assertion under RenderLayerCompositor::updateScrollCoordinatedLayer on time.com on iOS
https://bugs.webkit.org/show_bug.cgi?id=131150

Reviewed by Beth Dakin.

When calling updateScrollCoordinatedLayer() under styleChanged, we haven't done
layout yet so our composting layers haven't been hooked together. Don't try
to add a zero nodeID to the map in this case.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):

1:14 PM Changeset in webkit [166738] by santoshbit2007@gmail.com
  • 2 edits in trunk/Tools
1:04 PM ASanWebKit edited by ddkilzer@webkit.org
Add Step 11 for filing security bugs. Added nice descriptions for raw … (diff)
12:37 PM ASanWebKit edited by thakis@chromium.org
(diff)
12:24 PM Changeset in webkit [166737] by Lucas Forschler
  • 2 edits in tags/Safari-538.26.2/Source/WebKit2

Merged r166735.

12:22 PM Changeset in webkit [166736] by hyatt@apple.com
  • 3 edits
    2 adds in trunk

Continuations casting issue.
https://bugs.webkit.org/show_bug.cgi?id=130057
<rdar://problem/16283406>

Reviewed by Simon Fraser.

Source/WebCore:

The code to update relative positioned anonymous block continuations should not
have assumed that all siblings were RenderBlocks. Make the code smarter and
make it bail when it hits something that isn't part of the block continuation
chain.

Added fast/block/continuation-crash.html

  • rendering/RenderInline.cpp:

(WebCore::updateStyleOfAnonymousBlockContinuations):

LayoutTests:

  • fast/block/continuation-crash-expected.txt: Added.
  • fast/block/continuation-crash.html: Added.
12:17 PM ASanWebKit created by ddkilzer@webkit.org
Initial pass of instructions (UNTESTED) for building WebKit with clang …
12:01 PM Changeset in webkit [166735] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (Async text input): Controls become unresponsive to mouse events
https://bugs.webkit.org/show_bug.cgi?id=131176
<rdar://problem/16507932>

Reviewed by Tim Horton.

  • UIProcess/API/mac/WKView.mm: (NATIVE_MOUSE_EVENT_HANDLER):

Don't confuse event handling machinery by sending events to WebProcess twice.

11:59 AM Changeset in webkit [166734] by Lucas Forschler
  • 2 edits in tags/Safari-538.26.2/Source/WebCore

Merged r166714.

11:34 AM Changeset in webkit [166733] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

WKWebView should always have a UIDelegate, even when closed
https://bugs.webkit.org/show_bug.cgi?id=131174
<rdar://problem/16389248>

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView UIDelegate]):
(-[WKWebView setUIDelegate:]):

  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::UIDelegate):
(WebKit::UIDelegate::~UIDelegate):
(WebKit::UIDelegate::createUIClient):
(WebKit::UIDelegate::delegate):
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::UIClient):
(WebKit::UIDelegate::UIClient::~UIClient):
(WebKit::UIDelegate::UIClient::createNewPage):
(WebKit::UIDelegate::UIClient::runJavaScriptAlert):
(WebKit::UIDelegate::UIClient::runJavaScriptConfirm):
(WebKit::UIDelegate::UIClient::runJavaScriptPrompt):
(WebKit::UIDelegate::UIClient::actionsForElement):
(WebKit::UIClient::UIClient): Deleted.
(WebKit::UIClient::~UIClient): Deleted.
(WebKit::UIClient::delegate): Deleted.
(WebKit::UIClient::setDelegate): Deleted.
(WebKit::UIClient::createNewPage): Deleted.
(WebKit::UIClient::runJavaScriptAlert): Deleted.
(WebKit::UIClient::runJavaScriptConfirm): Deleted.
(WebKit::UIClient::runJavaScriptPrompt): Deleted.
(WebKit::UIClient::actionsForElement): Deleted.

  • UIProcess/ios/WKActionSheetAssistant.mm:
11:25 AM Changeset in webkit [166732] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix bit rot in ARMv7 JIT probe mechanism.
<https://webkit.org/b/131167>

Reviewed by Geoffrey Garen.

  1. The macro assembler does not support pushing the SP register. Worked around this by pushing the LR register as a placeholder, and then writing the original SP value to that slot.
  2. The CPUState field in the ProbeContext needs to be aligned on a 4 byte boundary, not an 8 byte boundary.
  • assembler/MacroAssemblerARMv7.cpp:

(JSC::MacroAssemblerARMv7::probe):

  • jit/JITStubsARMv7.h:
11:06 AM Changeset in webkit [166731] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Document WKNavigationAction and WKNavigationResponse
https://bugs.webkit.org/show_bug.cgi?id=131138

Reviewed by Sam Weinig.

  • UIProcess/API/Cocoa/WKFrameInfo.h:
  • UIProcess/API/Cocoa/WKNavigationAction.h:
  • UIProcess/API/Cocoa/WKNavigationResponse.h:
10:56 AM Changeset in webkit [166730] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Make actionsForElement a proper API::UIClient member function
https://bugs.webkit.org/show_bug.cgi?id=131171

Reviewed by Sam Weinig.

  • UIProcess/API/APIUIClient.h:

(API::UIClient::actionsForElement):

  • UIProcess/Cocoa/UIDelegate.h:
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIClient::actionsForElement):

  • UIProcess/ios/WKActionSheetAssistant.mm:

(-[WKActionSheetAssistant showImageSheet]):
(-[WKActionSheetAssistant showLinkSheet]):

10:54 AM Changeset in webkit [166729] by Lucas Forschler
  • 1 edit in trunk/Tools/BuildSlaveSupport/build.webkit.org-config/config.json

config.json fix.

10:31 AM WebKitGTK/StartHacking edited by Andres Gomez
Updated the disk space used for a complete epiphany build (diff)
10:29 AM WikiStart edited by ddkilzer@webkit.org
Add link to page about WebKit and the Clang Address Sanitizer (ASan) (diff)
9:55 AM Changeset in webkit [166728] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[WK2] Fix !ENABLE(BLOB) build
https://bugs.webkit.org/show_bug.cgi?id=131164

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-04-03
Reviewed by Alexey Proskuryakov.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didClose):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:
9:49 AM Changeset in webkit [166727] by zoltan@webkit.org
  • 4 edits in trunk/LayoutTests

[WebInspector] inspector/dom/highlight-shape-outside-margin.html is failing
https://bugs.webkit.org/show_bug.cgi?id=131126

Reviewed by Timothy Hatcher.

I updated the test, so it works with the new testing framework. I included the shape path results in the test,
so we won't run into rounding problems, and we don't have that big test set, which would require an expected
result generation. We can add it later, if we extend the test set. The logic is similar to the non margin test case.

  • TestExpectations:
  • inspector/dom/highlight-shape-outside-margin-expected.txt:
  • inspector/dom/highlight-shape-outside-margin.html:
9:48 AM Changeset in webkit [166726] by Bem Jones-Bey
  • 3 edits
    2 adds in trunk

[CSS Shapes] CRASH with calc() value args in inset round
https://bugs.webkit.org/show_bug.cgi?id=129816

Reviewed by Andreas Kling.

Source/WebCore:

The code to parse the inset rounded corners was adding the parser
value arguments to a temporary CSSParserValueList. Unfortunately,
CSSParserValueList expects to own the values it contains, and it frees
the values it contains when the list is destroyed. This was a problem
because the values are owned by the CSSParserValueList passed in to
parseInsetRoundedCorners, and thus the calc's argument list would get
double freed, resulting in a crash. This patch fixes this by using a
Vector to hold the pointers instead.

Test: fast/shapes/shape-outside-floats/shape-outside-inset-round-calc-crash.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseInsetRoundedCorners):

LayoutTests:

Simple test to make sure that using calc in the round argument of an
inset doesn't cause a crash.

  • fast/shapes/shape-outside-floats/shape-outside-inset-round-calc-crash-expected.txt: Added.
  • fast/shapes/shape-outside-floats/shape-outside-inset-round-calc-crash.html: Added.
9:47 AM Changeset in webkit [166725] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix iOS build.

  • UIProcess/ios/WKActionSheetAssistant.mm:
9:39 AM Changeset in webkit [166724] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

WebKitPerfMonitor: There should be a way to add all metrics of a suite without also adding subtests
https://bugs.webkit.org/show_bug.cgi?id=131157

Reviewed by Andreas Kling.

Split "all metrics" into all metrics of a test suite and all subtests of the suite.
This allows, for example, adding all metrics such as Arithmetic and Geometric for
a given test suite without also adding its subtests.

  • public/index.html:

(init.showCharts):
(init):

9:36 AM Changeset in webkit [166723] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

WebKitPerfMonitor: Tooltips cannot be pinned after using browser's back button
https://bugs.webkit.org/show_bug.cgi?id=131155

Reviewed by Andreas Kling.

The bug was caused by Chart.attach binding event listeners on plot container on each call.
This resulted in the click event handler toggling the visiblity of the tooltip twice upon
click when attach() has been called even number of times, keeping the tooltip invisible.

Fixed the bug by extracting the code to bind event listeners outside of Chart.attach as
a separate function, bindPlotEventHandlers, and calling it exactly once when Chart.attach
is called for the first time.

  • public/index.html:

(Chart.attach):
(Chart..bindPlotEventHandlers):

9:29 AM Changeset in webkit [166722] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Leaving a streaming movie by going "Back" keeps playing the audio
https://bugs.webkit.org/show_bug.cgi?id=131149

Reviewed by Eric Carlson.

When stopping a HTMLMediaElement, call userCancelledLoad() (which clears the
MediaPlayer) only after calling setPausedInternal() (which pauses the MediaPlayer).
Previously, and in the reverse order, the MediaPlayer would never get a chance to pause
before being cleared. There is an underlying error with the QTKit media engine which
is causing it to continue playing even after its last reference is released, but this
does fix the symptom of playback continuing even after stopping.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::stop):

9:26 AM Changeset in webkit [166721] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[EME] Crash when passing a NULL initData to MediaKeys.createSession()
https://bugs.webkit.org/show_bug.cgi?id=131156

Reviewed by Eric Carlson.

Update the checks at the start of createSession() to match the current spec, notably
bailing early if the initData parameter is NULL or empty.

  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::createSession):

9:03 AM Changeset in webkit [166720] by andersca@apple.com
  • 3 edits
    2 moves in trunk/Source/WebKit2

Rename UIClient.{h, mm} to UIDelegate.{h, mm}.

Rubber-stamped by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm:
  • UIProcess/Cocoa/UIDelegate.h: Renamed from Source/WebKit2/UIProcess/Cocoa/UIClient.h.
  • UIProcess/Cocoa/UIDelegate.mm: Renamed from Source/WebKit2/UIProcess/Cocoa/UIClient.mm.
  • WebKit2.xcodeproj/project.pbxproj:
8:46 AM Changeset in webkit [166719] by eric.carlson@apple.com
  • 10 edits
    1 move in trunk/Source/WebCore

[iOS] add missing QuickTime plug-in replacement API
https://bugs.webkit.org/show_bug.cgi?id=131042

Reviewed by Dean Jackson.

Rename QuickTimePluginReplacement.cpp to QuickTimePluginReplacement.mm to make it possible
to use the ObjC JSC API.

  • Modules/plugins/QuickTimePluginReplacement.cpp:
  • Modules/plugins/QuickTimePluginReplacement.h:

(WebCore::QuickTimePluginReplacement::parentElement):

  • Modules/plugins/QuickTimePluginReplacement.idl:
  • Modules/plugins/QuickTimePluginReplacement.js:

(Replacement.prototype.timedMetadataUpdates): Implement.
(Replacement.prototype.accessLog): Ditto.
(Replacement.prototype.errorLog): Ditto.

Use the JSC ObjC API to create a JavaScript object from an array of AVMetadataItems. The
JSC ObjC API supports basic NSTypes, but an AVMetadataItem can also contain NSData which
the existing plug-in returns as base-64 encoded data, so create wrappers for NSDictionary
and NSArray.

  • Modules/plugins/QuickTimePluginReplacement.mm: Copied from Source/WebCore/Modules/plugins/QuickTimePluginReplacement.cpp.

(WebCore::QuickTimePluginReplacement::ensureReplacementScriptInjected): Disambiguate with "JSC::"
(WebCore::QuickTimePluginReplacement::installReplacement): Ditto.
(WebCore::jsValueWithDataInContext): Create JSValue* from NSData.
(WebCore::jsValueWithArrayInContext): Create JSValue* from NSArray.
(WebCore::jsValueWithDictionaryInContext): Create JSValue* from NSDictionary.
(WebCore::jsValueWithValueInContext): Create JSValue* from basic NSTypes plus AVMetadataItem

and NSData.

(WebCore::jsValueWithAVMetadataItemInContext): Create JSValue* from AVMetadataItem.
(WebCore::JSQuickTimePluginReplacement::timedMetaData): Script interface.
(WebCore::JSQuickTimePluginReplacement::accessLog): Ditto.
(WebCore::JSQuickTimePluginReplacement::errorLog): Ditto.

  • WebCore.xcodeproj/project.pbxproj: QuickTimePluginReplacement.cpp -> QuickTimePluginReplacement.mm.
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::timedMetadata): iOS only accessor.
(WebCore::MediaPlayer::accessLog): Ditto.
(WebCore::MediaPlayer::errorLog): Ditto.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::timedMetadata):
(WebCore::MediaPlayerPrivateAVFoundationObjC::accessLog):
(WebCore::MediaPlayerPrivateAVFoundationObjC::errorLog):
(WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):
(WebCore::itemKVOProperties):
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):

8:33 AM Changeset in webkit [166718] by commit-queue@webkit.org
  • 6 edits in trunk

[EFL][WK2] Replacing zoom functionality of MiniBrowser from scale_set to page_zoom_set.
https://bugs.webkit.org/show_bug.cgi?id=130391

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-04-03
Reviewed by Gyuyoung Kim.

Source/WebKit2:

Change the implementation of the zoom functionality from ewk_view_scale_set
to ewk_view_page_zoom_set. Adding to the API functions: ewk_view_page_zoom_set and
ewk_view_page_zoom_get to call appropriate WK functions.

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_page_zoom_set):
(ewk_view_page_zoom_get):

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(TEST_F):

Tools:

Change the implementation of the zoom functionality from ewk_view_scale_set
to ewk_view_page_zoom_set.

  • MiniBrowser/efl/main.c:
7:50 AM Changeset in webkit [166717] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

[CSS Grid Layout] Make sure grid element's shrink-to-fit behavior is correct
https://bugs.webkit.org/show_bug.cgi?id=103473

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-04-03
Reviewed by Sergio Villar Senin.

Added a new Layout Test to verify the shrink-to-fit behavior works as expected
for out-of-flow positioned grid elements.

  • fast/css-grid-layout/grid-element-shrink-to-fit-expected.html: Added.
  • fast/css-grid-layout/grid-element-shrink-to-fit.html: Added.
7:37 AM Changeset in webkit [166716] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

ARMv7 compare32() should not use TST to do CMP's job.
<https://webkit.org/b/131146>

Reviewed by Geoffrey Garen.

The ARMv7 implementation of "compare32(RegisterID left, TrustedImm32 right)"
was using "tst reg, reg" to implement "cmp reg, #0". Unfortunately, the tst
instruction doesn't set the Overflow (V) flag and this results in random
results depending on whether there was a preceeding instruction that did set
the Overflow (V) flag. This issue was causing emscripten-cube2hash to run
with a lot of OSR exits where not expected as well as producing wrong results.

The fix is to use "cmp reg, #0" to do the job properly.

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::compare32):

6:27 AM Changeset in webkit [166715] by abucur@adobe.com
  • 5 edits in trunk/Source/WebCore

[CSS Regions] Include region range information when printing the render tree
https://bugs.webkit.org/show_bug.cgi?id=131159

Reviewed by Mihnea Ovidenie.

With this change showRenderObject() will print the region range for objects inside
a flow thread. The format is:
Rs: <startRegion> Re: <endRegion>

Because this can be called anytime during debugging, it's necessary to disable the
current flow thread caching to prevent using the wrong flow thread for an object.

Tests: No new tests, no functional change.

  • rendering/RenderFlowThread.cpp:

(WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler):
(WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler):

  • rendering/RenderFlowThread.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::showRegionsInformation): Added.
(WebCore::RenderObject::showRenderObject):

  • rendering/RenderObject.h:
3:46 AM Changeset in webkit [166714] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

RenderSnapshottedPlugIn::paint should use iterator for traversal.
https://bugs.webkit.org/show_bug.cgi?id=131158

Reviewed by Dean Jackson.

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::paint):

3:28 AM Changeset in webkit [166713] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

[EFL] Enable CSS JIT again, it works fine after r166666.

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-04-03
Reviewed by Csaba Osztrogonác.

  • wtf/Platform.h:
3:15 AM Changeset in webkit [166712] by svillar@igalia.com
  • 19 edits
    2 adds in trunk

[CSS Grid Layout] <string> not allowed in grid-{area | row | column} syntax
https://bugs.webkit.org/show_bug.cgi?id=129713

Reviewed by Darin Adler.

Source/WebCore:

Grid positioning properties no longer accept <string> values for
named grid lines as they did in previous versions of the specs. They
were first replaced by <ident> and since the beginning of 2014 they
should only accept <custom-ident>.

Updated the parser and the style resolver to this new syntax. Also
updated the tests accordingly.

Test: fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child.html

  • css/CSSParser.cpp:

(WebCore::isValidCustomIdent): New function that checks that the
<custom-ident> is valid.
(WebCore::CSSParser::parseIntegerOrCustomIdentFromGridPosition):
(WebCore::CSSParser::parseGridPosition):
(WebCore::CSSParser::parseIntegerOrStringFromGridPosition):
Replaced by WebCore::CSSParser::parseIntegerOrCustomIdentFromGridPosition.

  • css/CSSParser.h:
  • css/StyleResolver.cpp:

(WebCore::createGridPosition):

LayoutTests:

Replaced <string> by <custom-ident> in the tests. Also added a new
one to check that children are properly layed out after changes in
the grid line names.

  • fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child-expected.txt: Added.
  • fast/css-grid-layout/grid-container-change-named-grid-lines-recompute-child.html: Added.
  • fast/css-grid-layout/grid-item-area-get-set.html:
  • fast/css-grid-layout/grid-item-bad-named-area-auto-placement.html:
  • fast/css-grid-layout/grid-item-bad-resolution-double-span.html:
  • fast/css-grid-layout/grid-item-column-row-get-set-expected.txt:
  • fast/css-grid-layout/grid-item-column-row-get-set.html:
  • fast/css-grid-layout/grid-item-end-after-get-set-expected.txt:
  • fast/css-grid-layout/grid-item-end-after-get-set.html:
  • fast/css-grid-layout/grid-item-named-grid-area-resolution.html:
  • fast/css-grid-layout/grid-item-named-grid-line-resolution-expected.txt:
  • fast/css-grid-layout/grid-item-named-grid-line-resolution.html:
  • fast/css-grid-layout/grid-item-negative-position-resolution.html:
  • fast/css-grid-layout/grid-item-position-changed-dynamic.html:
  • fast/css-grid-layout/grid-item-start-before-get-set-expected.txt:
  • fast/css-grid-layout/grid-item-start-before-get-set.html:
2:55 AM Changeset in webkit [166711] by Manuel Rego Casasnovas
  • 3 edits in trunk/Tools

[webkitpy] perf profiler does not understand --call-graph argument
https://bugs.webkit.org/show_bug.cgi?id=131132

Reviewed by Ryosuke Niwa.

New versions of perf profiler have changed the argument from --call-graph to -g.

  • Scripts/webkitpy/common/system/profiler.py:

(Perf.wrapper_arguments): Use -g instead of --call-graph.

  • Scripts/webkitpy/port/driver_unittest.py:

(DriverTest.test_profiler_as_wrapper): Update test accordingly.

2:39 AM Changeset in webkit [166710] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Add EFL WK2 performance bot to build.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=131034

Fix after r166707, use "Perf" instead of "perf" for consistency.

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-04-03
Reviewed by Csaba Osztrogonác.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
2:24 AM Changeset in webkit [166709] by matthew_hanson@apple.com
  • 5 edits in tags/Safari-538.26.2/Source

Versioning.

2:23 AM Changeset in webkit [166708] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

[GTK][Cmake] Enable CSS JIT
https://bugs.webkit.org/show_bug.cgi?id=131022

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-04-03
Reviewed by Martin Robinson.

  • wtf/Platform.h: Enable CSS JIT for GTK port.
2:19 AM Changeset in webkit [166707] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Add EFL WK2 performance bot to build.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=131034

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-04-03
Reviewed by Csaba Osztrogonác.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
1:51 AM Changeset in webkit [166706] by Antti Koivisto
  • 3 edits
    2 adds in trunk

Crash after mutating after pseudo style
https://bugs.webkit.org/show_bug.cgi?id=130881

Reviewed by Andreas Kling.

Source/WebCore:

Test: fast/css/pseudo-after-crash.html

  • style/StyleResolveTree.cpp:

(WebCore::Style::updateBeforeOrAfterPseudoElement):

Invalidate the cached renderer for pseudo elements too.


(WebCore::Style::needsPseudeElement): Deleted.

Fix spelling.

LayoutTests:

  • fast/css/pseudo-after-crash-expected.txt: Added.
  • fast/css/pseudo-after-crash.html: Added.
1:34 AM Changeset in webkit [166705] by matthew_hanson@apple.com
  • 5 edits in tags/Safari-538.20/Source

Versioning.

1:30 AM Changeset in webkit [166704] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.26.2

New Tag.

1:17 AM Changeset in webkit [166703] by Chris Fleizach
  • 6 edits in trunk

AX: AccessibilityObject::children() returns invalid results sometimes
https://bugs.webkit.org/show_bug.cgi?id=130563

Reviewed by Joseph Pecoraro.

Source/WebCore:

Allow the DOM inspector to handle AX objects that do not have Node equivalents
(e.g. anonymous renderers).

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::processAccessibilityChildren):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/InspectorDOMAgent.h:

LayoutTests:

  • inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
12:27 AM Changeset in webkit [166702] by rakuco@webkit.org
  • 2 edits in trunk

[GTK][CMake] Look for glx.h in OPENGL_INCLUDE_DIR.
https://bugs.webkit.org/show_bug.cgi?id=131095

Reviewed by Martin Robinson.

One needs to take into account OpenGL's include directory found via
find_package() when looking for glx.h, since if the former is a
non-standard location the latter will also be. If this is not it is
possible that OpenGL is found but GLX support is not properly detected.

  • Source/cmake/OptionsGTK.cmake:
12:08 AM Changeset in webkit [166701] by rniwa@webkit.org
  • 4 edits in trunk/Websites/perf.webkit.org

WebKitPerfMonitor: Tooltips can be cut off at the top
https://bugs.webkit.org/show_bug.cgi?id=130960

Reviewed by Andreas Kling.

  • public/common.css:

(#title): Removed the gradients, box shadows, and border from the header.
(#title h1): Reduce the font size.
(#title ul): Use line-height to vertically align the navigation bar instead of specifying a padding atop.

  • public/index.html:

(.tooltop:before): Added. Identical to .tooltop:after except it's upside down (arrow facing up).
(.tooltip.inverted:before): Show the arrow facing up when .inverted is set.
(.tooltip.inverted:before): Hide the arrow facing down when .inverted is set.

  • public/js/helper-classes.js:

(Tooltip.show): Show the tooltip below the point if placing it above the point results in the top of the
tooltip extending above y=0.

12:07 AM Changeset in webkit [166700] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

WebKitPerfMonitor: Y-axis adjustment is too aggressive
https://bugs.webkit.org/show_bug.cgi?id=130937

Reviewed by Andreas Kling.

Previously, adjusted min. and max. were defined as the two standards deviations away from EWMA of measured
results. This had two major problems:

  1. Two standard deviations can be too small to show the confidence interval for results.
  2. Sometimes baseline and target can be more than two standards deviations away.

Fixed the bug by completely rewriting the algorithm to compute the interval. Instead of blindly using two
standard deviations as margins, we keep adding quarter the standard deviation on each side until more than 90%
of points lie in the interval or we've expanded 4 standard deviations. Once this condition is met, we reduce
the margin on each side separately to reduce the empty space on either side.

A more rigorous approach would involve computing least squared value of results with respect to intervals
but that seems like an overkill for a simple UI problem; it's also computationally expensive.

  • public/index.html:

(Chart..adjustedIntervalForRun): Extracted from computeYAxisBoundsToFitLines.
(Chart..computeYAxisBoundsToFitLines): Compute the min. and max. adjusted intervals out of adjusted intervals
for each runs (current, baseline, and target) so that at least one point from each set of results is shown.
We wouldn't see the difference between measured values versus baseline and target values otherwise.

  • public/js/helper-classes.js:

(PerfTestResult.unscaledConfidenceIntervalDelta): Returns the default value if the confidence
interval delta cannot be computed.
(PerfTestResult.isInUnscaledInterval): Added. Returns true iff the confidence intervals lies
within the given interval.
(PerfTestRuns..filteredResults): Extracted from unscaledMeansForAllResults now that PerfTestRuns.min and
PerfTestRuns.max need to use both mean and confidence interval delta for each result.
(PerfTestRuns..unscaledMeansForAllResults):
(PerfTestRuns.min): Take the confidence interval delta into account.
(PerfTestRuns.max): Ditto.
(PerfTestRuns.countResults): Returns the number of results in the given time frame (> minTime).
(PerfTestRuns.countResultsInInterval): Returns the number of results whose confidence interval lie within the
given interval.
(PerfTestRuns.exponentialMovingArithmeticMean): Fixed the typo so that it actually computes the EWMA.

Note: See TracTimeline for information about the timeline view.