Timeline



Feb 28, 2014:

10:13 PM Changeset in webkit [164911] by benjamin@webkit.org
  • 4 edits
    4 adds in trunk

Caller saved registers can be accidentally discarded when clearing the local stack
https://bugs.webkit.org/show_bug.cgi?id=129532

Reviewed by Andreas Kling.

Source/WebCore:

Tests: fast/selectors/tree-modifying-case-insensitive-selectors.html

fast/selectors/tree-modifying-selectors.html

StackAllocator::discard() no longer make sense now that we can use caller saved regsiter.
We should instead discard everything up to the beginning of the local stack.

  • cssjit/SelectorCompiler.cpp:

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

  • cssjit/StackAllocator.h:

(WebCore::StackAllocator::popAndDiscardUpTo):

LayoutTests:

  • fast/selectors/tree-modifying-case-insensitive-selectors.html: Added.
  • fast/selectors/tree-modifying-selectors.html: Added.
9:36 PM Changeset in webkit [164910] by Simon Fraser
  • 4 edits in trunk/Source/WebKit2

[iOS] Assertions and bad behavior when zooming into an iframe containing apple.com
https://bugs.webkit.org/show_bug.cgi?id=129537

Reviewed by Benjamin Poulain.

When building RemoteLayerTreeTransactions, the ordering of setting created
layers and doing the recursive tree walk was wrong, such that we failed
to noticed layers created during the recursiveBuildTransaction().

Also harden the UI-side code against Obj-C exceptions thrown when layers
are missing.

  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

(WebKit::RemoteLayerTreePropertyApplier::applyProperties): Assert when
children are not found, and protect against Obj-C exceptions.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::LayerCreationProperties::LayerCreationProperties):
Initialize the members.

  • WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::buildTransaction): Do the recursive walk
before setting created and destroyed layers, since the walk can create
layers (especially when swapping into tiled layers).

9:34 PM Changeset in webkit [164909] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Source/WebKit2

Fix WebKit2 build after r164890
https://bugs.webkit.org/show_bug.cgi?id=129533

Reviewed by Simon Fraser.

LayerRepresentation.h is included to WebPageProxy.h in r164890
but it is not used in non Mac or iOS port.

  • UIProcess/WebPageProxy.h:
9:31 PM Changeset in webkit [164908] by mitz@apple.com
  • 4 edits
    1 delete in trunk/Source/WebKit

[Mac] Remove MailQuirksUserScript.js
https://bugs.webkit.org/show_bug.cgi?id=129536

Reviewed by Andy Estes.

../WebKit:

  • WebKit.xcodeproj/project.pbxproj: Removed reference to the file.

../WebKit/mac:

  • Configurations/WebKit.xcconfig: Removed from EXCLUDED_SOURCE_FILE_NAMES_iphoneos.
  • Misc/MailQuirksUserScript.js: Removed. This file has been unused since r147447.
9:14 PM Changeset in webkit [164907] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] FrameLoader has a NULL m_progressTracker when initialized with initForSynthesizedDocument()
https://bugs.webkit.org/show_bug.cgi?id=129534

Reviewed by Simon Fraser.

No new tests because TestWebKitAPI does not yet support iOS. See <http://webkit.org/b/129535>.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::initForSynthesizedDocument): Create a FrameProgressTracker.

9:05 PM Changeset in webkit [164906] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] Extract _data->_thumbnailView checks into a helper function
https://bugs.webkit.org/show_bug.cgi?id=129517

Reviewed by Sam Weinig.

  • UIProcess/API/mac/WKView.mm:

(-[WKView shouldIgnoreMouseEvents]):
(-[WKView scrollWheel:]):
(-[WKView mouseMoved:]):
(-[WKView mouseDown:]):
(-[WKView mouseUp:]):
(-[WKView mouseDragged:]):

8:10 PM Changeset in webkit [164905] by psolanki@apple.com
  • 4 edits in trunk/Source/WebKit2

[iOS][WebKit2] Don't use any of the mach exception handling code on iOS
https://bugs.webkit.org/show_bug.cgi?id=129516

Reviewed by Sam Weinig.

This code is not used on iOS after my fix in r164883. We can just move it all under
!PLATFORM(IOS).

  • Platform/IPC/Connection.h:
  • Platform/IPC/mac/ConnectionMac.cpp:

(IPC::Connection::platformInvalidate):
(IPC::Connection::platformInitialize):
(IPC::Connection::open):

  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::didFinishLaunching):

8:01 PM Changeset in webkit [164904] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

JSObject::findPropertyHashEntry() should take VM instead of ExecState.
<https://webkit.org/b/129529>

Callers already have VM in a local, and findPropertyHashEntry() only
uses the VM, no need to go all the way through ExecState.

Reviewed by Geoffrey Garen.

  • runtime/JSObject.cpp:

(JSC::JSObject::put):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::findPropertyHashEntry):

  • runtime/JSObject.h:
7:11 PM Changeset in webkit [164903] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

ASSERT(isMainThread()) hit under platformUserPreferredLanguages() with WebKit1 and WebKit2 in the same process
https://bugs.webkit.org/show_bug.cgi?id=129528

Reviewed by Andreas Kling.

  • platform/mac/Language.mm:

(WebCore::preferredLanguagesMutex):
(WebCore::preferredLanguages):
(+[WebLanguageChangeObserver languagePreferencesDidChange:]):
(WebCore::httpStyleLanguageCode):
(WebCore::platformUserPreferredLanguages):
Add a mutex and do an isolated copy of the strings to allow this function to be called from multiple threads.

6:51 PM Changeset in webkit [164902] by commit-queue@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

Deadlock remotely inspecting iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=129511

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

Avoid synchronous setup. Do it asynchronously, and let
the RemoteInspector singleton know later if it failed.

  • inspector/remote/RemoteInspector.h:
  • inspector/remote/RemoteInspector.mm:

(Inspector::RemoteInspector::setupFailed):

  • inspector/remote/RemoteInspectorDebuggableConnection.h:
  • inspector/remote/RemoteInspectorDebuggableConnection.mm:

(Inspector::RemoteInspectorDebuggableConnection::setup):

6:05 PM Changeset in webkit [164901] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Crash at ebay.com when viewing auction items at com.apple.WebCore: WebCore::GraphicsContext3D::getExtensions + 10
https://bugs.webkit.org/show_bug.cgi?id=129523

Reviewed by Simon Fraser.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getSupportedExtensions): Early return if the
context is pending policy resolution.

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

Micro-optimize JSNodeOwner::isReachableFromOpaqueRoots().
<https://webkit.org/b/129518>

Only do image and audio element specific checks for element nodes.
Time spent in here goes from 0.8% to 0.5% on DYEB.

Reviewed by Benjamin Poulain.

  • bindings/js/JSNodeCustom.cpp:

(WebCore::isReachableFromDOM):

5:07 PM Changeset in webkit [164899] by bshafiei@apple.com
  • 1 copy in tags/Safari-537.75.4

New tag.

5:06 PM Changeset in webkit [164898] by bshafiei@apple.com
  • 5 edits in branches/safari-537.75-branch/Source

Versioning.

4:45 PM Changeset in webkit [164897] by ggaren@apple.com
  • 2 edits in trunk/Source/WebCore

JSC Assertion failure every time I start Safari (r164846)
https://bugs.webkit.org/show_bug.cgi?id=129510

Reviewed by Mark Hahnenberg.

Take the lock before allocating objects because afterward is too late.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::windowScriptNPObject):
(WebCore::ScriptController::jsObjectForPluginElement):

4:42 PM Changeset in webkit [164896] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: ASSERT in WebCore::JSDOMWindowBase::supportsRichSourceInfo inspecting iOS
https://bugs.webkit.org/show_bug.cgi?id=129512

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-28
Reviewed by Simon Fraser.

  • page/PageDebuggable.cpp:

(WebCore::PageDebuggable::connect):
(WebCore::PageDebuggable::disconnect):

4:40 PM Changeset in webkit [164895] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

VisitedLinkStore should be able to invalidate link styles for associated pages
https://bugs.webkit.org/show_bug.cgi?id=129515

Reviewed by Dan Bernstein.

  • page/Page.cpp:

(WebCore::Page::Page):
Add the VisitedLinkStore if we have one.

(WebCore::Page::~Page):
Remove the VisitedLinkStore if we have one.

  • page/VisitedLinkStore.cpp:

(WebCore::VisitedLinkStore::~VisitedLinkStore):
Assert that we don't have any pages.

(WebCore::VisitedLinkStore::addPage):
Add the page to the set.

(WebCore::VisitedLinkStore::removePage):
Remove the page from the set.

(WebCore::VisitedLinkStore::invalidateStylesForAllLinks):
Traverse all the pages and invalidate the style for all links.

(WebCore::VisitedLinkStore::invalidateStylesForLink):
Traverse all the pages and invalidate the style for a given link.

  • page/VisitedLinkStore.h:

Add new members.

4:27 PM Changeset in webkit [164894] by Brent Fulgham
  • 2 edits in branches/safari-537.75-branch/WebKitLibraries

Unreviewed build fix.
<rdar://problem/16197002>

  • win/tools/vsprops/debugsuffix.props: Set OFFICIAL_BUILD=1 for DebugSuffix target, since this

is the official debug analog to the Production build target.

4:22 PM Changeset in webkit [164893] by Brent Fulgham
  • 7 edits in branches/safari-537.75-branch/Source

Unreviewed build fix.
<rdar://problem/16197002>

Source/JavaScriptCore:

slash from path names, as this was causing multiple arguments
to be concatenated together (the whitespace was getting escaped
by the slash.)

Source/WebCore:

  • WebCore.vcxproj/WebCore.proj: Remove trailing

slash from path names, as this was causing multiple arguments
to be concatenated together (the whitespace was getting escaped
by the slash.)

Source/WTF:

  • WTF.vcxproj/WTF.proj: Remove trailing

slash from path names, as this was causing multiple arguments
to be concatenated together (the whitespace was getting escaped
by the slash.)

  • WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:

Check for presence of RC_XBS in environment, and exit since
this logic is not needed for 'official' builds.

4:04 PM WebKitGTK/2.4.x edited by desrt@desrt.ca
geoclue2 is on track (diff)
3:55 PM Changeset in webkit [164892] by benjamin@webkit.org
  • 4 edits in trunk/Source

Source/WebCore: [iOS][WK2] highlight rects should never big bigger than the view
https://bugs.webkit.org/show_bug.cgi?id=129472

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-28
Reviewed by Enrica Casucci.

  • WebCore.exp.in:

Source/WebKit2: [iOS][WK2] highlight rects should never big bigger than the view
https://bugs.webkit.org/show_bug.cgi?id=129472
<rdar://problem/15673655>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-28
Reviewed by Enrica Casucci.

The unobscuredRect on WebPageProxy is the "true" view rect as seen by the user.
Use that to constrain our highlight rects.

  • UIProcess/ios/WKContentViewInteraction.mm:

(highlightedQuadsFitInRect):
(-[WKContentView _didGetTapHighlightForRequest:color:WebCore::quads:WebCore::topLeftRadius:WebCore::topRightRadius:WebCore::bottomLeftRadius:WebCore::bottomRightRadius:WebCore::]):

3:38 PM Changeset in webkit [164891] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Turn off margin tiles on iOS
https://bugs.webkit.org/show_bug.cgi?id=129509
-and corresponding-
<rdar://problem/16200383>

Reviewed by Simon Fraser.

  • page/FrameView.cpp:

(WebCore::FrameView::needsExtendedBackgroundRectForPainting):

3:36 PM Changeset in webkit [164890] by Simon Fraser
  • 18 edits
    2 copies
    1 move
    2 adds in trunk/Source/WebKit2

Make UIViews for compositing layers in the UI process on iOS
https://bugs.webkit.org/show_bug.cgi?id=129508

Reviewed by Sam Weinig.

In order to parent UIScrollViews for -webkit-overflow-scrolling:touch,
we need to use UIViews in the compositing layer hierarchy on iOS.

Make much of the code that currently uses CALayers layer-or-view
agnostic by using a typedef LayerOrView.

Fix RemoteLayerTreePropertyApplier to apply properties to UIViews
or CALayers; on iOS, we need both paths because we have to set properties
on CALayer for remotely hosted content.

Add iOS-specific implementation files for RemoteLayerTreeHost and RemoteScrollingCoordinatorProxy,
since these need to see the UIView implementation. WebVideoFullscreenManagerProxy.cpp also needs
to be come a .mm file.

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

(-[UIView setSubviews:]):
(WebKit::applyPropertiesToLayer):
(WebKit::RemoteLayerTreePropertyApplier::applyProperties):

  • UIProcess/Cocoa/LayerRepresentation.h: Copied from Source/WebKit2/Shared/mac/RemoteLayerTreePropertyApplier.h.

(asLayer):

  • UIProcess/PageClient.h:
  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:
  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/LayerRepresentation.mm: Copied from Source/WebKit2/Shared/mac/RemoteLayerTreePropertyApplier.h.

(asLayer):

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

(WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
(WebKit::PageClientImpl::acceleratedCompositingRootLayer):

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm: Added.

(+[WKTransformView layerClass]):
(-[WKRemoteView initWithFrame:contextID:]):
(+[WKRemoteView layerClass]):
(WebKit::RemoteLayerTreeHost::createLayer):

  • UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm: Added.

(WebKit::layerRepresentationFromLayerOrView):
(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

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

(-[WKContentView _setAcceleratedCompositingRootView:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):

  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm: Renamed from Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.cpp.

(WebKit::WebVideoFullscreenManagerProxy::create):
(WebKit::WebVideoFullscreenManagerProxy::WebVideoFullscreenManagerProxy):
(WebKit::WebVideoFullscreenManagerProxy::~WebVideoFullscreenManagerProxy):
(WebKit::WebVideoFullscreenManagerProxy::didCommitLayerTree):
(WebKit::WebVideoFullscreenManagerProxy::setVideoLayerID):
(WebKit::WebVideoFullscreenManagerProxy::enterFullscreen):
(WebKit::WebVideoFullscreenManagerProxy::requestExitFullScreen):
(WebKit::WebVideoFullscreenManagerProxy::play):
(WebKit::WebVideoFullscreenManagerProxy::pause):
(WebKit::WebVideoFullscreenManagerProxy::togglePlayState):
(WebKit::WebVideoFullscreenManagerProxy::seekToTime):
(WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen):

  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator):

  • UIProcess/mac/RemoteLayerTreeHost.h:

(WebKit::RemoteLayerTreeHost::rootLayer):

  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::updateLayerTree):
(WebKit::RemoteLayerTreeHost::getLayer):
(WebKit::RemoteLayerTreeHost::createLayer):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
(WebKit::WebPageProxy::acceleratedCompositingRootLayer):

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

(PlatformCALayerRemote::recursiveBuildTransaction):

3:11 PM Changeset in webkit [164889] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

WebKit2.TerminateTwice test is failing.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resetStateAfterProcessExited):
Turns out this can be called even when we're in the launching state so don't try to
remove the process from the visited link provider when in that state.

3:05 PM Changeset in webkit [164888] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Subpixel rendering: Add subpixel support to border type of double, groove, ridge, inset and outset.
https://bugs.webkit.org/show_bug.cgi?id=129226

Reviewed by Simon Fraser.

This is the conversion of double, inset, outset, groove and ridge border type
painting to support device pixel precision width/height.

Regression is covered by existing tests.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::drawLineForBoxSide):

  • rendering/RenderObject.h:
3:04 PM Changeset in webkit [164887] by Chris Fleizach
  • 2 edits in trunk/Source/WebKit2

AX: Crash in WebKit::WebPageProxy::registerWebProcessAccessibilityToken
https://bugs.webkit.org/show_bug.cgi?id=127387

Reviewed by Alexey Proskuryakov.

Speculative fix for crasher. We should check if the connection is still valid before proceeding.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::registerWebProcessAccessibilityToken):

2:54 PM Changeset in webkit [164886] by cavalcantii@gmail.com
  • 7 edits
    4 adds in trunk

Filters should test for area instead of single dimension
https://bugs.webkit.org/show_bug.cgi?id=123716

Reviewed by Dirk Schulze.

A filtered SVG element with a sigle dimension bigger than 5000
(counting the margin/border) will fail to render. So an element
with 4000x4000 will render fine, while another with 5000x10
won't. This patch instead tests against the total element area,
which fixes such cases.

Source/WebCore:

It also fixes some layer violations where FilterEffectRenderer and
RenderSVGResourceFilter were directly accessing the maximum filter
size in FilterEffect. Since before a somewhat bigger filter would
be aborted, it required to change the maximum kernel size
for blur filter (some filters are slower to run than others for
bigger SVGs).

Tests: svg/filters/big-height-filter-expected.svg

svg/filters/big-height-filter.svg
svg/filters/big-width-filter-expected.svg
svg/filters/big-width-filter.svg

  • platform/graphics/filters/FEGaussianBlur.cpp:
  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::maxFilterArea): New function, returns the
maximum allowed element area (currently is 4096 x 4096).
(WebCore::FilterEffect::isFilterSizeValid): Now it tests for
element area instead of a single dimension. This code is reused by
FilterEffectRenderer.

  • platform/graphics/filters/FilterEffect.h:
  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::updateBackingStoreRect): Uses the
new function in FilterEffect to test for valid sizes.
(WebCore::FilterEffectRendererHelper::beginFilterEffect): Same case.

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::fitsInMaximumImageSize): Test
for maximum area and properly changes the scale of transformed
element to fit.

LayoutTests:

The current patch fixes the rendering issue and at same time,
fixes some layer violations where FilterEffectRenderer and
RenderSVGResourceFilter were directly accessing the kMax value
in FilterEffect. Since before a somewhat bigger filter would
be aborted, it required to change the maximum kernel size
for blur filter (some filters are slower to run than others for
bigger SVGs).

  • svg/filters/big-height-filter-expected.svg: Added.
  • svg/filters/big-height-filter.svg: Added.
  • svg/filters/big-width-filter-expected.svg: Added.
  • svg/filters/big-width-filter.svg: Added.
2:54 PM Changeset in webkit [164885] by timothy@apple.com
  • 3 edits in trunk/Source/WebInspectorUI

Enable breakpoints when adding a new breakpoint or enabling an existing breakpoint.

This eliminates a multi-step process for the user that can be confusing.

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

Reviewed by Joseph Pecoraro.

  • UserInterface/Controllers/DebuggerManager.js:

(WebInspector.DebuggerManager.prototype.set breakpointsEnabled):
(WebInspector.DebuggerManager.prototype._breakpointDisabledStateDidChange):

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WebInspector.DebuggerSidebarPanel):
(WebInspector.DebuggerSidebarPanel.prototype._breakpointsEnabledDidChange):
(WebInspector.DebuggerSidebarPanel.prototype._breakpointsToggleButtonClicked):

2:51 PM Changeset in webkit [164884] by timothy@apple.com
  • 5 edits in trunk/Source

Properly handle when Test.html is not present in Production builds.

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

Reviewed by Joseph Pecoraro.

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.mm:

(-[WebInspectorWindowController inspectorTestPagePath]):
(-[WebInspectorWindowController webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):

Source/WebKit2:

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::isMainOrTestInspectorPage):

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::inspectorTestPageURL):

2:10 PM Changeset in webkit [164883] by psolanki@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS][WebKit2] Don't grab mach exception port on iOS
https://bugs.webkit.org/show_bug.cgi?id=129505
<rdar://problem/15972749>

Reviewed by Anders Carlsson.

Don't grab the mach exception port on iOS so we get crash logs for web process and network
process.

  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::didFinishLaunching):

1:43 PM Changeset in webkit [164882] by Alan Bujtas
  • 11 edits
    2 adds in trunk

Add hiDPI support to DumpRenderTree/WebKitTestRunner without the need of reloading the test case.
https://bugs.webkit.org/show_bug.cgi?id=129438

Reviewed by Simon Fraser.

'hidpi-' prefixed test cases now trigger 2x scale factor on the testing
offscreen window. It makes testing subpixel rendering and positioning possible.

Both the offscreen window's and WebKit's scaling are set accordingly.

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(createWebViewAndOffscreenWindow): cleanup
(destroyWebViewAndOffscreenWindow): cleanup
(dumpRenderTree):
(changeWindowScaleIfNeeded):
(runTest):

  • DumpRenderTree/mac/DumpRenderTreeWindow.h:
  • DumpRenderTree/mac/DumpRenderTreeWindow.mm:

(-[DumpRenderTreeWindow initWithContentRect:styleMask:backing:defer:]): cleanup

  • WebKitTestRunner/PlatformWebView.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::changeWindowScaleIfNeeded):
(WTR::TestInvocation::invoke):

  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:

(WTR::PlatformWebView::changeWindowScaleIfNeeded):

  • WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:

(WTR::PlatformWebView::changeWindowScaleIfNeeded):

  • WebKitTestRunner/ios/PlatformWebViewIOS.mm:

(WTR::PlatformWebView::changeWindowScaleIfNeeded):

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::changeWindowScaleIfNeeded):

LayoutTests:

  • fast/borders/hidpi-simple-hairline-border-painting-expected.html: Added.
  • fast/borders/hidpi-simple-hairline-border-painting.html: Added.
1:12 PM Changeset in webkit [164881] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Mac, iOS] Incorrect ordering of construction arguments for out-of-band text elements
https://bugs.webkit.org/show_bug.cgi?id=129501
<rdar://problem/16198587>

Reviewed by Eric Carlson.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute): Correct order of arguments
to PlatformTextTrack.

1:03 PM Changeset in webkit [164880] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r164835): It broke 10 JSC stress test on 32 bit platforms
https://bugs.webkit.org/show_bug.cgi?id=129488

Reviewed by Mark Lam.

Whoops, modify the right register.

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileLoadVarargs):

1:00 PM Changeset in webkit [164879] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix after r164832.

  • UIProcess/ios/WebProcessProxyIOS.mm:

(WebKit::WebProcessProxy::updateProcessState): Switch from removed
'isValid' to 'state() != State::Running'

12:40 PM Changeset in webkit [164878] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

FTL should be able to call sin/cos directly on platforms where the intrinsic is busted
https://bugs.webkit.org/show_bug.cgi?id=129503

Reviewed by Mark Lam.

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLOutput.h:

(JSC::FTL::Output::doubleSin):
(JSC::FTL::Output::doubleCos):
(JSC::FTL::Output::intrinsicOrOperation):

11:32 AM Changeset in webkit [164877] by andersca@apple.com
  • 6 edits in trunk

Source/WebKit2: VisitedLinkProvider should keep track of processes, not pages
https://bugs.webkit.org/show_bug.cgi?id=129497

Reviewed by Dan Bernstein.

Use a counted set of WebProcessProxy pointers instead of a set of pages.

  • UIProcess/VisitedLinkProvider.cpp:

(WebKit::VisitedLinkProvider::~VisitedLinkProvider):
Assert that m_processes is null.

(WebKit::VisitedLinkProvider::addProcess):
Add the process to the set.

(WebKit::VisitedLinkProvider::removeProcess):
Remove the process from the set.

  • UIProcess/VisitedLinkProvider.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
If our process is currently running, add it to the visited link provider.
Otherwise it will be added in connectionWillOpen.

(WebKit::WebPageProxy::close):
If our process is running, remove it from the visited link provider.
Otherwise it's either crashed or not yet launched and will not have been added.

(WebKit::WebPageProxy::connectionWillOpen):
Add the process to the visited link provider.

(WebKit::WebPageProxy::resetStateAfterProcessExited):
Remove the process from the visited link provider.

Tools: Remove logging.

Reviewed by Dan Bernstein.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController browsingContextController:decidePolicyForNavigationAction:decisionHandler:]):

11:19 AM Changeset in webkit [164876] by Bem Jones-Bey
  • 2 edits in trunk/Source/WebCore

Properly clear m_logicallyLastRun to remove use-after-free possibility
https://bugs.webkit.org/show_bug.cgi?id=129489

Reviewed by David Hyatt.

A use-after-free issue was caught in Blink because m_logicallyLastRun
is not cleared when the item it points to is deleted. Clearing it
turns the use-after-free into a segfault, and prevents any future
use-after-frees from happening.

  • platform/text/BidiRunList.h:

(WebCore::BidiRunList<Run>::deleteRuns):

11:03 AM Changeset in webkit [164875] by bshafiei@apple.com
  • 1 copy in tags/Safari-537.75.3

New tag.

11:02 AM Changeset in webkit [164874] by bshafiei@apple.com
  • 5 edits in branches/safari-537.75-branch/Source

Versioning.

10:59 AM Changeset in webkit [164873] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Disambiguate calls to [[window contentView] layer] and [... setLayer:]
https://bugs.webkit.org/show_bug.cgi?id=129491

Reviewed by Alexey Proskuryakov.

-[NSWindow contentView] returns a bare id, leading to ambiguity when calling
certain methods, including -layer and -setLayer:. Resolve the ambiguity by
explicitly casting the -contentView call to a NSView*.

  • platform/mac/WebVideoFullscreenController.mm:

(-[WebVideoFullscreenController setupVideoOverlay:]):
(-[WebVideoFullscreenController windowDidLoad]):
(-[WebVideoFullscreenController windowDidExitFullscreen]):

10:58 AM Changeset in webkit [164872] by ap@apple.com
  • 2 edits in trunk/LayoutTests

paragraphs with different directionality in textarea with unicode-bidi: plaintext are aligned the same
https://bugs.webkit.org/show_bug.cgi?id=71194

  • platform/mac/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:

Updated Mac results for Mavericks (the original patch only updated Mountain Lion results).

10:44 AM Changeset in webkit [164871] by akling@apple.com
  • 3 edits
    2 adds in trunk

MouseEvent.offsetX/Y should just return 0,0 for simulated clicks.
<https://webkit.org/b/129477>

Source/WebCore:

There's no need to compute the exact target-relative coordinates for
simulated mouse events, e.g those fired by HTMLElement.click().

The offsetX/Y properties are not supported by Firefox.

Test: fast/events/relative-offset-of-simulated-click.html

Reviewed by Alexey Proskuryakov.

  • dom/MouseRelatedEvent.cpp:

(WebCore::MouseRelatedEvent::offsetX):
(WebCore::MouseRelatedEvent::offsetY):

LayoutTests:

Add a test documenting the behavior of offsetX/Y on the simulated
mouse events that get sent by HTMLElement.click().

Reviewed by Alexey Proskuryakov.

  • fast/events/relative-offset-of-simulated-click-expected.txt: Added.
  • fast/events/relative-offset-of-simulated-click.html: Added.
10:36 AM Changeset in webkit [164870] by Brent Fulgham
  • 4 edits in branches/safari-537.75-branch

Source/WTF: Unreviewed build fix: Pass build environment to sub-processes via command line.
<rdar://problem/16197002>

  • WTF.vcxproj/build-generated-files.sh: Pass WEBKIT_LIBRARIES via argument, rather than

relying on global environment.

WebKitLibraries: Unreviewed build fix: Pass WEBKIT_LIBRARIES as argument to sub-process build steps.
<rdar://problem/16197002>

  • win/tools/vsprops/common.props: Pass WEBKIT_LIBRARIES directly to sub-processes, rather

than relying on global environment already having these values set.

10:34 AM Changeset in webkit [164869] by svillar@igalia.com
  • 7 edits
    4 adds in trunk

[CSS Grid Layout] Fix positioning grid items using named grid lines/areas
https://bugs.webkit.org/show_bug.cgi?id=129372

Reviewed by Darin Adler.

Source/WebCore:

Our code was assuming that a <custom-ident> in
-webkit-grid-{column|row}-{start|end} and
-webkit-grid-{column|row} was always a grid area name. That's
wrong because the <custom-ident> could be also a explicitly named
grid line or the an implicitly named grid line created by a grid
area definition.

The style resolution code was not correct either. This patch fixes
it so it now matches the spec, which means that:

  • first we try to match any existing grid area.
  • then if there is a named grid line with the name

<custom-ident>-{start|end} for -webkit-grid-{column|row}-{start|end}
defined before the grid area then we use it instead of the grid
area.

  • otherwise if there is a named grid line we resolve to the first such line.
  • otherwise we treat it as 'auto'.

Fixing this uncovered a bug in GridPosition, we were not using the
name of the stored grid area to check if two GridPositions were
the same.

Tests: fast/css-grid-layout/grid-item-position-changed-dynamic.html

fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html

  • css/StyleResolver.cpp:

(WebCore::gridLineDefinedBeforeGridArea): New function to check if
a given named grid line was defined before an implicit named grid
line created by a grid area definition.
(WebCore::StyleResolver::adjustNamedGridItemPosition): New
function that adjusts the position of a GridPosition parsed as a
grid area.
(WebCore::StyleResolver::adjustGridItemPosition): Use the new
function adjustNamedGridItemPosition to adjust the positions of
named grid lines.

  • css/StyleResolver.h:
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::resolveNamedGridLinePositionFromStyle): Use GridPosition:: namespace.
(WebCore::RenderGrid::resolveGridPositionFromStyle): Ditto.
(WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition): Ditto.

  • rendering/RenderGrid.h:
  • rendering/style/GridPosition.h:

(WebCore::GridPosition::adjustGridPositionForRowEndColumnEndSide): Moved from RenderGrid.cpp.
(WebCore::GridPosition::adjustGridPositionForSide): Ditto.
(WebCore::GridPosition::operator==): Use the named grid line to check equality.

LayoutTests:

Added a new test that checks that we correctly position grid items
using named grid lines, grid areas and also with the implicit
named grid lines created by grid areas.

I'm also importing a test from Blink that checks that we can
dynamically change the position of a grid item by changing the
name of the grid lines used to position it.

  • fast/css-grid-layout/grid-item-position-changed-dynamic-expected.txt:

Merged from Blink r153913 by <jchaffraix@chromium.org>.

  • fast/css-grid-layout/grid-item-position-changed-dynamic.html: Ditto.
  • fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution-expected.txt: Added.
  • fast/css-grid-layout/named-grid-lines-with-named-grid-areas-resolution.html: Added.
10:14 AM Changeset in webkit [164868] by zoltan@webkit.org
  • 4 edits in trunk/Source/WebCore

[CSS Shapes] Update line segments for ShapeInside only if the new line is wide enough
https://bugs.webkit.org/show_bug.cgi?id=129461

Reviewed by David Hyatt.

Shape-inside can make a line only narrower than the original line width, thus we don't need
to update the line/shape segments in fitBelowFloats for every single line inside shape-inside.
This patch adds a helper function, which updates the line segments, furthermore it updates the
line segments only when the content would fit without the shape.

No new tests, no behavior change.

  • rendering/line/BreakingContextInlineHeaders.h: Use new helper.

(WebCore::updateSegmentsForShapes):

  • rendering/line/LineWidth.cpp: Use new helper.

(WebCore::LineWidth::updateLineSegment): Add new helper.
(WebCore::LineWidth::fitBelowFloats):

10:12 AM Changeset in webkit [164867] by mario.prada@samsung.com
  • 7 edits in trunk

paragraphs with different directionality in textarea with unicode-bidi: plaintext are aligned the same
https://bugs.webkit.org/show_bug.cgi?id=71194

Reviewed by David Hyatt.

Merged from Blink r157263 by <igor.o@sisa.samsung.com>
<https://src.chromium.org/viewvc/blink?revision=157263&view=revision>

Source/WebCore:

In the css3-text spec (http://www.w3.org/TR/css3-text/#bidi-linebox):

The start and end edges of a line box are determined by the inline
base direction of the line box. In most cases, this is given by
its containing block's computed ‘direction’. However if its
containing block has ‘unicode-bidi: plaintext’, the inline base
direction the line box must be determined by the base direction of
the bidi paragraph to which it belongs: that is, the bidi
paragraph for which the line box holds content.

This patch just implements the behavior described above modifying
updateLogicalWidthForAlignment and setting the bidi level of the
RootInlineBox.

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::updateLogicalWidthForAlignment):
(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):
(WebCore::RenderBlockFlow::createLineBoxesFromBidiRuns):
(WebCore::RenderBlockFlow::layoutRunsAndFloatsInRange):
(WebCore::RenderBlockFlow::deleteEllipsisLineBoxes):
(WebCore::RenderBlockFlow::checkLinesForTextOverflow):
(WebCore::RenderBlockFlow::startAlignedOffsetForLine):

LayoutTests:

Modified expectations for two layout tests to make them conforming to the spec.

  • fast/text/international/unicode-bidi-plaintext-expected.html:
  • platform/gtk/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:
  • platform/mac-mountainlion/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt:
10:09 AM Changeset in webkit [164866] by jochen@chromium.org
  • 3 edits
    2 adds in trunk

Update meta-referrer behavior for invalid policies
https://bugs.webkit.org/show_bug.cgi?id=129475

Source/WebCore:

This patch aligns the behavior with the CSP 1.1 referrer directive,
where the fallback for an invalid value is the "never" policy.

Original patch from Mike West: https://src.chromium.org/viewvc/blink?view=rev&revision=165627

Reviewed by Alexey Proskuryakov.

Test: http/tests/security/referrer-policy-invalid.html

  • dom/Document.cpp:

(WebCore::Document::processReferrerPolicy):

LayoutTests:

Reviewed by Alexey Proskuryakov.

  • http/tests/security/referrer-policy-invalid-expected.txt: Added.
  • http/tests/security/referrer-policy-invalid.html: Added.
9:53 AM Changeset in webkit [164865] by dbates@webkit.org
  • 2 edits in trunk/Tools

[iOS] DumpRenderTree Perl Support may build against wrong SDK and toolchain
https://bugs.webkit.org/show_bug.cgi?id=129163

Reviewed by David Kilzer.

Fixes an issue where DumpRenderTree Perl Support may build with the specified
iOS Simulator SDK and toolchain instead of using the OS X SDK and toolchain.
This issue manifests itself in a build failure when building the IPhoneSimulatorNotification
bundle.

Currently we build DumpRenderTree Perl Support with respect to the variable SDKROOT,
which is specified either explicitly when building with MAKE(1) or implicitly by
build-{dumprendertree, webkit}. Instead we should always build Perl Support using
the OS X SDK and toolchain since the built products are only applicable to OS X.

  • DumpRenderTree/ios/PerlSupport/Makefile:
9:46 AM Changeset in webkit [164864] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix !ENABLE(GGC) builds

  • heap/Heap.cpp:

(JSC::Heap::markRoots):
(JSC::Heap::gatherJSStackRoots): Also fix one of the names of the GC phases.

9:30 AM Changeset in webkit [164863] by dbates@webkit.org
  • 3 edits
    2 adds in trunk

SubresourceLoader::didFinishLoading() should not assert when a decode error occurs
https://bugs.webkit.org/show_bug.cgi?id=127029

Reviewed by Darin Adler.

Source/WebCore:

SubresourceLoader::didFinishLoading() can be called for a resource (e.g. an image) that
failed to be decoded or, in the case of an image, whose estimated decoded size exceeds
the maximum decoded size (Settings::maximumDecodedImageSize()).

Test: fast/images/decoded-size-exceeds-max-decoded-size.html

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didFinishLoading):

LayoutTests:

Added a test to ensure that we don't cause an assertion failure when an image fails
to load because of a decode error. In particular, the estimated decoded image size
exceeds the maximum decoded image size.

  • fast/images/decoded-size-exceeds-max-decoded-size-expected.txt: Added.
  • fast/images/decoded-size-exceeds-max-decoded-size.html: Added.
8:56 AM Changeset in webkit [164862] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Clean up Heap::collect and Heap::markRoots
https://bugs.webkit.org/show_bug.cgi?id=129464

Reviewed by Geoffrey Garen.

These functions have built up a lot of cruft recently.
We should do a bit of cleanup to make them easier to grok.

  • heap/Heap.cpp:

(JSC::Heap::finalizeUnconditionalFinalizers):
(JSC::Heap::gatherStackRoots):
(JSC::Heap::gatherJSStackRoots):
(JSC::Heap::gatherScratchBufferRoots):
(JSC::Heap::clearLivenessData):
(JSC::Heap::visitSmallStrings):
(JSC::Heap::visitConservativeRoots):
(JSC::Heap::visitCompilerWorklists):
(JSC::Heap::markProtectedObjects):
(JSC::Heap::markTempSortVectors):
(JSC::Heap::markArgumentBuffers):
(JSC::Heap::visitException):
(JSC::Heap::visitStrongHandles):
(JSC::Heap::visitHandleStack):
(JSC::Heap::traceCodeBlocksAndJITStubRoutines):
(JSC::Heap::converge):
(JSC::Heap::visitWeakHandles):
(JSC::Heap::clearRememberedSet):
(JSC::Heap::updateObjectCounts):
(JSC::Heap::resetVisitors):
(JSC::Heap::markRoots):
(JSC::Heap::copyBackingStores):
(JSC::Heap::deleteUnmarkedCompiledCode):
(JSC::Heap::collect):
(JSC::Heap::collectIfNecessaryOrDefer):
(JSC::Heap::suspendCompilerThreads):
(JSC::Heap::willStartCollection):
(JSC::Heap::deleteOldCode):
(JSC::Heap::flushOldStructureIDTables):
(JSC::Heap::flushWriteBarrierBuffer):
(JSC::Heap::stopAllocation):
(JSC::Heap::reapWeakHandles):
(JSC::Heap::sweepArrayBuffers):
(JSC::Heap::snapshotMarkedSpace):
(JSC::Heap::deleteSourceProviderCaches):
(JSC::Heap::notifyIncrementalSweeper):
(JSC::Heap::rememberCurrentlyExecutingCodeBlocks):
(JSC::Heap::resetAllocators):
(JSC::Heap::updateAllocationLimits):
(JSC::Heap::didFinishCollection):
(JSC::Heap::resumeCompilerThreads):

  • heap/Heap.h:
8:35 AM Changeset in webkit [164861] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: roundedIntPoint(rendererMappedResult) == roundedIntPoint(result) in WebCore::RenderGeometryMap::mapToContainer
https://bugs.webkit.org/show_bug.cgi?id=119626

Source/WebCore:

SVGRenderSupport::mapLocalToContainer() was trying to apply transforms
in the incorrect order. Specifically, it would attempt to apply its
localToParentTransform before its localToBorderBoxTransform. This
was causing an ASSERT to fail when the computed transforms didn't
match up to those computed by RenderGeometryMap.

Backported from Blink: https://codereview.chromium.org/143363004

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-02-28
Reviewed by Simon Fraser.

Test: svg/transforms/svg-geometry-crash.html

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::mapLocalToContainer):

LayoutTests:

Backported from Blink: https://codereview.chromium.org/143363004

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-02-28
Reviewed by Simon Fraser.

  • svg/transforms/svg-geometry-crash-expected.txt: Added.
  • svg/transforms/svg-geometry-crash.html: Added.
7:52 AM Changeset in webkit [164860] by commit-queue@webkit.org
  • 11 edits
    2 deletes in trunk

Unreviewed, rolling out r164859.
http://trac.webkit.org/changeset/164859
https://bugs.webkit.org/show_bug.cgi?id=129483

caused WK1 crashes (DumpRenderTree) (Requested by zalan on
#webkit).

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(createWebViewAndOffscreenWindow):
(dumpRenderTree):
(runTest):

  • DumpRenderTree/mac/DumpRenderTreeWindow.h:
  • DumpRenderTree/mac/DumpRenderTreeWindow.mm:

(-[DumpRenderTreeWindow initWithContentRect:styleMask:backing:defer:]):

  • WebKitTestRunner/PlatformWebView.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::invoke):

  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
  • WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
  • WebKitTestRunner/ios/PlatformWebViewIOS.mm:
  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(-[WebKitTestRunnerWindow frameRespectingFakeOrigin]):

LayoutTests:

  • fast/borders/hidpi-simple-hairline-border-painting-expected.html: Removed.
  • fast/borders/hidpi-simple-hairline-border-painting.html: Removed.
7:24 AM Changeset in webkit [164859] by Alan Bujtas
  • 11 edits
    2 adds in trunk

Add hiDPI support to DumpRenderTree/WebKitTestRunner without the need of reloading the test case.
https://bugs.webkit.org/show_bug.cgi?id=129438

Reviewed by Simon Fraser.

'hidpi-' prefixed test cases now trigger 2x scale factor on the testing
offscreen window. It makes testing subpixel rendering and positioning possible.

Both the offscreen window's and WebKit's scaling are set accordingly.

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(createWebViewAndOffscreenWindow): unrelated cleanup.
(destroyWebViewAndOffscreenWindow): unrelated cleanup.
(dumpRenderTree):
(changeOffscreenWindowScaleIfNeeded):
(runTest):

  • DumpRenderTree/mac/DumpRenderTreeWindow.h:
  • DumpRenderTree/mac/DumpRenderTreeWindow.mm:

(-[DumpRenderTreeWindow initWithContentRect:styleMask:backing:defer:]): cleanup.

  • WebKitTestRunner/PlatformWebView.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::changeOffscreenWindowScaleIfNeeded):
(WTR::TestInvocation::invoke):

  • WebKitTestRunner/mac/PlatformWebViewMac.mm:

(WTR::PlatformWebView::changeOffscreenWindowScaleIfNeeded):

LayoutTests:

  • fast/borders/hidpi-simple-hairline-border-painting-expected.html: Added.
  • fast/borders/hidpi-simple-hairline-border-painting.html: Added.
6:34 AM Changeset in webkit [164858] by mihnea@adobe.com
  • 4 edits
    2 adds in trunk

[CSSRegions] ASSERTION FAILED: !m_regionsInvalidated in RenderFlowThread::regionAtBlockOffset
https://bugs.webkit.org/show_bug.cgi?id=129371

Source/WebCore:

Reviewed by Andrei Bucur.

regionAtBlockOffset method is meant to be used after the flow thread validated
its region chain, otherwise we cannot rely on regionAtBlockOffset to determine correctly
the target region based on the offset in flow thread coordinates.

When the video element is collected in a named flow and displayed in a region, we ensure
that the region's decorations are taken into account to properly position the video.
However, we have to do that only if the named flow regions are validated.

I changed the method cachedRegionForCompositedLayer to check only the "cached" region
for a layer and not update the layer to region mappings before returning the region.
Because method cachedRegionForCompositedLayer does not update the region - layer mappings,
the code does not call regionAtBlockOffset in situations where the region chain is not validated yet.

Test: compositing/regions/video-in-overflow-region.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::getLayerListForRegion): Make it a getter that relies on
cached information and refrain from updating the mappings. Make it const too.
(WebCore::RenderFlowThread::cachedRegionForCompositedLayer):

  • rendering/RenderFlowThread.h:

LayoutTests:

Reviewed Andrei Bucur.

  • compositing/regions/video-in-overflow-region-expected.txt: Added.
  • compositing/regions/video-in-overflow-region.html: Added.
2:06 AM Changeset in webkit [164857] by calvaris@igalia.com
  • 4 edits in trunk/Source/WebCore

[GTK] Finetune captions menu as per design team
https://bugs.webkit.org/show_bug.cgi?id=129432

Reviewed by Eric Carlson.

Some design fine tuning of the captions dialog was required.

No new tests, current suffice.

  • Modules/mediacontrols/mediaControlsApple.js:

Added out class.

  • Modules/mediacontrols/mediaControlsGtk.js:

(ControllerGtk.prototype.buildCaptionMenu): Setting out class when
menu is going to show overlap the panel right border.

  • css/mediaControlsGtk.css:

(video::-webkit-media-controls-closed-captions-container.out):
Setting all borders to 5px;
(video::-webkit-media-controls-closed-captions-container h3):
Reduced font size and increasing top padding.
(video::-webkit-media-controls-closed-captions-container ul):
Increased top padding.

Feb 27, 2014:

11:50 PM Changeset in webkit [164856] by rniwa@webkit.org
  • 13 edits in trunk/Source/WebCore

Element::attributeChanged shouldn't do any work when attribute value didn't change
https://bugs.webkit.org/show_bug.cgi?id=129467

Reviewed by Geoffrey Garen.

Exit early in childrenChanged when the attribute value didn't change.

  • dom/Attr.cpp:

(WebCore::Attr::setValue):
(WebCore::Attr::childrenChanged):

  • dom/Element.cpp:

(WebCore::Element::setAttributeInternal):
(WebCore::Element::attributeChanged):
(WebCore::Element::parserSetAttributes):
(WebCore::Element::removeAttributeInternal):
(WebCore::Element::didAddAttribute):
(WebCore::Element::didModifyAttribute):
(WebCore::Element::didRemoveAttribute):
(WebCore::Element::cloneAttributesFromElement):

  • dom/Element.h:
  • dom/StyledElement.cpp:

(WebCore::StyledElement::attributeChanged):

  • dom/StyledElement.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::updateType):

  • mathml/MathMLElement.cpp:

(WebCore::MathMLElement::attributeChanged):

  • mathml/MathMLElement.h:
  • mathml/MathMLSelectElement.cpp:

(WebCore::MathMLSelectElement::attributeChanged):

  • mathml/MathMLSelectElement.h:
  • svg/SVGElement.cpp:

(WebCore::SVGElement::attributeChanged):

  • svg/SVGElement.h:
10:32 PM Changeset in webkit [164855] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Source/WebCore

[EFL] Remove duplicated keyboard string key from keyMap
https://bugs.webkit.org/show_bug.cgi?id=129469

Reviewed by Gyuyoung Kim.

"Down" key is duplicated in keyMap().

  • platform/efl/EflKeyboardUtilities.cpp:

(WebCore::createKeyMap):

9:54 PM Changeset in webkit [164854] by benjamin@webkit.org
  • 8 edits in trunk/Source/WebCore

Unify the three call sites of SelectorQueryCache
https://bugs.webkit.org/show_bug.cgi?id=129249

Reviewed by Andreas Kling.

The three call sites of SelectorQueryCache were doing the exact same thing.
That code is mvoed to a new function Document::selectorQueryForString().

Also use String instead of AtomicString for querySelector() and querySelectorAll().
This prevent the call sites from creating AtomicString just for the time of the call.
This causes a tiny slow down on microbenchmarks that continuously query the same string
but has no negative impact on realistic/good test cases (and the bindings are simplified).

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::querySelector):
(WebCore::ContainerNode::querySelectorAll):

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

(WebCore::Document::selectorQueryForString):

  • dom/Document.h:
  • dom/Element.cpp:

(WebCore::Element::webkitMatchesSelector):

  • dom/SelectorQuery.cpp:

(WebCore::SelectorQueryCache::add):

  • dom/SelectorQuery.h:
9:53 PM Changeset in webkit [164853] by rniwa@webkit.org
  • 35 edits
    1 add in trunk/Source/WebCore

JSC ignores the extra memory cost of HTMLCollection after a major GC
https://bugs.webkit.org/show_bug.cgi?id=129450

Reviewed by Andreas Kling.

Report the extra memory cost of HTMLCollection to JSC.

Unfortunately, the existing mechanism to report the extra memory cost in toJS is insufficient for
HTMLCollection since collection caches are populated later when HTMLCollection is accessed. Also,
the extra memory cost reported by Heap::reportExtraMemoryCost will be thrown away after a major GC.

To work around this limitation, added a visitor.reportExtraMemoryUsage call inside visitChildren
for interfaces with a newly added ReportExtraMemoryCost IDL extension flag to report the extra cost.

Since we may need to generate visitChildren when this flag is set, we can't automatically detect
and generate calls using C++ template as done in r148648.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Modules/webaudio/AudioBuffer.idl:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMBinding.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(InstanceNeedsVisitChildren):
(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/IDLAttributes.txt:
  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestException.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSattribute.cpp:

(WebCore::toJS):

  • bindings/scripts/test/JS/JSreadonly.cpp:

(WebCore::toJS):

  • dom/ChildNodeList.h:
  • dom/CollectionIndexCache.cpp: Added.

(WebCore::reportExtraMemoryCostForCollectionIndexCache):

  • dom/CollectionIndexCache.h:

(WebCore::CollectionIndexCache::memoryCost):
(WebCore::NodeType>::CollectionIndexCache):
(WebCore::NodeType>::nodeCount):
(WebCore::NodeType>::computeNodeCountUpdatingListCache):
(WebCore::NodeType>::nodeAt):
(WebCore::NodeType>::invalidate):

  • dom/DOMAllInOne.cpp:
  • dom/LiveNodeList.cpp:

(WebCore::LiveNodeList::memoryCost):

  • dom/LiveNodeList.h:
  • dom/NodeList.h:

(WebCore::NodeList::memoryCost):

  • dom/NodeList.idl:
  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::updateNamedElementCache):

  • html/HTMLCollection.h:

(WebCore::CollectionNamedElementCache::didPopulate):
(WebCore::CollectionNamedElementCache::memoryCost):
(WebCore::CollectionNamedElementCache::find):
(WebCore::HTMLCollection::memoryCost):

  • html/HTMLCollection.idl:
  • html/HTMLFormControlsCollection.cpp:

(WebCore::HTMLFormControlsCollection::updateNamedElementCache):

9:52 PM Changeset in webkit [164852] by benjamin@webkit.org
  • 9 edits
    2 adds in trunk

Compile attribute value matching
https://bugs.webkit.org/show_bug.cgi?id=129228

Reviewed by Geoffrey Garen.

Source/WebCore:

Add support for compiling value matching when matching attributes in Selector.
This patch only adds exact matching, the other cases will follow.

There is a little infrastructure changes since FunctionCall now needs to support
calls taking 2 arguments. The fun begins when the arguments are not in the right
registers and need to be moved to the right place. Otherwise the code is straightforward.

In SelectorCompiler, it is necessary to handle two different cases of matching: case sensitive
and case insensitive. The choice is done in part at compilation time by asking HTMLDocument
if the name filter can include case insensitive attribute. The other part is done at runtime
by querying the element for its type and document.

Test: fast/selectors/case-insensitive-value-matching.html

  • css/SelectorChecker.cpp:

(WebCore::attributeValueMatches): Null values matching should never happen, when an attribute
has no value, its value is empty.

  • cssjit/FunctionCall.h:

(WebCore::FunctionCall::FunctionCall):
Add support for calls with two arguments.
(WebCore::FunctionCall::setOneArgument):
(WebCore::FunctionCall::setTwoArguments):
(WebCore::FunctionCall::swapArguments):
Here we need to swap two registers, but we cannot allocate a new register (because the context
of the function call may have taken all the available registers already).

On x86, the solution is simple, we can swap the two registers without side effects.

On other platforms, it is a little more complex. If there is any available register, we can just
use it as a temporary to make the swap.
If there are no available registers, we know that all the registers are taken. Since swapArguments()
was called after pushing all the arguments on the stack, we can safely trash the value of any of those.
We take the first available register that is not a function argument and use it as a temporary.

(WebCore::FunctionCall::prepareAndCall):
This is the fun part, we have two registers where the values must go before the function call. The values
can be in any combination of the allocated registers. The code here needs to move the two values to
their target register while avoiding conflicts.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::AttributeMatchingInfo::AttributeMatchingInfo):
(WebCore::SelectorCompiler::AttributeMatchingInfo::canDefaultToCaseSensitiveValueMatch):
(WebCore::SelectorCompiler::AttributeMatchingInfo::selector):
The value of HTMLDocument::isCaseSensitiveAttribute is needed at compilation time to compute the number
of required registers. As a result, we need to keep it along in the selector fragment.

(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::attributeNameTestingRequiresNamespaceRegister):
(WebCore::SelectorCompiler::attributeValueTestingRequiresExtraRegister):
(WebCore::SelectorCompiler::minimumRegisterRequirements):
(WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle):
(WebCore::SelectorCompiler::canMatchStyleAttribute):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSynchronizeStyleAttribute):
(WebCore::SelectorCompiler::canMatchAnimatableSVGAttribute):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSynchronizeAllAnimatedSVGAttribute):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeMatching):
The matching code is moved in a local scope. This is done to recover the register of qualifiedNameImpl
before doing any value matching. That register can then be used to store the expected value when matching
an attribute value.
It is unfortunate there is so much register pressure in this part.

Value matching is done outside the loop. The idea is to keep the loop really small since in the vast majority
of cases, name matching fails.
If the value matching fails, we jump back into the tight loop.

This is not ideal in all situation. For example trivial name matching with trivial value matching should
be done in loop. There is a FIXME to improve those cases later.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueMatching):
(WebCore::SelectorCompiler::testIsHTMLClassOnDocument):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeValueExactMatching):
In the case sensitive branch, things are really simple. We have to AtomicStringImpl pointers, if they
don't match, it is a failure.

The case sensitive branch start by comparing the pointers in case the values are equal. This is a common
case and it simplifies the cases for SVG, XHTML, etc.
If the two values are not equal, we must first find if the context requires case insensitive comparison
(HTMLElement in HTMLDocument). If the conditions require case insensitive matching, we then fall back
to a function call.

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

  • dom/Attribute.h:

(WebCore::Attribute::valueMemoryOffset):

  • dom/Document.h:

(WebCore::Document::documentClassesMemoryOffset):
(WebCore::Document::isHTMLDocumentClassFlag):

  • dom/Node.h:

(WebCore::Node::treeScopeMemoryOffset):

  • dom/TreeScope.h:

(WebCore::TreeScope::documentScopeMemoryOffset):

LayoutTests:

  • fast/selectors/case-insensitive-value-matching-expected.txt: Added.
  • fast/selectors/case-insensitive-value-matching.html: Added.

Test the various cases that require more register than the common case.

The values match Firefox behavior.

9:30 PM Changeset in webkit [164851] by rniwa@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

indexOf and lastIndexOf shouldn't resolve ropes when needle is longer than haystack
https://bugs.webkit.org/show_bug.cgi?id=129466

Reviewed by Michael Saboff.

Refactored the code to avoid calling JSString::value when needle is longer than haystack.

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncIndexOf):
(JSC::stringProtoFuncLastIndexOf):

9:11 PM Changeset in webkit [164850] by ap@apple.com
  • 2 edits in trunk/LayoutTests

css3/compositing/isolation-isolate-blended-child.html fails
https://bugs.webkit.org/show_bug.cgi?id=129468

  • platform/mac-wk2/TestExpectations: Marked as failing on OS X 10.8 Debug WK2.

Not sure if it's hardware related or dependent on confuguration in some other way.

7:31 PM Changeset in webkit [164849] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebCore

Build break when disabled CSS_GRID_LAYOUT
https://bugs.webkit.org/show_bug.cgi?id=129459

Reviewed by Gyuyoung Kim.

  • css/CSSValue.h: Added guards of CSS_GRID_LAYOUT for GridTemplateAreasClass.
6:32 PM Changeset in webkit [164848] by pmolnar.u-szeged@partner.samsung.com
  • 6 edits in trunk

Enable support of X-Content-Type-Options: nosniff header for EFL
https://bugs.webkit.org/show_bug.cgi?id=128673

Reviewed by Gyuyoung Kim.

.:

  • Source/cmake/OptionsEfl.cmake:

Enabled NOSNIFF feature flag for EFL.

LayoutTests:

  • http/tests/security/contentTypeOptions/nosniff-script-blocked-expected.txt:
  • http/tests/security/contentTypeOptions/nosniff-script-without-content-type-blocked-expected.txt:

Updated expectations as console output now includes line numbers.

  • platform/efl/TestExpectations:

Unskipped http/tests/security/contentTypeOptions tests.

6:05 PM Changeset in webkit [164847] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] Stop using some deprecated functions in WKView.mm
https://bugs.webkit.org/show_bug.cgi?id=129455

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView firstRectForCharacterRange:actualRange:]): Use convertRectToScreen,
which is a replacement for convertBaseToScreen. Don't check for window being null,
because isn't that crazy talk?
(-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]): Use event's location
in window instead of current mouse location. Using location that is not synced to
event stream rarely makes sense, and it doesn't look like this is one of those cases.
(-[WKView performDictionaryLookupAtCurrentMouseLocation]): Ditto.

5:18 PM Changeset in webkit [164846] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Use a RegExp when when using CodeMirror's SearchCursor.

This avoids doing toLowerCase() on every line of the TextEditor.

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

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/TextEditor.js:

(TextEditor.prototype.performSearch): Use a RegExp for query. Pass false for the caseFold
argument, but it is ignored for RegExp searches anyway.

5:17 PM Changeset in webkit [164845] by timothy@apple.com
  • 3 edits
    6 adds in trunk

Improve how ContentSearchUtilities::lineEndings works by supporting the three common line endings.

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

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

  • inspector/ContentSearchUtilities.cpp:

(Inspector::ContentSearchUtilities::textPositionFromOffset): Remove assumption about line ending length.
(Inspector::ContentSearchUtilities::getRegularExpressionMatchesByLines): Remove assumption about
line ending type and don't try to strip the line ending. Use size_t
(Inspector::ContentSearchUtilities::lineEndings): Use findNextLineStart to find the lines.
This will include the line ending in the lines, but that is okay.
(Inspector::ContentSearchUtilities::buildObjectForSearchMatch): Use size_t.
(Inspector::ContentSearchUtilities::searchInTextByLines): Modernize.

LayoutTests:

  • inspector-protocol/debugger/resources/mac-linebreaks.js: Added.
  • inspector-protocol/debugger/resources/mixed-linebreaks.js: Added.
  • inspector-protocol/debugger/resources/unix-linebreaks.js: Added.
  • inspector-protocol/debugger/resources/windows-linebreaks.js: Added.
  • inspector-protocol/debugger/searchInContent-linebreaks-expected.txt: Added.
  • inspector-protocol/debugger/searchInContent-linebreaks.html: Added.
5:03 PM Changeset in webkit [164844] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix build after r164832

  • UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:

(WebKit::CoordinatedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):

4:46 PM Changeset in webkit [164843] by BJ Burg
  • 3 edits in trunk/LayoutTests

Unreviewed, update test expectations after r164830.

Inspector test dom/dom-search-crash.html times out in release builds
https://bugs.webkit.org/show_bug.cgi?id=129462

Web Inspector model tests load wrong inspector page under WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=129460

  • TestExpectations: Updating test expectations.
  • platform/wk2/TestExpectations: Updating test expectations.
4:22 PM Changeset in webkit [164842] by mmaxfield@apple.com
  • 9 edits
    4 adds in trunk

text-decoration-skip: ink does not skip over SVG fonts
https://bugs.webkit.org/show_bug.cgi?id=128936

Reviewed by Darin Adler.

Source/WebCore:

When drawing glyphs in an SVG font, the glyphs are converted to paths and then filled. This patch moves
the glyph -> path conversion into a helper class, GlyphToPathTranslator, and creates an implementation
for the SVG drawing code. Once this helper class is created, it can be used to trace paths in order
to make underlines skip over SVG glyphs. This helper class also has an implementation for non-SVG glyphs,
which allows for the glyph tracing code to be paramaterized over the implementation of the helper class
rather than if the FontData itself is SVG or not.

Tests: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-svg.html

  • platform/graphics/Font.h:

(WebCore::GlyphToPathTranslator::~GlyphToPathTranslator): Virtual implementation of helper class

  • platform/graphics/cg/PathCG.cpp:

(WebCore::Path::Path): Created constructor that takes a RefPtr<CGMutablePathRef>

  • platform/graphics/Path.h:
  • platform/graphics/TextRun.h: Give RenderingContext a factory function to create the helper class

instance

  • platform/graphics/mac/FontMac.mm: Implementation of helper class used for skipping underlines on

regular (CoreText) glyphs
(WebCore::MacGlyphToPathTranslator::MacGlyphToPathTranslator):
(WebCore::MacGlyphToPathTranslator::moveToNextValidGlyph):
(WebCore::MacGlyphToPathTranslator::incrementIndex):
(WebCore::Font::dashesForIntersectionsWithRect): Call the relevant factory function, and use it
to successively generate Paths

  • rendering/svg/SVGTextRunRenderingContext.cpp: Implementation of helper class used for SVG fonts

(WebCore::SVGGlyphToPathTranslator::SVGGlyphToPathTranslator):
(WebCore::SVGGlyphToPathTranslator::moveToNextValidGlyph):
(WebCore::SVGGlyphToPathTranslator::incrementIndex):
(WebCore::SVGTextRunRenderingContext::createGlyphToPathTranslator):
(WebCore::SVGTextRunRenderingContext::drawSVGGlyphs): Use the above implementation

  • rendering/svg/SVGTextRunRenderingContext.h: Factory function declaration

LayoutTests:

This font simply draws some underlined text with a SVG font and makes sure the underline skips.

  • fast/css3-text/css3-text-decoration/text-decoration-skip/resources/Litherum.svg: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-svg-expected.html: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-ink-svg.html: Added.
4:09 PM Changeset in webkit [164841] by Martin Robinson
  • 2 edits in trunk/Source/WebKit2

Fix build after r164832

  • UIProcess/DrawingAreaProxyImpl.cpp:

(WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState): WebProcessProxy::isLaunching() has been replaced
by WebProcessProxy::state().

4:04 PM Changeset in webkit [164840] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Crash in RemoteLayerTreePropertyApplier::applyPropertiesToLayer
https://bugs.webkit.org/show_bug.cgi?id=129456
<rdar://problem/16182676>

Reviewed by Simon Fraser.

  • Shared/mac/RemoteLayerTreePropertyApplier.mm:

(WebKit::RemoteLayerTreePropertyApplier::applyPropertiesToLayer):
We were dereferencing the RemoteLayerBackingStore without checking if it exists,
in the accelerated drawing codepath. This case will occur if a layer
previously drew contents, but now does not.

3:58 PM Changeset in webkit [164839] by thiago.lacerda@openbossa.org
  • 13 edits in trunk

[WebRTC] Removing MediaConstraints argument from RTCPeerConnection addStream, updateIce methods and constructor
https://bugs.webkit.org/show_bug.cgi?id=129449

Reviewed by Eric Carlson.

According to WebRTC editor's draft, MediaConstraints will no longer be an argument of those methods and
constructor.

Source/WebCore:

Existing tests were updated.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::create):
(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::updateIce):
(WebCore::RTCPeerConnection::addStream):

  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/mediastream/RTCPeerConnection.idl:
  • bindings/js/JSRTCPeerConnectionCustom.cpp:

(WebCore::JSRTCPeerConnectionConstructor::constructJSRTCPeerConnection):

  • platform/mediastream/RTCPeerConnectionHandler.h:
  • platform/mock/RTCPeerConnectionHandlerMock.cpp:

(WebCore::RTCPeerConnectionHandlerMock::initialize):
(WebCore::RTCPeerConnectionHandlerMock::updateIce):
(WebCore::RTCPeerConnectionHandlerMock::addStream):

  • platform/mock/RTCPeerConnectionHandlerMock.h:

LayoutTests:

  • fast/mediastream/RTCPeerConnection-AddRemoveStream-expected.txt:
  • fast/mediastream/RTCPeerConnection-AddRemoveStream.html:
  • fast/mediastream/RTCPeerConnection-expected.txt:
  • fast/mediastream/RTCPeerConnection.html:
3:56 PM Changeset in webkit [164838] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[Mac] Warning: Multiple build commands for output file GCSegmentedArray and InspectorAgent
https://bugs.webkit.org/show_bug.cgi?id=129446

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

Remove duplicate header entries in Copy Header build phase.

3:52 PM Changeset in webkit [164837] by stavila@adobe.com
  • 6 edits in trunk/Source/WebCore

[CSS Regions] Move named-flow specific method decorationsClipRectForBoxInRegion to RenderNamedFlowThread
https://bugs.webkit.org/show_bug.cgi?id=129428

Reviewed by Andreas Kling.

Since the decorationsClipRectForBoxInRegion method is a named flow specific method, it makes
sense to be in the named flow specific class, RenderNamedFlowThread, instead of the more
generic RenderFlowThread.

No new tests required. No new functionality.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintObject):

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

(WebCore::RenderNamedFlowThread::decorationsClipRectForBoxInNamedFlowFragment):

  • rendering/RenderNamedFlowThread.h:
3:36 PM Changeset in webkit [164836] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Whoops, include all of last patch.

3:25 PM Changeset in webkit [164835] by oliver@apple.com
  • 13 edits
    1 add in trunk/Source/JavaScriptCore

Slow cases for function.apply and function.call should not require vm re-entry
https://bugs.webkit.org/show_bug.cgi?id=129454

Reviewed by Geoffrey Garen.

Implement call and apply using builtins. Happily the use
of @call and @apply don't perform function equality checks
and just plant direct var_args calls. This did expose a few
codegen issues, but they're all covered by existing tests
once call and apply are implemented in JS.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • builtins/Function.prototype.js: Added.

(call):
(apply):

  • bytecompiler/NodesCodegen.cpp:

(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • interpreter/Interpreter.cpp:

(JSC::sizeFrameForVarargs):
(JSC::loadVarargs):

  • interpreter/Interpreter.h:
  • jit/JITCall.cpp:

(JSC::JIT::compileLoadVarargs):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::makeFunctionCallNode):

  • parser/Lexer.cpp:

(JSC::isSafeBuiltinIdentifier):

  • runtime/CommonIdentifiers.h:
  • runtime/FunctionPrototype.cpp:

(JSC::FunctionPrototype::addFunctionProperties):

  • runtime/JSObject.cpp:

(JSC::JSObject::putDirectBuiltinFunction):
(JSC::JSObject::putDirectBuiltinFunctionWithoutTransition):

  • runtime/JSObject.h:
3:24 PM Changeset in webkit [164834] by zoltan@webkit.org
  • 3 edits in trunk/Source/WebCore

Avoid calling logicalLeftOffsetForLine 2 times in LineWidth::fitBelowFloats
https://bugs.webkit.org/show_bug.cgi?id=129433

Reviewed by Darin Adler.

This change updates fitBelowFloats and its helpers to call RenderBlock::logicalLeftOffsetForLine only once.

No new tests, no behavior change.

  • rendering/line/LineWidth.cpp:

(WebCore::availableWidthAtOffset):
(WebCore::LineWidth::updateLineDimension):
(WebCore::LineWidth::wrapNextToShapeOutside):
(WebCore::LineWidth::fitBelowFloats):

  • rendering/line/LineWidth.h:
3:18 PM Changeset in webkit [164833] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Micro-optimize elementAffectsDirectionality().
<https://webkit.org/b/129444>

Tweak this function to skip an unnecessary bit check and use
fastHasAttribute() instead of hasAttribute() for looking up dirAttr.

~1% speedup on DYEB/AngularJS.

Reviewed by Ryosuke Niwa.

  • html/HTMLElement.cpp:

(WebCore::elementAffectsDirectionality):

3:16 PM Changeset in webkit [164832] by andersca@apple.com
  • 12 edits in trunk/Source/WebKit2

Simplify WebProcessProxy state accessors
https://bugs.webkit.org/show_bug.cgi?id=129453

Reviewed by Andreas Kling.

Replace WebProcessProxy::isLaunching() and WebProcessProxy::isValid() with a single
WebProcessProxy::state() that return one of three values: Launching, Running or Terminated.

  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::state):
(WebKit::ChildProcessProxy::sendMessage):
(WebKit::ChildProcessProxy::abortProcessLaunchIfNeeded):

  • Shared/ChildProcessProxy.h:

(WebKit::ChildProcessProxy::canSendMessage):

  • UIProcess/Databases/DatabaseProcessProxy.cpp:

(WebKit::DatabaseProcessProxy::getDatabaseProcessConnection):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::getNetworkProcessConnection):

  • UIProcess/Network/mac/NetworkProcessProxyMac.mm:

(WebKit::NetworkProcessProxy::setProcessSuppressionEnabled):

  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::getPluginProcessConnection):
(WebKit::PluginProcessProxy::getSitesWithData):
(WebKit::PluginProcessProxy::clearSiteData):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):
(WebKit::WebPageProxy::waitForDidUpdateViewState):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::requestTermination):
(WebKit::WebProcessProxy::enableSuddenTermination):
(WebKit::WebProcessProxy::disableSuddenTermination):

  • UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:

(WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::shouldDelayWindowOrderingForEvent):

  • UIProcess/mac/WebProcessProxyMac.mm:

(WebKit::WebProcessProxy::updateProcessSuppressionState):

2:55 PM Changeset in webkit [164831] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Crash tapping on play button on video on iOS
https://bugs.webkit.org/show_bug.cgi?id=129452

Reviewed by Benjamin Poulain.

node->computedStyle() can return null. Just use
renderer->style() to get the tap highlight color.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::tapHighlightAtPosition):

2:08 PM Changeset in webkit [164830] by BJ Burg
  • 29 edits
    5 adds in trunk

Web Inspector: model tests should use a special Test.html inspector page
https://bugs.webkit.org/show_bug.cgi?id=129190

Reviewed by Timothy Hatcher.

Source/WebCore:

Convert InspectorController::isUnderTest() into a flag, and expose an
Internals method so it can be set by the test before opening the inspector.

Test: inspector/test-harness-trivially-works.html

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::evaluateForTestInFrontend):

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

(WebCore::Internals::setInspectorIsUnderTest): Added.

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

Source/WebInspectorUI:

  • UserInterface/Base/Test.js: Added.

(WebInspector.loaded):
(WebInspector.contentLoaded):
(WebInspector.updateDockedState):
(InspectorTest.log):
(InspectorTest.assert):
(InspectorTest.debugLog):
(InspectorTest.completeTest):
(InspectorTest.evaluateInPage):
(InspectorTest.addResult):
(InspectorTest.clearResults):
(InspectorTest.pageLoaded):
(InspectorTest.reportUncaughtException):
(.console.logType):

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackendClass):
(InspectorBackendClass.prototype.dispatch):
(InspectorBackendClass.prototype.runAfterPendingDispatches):
(InspectorBackendClass.prototype._flushPendingScripts):

  • UserInterface/Protocol/InspectorObserver.js:

(WebInspector.InspectorObserver.prototype.evaluateForTestInFrontend):

  • UserInterface/Test.html: Added.

Source/WebKit/mac:

Support creating a separate test inspector page, based on the value of
InspectorController::isUnderTest(). Modify the navigation policy to check
the URL against both normal and test inspector pages.

  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorClient::openInspectorFrontend):
(-[WebInspectorWindowController init]):
(-[WebInspectorWindowController initWithInspectedWebView:isUnderTest:]):
Move the initial navigation of the inspector page to this method, and change
the URL based on the value of InspectorController::isUnderTest().

(-[WebInspectorWindowController inspectorTestPagePath]): Added.
(-[WebInspectorWindowController webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):

Source/WebKit2:

Support creating a separate test inspector page, based on the value of
InspectorController::isUnderTest(). Add this as a separate API call for
WebInspectorProxy. Modify the navigation policy to check the URL against
both normal and test inspector pages.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::isMainOrTestInspectorPage):
(WebKit::decidePolicyForNavigationAction):
(WebKit::WebInspectorProxy::createInspectorPageForTest):

  • UIProcess/WebInspectorProxy.h:
  • UIProcess/WebInspectorProxy.messages.in:
  • UIProcess/efl/WebInspectorProxyEfl.cpp:

(WebKit::WebInspectorProxy::inspectorTestPageURL):

  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::inspectorTestPageURL):

  • UIProcess/ios/WebInspectorProxyIOS.mm:

(WebKit::WebInspectorProxy::inspectorTestPageURL):

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::inspectorTestPageURL):

  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:

(WebKit::WebInspectorClient::openInspectorFrontend):

  • WebProcess/WebPage/WebInspector.cpp: Some drive-by nullptr refactorings.

(WebKit::WebInspector::WebInspector):
(WebKit::WebInspector::createInspectorPage):
(WebKit::WebInspector::createInspectorPageForTest):
(WebKit::WebInspector::destroyInspectorPage):

  • WebProcess/WebPage/WebInspector.h:

Tools:

Remove code that immediately opens the Web Inspector based on the file path of the test.
Instead, the test page should request that the inspector open inside its test() method.

This change is necessary because otherwise, the inspector would be opened too early for
InspectorController::isUnderTest to get set in time, so the normal Web Inspector page
will get loaded instead of the minimal test page.

  • DumpRenderTree/efl/DumpRenderTree.cpp:

(createTestRunner):

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(runTest):

  • DumpRenderTree/mac/DumpRenderTree.mm:

(runTest):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(runTest):

LayoutTests:

Add a stripped-down version of the inspector test script that's used by
all inspector model tests. Clean up the namespaces so things accessible
from only the test page are part of the InspectorTestProxy object.

Add a minimal test that exercises the initialization and communication code
paths on the test page and the inspector page.

  • http/tests/inspector-protocol/resources/InspectorTest.js: Add a FIXME.
  • inspector/inspector-test.js: Added.

(InspectorTestProxy.register):
(runTest.initializeFrontend):
(runTest.runTestInFrontend):
(runTest):
(InspectorTestProxy.completeTest):
(InspectorTestProxy.debugLog):
(InspectorTestProxy.addResult):
(InspectorTestProxy.clearResults):
(InspectorTestProxy.reportUncaughtException):

  • inspector/test-harness-trivially-works-expected.txt: Added.
  • inspector/test-harness-trivially-works.html: Added.
1:50 PM Changeset in webkit [164829] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Web Inspector: Better name for RemoteInspectorDebuggableConnection dispatch queue
https://bugs.webkit.org/show_bug.cgi?id=129443

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

This queue is specific to the JSContext debuggable connections,
there is no XPC involved. Give it a better name.

  • inspector/remote/RemoteInspectorDebuggableConnection.mm:

(Inspector::RemoteInspectorDebuggableConnection::RemoteInspectorDebuggableConnection):

1:41 PM Changeset in webkit [164828] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove jsc symlink if it already exists

This is a follow-up fix for:

Create symlink to /usr/local/bin/jsc during installation
<http://webkit.org/b/129399>
<rdar://problem/16168734>

(Create /usr/local/bin/jsc symlink): If a jsc symlink already
exists where we're about to create the symlink, remove the old
one first.

1:35 PM Changeset in webkit [164827] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed build fix for Mac tools after r164814

  • Configurations/ToolExecutable.xcconfig:
  • Added JavaScriptCore.framework/PrivateHeaders to ToolExecutable include path.
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Changed productName to testRegExp for testRegExp target.
1:02 PM Changeset in webkit [164826] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r164824.

Accidentally re-added some code that was removed.

  • page/ContentSecurityPolicy.cpp:
12:45 PM Changeset in webkit [164825] by alex.christensen@flexsim.com
  • 2 edits in trunk/Source/WebCore

Compile fix when not using TEXTURE_MAPPER_GL.
https://bugs.webkit.org/show_bug.cgi?id=129417

Reviewed by Darin Adler.

  • platform/graphics/texmap/TextureMapperGL.cpp:

Protect platformCreateAccelerated with USE(TEXTURE_MAPPER_GL).

12:45 PM Changeset in webkit [164824] by Joseph Pecoraro
  • 25 edits in trunk/Source

Web Inspector: JSContext inspection should report exceptions in the console
https://bugs.webkit.org/show_bug.cgi?id=128776

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

When JavaScript API functions have an exception, let the inspector
know so it can log the JavaScript and Native backtrace that caused
the exception.

Include some clean up of ConsoleMessage and ScriptCallStack construction.

  • API/JSBase.cpp:

(JSEvaluateScript):
(JSCheckScriptSyntax):

  • API/JSObjectRef.cpp:

(JSObjectMakeFunction):
(JSObjectMakeArray):
(JSObjectMakeDate):
(JSObjectMakeError):
(JSObjectMakeRegExp):
(JSObjectGetProperty):
(JSObjectSetProperty):
(JSObjectGetPropertyAtIndex):
(JSObjectSetPropertyAtIndex):
(JSObjectDeleteProperty):
(JSObjectCallAsFunction):
(JSObjectCallAsConstructor):

  • API/JSValue.mm:

(reportExceptionToInspector):
(valueToArray):
(valueToDictionary):

  • API/JSValueRef.cpp:

(JSValueIsEqual):
(JSValueIsInstanceOfConstructor):
(JSValueCreateJSONString):
(JSValueToNumber):
(JSValueToStringCopy):
(JSValueToObject):
When seeing an exception, let the inspector know there was an exception.

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::appendAPIBacktrace):
(Inspector::JSGlobalObjectInspectorController::reportAPIException):
Log API exceptions by also grabbing the native backtrace.

  • inspector/ScriptCallStack.h:
  • inspector/ScriptCallStack.cpp:

(Inspector::ScriptCallStack::firstNonNativeCallFrame):
(Inspector::ScriptCallStack::append):
Minor extensions to ScriptCallStack to make it easier to work with.

  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::ConsoleMessage):
(Inspector::ConsoleMessage::autogenerateMetadata):
Provide better default information if the first call frame was native.

  • inspector/ScriptCallStackFactory.cpp:

(Inspector::createScriptCallStack):
(Inspector::extractSourceInformationFromException):
(Inspector::createScriptCallStackFromException):
Perform the handling here of inserting a fake call frame for exceptions
if there was no call stack (e.g. a SyntaxError) or if the first call
frame had no information.

  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::ConsoleMessage):
(Inspector::ConsoleMessage::autogenerateMetadata):

  • inspector/ConsoleMessage.h:
  • inspector/ScriptCallStackFactory.cpp:

(Inspector::createScriptCallStack):
(Inspector::createScriptCallStackForConsole):

  • inspector/ScriptCallStackFactory.h:
  • inspector/agents/InspectorConsoleAgent.cpp:

(Inspector::InspectorConsoleAgent::enable):
(Inspector::InspectorConsoleAgent::addMessageToConsole):
(Inspector::InspectorConsoleAgent::count):

  • inspector/agents/JSGlobalObjectDebuggerAgent.cpp:

(Inspector::JSGlobalObjectDebuggerAgent::breakpointActionLog):
ConsoleMessage cleanup.

Source/WebCore:

Include some clean up of ConsoleMessage and ScriptCallStack construction.

Covered by existing tests.

  • bindings/js/JSDOMBinding.cpp:

(WebCore::reportException):
Simplify code now that createStackTraceFromException handles it.

  • page/ContentSecurityPolicy.cpp:

(WebCore::gatherSecurityPolicyViolationEventData):
(WebCore::ContentSecurityPolicy::reportViolation):
ScriptCallStack can give us the first non-native callframe.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::buildInitiatorObject):

  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::breakpointActionLog):

  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createGenericRecord):

  • page/Console.cpp:

(WebCore::internalAddMessage):
(WebCore::Console::profile):
(WebCore::Console::profileEnd):
(WebCore::Console::timeEnd):

  • page/ContentSecurityPolicy.cpp:

(WebCore::gatherSecurityPolicyViolationEventData):
(WebCore::ContentSecurityPolicy::reportViolation):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::postMessage):

Source/WebInspectorUI:

  • UserInterface/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype._formatMessage):
(WebInspector.ConsoleMessageImpl.prototype._shouldHideURL):
(WebInspector.ConsoleMessageImpl.prototype._firstNonNativeCallFrame):
(WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
Provide better handling for "[native code]" and legacy "undefined"
call frame URLs. Never linkify these. Also, when showing a link
for an exception, always use the first non-native call frame as
the link location.

12:37 PM Changeset in webkit [164823] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Create symlink to /usr/local/bin/jsc during installation
<http://webkit.org/b/129399>
<rdar://problem/16168734>

Reviewed by Dan Bernstein.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Add "Create /usr/local/bin/jsc symlink" build phase script to create the symlink during installation.
12:24 PM Changeset in webkit [164822] by akling@apple.com
  • 51 edits
    2 deletes in trunk/Source/WebCore

Remove FeatureObserver.
<https://webkit.org/b/129439>

This code was only used by the Chromium port and nobody else is
making use of it.

Reviewed by Anders Carlsson.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/EventTarget.cpp:

(WebCore::EventTarget::fireEventListeners):

  • dom/EventTarget.h:
  • html/ColorInputType.cpp:
  • html/ColorInputType.h:
  • html/DateInputType.cpp:
  • html/DateInputType.h:
  • html/DateTimeInputType.cpp:
  • html/DateTimeInputType.h:
  • html/DateTimeLocalInputType.cpp:
  • html/DateTimeLocalInputType.h:
  • html/EmailInputType.cpp:
  • html/EmailInputType.h:
  • html/HTMLDataListElement.cpp:

(WebCore::HTMLDataListElement::create):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::parseAttribute):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::parseAttribute):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::parseAttribute):

  • html/InputType.cpp:
  • html/InputType.h:
  • html/MonthInputType.cpp:
  • html/MonthInputType.h:
  • html/NumberInputType.cpp:
  • html/NumberInputType.h:
  • html/RangeInputType.cpp:
  • html/RangeInputType.h:
  • html/SearchInputType.cpp:
  • html/SearchInputType.h:
  • html/TelephoneInputType.cpp:
  • html/TelephoneInputType.h:
  • html/TextInputType.cpp:
  • html/TextInputType.h:
  • html/TimeInputType.cpp:
  • html/TimeInputType.h:
  • html/URLInputType.cpp:
  • html/URLInputType.h:
  • html/WeekInputType.cpp:
  • html/WeekInputType.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
(WebCore::FrameLoader::dispatchDidCommitLoad):

  • page/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::didReceiveHeader):

  • page/EventHandler.cpp:

(WebCore::EventHandler::selectCursor):

  • page/FeatureObserver.cpp: Removed.
  • page/FeatureObserver.h: Removed.
  • page/Page.h:
  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::RenderDeprecatedFlexibleBox):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • workers/SharedWorker.cpp:

(WebCore::SharedWorker::create):

  • workers/Worker.cpp:

(WebCore::Worker::create):

12:16 PM Changeset in webkit [164821] by krit@webkit.org
  • 2 edits
    1 move in trunk/LayoutTests

Transform more clip-path pixel tests to reference tests
https://bugs.webkit.org/show_bug.cgi?id=129230

Reviewed by Simon Fraser.

Fix masking test.

  • svg/masking/mask-negative-scale.svg:
11:41 AM Changeset in webkit [164820] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

Make WebProcessProxy::pages() return an IteratorRange
https://bugs.webkit.org/show_bug.cgi?id=129440

Reviewed by Dan Bernstein.

  • UIProcess/API/C/WKPage.cpp:

(WKPageCopyRelatedPages):
Move the implementation of WebPageProxy::relatedPages here.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::createNewWebProcessRespectingProcessCountLimit):
Use std::min_element here instead of a manual loop.

  • UIProcess/WebPageProxy.cpp:

Remove WebPageProxy::relatedPages().

  • UIProcess/WebProcessProxy.cpp:

Remove WebProcessProxy::pages().

  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::pages):
Make this return an IteratorRange.

(WebKit::WebProcessProxy::pageCount):
New function that returns the page count.

11:39 AM Changeset in webkit [164819] by commit-queue@webkit.org
  • 5 edits in trunk

Math.{max, min}() must not return after first NaN value
https://bugs.webkit.org/show_bug.cgi?id=104147

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-02-27
Reviewed by Oliver Hunt.

Source/JavaScriptCore:

According to the spec, ToNumber going to be called on each argument
even if a NaN value was already found

  • runtime/MathObject.cpp:

(JSC::mathProtoFuncMax):
(JSC::mathProtoFuncMin):

LayoutTests:

Extended the Math.{max, min}() tests, to check that these methods are return after first NaN value or not.

  • js/math-expected.txt:
  • js/script-tests/math.js:
11:20 AM Changeset in webkit [164818] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac][WK2] Remove hardcoded Cmd+B and Cmd+I from WKView.mm
https://bugs.webkit.org/show_bug.cgi?id=129436

Reviewed by Darin Adler.

  • UIProcess/API/mac/WKView.mm: Removed a historic WebKit1 behavior that we don't

need to preserve in WebKit2.

11:11 AM Changeset in webkit [164817] by psolanki@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Assertion failure at CachedResource.h:196: ASSERT(!m_purgeableData)
https://bugs.webkit.org/show_bug.cgi?id=129349
<rdar://problem/14871837>

Reviewed by Joseph Pecoraro.

The code for clearing out memory mapped notification callbacks is only needed when loading
PDFs. And in such cases, we always have dataSourceDelegate object. So make this code
conditional on its presence so that we don't trigger the assert for non-PDF main resources.

  • WebView/WebDataSource.mm:

(-[WebDataSource dealloc]):

11:00 AM Changeset in webkit [164816] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] Remove unused SPI declarations from WKView.mm
https://bugs.webkit.org/show_bug.cgi?id=129434

Reviewed by Sam Weinig.

  • UIProcess/API/mac/WKView.mm:
10:49 AM Changeset in webkit [164815] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

JSType upper limit (0xff) assertion can be removed.
https://bugs.webkit.org/show_bug.cgi?id=129424

Patch by Gergo Balogh <gbalogh.u-szeged@partner.samsung.com> on 2014-02-27
Reviewed by Geoffrey Garen.

  • runtime/JSTypeInfo.h:

(JSC::TypeInfo::TypeInfo):

10:48 AM Changeset in webkit [164814] by msaboff@apple.com
  • 20 edits
    2 adds in trunk/Source

Auto generate bytecode information for bytecode parser and LLInt
https://bugs.webkit.org/show_bug.cgi?id=129181

Reviewed by Mark Lam.

Source/JavaScriptCore:

Added new bytecode/BytecodeList.json that contains a list of bytecodes and related
helpers. It also includes bytecode length and other information used to generate files.
Added a new generator, generate-bytecode-files that generates Bytecodes.h and InitBytecodes.asm
in DerivedSources/JavaScriptCore/.

Added the generation of these files to the "DerivedSource" build step.
Slighty changed the build order, since the Bytecodes.h file is needed by
JSCLLIntOffsetsExtractor. Moved the offline assembly to a separate step since it needs
to be run after JSCLLIntOffsetsExtractor.

Made related changes to OPCODE macros and their use.

Added JavaScriptCore.framework/PrivateHeaders to header file search path for building
jsc to resolve Mac build issue.

  • CMakeLists.txt:
  • Configurations/JSC.xcconfig:
  • DerivedSources.make:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.vcxproj/copy-files.cmd:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/Opcode.h:

(JSC::padOpcodeName):

  • llint/LLIntCLoop.cpp:

(JSC::LLInt::CLoop::initialize):

  • llint/LLIntCLoop.h:
  • llint/LLIntData.cpp:

(JSC::LLInt::initialize):

  • llint/LLIntOpcode.h:
  • llint/LowLevelInterpreter.asm:

Source/WebKit:

Added ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR} to WebKit_INCLUDE_DIRECTORIES due to new
generated Bytecodes.h include file.

  • CMakeLists.txt:

Source/WebKit2:

Added ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR} to WebKit2_INCLUDE_DIRECTORIES due to new
generated Bytecodes.h include file.

  • CMakeLists.txt:
10:47 AM Changeset in webkit [164813] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix 32-bit V_JITOperation_EJ callOperation introduced in r162652.
https://bugs.webkit.org/show_bug.cgi?id=129420

Patch by Julien Brianceau <jbriance@cisco.com> on 2014-02-27
Reviewed by Geoffrey Garen.

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation): Payload and tag are swapped.
Also, EABI_32BIT_DUMMY_ARG is missing for arm EABI and mips.

10:34 AM Changeset in webkit [164812] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Octane/closure thrashes between flattening dictionaries during global object initialization in a global eval
https://bugs.webkit.org/show_bug.cgi?id=129435

Reviewed by Oliver Hunt.

This is a 5-10% speed-up on Octane/closure.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionClearCodeCache):

  • runtime/BatchedTransitionOptimizer.h:

(JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
(JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):

10:27 AM Changeset in webkit [164811] by ap@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Added svn:ignore to two directories, so that .pyc files don't show up as unversioned.

  • inspector/scripts: Added property svn:ignore.
  • replay/scripts: Added property svn:ignore.
10:09 AM Changeset in webkit [164810] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Look up already existing VisitedLinkTableController objects by identifier
https://bugs.webkit.org/show_bug.cgi?id=129431

Reviewed by Dan Bernstein.

  • WebProcess/WebPage/VisitedLinkTableController.cpp:

(WebKit::visitedLinkTableControllers):
(WebKit::VisitedLinkTableController::getOrCreate):
(WebKit::VisitedLinkTableController::VisitedLinkTableController):
(WebKit::VisitedLinkTableController::~VisitedLinkTableController):

  • WebProcess/WebPage/VisitedLinkTableController.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

10:07 AM Changeset in webkit [164809] by Carlos Garcia Campos
  • 7 edits
    3 adds in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r164808 - [GTK][WK2] Blocks when fetching plugins information
https://bugs.webkit.org/show_bug.cgi?id=115650

Reviewed by Gustavo Noronha Silva.

Use a persistent cache to store the plugins metadata to avoid
having to load all the plugins everytime a plugin is used for the
first time.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • PlatformGTK.cmake:
  • Shared/Plugins/Netscape/NetscapePluginModule.h:
  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::NetscapePluginModule::parseMIMEDescription): Make this
method public.
(WebKit::NetscapePluginModule::buildMIMEDescription): Added this
helper to build the MIME description string.

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp: Added.

(WebKit::PluginInfoCache::shared):
(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::~PluginInfoCache):
(WebKit::PluginInfoCache::saveToFileIdleCallback):
(WebKit::PluginInfoCache::saveToFile):
(WebKit::PluginInfoCache::getPluginInfo):
(WebKit::PluginInfoCache::updatePluginInfo):

  • UIProcess/Plugins/gtk/PluginInfoCache.h: Added.
  • UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:

(WebKit::PluginInfoStore::getPluginInfo): Check first if we have
metadata of the plugin in the cache and update the cache if we
loaded the plugin to get its metadata.

9:59 AM Changeset in webkit [164808] by Carlos Garcia Campos
  • 7 edits
    3 adds in trunk/Source/WebKit2

[GTK][WK2] Blocks when fetching plugins information
https://bugs.webkit.org/show_bug.cgi?id=115650

Reviewed by Gustavo Noronha Silva.

Use a persistent cache to store the plugins metadata to avoid
having to load all the plugins everytime a plugin is used for the
first time.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • PlatformGTK.cmake:
  • Shared/Plugins/Netscape/NetscapePluginModule.h:
  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::NetscapePluginModule::parseMIMEDescription): Make this
method public.
(WebKit::NetscapePluginModule::buildMIMEDescription): Added this
helper to build the MIME description string.

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp: Added.

(WebKit::PluginInfoCache::shared):
(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::~PluginInfoCache):
(WebKit::PluginInfoCache::saveToFileIdleCallback):
(WebKit::PluginInfoCache::saveToFile):
(WebKit::PluginInfoCache::getPluginInfo):
(WebKit::PluginInfoCache::updatePluginInfo):

  • UIProcess/Plugins/gtk/PluginInfoCache.h: Added.
  • UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:

(WebKit::PluginInfoStore::getPluginInfo): Check first if we have
metadata of the plugin in the cache and update the cache if we
loaded the plugin to get its metadata.

9:49 AM Changeset in webkit [164807] by Chris Fleizach
  • 3 edits
    2 adds in trunk

speechSynthesis.speak of a zero length utterance kills future speech
https://bugs.webkit.org/show_bug.cgi?id=129403

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Empty length strings may choke a synthesizer and result in didFinishSpeaking not being called.
The WebKit code should be proactive about screening out empty length strings.

Test: platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string.html

  • Modules/speech/SpeechSynthesis.cpp:

(WebCore::SpeechSynthesis::startSpeakingImmediately):

LayoutTests:

  • platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt: Added.
  • platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string.html: Added.
9:02 AM Changeset in webkit [164806] by lvidacs.u-szeged@partner.samsung.com
  • 3 edits in trunk/Tools

check-webkit-style indentation false alarm in WebKit/win/WebNodeHighlight.cpp
https://bugs.webkit.org/show_bug.cgi?id=127076

Reviewed by Anders Carlsson.

Avoid match for :: as start of a member initialization list. Modify expression to match
after a colon either non-colon character or end of line.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_member_initialization_list):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(WebKitStyleTest.test_member_initialization_list):

8:08 AM Changeset in webkit [164805] by commit-queue@webkit.org
  • 3 edits
    2 deletes in trunk

Unreviewed, rolling out r164783.
http://trac.webkit.org/changeset/164783
https://bugs.webkit.org/show_bug.cgi?id=129425

Broke number of multicol tests (Requested by anttik on
#webkit).

Source/WebCore:

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::containingColumnsBlock):

LayoutTests:

  • fast/css/crash-on-column-splitting-expected.txt: Removed.
  • fast/css/crash-on-column-splitting.html: Removed.
7:52 AM Changeset in webkit [164804] by graouts@webkit.org
  • 5 edits
    4 adds in trunk

Respect SVG fragment identifiers in <img> src attribute
https://bugs.webkit.org/show_bug.cgi?id=129387

Reviewed by Antti Koivisto.

Source/WebCore:

Test: svg/css/svg-resource-fragment-identifier-img-src.html

When providing an SVG image for a given renderer, check that the URL used to load
that image is taken into account in case it featured a fragment identifier, ensuring
that the CSS :target pseudo-class is correctly handled for SVG resources. This patch
is specific to <img> elements, specific support will also need to be added for various
CSS properties that support SVG images.

  • svg/graphics/SVGImageCache.cpp:

(WebCore::SVGImageCache::imageForRenderer):
Check if the provided renderer is attached to an <img> element and, if so, pass the
resolved <img> source URL, taking into account srcset, to the SVGImageForContainer.

  • svg/graphics/SVGImageForContainer.cpp:

(WebCore::SVGImageForContainer::setURL):
Trigger the FrameView machinery to ensure that the :target pseudo-class is respected
should the provided URL feature a fragment identifier.

  • svg/graphics/SVGImageForContainer.h:

Declare the new setURL() method.

LayoutTests:

Test that we correctly handle the fragment identifier used in SVG URLs in <img> elements,
checking for correct srcset handling as well.

  • svg/css/resources/fragment-identifiers.svg: Added.
  • svg/css/svg-resource-fragment-identifier-img-src-expected.html: Added.
  • svg/css/svg-resource-fragment-identifier-img-src.html: Added.
7:50 AM Changeset in webkit [164803] by Lucas Forschler
  • 1 copy in tags/Safari-538.20

New Tag.

6:22 AM Changeset in webkit [164802] by k.czech@samsung.com
  • 2 edits in trunk/Source/WebCore

[ATK] Fix style errors in enum members
https://bugs.webkit.org/show_bug.cgi?id=129421

Reviewed by Mario Sanchez Prada.

No new tests. No new functionality.

Enum members should use InterCaps with an initial capital letter.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(getInterfaceMaskFromObject):

6:03 AM Changeset in webkit [164801] by reni@webkit.org
  • 2 edits in trunk/Tools

Unreviewed. Update my email addresses in contributors.json.

  • Scripts/webkitpy/common/config/contributors.json:
6:02 AM Changeset in webkit [164800] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r164797 - need to #include <libgen.h> for basename
https://bugs.webkit.org/show_bug.cgi?id=128597

Patch by Ryan Lortie <desrt@desrt.ca> on 2014-02-27
Reviewed by Carlos Garcia Campos.

  • PluginProcess/unix/PluginProcessMainUnix.cpp: include <libgen.h> as required by POSIX for basename
6:02 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
6:01 AM Changeset in webkit [164799] by rgabor@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

r164764 broke the ARM build
https://bugs.webkit.org/show_bug.cgi?id=129415

Reviewed by Zoltan Herczeg.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::moveWithPatch): Change reinterpret_cast to static_cast.
(JSC::MacroAssemblerARM::canJumpReplacePatchableBranch32WithPatch): Add missing function.
(JSC::MacroAssemblerARM::startOfPatchableBranch32WithPatchOnAddress): Add missing function.
(JSC::MacroAssemblerARM::revertJumpReplacementToPatchableBranch32WithPatch): Add missing function.

6:01 AM Changeset in webkit [164798] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4

Merge r164796 - Fallback on checking for libz manualy if zlib.pc isn't available.
https://bugs.webkit.org/show_bug.cgi?id=127061

Patch by Koop Mast <kwm@FreeBSD.org> on 2014-02-27
Reviewed by Gustavo Noronha Silva.

  • Source/autotools/FindDependencies.m4:
6:00 AM WebKitGTK/2.4.x edited by desrt@desrt.ca
<libgen.h> bug (diff)
5:58 AM Changeset in webkit [164797] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

need to #include <libgen.h> for basename
https://bugs.webkit.org/show_bug.cgi?id=128597

Patch by Ryan Lortie <desrt@desrt.ca> on 2014-02-27
Reviewed by Carlos Garcia Campos.

  • PluginProcess/unix/PluginProcessMainUnix.cpp: include <libgen.h> as required by POSIX for basename
5:56 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
5:54 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
5:48 AM Changeset in webkit [164796] by berto@igalia.com
  • 2 edits in trunk

Fallback on checking for libz manualy if zlib.pc isn't available.
https://bugs.webkit.org/show_bug.cgi?id=127061

Patch by Koop Mast <kwm@FreeBSD.org> on 2014-02-27
Reviewed by Gustavo Noronha Silva.

  • Source/autotools/FindDependencies.m4:
5:43 AM WebKitGTK/2.4.x edited by desrt@desrt.ca
libz bug (diff)
5:15 AM Changeset in webkit [164795] by commit-queue@webkit.org
  • 15 edits
    11 adds in trunk

[CSS Blending] Parse and implement the -webkit-isolation CSS property.

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

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

Source/WebCore:

Parse and implement -webkit-isolation, part of the CSS Blending and Compositing spec.
This patch adds functionality for HTML and SVG.
-webkit-isolation: isolate restricts any child elements from blending with any of the content outside the isolated parent element.

Tests: css3/compositing/isolation-isolate-blended-child.html

css3/compositing/isolation-parsing.html
css3/compositing/svg-isolation-default.html
css3/compositing/svg-isolation-isolated-group.html
css3/compositing/svg-isolation-simple.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator Isolation):

  • css/CSSPropertyNames.in: Add -webkit-isolation.
  • css/CSSValueKeywords.in: Add the isolate value.
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle): Explicitly set isolation:isolate to create a stacking context.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayerRepaint): Changing isolation should trigger a repaint.

  • rendering/style/RenderStyle.h: Setters and getters for isolation.
  • rendering/style/RenderStyleConstants.h: Add Isolation enum.
  • rendering/style/StyleRareNonInheritedData.cpp: Add m_isolation.

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):

  • rendering/style/StyleRareNonInheritedData.h:
  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::prepareToRenderSVGContent): If isolated, paint in a transparency layer.

LayoutTests:

Test parsing of -webkit-isolation. Test if setting -webkit-isolation: isolate creats a stacking context.
Test for SVG and HTML that blending is restricted to the contents of an isolated parent element.

  • css3/compositing/isolation-isolate-blended-child-expected.html: Added.
  • css3/compositing/isolation-isolate-blended-child.html: Added.
  • css3/compositing/isolation-isolate-simple-expected.txt: Added.
  • css3/compositing/isolation-parsing-expected.txt: Added.
  • css3/compositing/isolation-parsing.html: Added.
  • css3/compositing/svg-isolation-default-expected.html: Added.
  • css3/compositing/svg-isolation-default.html: Added.
  • css3/compositing/svg-isolation-isolated-group-expected.html: Added.
  • css3/compositing/svg-isolation-isolated-group.html: Added.
  • css3/compositing/svg-isolation-simple-expected.html: Added.
  • css3/compositing/svg-isolation-simple.html: Added.
4:27 AM Changeset in webkit [164794] by berto@igalia.com
  • 2 edits in trunk/Tools

[gtk-doc] UnicodeEncodeError: 'ascii' codec can't encode character
https://bugs.webkit.org/show_bug.cgi?id=128927

Reviewed by Philippe Normand.

Encode manually the data for sys.{stdout,stderr}.write.

  • gtk/gtkdoc.py:

(GTKDoc._run_command):

4:10 AM Changeset in webkit [164793] by Andres Gomez
  • 2 edits in trunk/Tools

Unreviewed. Add myself to watchlists

  • Scripts/webkitpy/common/config/watchlist: Add myself to

watchlists.

3:59 AM Changeset in webkit [164792] by Andres Gomez
  • 2 edits in trunk/Tools

Unreviewed, rolling out r164790.
http://trac.webkit.org/changeset/164790

Revert r164790 because of erroneous commit log

  • Scripts/webkitpy/common/config/watchlist:
3:40 AM Changeset in webkit [164791] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r164787 - [GTK] Web Inspector doesn't work with network process enabled
https://bugs.webkit.org/show_bug.cgi?id=127651

Reviewed by Sergio Villar Senin.

The problem is that the web inspector loads so many resources,
that when using the network process, a lot of IPC traffic is
generated causing the send buffer of the socket to be full. When
that happens sendmsg() fails with EAGAIN, because we are using non
blocking sockets, and we are not handling neither EAGAIN nor
EWOULDBLOCK errors (we do when reading from the socket, though).

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::readyReadHandler): Add a log message to know
when reading from the socket fails for any unhandled error.
(IPC::Connection::sendOutgoingMessage): Handle EAGAIN and
EWOULDBLOCK errors to try again in those cases. Also add a log
message for unhandled errors.

3:35 AM Changeset in webkit [164790] by Andres Gomez
  • 2 edits in trunk/Tools

[ATK] Utilize AtkTableCell to expose directly AccessibilityTableCell to AT
https://bugs.webkit.org/show_bug.cgi?id=129250

Patch by Krzysztof Czech <k.czech@samsung.com> on 2014-02-27
Reviewed by Mario Sanchez Prada.

Changing version of ATK to 2.11.90, because it introduces AtkTableCell interface.
Implementing methods so that we could test column/row headers represented as an array of cells.

  • DumpRenderTree/AccessibilityUIElement.cpp:
  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(AccessibilityUIElement::columnHeaders):
(AccessibilityUIElement::rowHeaders):

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp: Adding empty stubs, to not break compilation.

(AccessibilityUIElement::columnHeaders):
(AccessibilityUIElement::rowHeaders):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::rowHeaders):
(WTR::AccessibilityUIElement::columnHeaders):

  • efl/jhbuild.modules:
  • gtk/jhbuild.modules:
3:34 AM Changeset in webkit [164789] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r164787 - [GTK] Web Inspector doesn't work with network process enabled
https://bugs.webkit.org/show_bug.cgi?id=127651

Reviewed by Sergio Villar Senin.

The problem is that the web inspector loads so many resources,
that when using the network process, a lot of IPC traffic is
generated causing the send buffer of the socket to be full. When
that happens sendmsg() fails with EAGAIN, because we are using non
blocking sockets, and we are not handling neither EAGAIN nor
EWOULDBLOCK errors (we do when reading from the socket, though).

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::readyReadHandler): Add a log message to know
when reading from the socket fails for any unhandled error.
(IPC::Connection::sendOutgoingMessage): Handle EAGAIN and
EWOULDBLOCK errors to try again in those cases. Also add a log
message for unhandled errors.

3:34 AM Changeset in webkit [164788] by Carlos Garcia Campos
  • 1 edit in releases/WebKitGTK/webkit-2.4/Source/WebKit2/ChangeLog

[GTK] Remove unneeded method webkitWebViewBaseRequestExitFullScreen
https://bugs.webkit.org/show_bug.cgi?id=129245

Reviewed by Sergio Villar Senin.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseKeyPressEvent): Call FullscreenManager::requestExitFullScreen() directly.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
3:30 AM Changeset in webkit [164787] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Web Inspector doesn't work with network process enabled
https://bugs.webkit.org/show_bug.cgi?id=127651

Reviewed by Sergio Villar Senin.

The problem is that the web inspector loads so many resources,
that when using the network process, a lot of IPC traffic is
generated causing the send buffer of the socket to be full. When
that happens sendmsg() fails with EAGAIN, because we are using non
blocking sockets, and we are not handling neither EAGAIN nor
EWOULDBLOCK errors (we do when reading from the socket, though).

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::Connection::readyReadHandler): Add a log message to know
when reading from the socket fails for any unhandled error.
(IPC::Connection::sendOutgoingMessage): Handle EAGAIN and
EWOULDBLOCK errors to try again in those cases. Also add a log
message for unhandled errors.

3:28 AM Changeset in webkit [164786] by k.czech@samsung.com
  • 13 edits
    2 moves
    2 adds in trunk

[ATK] Utilize AtkTableCell to expose directly AccessibilityTableCell to AT
https://bugs.webkit.org/show_bug.cgi?id=129250

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Test: accessibility/table-scope.html

Exposing AtkTableCell to AT. Implementing possibility to get column headers and row headers
as an array of cells.

  • GNUmakefile.list.am:
  • PlatformEfl.cmake:
  • accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp: Added.

(convertToGPtrArray):
(core):
(webkitAccessibleTableCellGetColumnHeaderCells):
(webkitAccessibleTableCellGetRowHeaderCells):
(webkitAccessibleTableCellInterfaceInit):

  • accessibility/atk/WebKitAccessibleInterfaceTableCell.h: Added.
  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(getInterfaceMaskFromObject):

Tools:

Changing version of ATK to 2.11.90, because it introduces AtkTableCell interface.
Implementing methods so that we could test column/row headers represented as an array of cells.

  • DumpRenderTree/AccessibilityUIElement.cpp:
  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(AccessibilityUIElement::columnHeaders):
(AccessibilityUIElement::rowHeaders):

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp: Adding empty stubs, to not break compilation.

(AccessibilityUIElement::columnHeaders):
(AccessibilityUIElement::rowHeaders):

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::rowHeaders):
(WTR::AccessibilityUIElement::columnHeaders):

  • efl/jhbuild.modules:
  • gtk/jhbuild.modules:

LayoutTests:

Sharing test with GTK/EFL.

  • accessibility/table-scope-expected.txt: Renamed from LayoutTests/platform/mac/accessibility/table-scope-expected.txt.
  • accessibility/table-scope.html: Renamed from LayoutTests/platform/mac/accessibility/table-scope.html.
  • platform/win/TestExpectations: Skipping on windows, missing implementation.
3:14 AM Changeset in webkit [164785] by Andres Gomez
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

  • Scripts/webkitpy/common/config/contributors.json:
2:29 AM Changeset in webkit [164784] by calvaris@igalia.com
  • 2 edits in trunk/Tools

Unreviewed. Add Víctor Jáquez and myself to watchlists

  • Scripts/webkitpy/common/config/watchlist: Add Víctor Jáquez and

myself to watchlists.

2:17 AM Changeset in webkit [164783] by reni@webkit.org
  • 3 edits
    2 adds in trunk

Improving containing column block determination
https://bugs.webkit.org/show_bug.cgi?id=125449

Reviewed by Darin Adler.

Source/WebCore:

Making sure that the containing column block of any elements
can not be oneself.

Test: fast/css/crash-on-column-splitting.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::containingColumnsBlock):
(WebCore::RenderBlock::splitFlow):

LayoutTests:

  • fast/css/crash-on-column-splitting-expected.txt: Added.
  • fast/css/crash-on-column-splitting.html: Added.
1:16 AM Changeset in webkit [164782] by calvaris@igalia.com
  • 13 edits in trunk

[GTK] Improve JavaScript multimedia controls
https://bugs.webkit.org/show_bug.cgi?id=129044

Reviewed by Jer Noble.

Source/WebCore:

After webkit.org/b/123097 a follow up was needed to improve
accessibily and some other cosmetic problems, like cleaner CSS and
new missing baselines.

No new tests because of no new functionality.

  • Modules/mediacontrols/mediaControlsApple.js:

Added hiding class name.

  • Modules/mediacontrols/mediaControlsGtk.js:

(ControllerGtk.prototype.createControls): Set remaining time as
hidden by default and turned volumebox hidden into hiding.
(ControllerGtk.prototype.updateTime): Simplified the hiding and
showing by removing the show class and using hidden only.
(ControllerGtk.prototype.handleMuteButtonMouseOver):
(ControllerGtk.prototype.handleVolumeBoxMouseOut): Turned hidden
into hiding.
(ControllerGtk.prototype.updateReadyState): Changed coding style
and added down class for the panel too.
(ControllerGtk.prototype.updatePlaying): Change for coding style
coherence.
(ControllerGtk.prototype.handleCaptionButtonClicked): Call
handleCaptionButtonShowMenu.
(ControllerGtk.prototype.handleCaptionButtonMouseOver): Call
handleCaptionButtonShowMenu.
(ControllerGtk.prototype.handleCaptionButtonShowMenu): Created
with the former behavior of handleCaptionButtonMouseOver.

  • css/mediaControlsGtk.css:

(.hidden): Set display none for all objects with hidden class.
(audio::-webkit-media-controls-panel *:focus):
(audio::-webkit-media-controls-panel.down *:focus): Added gradient
for the active and focus status.
(audio::-webkit-media-controls-time-remaining-display)
(video::-webkit-media-controls-time-remaining-display): Set
display block.
(audio::-webkit-media-controls-volume-slider-container)
(video::-webkit-media-controls-volume-slider-container): Set
display flex.
(video::-webkit-media-controls-volume-slider-container.hiding):
Changed from hidden.
(video::-webkit-media-controls-panel .hiding.down): Changed from
hidden.

  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::paintMediaButton): Returning true to
allow CSS painting the gradient.

LayoutTests:

  • media/controls-without-preload.html: Fixed.
  • platform/gtk/accessibility/media-controls-panel-title-expected.txt:
  • platform/gtk/accessibility/media-controls-panel-title.html:
  • platform/gtk/accessibility/media-emits-object-replacement-expected.txt:
  • platform/gtk/media/video-volume-slider-expected.png:
  • platform/gtk/media/video-volume-slider-expected.txt:
  • platform/gtk/media/video-zoom-controls-expected.txt: Rebaseline.
12:45 AM Changeset in webkit [164781] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

r164764 broke the ARM build
https://bugs.webkit.org/show_bug.cgi?id=129415

Reviewed by Geoffrey Garen.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::moveWithPatch):

12:42 AM Changeset in webkit [164780] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fixing the GTK build fix after r164757.

  • platform/network/NetworkStateNotifier.cpp: r164757 introduced a layering violation by including

the Settings.h header. The use of that class is guarded by PLATFORM(IOS), so the header inclusion
should be guarded as well.

Note: See TracTimeline for information about the timeline view.