Timeline



Feb 18, 2014:

10:15 PM Changeset in webkit [164357] by mitz@apple.com
  • 8 edits in trunk/Source

PLATFORM(MAC) is true when building for iOS
https://bugs.webkit.org/show_bug.cgi?id=129025

Reviewed by Mark Rowe.

Source/WebCore:

  • editing/Editor.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA) now that the former does not

include iOS.

Source/WebKit2:

  • Shared/Network/NetworkProcessCreationParameters.cpp: Changed PLATFORM(MAC) to

PLATFORM(COCOA) now that the former does not include iOS.
(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):

  • Shared/Network/NetworkProcessCreationParameters.h: Ditto.
  • WebKit2Prefix.h: Ditto.

Source/WTF:

  • wtf/Platform.h: Changed to define WTF_PLATFORM_MAC only on when building for OS X (but

still not when WTF_PLATFORM_GTK or WTF_PLATFORM_EFL are defined).

10:12 PM Changeset in webkit [164356] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Windows gardening: Add annotations for Debug case.

  • platform/win/TestExpectations:
9:59 PM Changeset in webkit [164355] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Tools

[EFL][MiniBrowser] Remove view_mode parameter in window_create()
https://bugs.webkit.org/show_bug.cgi?id=128960

Reviewed by Gyuyoung Kim.

As view source code is removed in r164254, window_create() also should remove view_mode.

  • MiniBrowser/efl/main.c:

(on_key_down):
(on_window_create):
(window_create):
(elm_main):

9:46 PM Changeset in webkit [164354] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Correctly install libllvmForJSC.dylib in production builds
https://bugs.webkit.org/show_bug.cgi?id=129023

Reviewed by Mark Rowe.

In non-production builds, we copy it as before. In production builds, we use the install
path.

Also roll http://trac.webkit.org/changeset/164348 back in.

  • Configurations/Base.xcconfig:
  • Configurations/LLVMForJSC.xcconfig:
  • JavaScriptCore.xcodeproj/project.pbxproj:
9:32 PM Changeset in webkit [164353] by gyuyoung.kim@samsung.com
  • 3 edits in trunk

[EFL][CMake] Fix javascriptcore test failings by the jsCStack branch merge
https://bugs.webkit.org/show_bug.cgi?id=128961

Reviewed by Ryosuke Niwa.

Javascriptcore test on EFL port has been broken since the jsCStack branch merge.
For now we can fix almost tests by using "-fno-tree-dce option". Unfortunately,
EFL port needs not to check "uninitialized" build warning as error in order to
adjust the option to EFL port. This patch don't take it as error temporarily.

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/WebKitHelpers.cmake:
8:59 PM Changeset in webkit [164352] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, roll out http://trac.webkit.org/changeset/164348 because it broke some
builds.

8:33 PM Changeset in webkit [164351] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

More Windows test gardening to get the bots green.

  • platform/win/TestExpectations: Mark some flaky tests, and some passes to reduce report output.
8:30 PM Changeset in webkit [164350] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Don't call LLVMInitializeNativeTarget() because it can be all messed up if you cross-compile LLVM
https://bugs.webkit.org/show_bug.cgi?id=129020

Reviewed by Dan Bernstein.

LLVMInitializeNativeTarget() is this super special inline function in llvm-c/Target.h that
depends on some #define's that come from some really weird magic in autoconf/configure.ac.
That magic fails miserably for cross-compiles. So, we need to manually initialize the things
that InitializeNativeTarget initializes.

  • llvm/library/LLVMExports.cpp:

(initializeAndGetJSCLLVMAPI):

8:12 PM Changeset in webkit [164349] by Simon Fraser
  • 4 edits in trunk/Source/WebKit2

Clean up WKContentView initialization
https://bugs.webkit.org/show_bug.cgi?id=129016

Reviewed by Benjamin Poulain.

WKContentView had too many initializers and duplicated init
code. Clean up by removing all but one initializer and and
doing all the setup in it.

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

(-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):

8:08 PM Changeset in webkit [164348] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

The shell scripts in the Xcode build system should tell you when they failed
https://bugs.webkit.org/show_bug.cgi?id=129018

Reviewed by Mark Rowe.

7:21 PM Changeset in webkit [164347] by barraclough@apple.com
  • 14 edits in trunk/Source

Add fast mapping from StringImpl to JSString
https://bugs.webkit.org/show_bug.cgi?id=128625

Reviewed by Geoff Garen & Andreas Kling.

Source/JavaScriptCore:

  • runtime/JSString.cpp:

(JSC::JSString::WeakOwner::finalize):

  • once the JSString weakly owned by a StringImpl becomed unreachable remove the WeakImpl.
  • runtime/JSString.h:

(JSC::jsStringWithWeakOwner):

  • create a JSString wrapping a StringImpl, and weakly caches the JSString on the StringImpl.
  • runtime/VM.cpp:

(JSC::VM::VM):

  • initialize jsStringWeakOwner.

(JSC::VM::createLeakedForMainThread):

  • initialize jsStringWeakOwner - the main thread gets to use the weak pointer on StringImpl to cache a JSString wrapper.
  • runtime/VM.h:
    • renamed createLeaked -> createLeakedForMainThread to make it clear this should only be used to cretae the main thread VM.

Source/WebCore:

Removed JSStringCache from WebCore; call JSC::jsStringWithWeakOwner instead.

  • bindings/js/DOMWrapperWorld.cpp:

(WebCore::DOMWrapperWorld::clearWrappers):

  • removed JSStringCache.
  • bindings/js/DOMWrapperWorld.h:
    • removed JSStringCache.
  • bindings/js/JSDOMBinding.h:

(WebCore::jsStringWithCache):

  • call jsStringWithWeakOwner insead of using JSStringCache.
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::commonVM):

  • renamed createLeaked -> createLeakedForMainThread.
  • bindings/scripts/StaticString.pm:

(GenerateStrings):

  • StringImpl has an additional field.

Source/WTF:

Add weak pointer from StringImpl to JSString.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::~StringImpl):

  • ASSERT m_weakJSString is null.
  • wtf/text/StringImpl.h:

(WTF::StringImpl::StringImpl):

  • initialize m_weakJSString.

(WTF::StringImpl::weakJSString):
(WTF::StringImpl::setWeakJSString):

  • added acessors for m_weakJSString.
6:58 PM Changeset in webkit [164346] by oliver@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Prevent builtin js named with C++ reserved words from breaking the build
https://bugs.webkit.org/show_bug.cgi?id=129017

Reviewed by Sam Weinig.

Simple change to a couple of macros to make sure we don't create functions
named using reserved words.

  • builtins/BuiltinExecutables.cpp:
  • builtins/BuiltinNames.h:
6:44 PM Changeset in webkit [164345] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Another 32-bit build fix.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _acceleratedCompositingModeRootLayer]):

6:39 PM Changeset in webkit [164344] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

More more WK_API_ENABLED after r164337.

  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::activeView):

6:34 PM Changeset in webkit [164343] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Can't use #if inside a macro, so we'll duplicate the macro for now.

Build fix for all of Mac.

  • UIProcess/API/mac/WKView.mm:
6:29 PM Changeset in webkit [164342] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Don't build WKThumbnailView on iOS; it won't build.

  • Configurations/WebKit2.xcconfig:
6:26 PM Changeset in webkit [164341] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

More WK_API_ENABLED after r164337.

  • UIProcess/API/mac/WKView.mm:

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

  • UIProcess/API/mac/WKViewInternal.h:
6:19 PM Changeset in webkit [164340] by Simon Fraser
  • 5 edits
    2 deletes in trunk/Source

Remove UIWKRemoteView
https://bugs.webkit.org/show_bug.cgi?id=129015

Source/WebCore:

Reviewed by Dan Bernstein.

The project referenced a maketokenizer script that disappeared
long ago.

  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit2:

Reviewed by Dan Bernstein.

Remove UIWKRemoteView which is unused.

  • Configurations/WebKit2.xcconfig:
  • UIProcess/API/ios/UIWKRemoteView.h: Removed.
  • UIProcess/API/ios/UIWKRemoteView.mm: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
6:19 PM Changeset in webkit [164339] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

Unreviewed Windows test gardening.

  • platform/win/TestExpectations: Re-enable the many tests that actually pass on Windows. Mark tests

using current syntax so we can see when tests start passing. Identify a few flaky tests.

6:12 PM Changeset in webkit [164338] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

32-bit build fix after r164337

  • UIProcess/API/Cocoa/WKThumbnailView.mm:

Address a review comment. We'll get this for free.

  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::activeView):
Build fix.

5:57 PM Changeset in webkit [164337] by timothy_horton@apple.com
  • 15 edits
    3 adds in trunk/Source/WebKit2

Add a way to efficiently thumbnail WKViews
https://bugs.webkit.org/show_bug.cgi?id=128831
<rdar://problem/15669655>

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKThumbnailView.h: Added.
  • UIProcess/API/Cocoa/WKThumbnailView.mm: Added.

(-[WKThumbnailView initWithFrame:fromWKView:]):
(-[WKThumbnailView _viewWasUnparented]):
(-[WKThumbnailView _viewWasParented]):
(-[WKThumbnailView viewDidMoveToWindow]):
(-[WKThumbnailView setScale:]):
(-[WKThumbnailView setThumbnailLayer:]):
(-[WKThumbnailView thumbnailLayer]):

  • UIProcess/API/Cocoa/WKThumbnailViewInternal.h: Added.

Add WKThumbnailView.
Clients of this private API will call initWithFrame:fromWKView:,
giving the WKView they wish to borrow contents from.
They can also call setScale: to set the scale that will be used to render
the content in an implementation-defined set of cases (currently, we will
use the low resolution scale for WKViews which were not parented when the
WKThumbnailView was created; parented WKViews will use the existing scale).

  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::isViewWindowActive):
(WebKit::PageClientImpl::isViewVisible):
(WebKit::PageClientImpl::isViewVisibleOrOccluded):
(WebKit::PageClientImpl::isViewInWindow):
(WebKit::PageClientImpl::viewLayerHostingMode):
If the WKView has an actively-parented WKThumbnailView attached to it,
we should determine view visibility/etc. using that view instead of the WKView.

  • UIProcess/API/mac/WKView.mm:

(-[WKView dealloc]):
WKThumbnailView holds on to the WKView, and clears WKView's backpointer
when it leaves the window, so we should never see WKView get deallocated
with a live thumbnail view.

(-[WKView scrollWheel:]):
(-[WKView mouseMoved:]):
(-[WKView mouseDown:]):
(-[WKView mouseUp:]):
(-[WKView mouseDragged:]):
Don't handle events while thumbnailed.

(-[WKView _setAcceleratedCompositingModeRootLayer:]):
Forward root layer changes to the installed thumbnail view.

(-[WKView _acceleratedCompositingModeRootLayer]):
_acceleratedCompositingModeRootLayer should return the same layer
that was set via _setAcceleratedCompositingModeRootLayer:, not its parent.

(-[WKView _setThumbnailView:]):
(-[WKView _thumbnailView]):
Install/uninstall a WKThumbnailView. Hand it our root layer if installing,
or recover it from the departing thumbnail view if uninstalling.

  • UIProcess/API/mac/WKViewInternal.h:

Add in a missing RetainPtr.h include that I missed earlier and causes trouble.
Add WKView _thumbnailView and _setThumbnailView:.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setThumbnailScale):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::mayStartMediaWhenInWindow):

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::handleSwipeGesture):
Swipe was accidentally depending on a mistake in WKView's
_acceleratedCompositingModeRootLayer where it was returning the wrong layer.
The actual root layer doesn't have a size, so we should use the drawing
area's size instead.

  • WebKit2.xcodeproj/project.pbxproj:

Add some new files.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didCommitLoad):
If we reset the page scale because a load was committed, we should
reset the stored thumbnail-scale-less page scale so that we don't restore
the wrong scale when leaving thumbnailing.

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setThumbnailScale):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Apply the thumbnail scale to the page. If we're currently not in
thumbnail scaling mode, save the current page scale and scroll position
so we can restore them once we leave thumbnail mode again.
Transform the DrawingArea so that the page appears at the same
position and size, but scaled.

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::setTransform):

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

(WebKit::TiledCoreAnimationDrawingArea::setTransform):
Add a DrawingArea method to apply an arbitrary transform to the drawing area.

(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
(WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::suspendPainting):
(WebKit::TiledCoreAnimationDrawingArea::resumePainting):
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
(WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext):
(WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
(WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
(WebKit::TiledCoreAnimationDrawingArea::updateDebugInfoLayer):
(WebKit::TiledCoreAnimationDrawingArea::adjustTransientZoom):
Remove the word "compositing" in a bunch of places where it isn't needed.
Rename m_rootLayer to m_hostingLayer, and repurpose m_rootLayer to store
the root compositing layer actually passed in via setRootCompositingLayer.
Rename m_pendingRootCompositingLayer to m_pendingRootLayer.

5:55 PM Changeset in webkit [164336] by Simon Fraser
  • 3 edits
    2 adds in trunk

border-box clip-paths jump around when outline changes
https://bugs.webkit.org/show_bug.cgi?id=128929

Source/WebCore:

Reviewed by Dirk Schulze.

computeReferenceBox() for clip paths was using "rootRelativeBounds"
to position the border-box. This bounds is an enclosing bounds for
the layer and its descendants, including outlines and absolute descendants,
so it is not the correct box to use to offset the border-box.

The caller has offsetFromRoot(), which is the correct thing to use,
so use it.

Test: css3/masking/clip-path-root-relative-bounds.html

  • rendering/RenderLayer.cpp:

(WebCore::computeReferenceBox):
(WebCore::RenderLayer::setupClipPath):

LayoutTests:

Reviewed by Dirk Schulze.

Test comparing a border-box clip path with and without an outline.

  • css3/masking/clip-path-root-relative-bounds-expected.html: Added.
  • css3/masking/clip-path-root-relative-bounds.html: Added.
5:29 PM Changeset in webkit [164335] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add SPI for enabling/disabling private browsing
https://bugs.webkit.org/show_bug.cgi?id=129012

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _privateBrowsingEnabled]):
(-[WKWebView _setPrivateBrowsingEnabled:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
5:16 PM Changeset in webkit [164334] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add more SPI methods to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=129011

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _webProcessIdentifier]):
(-[WKWebView _sessionState]):
(releaseNSData):
(-[WKWebView _restoreFromSessionState:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
5:07 PM Changeset in webkit [164333] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

FTL should build on ARM64
https://bugs.webkit.org/show_bug.cgi?id=129010

Reviewed by Sam Weinig.

  • disassembler/X86Disassembler.cpp: Just because we have the LLVM disassembler doesn't mean we're on X86.
  • ftl/FTLLocation.cpp: DWARF parsing for ARM64 is super easy.

(JSC::FTL::Location::isGPR):
(JSC::FTL::Location::gpr):
(JSC::FTL::Location::isFPR):
(JSC::FTL::Location::fpr):
(JSC::FTL::Location::restoreInto): This function wasn't even X86-specific to begin with so move it out of the #if stuff.

  • ftl/FTLUnwindInfo.cpp: They're called q not d.

(JSC::FTL::UnwindInfo::parse):

  • jit/GPRInfo.h:

(JSC::GPRInfo::toArgumentRegister): Add this method; we alraedy had it on X86.

4:45 PM Changeset in webkit [164332] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk

Web Inspector: AX: more properties: exists, required, and invalid (exists was previously combined with ignored)
https://bugs.webkit.org/show_bug.cgi?id=128504

Patch by James Craig <jcraig@apple.com> on 2014-02-18
Reviewed by Timothy Hatcher.

Source/WebCore:

Additions to the accessibility node inspector: exists, required, invalid.

Test: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/protocol/DOM.json:

Source/WebInspectorUI:

Additions to the accessibility node inspector: exists, required, invalid.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/DOMNode.js:
  • UserInterface/DOMNodeDetailsSidebarPanel.js:

LayoutTests:

New files test the inspector protocol for DOM.getAccessibilityPropertiesForNode

  • inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Added.
  • inspector-protocol/dom/getAccessibilityPropertiesForNode.html: Added.
4:43 PM Changeset in webkit [164331] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Commit the code change supposed to happen in r164320.

  • editing/Editor.cpp:

(WebCore::Editor::setIgnoreCompositionSelectionChange):
(WebCore::Editor::respondToChangedSelection):

  • editing/Editor.h:
4:36 PM Changeset in webkit [164330] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add more new SPI methods
https://bugs.webkit.org/show_bug.cgi?id=129009

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _certificateChain]):
(-[WKWebView _committedURL]):
(-[WKWebView _applicationNameForUserAgent]):
(-[WKWebView _setApplicationNameForUserAgent:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
4:04 PM Changeset in webkit [164329] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

TextFieldInputType::handleBeforeTextInsertedEvent shouldn't use plainText
https://bugs.webkit.org/show_bug.cgi?id=128953

Reviewed by Alexey Proskuryakov.

Don't use FrameSelection's toNormalizedRange and plainText. Instead, use the cached selection start and selection
end to extract the selected text. The caches are updated inside FrameSelection::setSelection whenever selection
is inside a text form control via HTMLTextFormControlElement::selectionChanged.

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):

3:26 PM Changeset in webkit [164328] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Make reload SPI for now
https://bugs.webkit.org/show_bug.cgi?id=129007

Reviewed by Simon Fraser.

  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _reload]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
3:17 PM Changeset in webkit [164327] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add -[WKWebView reload]
https://bugs.webkit.org/show_bug.cgi?id=129005

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView reload]):

3:04 PM Changeset in webkit [164326] by fpizlo@apple.com
  • 13 edits
    2 adds in trunk/Source/JavaScriptCore

FTL unwind parsing should handle ARM64
https://bugs.webkit.org/show_bug.cgi?id=128984

Reviewed by Oliver Hunt.

This makes unwind parsing handle ARM64 and it makes all clients of unwind info capable of
dealing with that architecture.

The big difference is that ARM64 has callee-save double registers. This is conceptually easy
to handle, but out code for dealing with callee-saves spoke of "GPRReg". We've been in this
situation before: code that needs to deal with either a GPRReg or a FPRReg. In the past we'd
hacked around the problem, but this time I decided to do a full frontal assault. This patch
adds a Reg class, which is a box for either GPRReg or FPRReg along with tools for iterating
over all possible registers. Then, I threaded this through SaveRestore, RegisterSet,
RegisterAtOffset, and UnwindInfo. With the help of Reg, it was easy to refactor the code to
handle FPRs in addition to GPRs.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • ftl/FTLRegisterAtOffset.cpp:

(JSC::FTL::RegisterAtOffset::dump):

  • ftl/FTLRegisterAtOffset.h:

(JSC::FTL::RegisterAtOffset::RegisterAtOffset):
(JSC::FTL::RegisterAtOffset::operator!):
(JSC::FTL::RegisterAtOffset::reg):
(JSC::FTL::RegisterAtOffset::operator==):
(JSC::FTL::RegisterAtOffset::operator<):
(JSC::FTL::RegisterAtOffset::getReg):

  • ftl/FTLSaveRestore.cpp:

(JSC::FTL::offsetOfReg):

  • ftl/FTLSaveRestore.h:
  • ftl/FTLUnwindInfo.cpp:

(JSC::FTL::UnwindInfo::parse):
(JSC::FTL::UnwindInfo::find):
(JSC::FTL::UnwindInfo::indexOf):

  • ftl/FTLUnwindInfo.h:
  • jit/Reg.cpp: Added.

(JSC::Reg::dump):

  • jit/Reg.h: Added.

(JSC::Reg::Reg):
(JSC::Reg::fromIndex):
(JSC::Reg::first):
(JSC::Reg::last):
(JSC::Reg::next):
(JSC::Reg::index):
(JSC::Reg::isSet):
(JSC::Reg::operator!):
(JSC::Reg::isGPR):
(JSC::Reg::isFPR):
(JSC::Reg::gpr):
(JSC::Reg::fpr):
(JSC::Reg::operator==):
(JSC::Reg::operator!=):
(JSC::Reg::operator<):
(JSC::Reg::operator>):
(JSC::Reg::operator<=):
(JSC::Reg::operator>=):
(JSC::Reg::hash):
(JSC::Reg::invalid):

  • jit/RegisterSet.h:

(JSC::RegisterSet::set):
(JSC::RegisterSet::clear):
(JSC::RegisterSet::get):

2:58 PM Changeset in webkit [164325] by andersca@apple.com
  • 4 edits
    1 copy in trunk/Source/WebKit2

Add SPI for allowing HTTPS certificates
https://bugs.webkit.org/show_bug.cgi?id=129002

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKProcessClass.mm:

(-[WKProcessClass _setAllowsSpecificHTTPSCertificate:forHost:]):

  • UIProcess/API/Cocoa/WKProcessClassInternal.h:
  • UIProcess/API/Cocoa/WKProcessClassPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKProcessClassInternal.h.
  • WebKit2.xcodeproj/project.pbxproj:
2:57 PM Changeset in webkit [164324] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Bottom/right sticky positioning don't correctly handle scroll containers with padding
https://bugs.webkit.org/show_bug.cgi?id=119280

Patch by Viatcheslav Ostapenko <sl.ostapenko@samsung.com> on 2014-02-18
Reviewed by Simon Fraser.

Source/WebCore:

Take padding into account during calculation of overflow constraining rect for sticky
positioning.

Test: fast/css/sticky/sticky-bottom-overflow-padding.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::stickyPositionOffset):

LayoutTests:

Check that sticky elements positioned correcly in overflow with padding.

  • fast/css/sticky/sticky-bottom-overflow-padding-expected.html: Added.
  • fast/css/sticky/sticky-bottom-overflow-padding.html: Added.
2:55 PM Changeset in webkit [164323] by jhoneycutt@apple.com
  • 7 edits
    1 add in trunk

Crash when merging ruby bases that contain floats

https://bugs.webkit.org/show_bug.cgi?id=127515
<rdar://problem/15896562>

Source/WebCore:

This crash occurs when we remove a ruby text object and decide to merge
two adjacent ruby base objects. The right ruby base's children were
being merged into the left ruby base, but the right ruby base's floats
were not being moved to the left base. This could cause us not to
descend into all nodes containing a FloatingObject in
RenderBlockFlow::markAllDescendantsWithFloatsForLayout(), because we
assume that if a block does not have a particular float in its float
list, none of its descendants will, either.

Reviewed by David Hyatt.

Test: fast/ruby/ruby-base-merge-block-children-crash-2.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::moveFloatsTo):
Code split out of moveAllChildrenIncludingFloatsTo().
(WebCore::RenderBlockFlow::moveAllChildrenIncludingFloatsTo):
Call moveFloatsTo().

  • rendering/RenderBlockFlow.h:

Add declaration of moveFloatsTo().

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::mergeChildrenWithBase):
Move children and floats to the new base.

  • rendering/RenderRubyBase.h:

Declare mergeChildrenWithBase().

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::removeChild):
Call mergeChildrenWithBase().

LayoutTests:

Reviewed by David Hyatt.

  • fast/ruby/ruby-base-merge-block-children-crash-2.html: Added.
2:54 PM Changeset in webkit [164322] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

iOS build fix after r164319.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setSelectedRange):

2:39 PM Changeset in webkit [164321] by Samuel White
  • 5 edits in trunk

AX: Searching for "immediate descendants only" can return unexpected results.
https://bugs.webkit.org/show_bug.cgi?id=128986

Reviewed by Chris Fleizach.

Source/WebCore:

Missed an application of the immediateDescendantsOnly flag during the initial implementation. We
need to make sure we don't decend into the startObject first if it is provided. This fix causes
the outer loop to 'skip' the first iteration so only siblings of the startObject are considered.

No new tests, updated existing search-predicate-immediate-descendants-only.html test to cover this case.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::findMatchingObjects):

LayoutTests:

Updated test and expectations to make sure the results match traditional "children" results when appropriate.

  • platform/mac/accessibility/search-predicate-immediate-descendants-only-expected.txt:
  • platform/mac/accessibility/search-predicate-immediate-descendants-only.html:
2:37 PM Changeset in webkit [164320] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Merge notifyComponentsOnChangedSelection into respondToSelectionChange
https://bugs.webkit.org/show_bug.cgi?id=128993

Reviewed by Andreas Kling.

Merged notifyComponentsOnChangedSelection into respondToSelectionChange since notifyComponentsOnChangedSelection
was only added in iOS codebase in response to the code added for continuous spellchecking and alternative text controller
in respondToChangedSelection but they should have been called inside setIgnoreCompositionSelectionChange.

So merge these two functions and make respondToChangedSelection behave like setIgnoreCompositionSelectionChange.

  • editing/Editor.cpp:

(WebCore::Editor::setIgnoreCompositionSelectionChange):
(WebCore::Editor::respondToChangedSelection):

  • editing/Editor.h:
2:35 PM Changeset in webkit [164319] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

FrameSelection::textWasReplaced and setSelectedRange shouldn't trigger synchronous layout
https://bugs.webkit.org/show_bug.cgi?id=128951

Reviewed by Antti Koivisto.

Cleanup.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::textWasReplaced): Don't call updateLayout. It's totally unnecessarily.
(WebCore::FrameSelection::setSelectedRange): Ditto. Also removed the code to set affinity only when
range is collapsed since VisibleSelection::validate already does this.

2:24 PM Changeset in webkit [164318] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

Do not cache media time until media engine returns a non-zero value
https://bugs.webkit.org/show_bug.cgi?id=128976

Reviewed by Jer Noble.

No new tests, covered by existing tests.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::refreshCachedTime): Don't mark the cached time as valid

until it is non-zero.

(WebCore::HTMLMediaElement::currentTime): Return 0 if m_cachedTime is invalid.

2:23 PM Changeset in webkit [164317] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] All WebKit clients should encrypt WebCrypto keys automatically
https://bugs.webkit.org/show_bug.cgi?id=128938

Reviewed by Dan Bernstein.

Don't pass ACLs on iOS. Key will be added to app's default Keychain access group.

Also, don't pass kSecAttrIsPermanent, which is irrelevant for password items, and
caused error -50 in DumpRenderTree for me when passed.

Added fallback to _NSGetProgname for account name, to account for tools such as
Mac DumpRenderTree that don't have bundle identifiers.

  • crypto/mac/SerializedCryptoKeyWrapMac.mm:

(WebCore::masterKeyAccountNameForCurrentApplication):
(WebCore::createAndStoreMasterKey):

2:23 PM Changeset in webkit [164316] by rniwa@webkit.org
  • 16 edits in trunk

setSelectionRange should set selection without validation
https://bugs.webkit.org/show_bug.cgi?id=128949

Reviewed by Enrica Casucci.

Source/WebCore:

Since positionForIndex in HTMLTextFormControlElement always returns a candidate Position, we don't have to
validate selection in setSelectionRange.

Also fixed various bugs uncovered by this change.

This patch also fixes fast/forms/input-select-webkit-user-select-none.html, which used to assert wrong outcome
so that WebKit's behavior matches that of Chrome and Firefox.

Test: fast/forms/input-select-webkit-user-select-none.html

  • dom/Position.h:

(WebCore::positionInParentBeforeNode): This function had a bug that when node is a child of the shadow root
it would return a null Position. Allow a position anchored inside a shadow root.
(WebCore::positionInParentAfterNode): Ditto.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::moveWithoutValidationTo): Renamed from moveTo and avoided selection validation.

  • editing/FrameSelection.h:
  • editing/htmlediting.cpp:

(WebCore::updatePositionForNodeRemoval): Fixed the bug that this function doesn't update positions before
or after children even if the shadow host of the anchor node is getting removed. Move the position before
the shadow host to be removed in both situations.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setSelectionRange): moveTo is renamed to moveWithoutValidationTo.
(WebCore::HTMLTextFormControlElement::selectionChanged): Check if the cached selection offsets are different
in lieu of FrameSelection::isRange() since they're equivalent here.
(WebCore::positionForIndex): Return the position inside or after the last br when there is one to match
the canonicalization algorithm we have. It's probably harmless to return the last position in the inner text
element anyways since most of our codebase supports that but this would avoid having to rebaseline dozens
of tests and reduces the risk of this patch.

LayoutTests:

Fixed input-select-webkit-user-select-none.html which was erroneously asserting selectionStart and selectionEnd
of a text field to be zero when it has -webkit-user-select: none. This doesn't not match behaviors of Chrome
and Firefox. They both retain the programatically set selection offsets since such style should not bleed into
the shadow DOM of the text field in the first place.

New behavior matches the latest Firefox and Chrome although we still have the bug that user cannot select text
inside such a text field.

Also modernized LayoutTests/editing/selection/5497643.html to make the expected results more readable and made
the test more robust against changes in the node index of textarea element.

  • editing/selection/5497643-expected.txt: See above.
  • editing/selection/5497643.html:
  • fast/forms/input-select-webkit-user-select-none-expected.txt: See above.
  • fast/forms/input-select-webkit-user-select-none.html:
  • editing/deleting/delete-ligature-001-expected.txt: Progression in the editing delegate callbacks dumps.

Now we set selection directly into the text node inside the inner text element.

  • platform/mac/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1-expected.txt: Ditto.
  • platform/mac/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2-expected.txt: Ditto.
  • platform/mac-mountainlion/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1-expected.txt:

Removed.

  • platform/mac-mountainlion/platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2-expected.txt:

Removed.

2:23 PM Changeset in webkit [164315] by andersca@apple.com
  • 4 edits
    1 copy in trunk/Source/WebKit2

Add SPI for getting the original URL from a WKNavigationAction
https://bugs.webkit.org/show_bug.cgi?id=128997

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKNavigationActionInternal.h:
  • UIProcess/API/Cocoa/WKNavigationActionPrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKNavigationActionInternal.h.
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::PolicyClient::decidePolicyForNavigationAction):

  • WebKit2.xcodeproj/project.pbxproj:
2:08 PM Changeset in webkit [164314] by zandobersek@gmail.com
  • 18 edits in trunk/Source/WebCore

Move IndexedDB module, LevelDB code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=128964

Reviewed by Andreas Kling.

Replace uses of OwnPtr and PassOwnPtr in the IndexedDB module and LevelDB platform code with std::unique_ptr.

  • Modules/indexeddb/IDBCursorBackend.h:
  • Modules/indexeddb/IDBDatabaseBackend.cpp:

(WebCore::IDBDatabaseBackend::IDBDatabaseBackend):
(WebCore::IDBDatabaseBackend::transactionFinishedAndAbortFired):
(WebCore::IDBDatabaseBackend::processPendingCalls):
(WebCore::IDBDatabaseBackend::processPendingOpenCalls):
(WebCore::IDBDatabaseBackend::openConnection):
(WebCore::IDBDatabaseBackend::runIntVersionChangeTransaction):
(WebCore::IDBDatabaseBackend::deleteDatabase):
(WebCore::IDBDatabaseBackend::close):

  • Modules/indexeddb/IDBDatabaseBackend.h:

(WebCore::IDBDatabaseBackend::hasPendingSecondHalfOpen):
(WebCore::IDBDatabaseBackend::setPendingSecondHalfOpen):

  • Modules/indexeddb/IDBPendingDeleteCall.h:

(WebCore::IDBPendingDeleteCall::IDBPendingDeleteCall):

  • Modules/indexeddb/IDBPendingOpenCall.h:

(WebCore::IDBPendingOpenCall::IDBPendingOpenCall):

  • Modules/indexeddb/IDBTransactionBackendOperations.cpp:

(WebCore::IDBDatabaseBackend::VersionChangeOperation::perform):

  • Modules/indexeddb/IDBTransactionCoordinator.cpp:
  • Modules/indexeddb/IDBTransactionCoordinator.h:
  • Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h:
  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp:

(WebCore::setUpMetadata):
(WebCore::DefaultLevelDBFactory::openLevelDB):
(WebCore::IDBBackingStoreLevelDB::IDBBackingStoreLevelDB):
(WebCore::IDBBackingStoreLevelDB::~IDBBackingStoreLevelDB):
(WebCore::IDBBackingStoreLevelDB::open):
(WebCore::IDBBackingStoreLevelDB::openInMemory):
(WebCore::IDBBackingStoreLevelDB::create):
(WebCore::IDBBackingStoreLevelDB::getDatabaseNames):
(WebCore::deleteRange):
(WebCore::IDBBackingStoreLevelDB::deleteDatabase):
(WebCore::IDBBackingStoreLevelDB::getObjectStores):
(WebCore::IDBBackingStoreLevelDB::getKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStoreLevelDB::getIndexes):
(WebCore::findGreatestKeyLessThanOrEqual):
(WebCore::IDBBackingStoreLevelDB::findKeyInIndex):

  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h:
  • platform/leveldb/LevelDBDatabase.cpp:

(WebCore::LevelDBDatabase::~LevelDBDatabase):
(WebCore::LevelDBDatabase::open):
(WebCore::LevelDBDatabase::openInMemory):
(WebCore::IteratorImpl::IteratorImpl):
(WebCore::LevelDBDatabase::createIterator):

  • platform/leveldb/LevelDBDatabase.h:
  • platform/leveldb/LevelDBTransaction.cpp:

(WebCore::LevelDBTransaction::commit):
(WebCore::LevelDBTransaction::createIterator):
(WebCore::LevelDBTransaction::TransactionIterator::TransactionIterator):
(WebCore::LevelDBTransaction::TransactionIterator::refreshTreeIterator):
(WebCore::LevelDBWriteOnlyTransaction::LevelDBWriteOnlyTransaction):

  • platform/leveldb/LevelDBTransaction.h:
  • platform/leveldb/LevelDBWriteBatch.cpp:

(WebCore::LevelDBWriteBatch::LevelDBWriteBatch):

  • platform/leveldb/LevelDBWriteBatch.h:
1:59 PM Changeset in webkit [164313] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Add more WKWebView SPI
https://bugs.webkit.org/show_bug.cgi?id=128994

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKHistoryDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _unreachableURL]):
(-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
1:44 PM Changeset in webkit [164312] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: editing a color in the Styles sidebar using the color picker only works once for a given color
https://bugs.webkit.org/show_bug.cgi?id=128965

Reviewed by Timothy Hatcher.

Use the WebInspector.TextMarker backing the CodeMirror TextMarker object to inspect its type in
order to identify color markers that were created for a color. This fixes a regression introduced
in http://webkit.org/b/125695 when we abstracted CodeMirror TextMarker objects.

  • UserInterface/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror.update):
(WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror):

1:41 PM Changeset in webkit [164311] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Editing transparent color shows incorrect opacity slider
https://bugs.webkit.org/show_bug.cgi?id=128975

Reviewed by Joseph Pecoraro.

The opacity slider should show a range of colors from transparent to the full opacity of the tinted color.

  • UserInterface/ColorPicker.js:

(WebInspector.ColorPicker.prototype._updateSliders):

1:27 PM Changeset in webkit [164310] by ddkilzer@apple.com
  • 5 edits in trunk/Source/WebCore

Follow-up: Add type-checked casts for StyleImage and subclasses
<http://webkit.org/b/128915>

Address some style issues based on feedback from Andreas Kling.

  • css/CSSCursorImageValue.cpp:

(WebCore::CSSCursorImageValue::cachedImageURL):

  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::~CSSImageSetValue):
(WebCore::CSSImageSetValue::hasFailedOrCanceledSubresources):

  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::hasFailedOrCanceledSubresources):

  • Use the reference version of the type-checked casts since we know the pointers are not NULL.
  • rendering/style/StyleImage.h:
  • Use 'styleImage' instead of 'resource' in STYLE_IMAGE_TYPE_CASTS.
1:15 PM Changeset in webkit [164309] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

Remove unnecessary UserActionElementSet constructor, destructor
https://bugs.webkit.org/show_bug.cgi?id=128962

Reviewed by Andreas Kling.

UserActionElementSet constructor and destructor are not necessary, as is not the
static create() function that returns PassOwnPtr<UserActionElementSet>. The implicit
constructor and destructor can take care of creating and destroying the sole HashMap
member variable.

  • dom/UserActionElementSet.cpp:
  • dom/UserActionElementSet.h:
1:01 PM Changeset in webkit [164308] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: shift-clicking #fff swatch results in bad rgb value
https://bugs.webkit.org/show_bug.cgi?id=128954

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-18
Reviewed by Daniel Bates.

parseInt("FF", 16) is already 255. Do not multiply the result by 255.

  • UserInterface/Color.js:

(WebInspector.Color.fromString):

12:47 PM Changeset in webkit [164307] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Minibrowser: Add shortcut to open Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=128813

Patch by Diego Pino García <Diego Pino Garcia> on 2014-02-18
Reviewed by Anders Carlsson.

Added shortcuts Ctrl+Shift+I and F12 for toggling Web Inspector.

  • MiniBrowser/gtk/BrowserWindow.c:

(toggleWebInspector):
(browser_window_init):

12:44 PM Changeset in webkit [164306] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix build.

  • UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:

(-[WKProcessClassConfiguration description]):

12:33 PM Changeset in webkit [164305] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.2

Unreviewed. Update NEWS and Versions.m4 for 2.2.5 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Add release notes.
12:24 PM Changeset in webkit [164304] by weinig@apple.com
  • 3 edits in trunk/Source/WebKit2

Temporarily remove support for setting the maximumDecodedImageSize. It is causing assertions.

  • Shared/WebPreferencesStore.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

12:13 PM Changeset in webkit [164303] by mmaxfield@apple.com
  • 4 edits in trunk/Source/WebCore

Rename convertFixedAndStickyPosition() to convertPositionStyle()
https://bugs.webkit.org/show_bug.cgi?id=128987

Reviewed by NOBODY. This is addressing a post-commit review from Dean Jackson.

No new tests are necessary because there is no behavior change

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::convertPositionStyle):

  • editing/EditingStyle.h:
  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::appendElement):

12:05 PM Changeset in webkit [164302] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r164296.
http://trac.webkit.org/changeset/164296
https://bugs.webkit.org/show_bug.cgi?id=128989

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

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
11:51 AM Changeset in webkit [164301] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

[iOS] Web Inspector: JSContext inspection crashes in isMainThread, uninitialized WebCoreWebThreadIsLockedOrDisabled
https://bugs.webkit.org/show_bug.cgi?id=128959

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-02-18
Reviewed by David Kilzer.

When JavaScriptCore is used without WebCore on iOS (e.g. JSContext)
the WebCoreWebThread* functions will not be initialized. Avoid
calling the function pointer if it is uninitialized. This was
happening with remote inspection via StringImpl::createCFString
for implicit NSString / WTFString conversion which uses isMainThread.

  • wtf/mac/MainThreadMac.mm:

(WTF::webThreadIsUninitializedOrLockedOrDisabled):
(WTF::isMainThread):
(WTF::canAccessThreadLocalDataForThread):

11:36 AM Changeset in webkit [164300] by mitz@apple.com
  • 8 edits in trunk/Source/WebKit2

[Cocoa] Implement -description in some API objects
https://bugs.webkit.org/show_bug.cgi?id=128956

Reviewed by Anders Carlsson.

  • Shared/API/Cocoa/WKRemoteObjectInterface.mm:

Changed category name to have the framework’s prefix.
(-[WKRemoteObjectInterface description]): Added.

  • UIProcess/API/Cocoa/WKFrameInfo.mm:

(-[WKFrameInfo description]): Added.

  • UIProcess/API/Cocoa/WKNavigationAction.mm:

(-[WKNavigationAction description]): Added.

  • UIProcess/API/Cocoa/WKNavigationResponse.mm:

(-[WKNavigationResponse description]): Added.

  • UIProcess/API/Cocoa/WKProcessClass.mm:

(-[WKProcessClass description]): Added.

  • UIProcess/API/Cocoa/WKProcessClassConfiguration.mm:

(-[WKProcessClassConfiguration description]): Added.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration description]): Added.

11:32 AM Changeset in webkit [164299] by mmaxfield@apple.com
  • 3 edits
    4 copies
    2 moves in trunk

Convert position:sticky to position:static upon copy and paste
https://bugs.webkit.org/show_bug.cgi?id=128982

Reviewed by NOBODY (OOPS!).

Source/WebCore:

This patch has two parts:

  1. Make sure that position:absolute elements trigger the position:relative wrapping (as

well as position:fixed)

  1. Now that we copy position:sticky, convert that to position:fixed

Tests: editing/pasteboard/copy-paste-converts-fixed.html

editing/pasteboard/copy-paste-converts-sticky.html
editing/pasteboard/copy-paste-wraps-position-absolute.html

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::convertFixedAndStickyPosition):

LayoutTests:

  • editing/pasteboard/copy-paste-converts-fixed-expected.txt: Copied from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt.
  • editing/pasteboard/copy-paste-converts-fixed.html: Copied from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed.html.
  • editing/pasteboard/copy-paste-converts-sticky-expected.txt: Copied from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt.
  • editing/pasteboard/copy-paste-converts-sticky.html: Copied from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed.html.
  • editing/pasteboard/copy-paste-wraps-position-absolute-expected.txt: Renamed from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed-expected.txt.
  • editing/pasteboard/copy-paste-wraps-position-absolute.html: Renamed from LayoutTests/editing/pasteboard/copy-paste-converts-sticky-and-fixed.html.
11:10 AM Changeset in webkit [164298] by ddkilzer@apple.com
  • 12 edits in trunk/Source/WebCore

Add type-checked casts for StyleImage and subclasses
<http://webkit.org/b/128915>

Reviewed by Oliver Hunt.

  • css/CSSCursorImageValue.cpp:

(WebCore::CSSCursorImageValue::detachPendingImage):
(WebCore::CSSCursorImageValue::cachedImage):
(WebCore::CSSCursorImageValue::cachedImageURL):

  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::detachPendingImage):
(WebCore::CSSImageSetValue::~CSSImageSetValue):
(WebCore::CSSImageSetValue::cachedImageSet):
(WebCore::CSSImageSetValue::hasFailedOrCanceledSubresources):

  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::detachPendingImage):
(WebCore::CSSImageValue::cachedImage):
(WebCore::CSSImageValue::hasFailedOrCanceledSubresources):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingShapeImage):
(WebCore::StyleResolver::loadPendingImages):

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::retrieveResourcesForProperties):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):

  • Switch from static_cast<>() operators to toTypeName() methods.
  • Replace 0 with nullptr where convenient.
  • rendering/style/StyleCachedImage.h:
  • rendering/style/StyleCachedImageSet.h:
  • rendering/style/StyleGeneratedImage.h:
  • rendering/style/StyleImage.h:
  • rendering/style/StylePendingImage.h:
  • Define type-checked cast macros.
10:58 AM Changeset in webkit [164297] by weinig@apple.com
  • 10 edits in trunk/Source

Simplify HTML tokenizer parameterization down to what is used
https://bugs.webkit.org/show_bug.cgi?id=128977

Reviewed by Alexey Proskuryakov.

../WebCore:

  • Removes support for CustomHTMLTokenizerChunkSize.
  • Consolidates CustomHTMLTokenizerTimeDelay down to one implementation, using Settings::maxParseDuration
  • WebCore.exp.in:
  • html/parser/HTMLParserScheduler.cpp:

(WebCore::HTMLParserScheduler::HTMLParserScheduler):

  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
(WebCore::Page::customHTMLTokenizerTimeDelay):

  • page/Page.h:

../WebKit/mac:

Remove unused _setCustomHTMLTokenizerTimeDelay and _setCustomHTMLTokenizerChunkSize SPI.

  • WebView/WebView.mm:
  • WebView/WebViewPrivate.h:

../WebKit/win:

Remove unused SPI.

  • WebView.cpp:

(WebView::setCustomHTMLTokenizerTimeDelay):
(WebView::setCustomHTMLTokenizerChunkSize):

10:43 AM Changeset in webkit [164296] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

Do not cache media time until media engine returns a non-zero value
https://bugs.webkit.org/show_bug.cgi?id=128976

Reviewed by Jer Noble.

No new tests, covered by existing tests.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::refreshCachedTime): Don't mark the cached time as valid

until it is non-zero.

9:36 AM Changeset in webkit [164295] by mitz@apple.com
  • 21 edits in trunk/Tools

Stop using PLATFORM(MAC) except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128952

Reviewed by Anders Carlsson.

  • TestWebKitAPI/JavaScriptTest.h: Changed PLATFORM(MAC) to PLATFORM(COCOA) and changed to

use OBJC_CLASS.

  • TestWebKitAPI/PlatformUtilities.h: Changed PLATFORM(MAC) to USE(FOUNDATION) and changed

to use OBJC_CLASS.

  • TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp: Changed PLATFORM(MAC) to

PLATFORM(COCOA).
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:

(TestWebKitAPI::TEST): Added expected default font-family values for iOS.

  • TestWebKitAPI/config.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • WebKitTestRunner/EventSenderProxy.h: Ditto.
  • WebKitTestRunner/InjectedBundle/AccessibilityController.cpp: Ditto.
  • WebKitTestRunner/InjectedBundle/AccessibilityController.h: Ditto.
  • WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.cpp: Ditto.

(WTR::AccessibilityTextMarker::platformTextMarker):

  • WebKitTestRunner/InjectedBundle/AccessibilityTextMarker.h: Ditto.
  • WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.cpp: Ditto.

(WTR::AccessibilityTextMarkerRange::platformTextMarkerRange):

  • WebKitTestRunner/InjectedBundle/AccessibilityTextMarkerRange.h: Ditto.
  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp: Ditto.
  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h: Ditto.
  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp: Ditto.
  • WebKitTestRunner/InjectedBundle/TestRunner.h: Ditto.
  • WebKitTestRunner/PlatformWebView.h: Ditto.
  • WebKitTestRunner/TestController.cpp: Ditto.

(WTR::TestController::resetStateToConsistentValues):
(WTR::TestController::processDidCrash):

  • WebKitTestRunner/TestInvocation.cpp: Ditto.

(WTR::updateThreadedScrollingForCurrentTest):
(WTR::TestInvocation::dumpWebProcessUnresponsiveness):

  • WebKitTestRunner/cg/TestInvocationCG.cpp: Ditto.

(WTR::computeMD5HashStringForContext):

9:10 AM Changeset in webkit [164294] by commit-queue@webkit.org
  • 10 edits
    69 adds in trunk

Source/WebCore: [CSS Blending] Add -webkit-blend-mode support for SVG.

https://bugs.webkit.org/show_bug.cgi?id=110427
Patch by Mihai Tica <mitica@adobe.com> on 2014-02-18
Reviewed by Dirk Schulze.

Add support for blend modes to SVG. This includes adding and validating isolation for blending.
Make masked elements isolate blending by creating a transparency layer.

Tests: css3/compositing/svg-blend-color-burn.html

css3/compositing/svg-blend-color-dodge.html
css3/compositing/svg-blend-color.html
css3/compositing/svg-blend-darken.html
css3/compositing/svg-blend-difference.html
css3/compositing/svg-blend-exclusion.html
css3/compositing/svg-blend-hard-light.html
css3/compositing/svg-blend-hue.html
css3/compositing/svg-blend-layer-blend.html
css3/compositing/svg-blend-layer-clip-path.html
css3/compositing/svg-blend-layer-filter.html
css3/compositing/svg-blend-layer-mask.html
css3/compositing/svg-blend-layer-opacity.html
css3/compositing/svg-blend-layer-shadow.html
css3/compositing/svg-blend-lighten.html
css3/compositing/svg-blend-luminosity.html
css3/compositing/svg-blend-multiply-alpha.html
css3/compositing/svg-blend-multiply.html
css3/compositing/svg-blend-normal.html
css3/compositing/svg-blend-overlay.html
css3/compositing/svg-blend-saturation.html
css3/compositing/svg-blend-screen.html
css3/compositing/svg-blend-soft-light.html

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::styleDidChange): Also pass a pointer to the old style when calling SVGRenderSupport::styleChanged.

  • rendering/style/RenderStyle.h: Add blendMode default getter when CSS_COMPOSITING is disabled.
  • rendering/style/SVGRenderStyle.h:

(WebCore::SVGRenderStyle::isolatesBlending): Add method.

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::styleChanged): Call updateMaskedAncestorShouldIsolateBlending only when a blend mode is set/unset.
(WebCore::SVGRenderSupport::isolatesBlending): Implement method that decides whether an SVGElement isolates or not blending.
(WebCore::SVGRenderSupport::updateMaskedAncestorShouldIsolateBlending): Traverse to the nearest ancestor having a mask.

  • Set a flag causing the creation of a transparency layer when rendering the masked element.
  • rendering/svg/SVGRenderSupport.h:
  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::prepareToRenderSVGContent): Call GraphicsContext::setCompositeOperation.

  • Isolate blending by creating a transparency layer.
  • Isolate group when rendering a masked element having a blended child node.
  • svg/SVGGraphicsElement.cpp:

(WebCore::SVGGraphicsElement::SVGGraphicsElement): Set default m_shouldIsolateBlending to false.

  • svg/SVGGraphicsElement.h: Add m_shouldIsolateBlending member, getter and setter.

(WebCore::SVGGraphicsElement::shouldIsolateBlending):
(WebCore::SVGGraphicsElement::setShouldIsolateBlending):

LayoutTests: [CSS Blending] Add -webkit-blend-mode support for SVG.
https://bugs.webkit.org/show_bug.cgi?id=110427

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

Test -webkit-blend-mode implementation for simple SVGs. This includes:

  • Test each blend operator.
  • Test that ensures blending is isolated by other properties: blending, filters, masks, shadow and opacity.
  • css3/compositing/svg-blend-color-burn.html: Test blend mode color-burn.
  • css3/compositing/svg-blend-color-dodge.html: Test blend mode color-dodge.
  • css3/compositing/svg-blend-color.html: Test blend mode color.
  • css3/compositing/svg-blend-darken.html: Test blend mode darken.
  • css3/compositing/svg-blend-difference.html: Test blend mode difference.
  • css3/compositing/svg-blend-exclusion.html: Test blend mode exclusion.
  • css3/compositing/svg-blend-hard-light.html: Test blend mode hard-light.
  • css3/compositing/svg-blend-hue.html: Test blend mode hue.
  • css3/compositing/svg-blend-layer-blend.html: mix-blend-mode should isolate for blending.
  • css3/compositing/svg-blend-layer-clip-path.html: clip-path should not isolate for blending.
  • css3/compositing/svg-blend-layer-filter.html: filters should isolate for blending.
  • css3/compositing/svg-blend-layer-mask.html: masks should isolate for blending.
  • css3/compositing/svg-blend-layer-opacity.html: opacity should isolate for blending.
  • css3/compositing/svg-blend-layer-shadow.html: -webkit-shadow should isolate for blending.
  • css3/compositing/svg-blend-lighten.html: Test blend mode lighten.
  • css3/compositing/svg-blend-luminosity.html: Test blend mode luminosity.
  • css3/compositing/svg-blend-multiply-alpha.html: Test blend mode multiply while also having alpha set.
  • css3/compositing/svg-blend-multiply.html: Test blend mode multiply.
  • css3/compositing/svg-blend-normal.html: Test blend mode normal. Note this blend mode has no effect.
  • css3/compositing/svg-blend-overlay.html: Test blend mode overlay.
  • css3/compositing/svg-blend-saturation.html: Test blend mode saturation.
  • css3/compositing/svg-blend-screen.html: Test blend mode screen.
  • css3/compositing/svg-blend-soft-light.html: Test blend mode soft-light.
  • platform/mac/css3/compositing/svg-blend-color-burn-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-color-burn-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-color-dodge-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-color-dodge-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-color-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-color-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-darken-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-darken-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-difference-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-difference-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-exclusion-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-exclusion-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-hard-light-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-hard-light-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-hue-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-hue-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-layer-blend-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-layer-blend-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-layer-clip-path-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-layer-clip-path-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-layer-filter-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-layer-filter-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-layer-mask-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-layer-mask-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-layer-opacity-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-layer-opacity-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-layer-shadow-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-layer-shadow-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-lighten-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-lighten-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-luminosity-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-luminosity-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-multiply-alpha-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-multiply-alpha-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-multiply-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-multiply-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-normal-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-normal-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-overlay-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-overlay-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-saturation-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-saturation-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-screen-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-screen-expected.txt: Added.
  • platform/mac/css3/compositing/svg-blend-soft-light-expected.png: Added.
  • platform/mac/css3/compositing/svg-blend-soft-light-expected.txt: Added.
9:00 AM Changeset in webkit [164293] by ChangSeok Oh
  • 2 edits in trunk/Source/WebCore

[GTK] Unreviewed fix. Correct wrong flags, ENABLE(GTK)->PLATFORM(GTK).

  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::drawArraysInstanced):
(WebCore::Extensions3DOpenGL::drawElementsInstanced):
(WebCore::Extensions3DOpenGL::vertexAttribDivisor):

8:13 AM Changeset in webkit [164292] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: color picker sliders sometime look wrong on Retina display
https://bugs.webkit.org/show_bug.cgi?id=128963

Reviewed by Timothy Hatcher.

Round the values used to position and size popovers in order to ensure that their content don't suffer
from poor pixel alignment on Retina displays.

  • UserInterface/Popover.js:

(WebInspector.Popover.prototype.set frame):

7:21 AM Changeset in webkit [164291] by Michał Pakuła vel Rutka
  • 3 edits
    3 adds in trunk/LayoutTests

Unreviewed EFL gardening.

Add test expecations for failing and crashing tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/fast/forms/search/search-size-with-decorations-expected.png: Added after r164145.
  • platform/efl/fast/forms/search/search-size-with-decorations-expected.txt: Ditto.
7:11 AM Changeset in webkit [164290] by mihnea@adobe.com
  • 4 edits
    5 adds in trunk

[CSSRegions] Compute region ranges for inline replaced elements
https://bugs.webkit.org/show_bug.cgi?id=128800

Reviewed by Andrei Bucur.

Source/WebCore:

Tests: fast/regions/hover-content-inside-iframe-in-region.html

fast/regions/select-multiple-in-region.html

When asking for the range of regions for an inline replaced box,
use the region cached on the root inline box for the inline replaced
box as the range of regions is computed only for blocks.
A future patch will extend the computation of region ranges
for inline blocks too.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
Remove the restriction set during https://bugs.webkit.org/show_bug.cgi?id=113703
and enable the code path for boxes not only for blocks.
Method RenderFlowThread::getRegionRangeForBox returns a null region when it is unable
to get the region range and we already check for null region case.

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::getRegionRangeForBox):

LayoutTests:

  • fast/regions/hover-content-inside-iframe-in-region-expected.html: Added.
  • fast/regions/hover-content-inside-iframe-in-region.html: Added.
  • fast/regions/resources/iframe-in-region-source.html: Added.
  • fast/regions/select-multiple-in-region-expected.txt: Added.
  • fast/regions/select-multiple-in-region.html: Added.
6:42 AM Changeset in webkit [164289] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r164167 - [GTK] Fix marshaller used in WebKitWebPage::document-loaded signal
https://bugs.webkit.org/show_bug.cgi?id=128808

Reviewed by Sergio Villar Senin.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(webkit_web_page_class_init): Use g_cclosure_marshal_VOIDVOID
instead of g_cclosure_marshal_VOID
OBJECT.

4:15 AM Changeset in webkit [164288] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.2

Merge r163871 - [GStreamer] High playback rate causes crash
https://bugs.webkit.org/show_bug.cgi?id=128453

Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-11
Reviewed by Philippe Normand.

Source/WebCore:

To high playback rate passed to GStreamer was causing crash.
Added guard in setRate method.

Test: media/video-extreme-playbackrate-crash.html

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::setRate):

LayoutTests:

Test checks if passing high playback rate causes crash.

  • media/video-extreme-playbackrate-crash-expected.txt: Added.
  • media/video-extreme-playbackrate-crash.html: Added.
4:12 AM Changeset in webkit [164287] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebCore

Merge r163435 - MediaPlayerPrivateGStreamerBase should have virtual destructor
https://bugs.webkit.org/show_bug.cgi?id=128238

Reviewed by Carlos Garcia Campos.

MediaPlayerPrivateGStreamer inherit MediaPlayerPrivateGStreamerBase.
So MediaPlayerPrivateGStreamerBase should have virtual destructor.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: Made destructor as virtual.
4:08 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
4:07 AM Changeset in webkit [164286] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2

Merge r163954 - 'ar T' is not portable and breaks the build on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128596

Patch by Ryan Lortie <desrt@desrt.ca> on 2014-02-12
Reviewed by Gustavo Noronha Silva.

Create thin archives only if we are using GNU ar.

  • Source/autotools/SetupLibtool.m4:
4:05 AM Changeset in webkit [164285] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r163875 - O_CLOEXEC in shm_open does not work on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128572

Reviewed by Darin Adler.

The O_CLOEXEC is not supported by shm_open() and is also not
necessary since FD_CLOEXEC is already set by default when the new
file descriptor is created.

  • Platform/unix/SharedMemoryUnix.cpp:

(WebKit::SharedMemory::create):

4:05 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
4:02 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
4:01 AM Changeset in webkit [164284] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r163292 - Fix wrong mix of fcntl commands and flags
https://bugs.webkit.org/show_bug.cgi?id=127842

Reviewed by Darin Adler.

We are mixing the commands to set file descriptor and file status
flags in a couple of fcntl() calls. FD_CLOEXEC must be set using
F_SETFD, and the access mode flags (O_RDONLY, O_WRONLY, O_RDWR)
with F_SETFL.

This combines patches by Guillem Jover and Sergio Correia.

  • Platform/IPC/unix/ConnectionUnix.cpp:

(IPC::readBytesFromSocket):

  • Platform/unix/SharedMemoryUnix.cpp:

(WebKit::SharedMemory::createHandle):

3:59 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
3:55 AM Changeset in webkit [164283] by Carlos Garcia Campos
  • 10 edits
    5 adds in releases/WebKitGTK/webkit-2.2

Merge r155730 - DFG AI assumes that ToThis can never return non-object if it is passed an object, and operationToThis will get the wrong value of isStrictMode() if there's inlining
https://bugs.webkit.org/show_bug.cgi?id=121330

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg and Oliver Hunt.

Also print whether a function is strict mode in debug dumps.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpAssumingJITType):

  • bytecode/CodeOrigin.cpp:

(JSC::InlineCallFrame::dumpInContext):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::::executeEffects):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

Tools:

Reviewed by Mark Hahnenberg and Oliver Hunt.

We should run tests even if they don't have expected files yet.

  • Scripts/run-layout-jsc:

LayoutTests:

Reviewed by Mark Hahnenberg and Oliver Hunt.

  • js/dfg-strict-mode-to-this-expected.txt: Added.
  • js/dfg-strict-mode-to-this.html: Added.
  • js/jsc-test-list:
  • js/script-tests/dfg-strict-mode-to-this.js: Added.

(thingy.bar):
(thingy.foo):
(thingy):

3:54 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
3:49 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
3:39 AM Changeset in webkit [164282] by Carlos Garcia Campos
  • 9 edits in releases/WebKitGTK/webkit-2.2/Source/JavaScriptCore

Merge r155480 - Introduce a SpecInt48 type and be more careful about what we mean by "Top" https://bugs.webkit.org/show_bug.cgi?id=121116

Reviewed by Oliver Hunt.

SpecInt48 will mean that we have something that would be a double if it was a JSValue,
but it's profitable to represent it as something other than a double.

SpecInt48AsDouble means that it has a value that could have been represented like
SpecInt48, but we're making a heuristic decision not to do it.

  • bytecode/SpeculatedType.h:

(JSC::isInt48Speculation):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::::executeEffects):
(JSC::DFG::::clobberCapturedVars):

  • dfg/DFGAbstractValue.cpp:

(JSC::DFG::AbstractValue::filter):

  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::makeHeapTop):
(JSC::DFG::AbstractValue::makeBytecodeTop):
(JSC::DFG::AbstractValue::isHeapTop):
(JSC::DFG::AbstractValue::heapTop):
(JSC::DFG::AbstractValue::validateType):
(JSC::DFG::AbstractValue::validate):
(JSC::DFG::AbstractValue::makeTop):

  • dfg/DFGInPlaceAbstractState.cpp:

(JSC::DFG::InPlaceAbstractState::initialize):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::noticeOSREntry):

  • dfg/DFGUseKind.h:

(JSC::DFG::typeFilterFor):

3:38 AM Changeset in webkit [164281] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.2/Source/JavaScriptCore

Merge r155466 - SpecType should have SpecInt48AsDouble
https://bugs.webkit.org/show_bug.cgi?id=121065

Reviewed by Oliver Hunt.

  • bytecode/SpeculatedType.cpp:

(JSC::dumpSpeculation):
(JSC::speculationToAbbreviatedString):
(JSC::speculationFromValue):

  • bytecode/SpeculatedType.h:

(JSC::isInt48AsDoubleSpeculation):
(JSC::isIntegerSpeculation):
(JSC::isDoubleRealSpeculation):

3:33 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
3:10 AM Changeset in webkit [164280] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

[GTK] webkit_web_view_load_html reads UTF8 css files as UTF16
https://bugs.webkit.org/show_bug.cgi?id=127481

Patch by Sami Wagiaalla <swagiaal@redhat.com> on 2014-02-18
Reviewed by Carlos Garcia Campos.

Partial merge of r160572.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadString):
(WebKit::WebPage::loadHTMLString):
(WebKit::WebPage::loadAlternateHTMLString):
(WebKit::WebPage::loadPlainTextString):
(WebKit::WebPage::loadWebArchiveData):

  • WebProcess/WebPage/WebPage.h:
3:05 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
2:22 AM Changeset in webkit [164279] by calvaris@igalia.com
  • 4 edits in trunk/Source/WebCore

Move inheriting method to the superclass in the JavaScript media controls
https://bugs.webkit.org/show_bug.cgi?id=128897

Reviewed by Jer Noble.

The inheriting method of the JavaScript multimedia controls was
moved from the subclasses to the superclass because this way it is
only defined once.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.extend): Added to replace inheritFrom in the
subclasses.

  • Modules/mediacontrols/mediaControlsGtk.js:
  • Modules/mediacontrols/mediaControlsiOS.js: Removed inheritFrom

and used extend.

2:16 AM Changeset in webkit [164278] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r162830 - [SOUP] WebProcess sometimes crashes when a download is cancelled
https://bugs.webkit.org/show_bug.cgi?id=127650

Reviewed by Martin Robinson.

The problem is that when the download is cancelled, the download
manager removes the download from the map and it's deleted. The
Download destructor calls platformInvalidate() that cancels the
resource handle if there's still one. We set to nullptr the
ResourceHandle when the download is cancelled to avoid cancelling
it twice, but it's done after calling Download::didCancel(). It
should be done before, because at that moment, when the download
is deleted, the resource handle pointer is still valid.

  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::Download::cancel):

2:10 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
1:49 AM Changeset in webkit [164277] by calvaris@igalia.com
  • 2 edits in trunk/Source/WebCore

[GTK] Fix hitting hasClass() assertion in debug with the new JS media controls
https://bugs.webkit.org/show_bug.cgi?id=128820

Reviewed by Martin Robinson.

The code introduced at r164024 caused the hit of hasClass()
assertion when getting the classNames() of an element with no
class. Now we check for it to avoid the assertion.

No new tests, current set detects the crash in many tests.

  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::nodeHasClass): Check for hasClass() in order not to hit
the assertion when getting the classNames() in debug mode.

1:42 AM Changeset in webkit [164276] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Refactor SVGPreserveAspectRatio::parse()
https://bugs.webkit.org/show_bug.cgi?id=128658

Reviewed by Dirk Schulze.

To removed "goto" in SVGPreserveAspectRatio::parse(), this patch introduce parseInternal() to handle
existing behavior with local variables, and existing/new parse() functions invoke it, then set
those to member variables.

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

No new tests, no behavior change.

  • svg/SVGPreserveAspectRatio.cpp:

(WebCore::SVGPreserveAspectRatio::parse):
(WebCore::SVGPreserveAspectRatio::parseInternal):

  • svg/SVGPreserveAspectRatio.h: Add parse() and parseInternal() functions.

Feb 17, 2014:

11:53 PM Changeset in webkit [164275] by stavila@adobe.com
  • 6 edits in trunk/Source/WebCore

[CSS Regions] Move specific named flow methods from RenderRegion to RenderNamedFlowFragment
https://bugs.webkit.org/show_bug.cgi?id=128914

Reviewed by Antti Koivisto.

Moved named flow specific methods regionContainer() and regionContainerLayer() from
RenderRegion to RenderNamedFlowFragment and renamed them to fragmentContainer and
fragmentContainerLayer.

No new tests required.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::fragmentContainer):
(WebCore::RenderNamedFlowFragment::fragmentContainerLayer):

  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderRegion.cpp:
  • rendering/RenderRegion.h:
11:17 PM Changeset in webkit [164274] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Move PublicURLMansger to std::unique_ptr.
https://bugs.webkit.org/show_bug.cgi?id=128891

Patch by Sangho Kim <thomas.kim@lge.com> on 2014-02-17
Reviewed by Anders Carlsson.

Use std::unique_ptr and std::make_unique in place of PassOwnPtr and adoptPtr in the PublicURLManager

  • dom/ScriptExecutionContext.h:
  • html/PublicURLManager.cpp:

(WebCore::PublicURLManager::create):

  • html/PublicURLManager.h:
10:51 PM Changeset in webkit [164273] by ChangSeok Oh
  • 2 edits in trunk/Source/WebKit2

Unreviewed gtk build fix.

  • GNUmakefile.list.am: Remove WebHistoryClient.cpp/h after r164230.
9:18 PM Changeset in webkit [164272] by commit-queue@webkit.org
  • 15 edits in trunk/Source

Expose a way to clear cookies modified after a given date
https://bugs.webkit.org/show_bug.cgi?id=128845

Patch by Ricky Mondello <Ricky Mondello> on 2014-02-17
Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • WebCore.exp.in: Add a symbol.
  • platform/network/PlatformCookieJar.h: Declare deleteAllCookiesModifiedAfterDate.
  • platform/network/cf/CookieJarCFNet.cpp:

(WebCore::deleteAllCookiesModifiedAfterDate): Add a stub.

  • platform/network/curl/CookieJarCurl.cpp:

(WebCore::deleteAllCookiesModifiedAfterDate): Ditto.

  • platform/network/soup/CookieJarSoup.cpp:

(WebCore::deleteAllCookiesModifiedAfterDate): Ditto.

  • platform/network/mac/CookieJarMac.mm: Add a category NSHTTPCookieStorage category with the method

used for time-based clearing so we can build on all platforms. For now, we'll check for support
at runtime.

(WebCore::deleteAllCookiesModifiedAfterDate): Added. Without foundation API, we'll ignore the passed-in

NetworkStorageSession.

Source/WebKit2:

  • UIProcess/API/C/WKCookieManager.cpp:

(WKCookieManagerDeleteAllCookiesModifiedAfterDate): Added. Call out to the CookieManager.

  • UIProcess/API/C/WKCookieManager.h: Declare WKCookieManagerDeleteAllCookiesModifiedAfterDate.
  • UIProcess/WebCookieManagerProxy.cpp:

(WebKit::WebCookieManagerProxy::deleteAllCookiesModifiedAfterDate): Added. Dispatch message to the

Network Process.

  • UIProcess/WebCookieManagerProxy.h: Declare deleteAllCookiesModifiedAfterDate.
  • WebProcess/Cookies/WebCookieManager.cpp:

(WebKit::WebCookieManager::deleteAllCookiesModifiedAfterDate): Added. Call out to WebCore to finish the job.

  • WebProcess/Cookies/WebCookieManager.h: Declare deleteAllCookiesModifiedAfterDate.
  • WebProcess/Cookies/WebCookieManager.messages.in: Add new message.
9:13 PM Changeset in webkit [164271] by ryuan.choi@samsung.com
  • 18 edits
    3 copies
    4 moves
    1 add in trunk/Source/WebKit2

[EFL][WK2] Move and make WKColorPickerResultListener to EFL specific interface
https://bugs.webkit.org/show_bug.cgi?id=119120

Reviewed by Gyuyoung Kim.

WKColorPickerResultListener and related files are only used in EFL since added.
Indeed, it does not work since refactored common logic for ColorPicker in WebPageProxy.

This patch moved them to EFL specfic and refactor to work well.

  • CMakeLists.txt: Moved WebColorPickerResultListenerProxy.cpp to PlatformEfl.cmake.
  • GNUmakefile.list.am: Removed ColorPickerResultListener related files which are only for Efl from source list.
  • PlatformEfl.cmake: Added ColorPickerResultListenerProxy related files and newly added files into source list.
  • UIProcess/API/APIUIClient.h:
  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

  • UIProcess/API/C/efl/WKColorPickerResultListener.cpp: Renamed from Source/WebKit2/UIProcess/API/C/WKColorPickerResultListener.cpp.

(WKColorPickerResultListenerGetTypeID):
(WKColorPickerResultListenerSetColor):

  • UIProcess/API/C/efl/WKColorPickerResultListener.h: Renamed from Source/WebKit2/UIProcess/API/C/WKColorPickerResultListener.h.
  • UIProcess/API/C/efl/WKViewEfl.cpp: Introduced WKColorPickerClient and setter.

(WKViewSetColorPickerClient):

  • UIProcess/API/C/efl/WKViewEfl.h:
  • UIProcess/API/efl/tests/test_ewk2_color_picker.cpp: Enabled test case for color picker.

(TEST_F):

  • UIProcess/WebPageProxy.cpp: Removed unnecessary WebColorPickerResultListenerProxy dependency.
  • UIProcess/WebPageProxy.h: Ditto.
  • UIProcess/efl/PageUIClientEfl.cpp: Removed color picker callbacks of PageUIClient.

(WebKit::PageUIClientEfl::PageUIClientEfl):

  • UIProcess/efl/PageUIClientEfl.h:
  • UIProcess/efl/ViewClientEfl.cpp: Registered callbacks of WKColorPickerClient.

(WebKit::ViewClientEfl::showColorPicker):
(WebKit::ViewClientEfl::endColorPicker):
(WebKit::ViewClientEfl::ViewClientEfl):
(WebKit::ViewClientEfl::~ViewClientEfl):

  • UIProcess/efl/ViewClientEfl.h:
  • UIProcess/efl/WebColorPickerClient.cpp: Copied from Source/WebKit2/UIProcess/efl/ViewClientEfl.h.

(WebKit::WebColorPickerClient::showColorPicker):
(WebKit::WebColorPickerClient::endPicker):

  • UIProcess/efl/WebColorPickerClient.h: Added.
  • UIProcess/efl/WebColorPickerEfl.cpp: Copied from Source/WebKit2/UIProcess/efl/ViewClientEfl.h.

(WebKit::WebColorPickerEfl::WebColorPickerEfl):
(WebKit::WebColorPickerEfl::endPicker):
(WebKit::WebColorPickerEfl::showColorPicker):
(WebKit::WebColorPickerEfl::setSelectedColor):
(WebKit::WebColorPickerEfl::didChooseColor):

  • UIProcess/efl/WebColorPickerEfl.h: Copied from Source/WebKit2/UIProcess/efl/ViewClientEfl.h.

(WebKit::WebColorPickerEfl::create):
(WebKit::WebColorPickerEfl::~WebColorPickerEfl):

  • UIProcess/efl/WebColorPickerResultListenerProxy.cpp: Renamed from Source/WebKit2/UIProcess/WebColorPickerResultListenerProxy.cpp.

(WebKit::WebColorPickerResultListenerProxy::WebColorPickerResultListenerProxy):
(WebKit::WebColorPickerResultListenerProxy::~WebColorPickerResultListenerProxy):
(WebKit::WebColorPickerResultListenerProxy::invalidate):
(WebKit::WebColorPickerResultListenerProxy::setColor):

  • UIProcess/efl/WebColorPickerResultListenerProxy.h: Renamed from Source/WebKit2/UIProcess/WebColorPickerResultListenerProxy.h.

(WebKit::WebColorPickerResultListenerProxy::create):

  • UIProcess/efl/WebViewEfl.cpp:

(WebKit::WebViewEfl::initializeColorPickerClient):
(WebKit::WebViewEfl::createColorPicker):

  • UIProcess/efl/WebViewEfl.h:

(WebKit::WebViewEfl::colorPickerClient):

  • WebKit2.xcodeproj/project.pbxproj: Removed ColorPickerResultListener related files which are only for Efl from source list.
8:59 PM Changeset in webkit [164270] by mitz@apple.com
  • 9 edits in trunk/Tools

Stop using PLATFORM(MAC) in DumpRenderTree except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128950

Reviewed by Anders Carlsson.

Changed all PLATFORM(MAC) instances that were not excluding iOS to PLATFORM(COCOA).

  • DumpRenderTree/AccessibilityController.h:
  • DumpRenderTree/AccessibilityTextMarker.h:
  • DumpRenderTree/AccessibilityUIElement.cpp:
  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/DumpRenderTree.h:
  • DumpRenderTree/cg/PixelDumpSupportCG.cpp:

(computeMD5HashStringForBitmapContext):

  • DumpRenderTree/cg/PixelDumpSupportCG.h:

(BitmapContext::~BitmapContext):

  • DumpRenderTree/config.h:
8:20 PM Changeset in webkit [164269] by fpizlo@apple.com
  • 12 edits
    1 delete in trunk

More ARM FTL glue
https://bugs.webkit.org/show_bug.cgi?id=128948

Reviewed by Sam Weinig.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig: Allow for an header search directory for LLVM's generated files.
  • Configurations/LLVMForJSC.xcconfig: Link the right things for ARM.
  • assembler/ARM64Assembler.h: Builds fix.

(JSC::ARM64Assembler::fillNops):

  • disassembler/LLVMDisassembler.cpp: Use the right target triples.

(JSC::tryToDisassembleWithLLVM):

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps): Build fix.

  • jit/GPRInfo.h: Builds fix.
  • llvm/library/LLVMExports.cpp: Link the right things.

(initializeAndGetJSCLLVMAPI):

Source/WTF:

  • wtf/Platform.h:

Tools:

  • Scripts/configure-llvm: Removed. This isn't really practical now that we require a separate build directory.
  • Scripts/copy-webkitlibraries-to-product-directory: Switch to using a separate build directory, and for setting a PATH before running LLVM's make.
8:10 PM Changeset in webkit [164268] by benjamin@webkit.org
  • 3 edits
    2 adds in trunk

SelectorCompiler incorrectly saves a backtracking register for a child chain without descendant relation on the right
https://bugs.webkit.org/show_bug.cgi?id=128944

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

Source/WebCore:

When resolving the backtracking relations, the value of ancestorPositionSinceDescendantRelation was incorrect for the
rightmost child chain.
What was happenning is updateChainStates() would increment ancestorPositionSinceDescendantRelation even if there was
no descendant relation previously in the chain. As a result, the second SelectorFragment in the fragment chain would
save a backtracking register.

Previously this would just be a wasted register but since r163850, the number of registers available for compilation
is defined by SelectorCompiler::minimumRegisterRequirements(). Since we would have one less register available than computed,
we could run out of register and RegisterAllocator would invoke WTFCrash to avoid generating incorrect code.

This patch fixes the issue by not updating ancestorPositionSinceDescendantRelation until the first descendant relation
is seen. There was no need to fix the Adjacent relation because adjacentPositionSinceIndirectAdjacentTreeWalk already
had the correct guard.

Test: fast/selectors/querySelector-rightmost-child-chain-attribute-matching.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::updateChainStates):
(WebCore::SelectorCompiler::isFirstAdjacent): The name was a bad copy-paste, fix it.

LayoutTests:

  • fast/selectors/querySelector-rightmost-child-chain-attribute-matching-expected.txt: Added.
  • fast/selectors/querySelector-rightmost-child-chain-attribute-matching.html: Added.
7:50 PM Changeset in webkit [164267] by weinig@apple.com
  • 4 edits in trunk/Source/WebKit2

[iOS, WebKit2] Add settings and correct default values for settings important on iOS
https://bugs.webkit.org/show_bug.cgi?id=128947

Reviewed by Simon Fraser.

  • Shared/WebPreferencesStore.cpp:
  • Shared/WebPreferencesStore.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

6:50 PM Changeset in webkit [164266] by gyuyoung.kim@samsung.com
  • 9 edits in trunk

[CoordinatedGraphics][EFL] Remove view_source functions.
https://bugs.webkit.org/show_bug.cgi?id=128945

Reviewed by Anders Carlsson.

EFL port has been broken since r164254 because of removing view source files in WK2.
This patch is to follow to remove remained view source functions.

  • UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
  • UIProcess/API/C/CoordinatedGraphics/WKView.h:
  • UIProcess/API/efl/ewk_view.cpp:
  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/tests/test_ewk2_view.cpp:
  • UIProcess/CoordinatedGraphics/WebView.cpp:
  • UIProcess/CoordinatedGraphics/WebView.h:
6:31 PM Changeset in webkit [164265] by dino@apple.com
  • 4 edits
    9 adds in trunk

Constrain replaced element layout to from-intrinsic aspect ratio if specified
https://bugs.webkit.org/show_bug.cgi?id=128629

Reviewed by Simon Fraser.

Source/WebCore:

First pass at implementing -webkit-aspect-ratio: from-instrinsics;

After RenderReplaced has done layout, attempt to update the
resulting size to match the desired aspect ratio. This step
will only reduce the size of an element, and never below the
minimum dimensions.

Tests: fast/css/aspect-ratio/columns.html

fast/css/aspect-ratio/containers.html
fast/css/aspect-ratio/simple.html

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageDimensionsChanged): If we get an update
to our intrinsic dimensions, and layout depends on this, trigger
another layout pass.

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::layout): Implement the step described
above.

LayoutTests:

Three new tests that exercise aspect ratio on:

  • normal content
  • content that is constrained within a parent container
  • content in columns (pages)
  • fast/css/aspect-ratio/badchess-tall.png: Added.
  • fast/css/aspect-ratio/badchess-wide.png: Added.
  • fast/css/aspect-ratio/columns-expected.html: Added.
  • fast/css/aspect-ratio/columns.html: Added.
  • fast/css/aspect-ratio/containers-expected.html: Added.
  • fast/css/aspect-ratio/containers.html: Added.
  • fast/css/aspect-ratio/simple-expected.html: Added.
  • fast/css/aspect-ratio/simple.html: Added.
6:03 PM Changeset in webkit [164264] by Lucas Forschler
  • 5 edits in tags/Safari-538.16.7/Source

Versioning.

6:01 PM Changeset in webkit [164263] by Lucas Forschler
  • 1 copy in tags/Safari-538.16.7

New Tag.

5:35 PM Changeset in webkit [164262] by weinig@apple.com
  • 2 edits in trunk/Source/WebCore

Fix build.

  • WebCore.exp.in:
5:32 PM Changeset in webkit [164261] by andersca@apple.com
  • 8 edits in trunk/Source

Remove ENABLE_GLOBAL_FASTMALLOC_NEW
https://bugs.webkit.org/show_bug.cgi?id=127067

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • parser/Nodes.h:

Source/WebCore:

  • platform/Timer.h:

Source/WTF:

Remove the global operator new/operator delete overrides. Having ALWAYS_INLINE operators
like we do is really undefined behavior according to the C++ standard and we've been lucky enough
to get away with it so far, but any code that calls operator new/operator delete inside from the C++ standard
library (not from headers that are included) will be mismatched and potentially crash. libc++ calls
delete in it's std::thread implementation for example.

The only supported way to override operator new and operator delete globally is to not use inline
functions, but that would mean that any application using WebKit would not be able to provide custom
operator new/operator delete functions so we'll just reuse the already existing infrastructure consisting
of the WTF_MAKE_FAST_ALLOCATED macro.

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

  • wtf/FastMalloc.h:
  • wtf/Platform.h:
4:56 PM Changeset in webkit [164260] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS][wk2] Custom layers are sometimes put on-screen without being parented
https://bugs.webkit.org/show_bug.cgi?id=128935
<rdar://problem/16022336>

Reviewed by Sam Weinig.

  • Platform/mac/LayerHostingContext.mm:

(WebKit::LayerHostingContext::createForExternalHostingProcess):
Give an explicit and unlikely display ID, so that the layer will never
be brought on-screen unless explicitly parented.

4:53 PM Changeset in webkit [164259] by weinig@apple.com
  • 4 edits in trunk/Source/WebCore

Move iOS only Settings into Settings.in and make them not-iOS only
https://bugs.webkit.org/show_bug.cgi?id=128942

Reviewed by Tim Horton.

  • page/Settings.cpp:
  • page/Settings.h:
  • page/Settings.in:
4:44 PM Changeset in webkit [164258] by andersca@apple.com
  • 7 edits
    2 copies
    1 add in trunk/Source/WebKit2

Add history delegate to WKWebView
https://bugs.webkit.org/show_bug.cgi?id=128930

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKHistoryDelegatePrivate.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
  • UIProcess/API/Cocoa/WKProcessClass.mm:

(-[WKProcessClass initWithConfiguration:]):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _historyDelegate]):
(-[WKWebView _setHistoryDelegate:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/Cocoa/HistoryClient.h: Copied from Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h.
  • UIProcess/Cocoa/HistoryClient.mm: Added.

(WebKit::HistoryClient::HistoryClient):
(WebKit::HistoryClient::~HistoryClient):
(WebKit::HistoryClient::didNavigateWithNavigationData):
(WebKit::HistoryClient::didPerformClientRedirect):
(WebKit::HistoryClient::didPerformServerRedirect):
(WebKit::HistoryClient::didUpdateHistoryTitle):
(WebKit::HistoryClient::populateVisitedLinks):
(WebKit::HistoryClient::shouldTrackVisitedLinks):

  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::navigationStates):
(WebKit::NavigationState::NavigationState):
(WebKit::NavigationState::~NavigationState):
(WebKit::NavigationState::fromWebPage):
(WebKit::NavigationState::historyDelegate):
(WebKit::NavigationState::setHistoryDelegate):
(WebKit::NavigationState::didNavigateWithNavigationData):
(WebKit::NavigationState::didPerformClientRedirect):
(WebKit::NavigationState::didPerformServerRedirect):
(WebKit::NavigationState::didUpdateHistoryTitle):

  • WebKit2.xcodeproj/project.pbxproj:
4:30 PM Changeset in webkit [164257] by Martin Robinson
  • 2 edits in trunk

[GTK] [CMake] JavaScriptCore crashes in JSC::eval
https://bugs.webkit.org/show_bug.cgi?id=128434

Reviewed by Anders Carlsson.

  • Source/cmake/OptionsGTK.cmake: Add -fno-omit-frame-pointer to the GTK+ CMake

port as well as -fno-tree-dce, like it is used in the autotools build.

4:16 PM Changeset in webkit [164256] by weinig@apple.com
  • 3 edits
    1 move
    1 add
    1 delete in trunk/Source/WebKit2

[WebKit2] Merge WebProcessMac and WebProcessIOS into WebProcessCocoa
https://bugs.webkit.org/show_bug.cgi?id=128939

Reviewed by Dan Bernstein.

  • WebKit2.xcodeproj/project.pbxproj:

Add/remove files/groups.

  • WebProcess/WebProcess.h:

Change stopRunLoop() to be AppKit only.

  • WebProcess/cocoa: Added.
  • WebProcess/cocoa/WebProcessCocoa.mm: Copied from Source/WebKit2/WebProcess/mac/WebProcessMac.mm.

(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::platformInitializeProcess):
(WebKit::WebProcess::initializeSandbox):
(WebKit::WebProcess::updateActivePages):

  • WebProcess/ios/WebProcessIOS.mm: Removed.
  • WebProcess/mac/WebProcessMac.mm: Removed.

Copy mac/WebProcessMac.mm to cocoa/WebProcessCocoa.mm, and add #if USE(APPKIT) where appropriate.

4:08 PM Changeset in webkit [164255] by andersca@apple.com
  • 22 edits in trunk/Source/WebKit2

Stop using isMainThread() in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=128940
<rdar://problem/15963666>

Reviewed by Enrica Casucci.

Since isMainThread() has a different meaning when the web thread is enabled on iOS,
just use RunLoop::isMain() to check if we're executing on the main thread.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::ensurePathExists):
(WebKit::DatabaseProcess::postDatabaseTask):
(WebKit::DatabaseProcess::performNextDatabaseTask):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:

(WebKit::UniqueIDBDatabase::shutdown):
(WebKit::UniqueIDBDatabase::shutdownBackingStore):
(WebKit::UniqueIDBDatabase::didShutdownBackingStore):
(WebKit::UniqueIDBDatabase::deleteDatabase):
(WebKit::UniqueIDBDatabase::getOrEstablishIDBDatabaseMetadata):
(WebKit::UniqueIDBDatabase::openBackingStoreAndReadMetadata):
(WebKit::UniqueIDBDatabase::didOpenBackingStoreAndReadMetadata):
(WebKit::UniqueIDBDatabase::postTransactionOperation):
(WebKit::UniqueIDBDatabase::didCompleteTransactionOperation):
(WebKit::UniqueIDBDatabase::changeDatabaseVersion):
(WebKit::UniqueIDBDatabase::createObjectStore):
(WebKit::UniqueIDBDatabase::deleteObjectStore):
(WebKit::UniqueIDBDatabase::clearObjectStore):
(WebKit::UniqueIDBDatabase::createIndex):
(WebKit::UniqueIDBDatabase::deleteIndex):
(WebKit::UniqueIDBDatabase::putRecord):
(WebKit::UniqueIDBDatabase::getRecord):
(WebKit::UniqueIDBDatabase::openCursor):
(WebKit::UniqueIDBDatabase::cursorAdvance):
(WebKit::UniqueIDBDatabase::cursorIterate):
(WebKit::UniqueIDBDatabase::count):
(WebKit::UniqueIDBDatabase::deleteRange):
(WebKit::UniqueIDBDatabase::openBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::beginBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::commitBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::resetBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::rollbackBackingStoreTransaction):
(WebKit::UniqueIDBDatabase::changeDatabaseVersionInBackingStore):
(WebKit::UniqueIDBDatabase::createObjectStoreInBackingStore):
(WebKit::UniqueIDBDatabase::deleteObjectStoreInBackingStore):
(WebKit::UniqueIDBDatabase::clearObjectStoreInBackingStore):
(WebKit::UniqueIDBDatabase::createIndexInBackingStore):
(WebKit::UniqueIDBDatabase::deleteIndexInBackingStore):
(WebKit::UniqueIDBDatabase::putRecordInBackingStore):
(WebKit::UniqueIDBDatabase::getRecordFromBackingStore):
(WebKit::UniqueIDBDatabase::openCursorInBackingStore):
(WebKit::UniqueIDBDatabase::absoluteDatabaseDirectory):
(WebKit::UniqueIDBDatabase::postMainThreadTask):
(WebKit::UniqueIDBDatabase::performNextMainThreadTask):
(WebKit::UniqueIDBDatabase::postDatabaseTask):
(WebKit::UniqueIDBDatabase::performNextDatabaseTask):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::generateDatabaseId):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::~UniqueIDBDatabaseBackingStoreSQLite):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::extractExistingMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::openSQLiteDatabaseAtPath):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::establishTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::beginTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::commitTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::resetTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::rollbackTransaction):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::changeDatabaseVersion):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createIndex):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKeyNumber):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::updateKeyGeneratorNumber):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::putIndexRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getIndexRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRange):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::count):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::openCursor):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::iterateCursor):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::notifyCursorsOfChanges):

  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:

(WebKit::NetworkBlobRegistry::shared):

  • NetworkProcess/HostRecord.cpp:

(WebKit::HostRecord::scheduleResourceLoader):
(WebKit::HostRecord::addLoaderInProgress):
(WebKit::HostRecord::removeLoader):

  • NetworkProcess/NetworkResourceLoadScheduler.cpp:

(WebKit::NetworkResourceLoadScheduler::removeLoader):
(WebKit::NetworkResourceLoadScheduler::receivedRedirect):
(WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders):

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::cleanup):
(WebKit::NetworkResourceLoader::abort):
(WebKit::NetworkResourceLoader::willSendRequestAsync):
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):

  • NetworkProcess/NetworkResourceLoader.h:

(WebKit::NetworkResourceLoader::setHostRecord):
(WebKit::NetworkResourceLoader::hostRecord):

  • NetworkProcess/mac/DiskCacheMonitor.mm:

(WebKit::DiskCacheMonitor::DiskCacheMonitor):

  • Shared/AsyncRequest.cpp:

(WebKit::generateRequestID):

  • Shared/Authentication/AuthenticationManager.cpp:

(WebKit::generateAuthenticationChallengeID):
(WebKit::AuthenticationManager::establishIdentifierForChallenge):
(WebKit::AuthenticationManager::useCredentialForChallenge):
(WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
(WebKit::AuthenticationManager::cancelChallenge):

  • Shared/Downloads/mac/DownloadMac.mm:

(dispatchOnMainThread):

  • Shared/Plugins/NPObjectProxy.cpp:

(WebKit::NPObjectProxy::~NPObjectProxy):

  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:

(WebKit::getPluginInfoFromCarbonResources):

  • Shared/SessionTracker.cpp:

(WebKit::staticSessionMap):
(WebKit::storageSessionToID):
(WebKit::identifierBase):
(WebKit::SessionTracker::destroySession):
(WebKit::SessionTracker::setIdentifierBase):

  • UIProcess/APISession.cpp:

(API::generateID):
(API::Session::defaultSession):
(API::Session::legacyPrivateSession):

  • WebProcess/Cookies/WebCookieManager.cpp:

(WebKit::WebCookieManager::dispatchCookiesDidChange):

  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:

(WebKit::WebIDBFactoryBackend::open):
(WebKit::WebIDBFactoryBackend::deleteDatabase):

  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:

(WebKit::generateServerConnectionIdentifier):

  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::WebFrameNetworkingContext::storageSession):

  • WebProcess/WebPage/EventDispatcher.cpp:

(WebKit::EventDispatcher::dispatchWheelEvent):

3:53 PM Changeset in webkit [164254] by andersca@apple.com
  • 43 edits
    7 deletes in trunk/Source

Remove view source code
https://bugs.webkit.org/show_bug.cgi?id=127233

Reviewed by Antti Koivisto.

Source/WebCore:

  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::canExecuteScripts):

  • css/CSSDefaultStyleSheets.cpp:
  • css/CSSDefaultStyleSheets.h:
  • css/DocumentRuleSets.cpp:

(WebCore::DocumentRuleSets::appendAuthorStyleSheets):
(WebCore::DocumentRuleSets::collectFeatures):

  • css/DocumentRuleSets.h:
  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::matchUARules):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::appendAuthorStyleSheets):
(WebCore::StyleResolver::styleForElement):

  • css/view-source.css: Removed.
  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument):

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

(WebCore::Document::Document):

  • dom/Document.h:
  • html/HTMLAttributeNames.in:
  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
(WebCore::HTMLFrameElementBase::openURL):

  • html/HTMLFrameElementBase.h:
  • html/HTMLViewSourceDocument.cpp: Removed.
  • html/HTMLViewSourceDocument.h: Removed.
  • html/parser/HTMLToken.h:
  • html/parser/HTMLViewSourceParser.cpp: Removed.
  • html/parser/HTMLViewSourceParser.h: Removed.
  • html/parser/TextViewSourceParser.cpp: Removed.
  • html/parser/TextViewSourceParser.h: Removed.
  • inspector/InspectorOverlayPage.css:

(.tag-name):
(.node-id):
(.class-name):

  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::createDocument):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::receivedFirstData):

  • page/Frame.cpp:

(WebCore::Frame::Frame):

  • page/Frame.h:
  • xml/DOMParser.cpp:

(WebCore::DOMParser::parseFromString):

  • xml/XMLViewer.css:

(.tag):

  • xml/XSLTProcessor.cpp:

(WebCore::XSLTProcessor::createDocumentFromSource):

Source/WebKit/mac:

  • WebView/WebView.mm:
  • WebView/WebViewPrivate.h:

Source/WebKit/win:

  • WebFrame.cpp:

(WebFrame::inViewSourceMode):
(WebFrame::setInViewSourceMode):

  • WebView.cpp:

(WebView::setInViewSourceMode):
(WebView::inViewSourceMode):

Source/WebKit2:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
3:53 PM Changeset in webkit [164253] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Unreviewed gardening.

  • platform/win/TestExpectations: Remove a few duplicate test statements, as well as

some removed test cases.

3:45 PM Changeset in webkit [164252] by Simon Fraser
  • 5 edits
    2 adds in trunk

box-shadows get truncated with a combination of transforms and clip: (affects Google Maps)
https://bugs.webkit.org/show_bug.cgi?id=128937

Source/WebCore:

Reviewed by Dean Jackson.

RenderLayer::calculateLayerBounds() incorrectly assumed that if localClipRect() returns
a non-infinite rect, that rect is OK to use as the compositing bounds.

That is not a valid assumption when clip() has a larger rect than the element (e.g.
with negative top/left in the rect). In that case, localClipRect() still just
returns the background rect, but we actually need a larger compositing layer
to show the unclipped parts of descendants.

Fix by detecting clip() that exceeds the renderer bounds, and when it does,
not early returning in the UseLocalClipRectIfPossible clause.

Test: compositing/geometry/css-clip-oversize.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::localClipRect): Do a convertToLayerCoords()
because we need offsetFromRoot later, and we can pass our value down to
calculateRects(). Compute clipExceedsBounds based on the CSS clip rect.
(WebCore::RenderLayer::calculateClipRects): Don't early return if clipExceedsBounds
is true.

  • rendering/RenderLayer.h:

LayoutTests:

Reviewed by Dean Jackson.

Test with CSS clip() with a rect larger than the border box, and compositing.

  • compositing/geometry/clip-expected.txt: New expectation. This is a progression.
  • compositing/geometry/css-clip-oversize-expected.html: Added.
  • compositing/geometry/css-clip-oversize.html: Added.
3:29 PM Changeset in webkit [164251] by Antti Koivisto
  • 16 edits in trunk/Source/WebCore

Make TreeScope::rootNode return a reference
https://bugs.webkit.org/show_bug.cgi?id=128934

Reviewed by Andreas Kling.

It is never null.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::collectMatchingRules):

  • dom/ContainerNode.h:

(WebCore::Node::isTreeScope):

  • dom/Document.cpp:

(WebCore::Document::buildAccessKeyMap):

  • dom/DocumentOrderedMap.cpp:

(WebCore::DocumentOrderedMap::add):
(WebCore::DocumentOrderedMap::get):
(WebCore::DocumentOrderedMap::getAllElementsById):

  • dom/EventDispatcher.cpp:

(WebCore::EventRelatedNodeResolver::moveToParentOrShadowHost):
(WebCore::eventTargetRespectingTargetRules):
(WebCore::shouldEventCrossShadowBoundary):

  • dom/Node.cpp:

(WebCore::Node::containingShadowRoot):
(WebCore::Node::removedFrom):

  • dom/ShadowRoot.h:

(WebCore::isShadowRoot):

  • dom/TreeScope.h:

(WebCore::TreeScope::rootNode):

  • page/DOMSelection.cpp:

(WebCore::DOMSelection::DOMSelection):

  • page/DragController.cpp:

(WebCore::asFileInput):

  • page/FocusController.cpp:

(WebCore::FocusNavigationScope::rootNode):

2:44 PM Changeset in webkit [164250] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] There's another Windows SDK. Make sure we recognize it.
https://bugs.webkit.org/show_bug.cgi?id=128932

Reviewed by Tim Horton.

  • Scripts/webkitpy/port/win.py:

(WinPort._ntsd_location):

2:26 PM Changeset in webkit [164249] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: Invalid cast in WebCore::AccessibilityTable::isDataTable (CRBug 280352)
<https://webkit.org/b/128925>
<rdar://problem/16087351>

Merged from Blink (patch by Dominic Mazzoni):
https://src.chromium.org/viewvc/blink?revision=159711&view=revision

Reviewed by Oliver Hunt.

Source/WebCore:

Don't cast to a table cell element unless we are sure it is one.

Test: accessibility/display-table-cell-causes-crash.html

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::isDataTable):

LayoutTests:

  • accessibility/display-table-cell-causes-crash-expected.txt: Added.
  • accessibility/display-table-cell-causes-crash.html: Added.
2:12 PM Changeset in webkit [164248] by Antti Koivisto
  • 19 edits in trunk/Source/WebCore

Node constructor should take Document reference
https://bugs.webkit.org/show_bug.cgi?id=128931

Reviewed by Geoff Garen.

  • dom/Attr.cpp:

(WebCore::Attr::Attr):

  • dom/CharacterData.h:

(WebCore::CharacterData::CharacterData):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::~ContainerNode):

  • dom/ContainerNode.h:

(WebCore::ContainerNode::ContainerNode):

  • dom/Document.cpp:

(WebCore::Document::Document):

  • dom/Document.h:

(WebCore::Node::Node):

  • dom/DocumentFragment.cpp:

(WebCore::DocumentFragment::DocumentFragment):
(WebCore::DocumentFragment::create):

  • dom/DocumentFragment.h:
  • dom/DocumentType.cpp:

(WebCore::DocumentType::DocumentType):

  • dom/Element.h:

(WebCore::Element::Element):

  • dom/Entity.h:

(WebCore::Entity::Entity):

  • dom/EntityReference.cpp:

(WebCore::EntityReference::EntityReference):

  • dom/Node.cpp:

(WebCore::Node::~Node):
(WebCore::Node::willBeDeletedFrom):

  • dom/Node.h:
  • dom/Notation.cpp:
  • dom/Notation.h:

(WebCore::Notation::publicId):
(WebCore::Notation::systemId):
(WebCore::Notation::Notation):

Remove cruft from this non-instantiated class.

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::~ShadowRoot):

  • dom/TemplateContentDocumentFragment.h:
1:40 PM Changeset in webkit [164247] by rniwa@webkit.org
  • 2 edits in trunk/Tools

webkitpy test fix on Mac after r164244.

It's somewhat crazy that we're trying to run unittests for Windows on Mac but whatever.

  • Scripts/webkitpy/port/win.py:

(WinPort._ntsd_location):

12:58 PM Changeset in webkit [164246] by Simon Fraser
  • 3 edits in trunk/LayoutTests

Fix layout test added in r164232 to avoid bug 128929
and use rects which don't have minor rendering differences when
drawn into compositing layers.

  • compositing/contents-opaque/opaque-with-clip-path-expected.html:
  • compositing/contents-opaque/opaque-with-clip-path.html:
12:35 PM Changeset in webkit [164245] by Sergio Correia
  • 64 edits in trunk/Source

Replace uses of PassOwnPtr/OwnPtr with std::unique_ptr in WebCore/inspector
https://bugs.webkit.org/show_bug.cgi?id=128681

Reviewed by Timothy Hatcher.

Another step towards getting rid of PassOwnPtr/OwnPtr, now targeting
WebCore/inspector/*. Besides files in there, a few other files in
JavaScriptCore/inspector, WebKit/, WebKit2/WebProcess/WebCoreSupport/
and WebCore/testing were touched.

Source/JavaScriptCore:

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

Source/WebCore:

No new tests; no new behavior.

  • WebCore.exp.in:
  • inspector/CommandLineAPIHost.cpp:
  • inspector/CommandLineAPIHost.h:
  • inspector/DOMEditor.cpp:
  • inspector/DOMPatchSupport.cpp:
  • inspector/DOMPatchSupport.h:
  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.cpp:
  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorCanvasAgent.h:
  • inspector/InspectorDOMAgent.cpp:
  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorFrontendClientLocal.cpp:
  • inspector/InspectorFrontendClientLocal.h:
  • inspector/InspectorHeapProfilerAgent.h:
  • inspector/InspectorHistory.cpp:
  • inspector/InspectorHistory.h:
  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorInputAgent.h:
  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorMemoryAgent.cpp:
  • inspector/InspectorMemoryAgent.h:
  • inspector/InspectorOverlay.cpp:
  • inspector/InspectorOverlay.h:
  • inspector/InspectorProfilerAgent.cpp:
  • inspector/InspectorProfilerAgent.h:
  • inspector/InspectorResourceAgent.cpp:
  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorStyleSheet.cpp:
  • inspector/InspectorStyleSheet.h:
  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.cpp:
  • inspector/PageConsoleAgent.cpp:
  • inspector/PageRuntimeAgent.h:
  • inspector/WebConsoleAgent.cpp:
  • inspector/WorkerRuntimeAgent.h:
  • testing/Internals.cpp:

Source/WebKit:

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

Source/WebKit/cf:

  • WebCoreSupport/WebInspectorClientCF.cpp:

Source/WebKit/efl:

  • WebCoreSupport/InspectorClientEfl.cpp:

Source/WebKit/gtk:

  • WebCoreSupport/InspectorClientGtk.cpp:

Source/WebKit/ios:

  • WebCoreSupport/WebInspectorClientIOS.mm:

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorClient.mm:

Source/WebKit/win:

  • WebCoreSupport/WebInspectorClient.cpp:
  • WebCoreSupport/WebInspectorClient.h:

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
12:25 PM Changeset in webkit [164244] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Fall back to Windows symbol servers when necessary
https://bugs.webkit.org/show_bug.cgi?id=128926

Reviewed by Ryosuke Niwa.

  • Scripts/webkitpy/port/win.py:

(WinPort):
(setup_crash_log_saving): Fall back to Microsoft Symbol Server when local symbols are
not specified.

12:23 PM Changeset in webkit [164243] by fpizlo@apple.com
  • 6 edits
    2 adds in trunk/Source/JavaScriptCore

FTL should support ToPrimitive and the DFG should fold it correctly
https://bugs.webkit.org/show_bug.cgi?id=128892

Reviewed by Geoffrey Garen.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileToPrimitive):

  • tests/stress/fold-to-primitive-in-cfa.js: Added.

(foo):
(.result.foo):

  • tests/stress/fold-to-primitive-to-identity-in-cfa.js: Added.

(foo):
(.result.foo):

12:19 PM Changeset in webkit [164242] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Rename Document::m_selfOnlyRefCount to m_referencingNodeCount
https://bugs.webkit.org/show_bug.cgi?id=128916

Reviewed by Andreas Kling.

Make the name more informative. Also make it zero based (document is not considered to reference itself).

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::removedLastRef):

  • dom/Document.h:

(WebCore::Document::increaseReferencingNodeCount):
(WebCore::Document::decreaseReferencingNodeCount):
(WebCore::Node::Node):

  • dom/Node.cpp:

(WebCore::Node::~Node):

  • dom/TreeScopeAdopter.cpp:

(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveNodeToNewDocument):

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

Register preservation wrapper should know about the possibility of callee-saved FPRs
https://bugs.webkit.org/show_bug.cgi?id=128923

Reviewed by Mark Hahnenberg.

  • jit/RegisterPreservationWrapperGenerator.cpp:

(JSC::generateRegisterPreservationWrapper):
(JSC::generateRegisterRestoration):

  • jit/RegisterSet.cpp:
12:06 PM Changeset in webkit [164240] by Michał Pakuła vel Rutka
  • 2 edits in trunk/Source/WebKit2

Unreviewed EFL build fix attempt

  • CMakeLists.txt: Remove WebHistoryClient.cpp after r164230.
11:48 AM Changeset in webkit [164239] by ChangSeok Oh
  • 2 edits in trunk/Source/WebCore

[GTK] Build failure caused by missing jsmin module
https://bugs.webkit.org/show_bug.cgi?id=128742

Reviewed by Philippe Normand.

No new tests since no functionality changed.

  • GNUmakefile.am: Relocate PYTHONPATH to make it meaningful.
11:46 AM HackingWebInspector edited by timothy@apple.com
(diff)
11:45 AM Changeset in webkit [164238] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

lr is a special register on ARM64
https://bugs.webkit.org/show_bug.cgi?id=128922

Reviewed by Mark Hahnenberg.

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::specialRegisters):

11:44 AM HackingWebInspector edited by timothy@apple.com
(diff)
11:39 AM Changeset in webkit [164237] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix RegisterSet::calleeSaveRegisters() by making it correct on ARM64
https://bugs.webkit.org/show_bug.cgi?id=128921

Reviewed by Mark Hahnenberg.

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::calleeSaveRegisters):

11:39 AM HackingWebInspector edited by timothy@apple.com
(diff)
11:36 AM Changeset in webkit [164236] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: CSS selectors containing a color name shouldn't be considered for color editing
https://bugs.webkit.org/show_bug.cgi?id=128909

Reviewed by Joseph Pecoraro.

Disregard any text that might be contained within a CSS selector.

  • UserInterface/CodeMirrorAdditions.js:
11:26 AM Changeset in webkit [164235] by andersca@apple.com
  • 4 edits in trunk/Source

WebKitGTK+ should stop calling functions to set the view source mode
https://bugs.webkit.org/show_bug.cgi?id=128919

Reviewed by Carlos Garcia Campos.

This is a first step towards getting rid of the view source mode from WebCore.
View source shouldn't be a mode on the web page and can be implemented in other ways by
embedding apps. Furthermore, the inspector has an excellent view source mode.

Source/WebKit/gtk:

  • webkit/webkitwebview.cpp:

(webkit_web_view_set_view_source_mode):
(webkit_web_view_get_view_source_mode):
Turn these into no-ops.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_set_view_mode):
(webkit_web_view_get_view_mode):
Turn these into no-ops.

11:22 AM Changeset in webkit [164234] by stavila@adobe.com
  • 3 edits
    2 adds in trunk

[CSS Regions] Make regions unsplittable
https://bugs.webkit.org/show_bug.cgi?id=128811

Reviewed by David Hyatt.

Source/WebCore:

At the moment, nested regions are not properly fragmented across regions. For the moment,
the regions will become unsplittable elements to avoid slicing. At a later time a proper
fragmentation algorithm should be written, also taking into consideration pagination strut.

Test: fast/regions/unsplittable-nested-region.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::isUnsplittableForPagination):

LayoutTests:

Added test for checking that nested regions are unsplittable.

  • fast/regions/unsplittable-nested-region-expected.html: Added.
  • fast/regions/unsplittable-nested-region.html: Added.
11:15 AM Changeset in webkit [164233] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

RegisterSet::calleeSaveRegisters() should know about ARM64
https://bugs.webkit.org/show_bug.cgi?id=128918

Reviewed by Mark Hahnenberg.

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::calleeSaveRegisters):

11:13 AM Changeset in webkit [164232] by Simon Fraser
  • 3 edits
    2 adds in trunk

Graphics buffer issue with clip-path and fixed positioned element
https://bugs.webkit.org/show_bug.cgi?id=126262

Source/WebCore:

Reviewed by Tim Horton.

If an element has a clip-path, backgroundIsKnownToBeOpaqueInRect() needs
to return false so that we don't try to make opaque compositing layers.

Test: compositing/contents-opaque/opaque-with-clip-path.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):

LayoutTests:

Reviewed by Tim Horton.

  • compositing/contents-opaque/opaque-with-clip-path-expected.html: Added.
  • compositing/contents-opaque/opaque-with-clip-path.html: Added.
11:10 AM Changeset in webkit [164231] by stavila@adobe.com
  • 5 edits
    10 adds in trunk

[CSS Regions] The box decorations of an element overflowing a region should be clipped at the border box, not the content box
https://bugs.webkit.org/show_bug.cgi?id=128815

Reviewed by Andrei Bucur.

Source/WebCore:

Elements flowed into a region should not be painted past the region's content box
if they continue to flow into another region in that direction.
If they do not continue into another region in that direction, they should be
painted all the way to the region's border box.
Regions with overflow:hidden will apply clip at the border box, not the content box.

Tests: fast/regions/box-decorations-over-region-padding-fragmented.html

fast/regions/box-decorations-over-region-padding-horiz-bt.html
fast/regions/box-decorations-over-region-padding-vert-lr.html
fast/regions/box-decorations-over-region-padding-vert-rl.html
fast/regions/box-decorations-over-region-padding.html

  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::flowThreadPortionRectForClipping):

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

(WebCore::RenderRegion::rectFlowPortionForBox):

LayoutTests:

Added tests for the painting of the borders of elements flowed into regions
over the region's padding area, for regions with overflow:hidden.
Tests were added for all writing modes.

  • fast/regions/box-decorations-over-region-padding-expected.html: Added.
  • fast/regions/box-decorations-over-region-padding-fragmented-expected.html: Added.
  • fast/regions/box-decorations-over-region-padding-fragmented.html: Added.
  • fast/regions/box-decorations-over-region-padding-horiz-bt-expected.html: Added.
  • fast/regions/box-decorations-over-region-padding-horiz-bt.html: Added.
  • fast/regions/box-decorations-over-region-padding-vert-lr-expected.html: Added.
  • fast/regions/box-decorations-over-region-padding-vert-lr.html: Added.
  • fast/regions/box-decorations-over-region-padding-vert-rl-expected.html: Added.
  • fast/regions/box-decorations-over-region-padding-vert-rl.html: Added.
  • fast/regions/box-decorations-over-region-padding.html: Added.
11:08 AM Changeset in webkit [164230] by andersca@apple.com
  • 7 edits
    1 move
    1 delete in trunk/Source/WebKit2

Turn the history client into a fancy API::HistoryClient abstract base class
https://bugs.webkit.org/show_bug.cgi?id=128917

Reviewed by Andreas Kling.

  • UIProcess/API/APIHistoryClient.h: Renamed from Source/WebKit2/UIProcess/WebHistoryClient.h.

(API::HistoryClient::~HistoryClient):
(API::HistoryClient::didNavigateWithNavigationData):
(API::HistoryClient::didPerformClientRedirect):
(API::HistoryClient::didPerformServerRedirect):
(API::HistoryClient::didUpdateHistoryTitle):
(API::HistoryClient::populateVisitedLinks):
(API::HistoryClient::shouldTrackVisitedLinks):

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetHistoryClient):

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):
(WebKit::WebContext::setHistoryClient):
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::populateVisitedLinks):

  • UIProcess/WebContext.h:

(WebKit::WebContext::historyClient):

  • UIProcess/WebHistoryClient.cpp: Removed.
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessProxy.cpp:
  • WebKit2.xcodeproj/project.pbxproj:
11:00 AM Changeset in webkit [164229] by Csaba Osztrogonác
  • 109 edits in trunk/Source/JavaScriptCore

Move back primary header includes next to config.h
https://bugs.webkit.org/show_bug.cgi?id=128912

Reviewed by Alexey Proskuryakov.

  • dfg/DFGAbstractHeap.cpp:
  • dfg/DFGAbstractValue.cpp:
  • dfg/DFGArgumentsSimplificationPhase.cpp:
  • dfg/DFGArithMode.cpp:
  • dfg/DFGArrayMode.cpp:
  • dfg/DFGAtTailAbstractState.cpp:
  • dfg/DFGAvailability.cpp:
  • dfg/DFGBackwardsPropagationPhase.cpp:
  • dfg/DFGBasicBlock.cpp:
  • dfg/DFGBinarySwitch.cpp:
  • dfg/DFGBlockInsertionSet.cpp:
  • dfg/DFGByteCodeParser.cpp:
  • dfg/DFGCFAPhase.cpp:
  • dfg/DFGCFGSimplificationPhase.cpp:
  • dfg/DFGCPSRethreadingPhase.cpp:
  • dfg/DFGCSEPhase.cpp:
  • dfg/DFGCapabilities.cpp:
  • dfg/DFGClobberSet.cpp:
  • dfg/DFGClobberize.cpp:
  • dfg/DFGCommon.cpp:
  • dfg/DFGCommonData.cpp:
  • dfg/DFGCompilationKey.cpp:
  • dfg/DFGCompilationMode.cpp:
  • dfg/DFGConstantFoldingPhase.cpp:
  • dfg/DFGCriticalEdgeBreakingPhase.cpp:
  • dfg/DFGDCEPhase.cpp:
  • dfg/DFGDesiredIdentifiers.cpp:
  • dfg/DFGDesiredStructureChains.cpp:
  • dfg/DFGDesiredTransitions.cpp:
  • dfg/DFGDesiredWatchpoints.cpp:
  • dfg/DFGDesiredWeakReferences.cpp:
  • dfg/DFGDesiredWriteBarriers.cpp:
  • dfg/DFGDisassembler.cpp:
  • dfg/DFGDominators.cpp:
  • dfg/DFGEdge.cpp:
  • dfg/DFGFailedFinalizer.cpp:
  • dfg/DFGFinalizer.cpp:
  • dfg/DFGFixupPhase.cpp:
  • dfg/DFGFlushFormat.cpp:
  • dfg/DFGFlushLivenessAnalysisPhase.cpp:
  • dfg/DFGFlushedAt.cpp:
  • dfg/DFGGraph.cpp:
  • dfg/DFGGraphSafepoint.cpp:
  • dfg/DFGInPlaceAbstractState.cpp:
  • dfg/DFGIntegerCheckCombiningPhase.cpp:
  • dfg/DFGInvalidationPointInjectionPhase.cpp:
  • dfg/DFGJITCode.cpp:
  • dfg/DFGJITCompiler.cpp:
  • dfg/DFGJITFinalizer.cpp:
  • dfg/DFGJumpReplacement.cpp:
  • dfg/DFGLICMPhase.cpp:
  • dfg/DFGLazyJSValue.cpp:
  • dfg/DFGLivenessAnalysisPhase.cpp:
  • dfg/DFGLongLivedState.cpp:
  • dfg/DFGLoopPreHeaderCreationPhase.cpp:
  • dfg/DFGMinifiedNode.cpp:
  • dfg/DFGNaturalLoops.cpp:
  • dfg/DFGNode.cpp:
  • dfg/DFGNodeFlags.cpp:
  • dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
  • dfg/DFGOSREntry.cpp:
  • dfg/DFGOSREntrypointCreationPhase.cpp:
  • dfg/DFGOSRExit.cpp:
  • dfg/DFGOSRExitBase.cpp:
  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGOSRExitCompiler32_64.cpp:
  • dfg/DFGOSRExitCompiler64.cpp:
  • dfg/DFGOSRExitCompilerCommon.cpp:
  • dfg/DFGOSRExitJumpPlaceholder.cpp:
  • dfg/DFGOSRExitPreparation.cpp:
  • dfg/DFGPhase.cpp:
  • dfg/DFGPlan.cpp:
  • dfg/DFGPredictionInjectionPhase.cpp:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGResurrectionForValidationPhase.cpp:
  • dfg/DFGSSAConversionPhase.cpp:
  • dfg/DFGSSALoweringPhase.cpp:
  • dfg/DFGSafepoint.cpp:
  • dfg/DFGSpeculativeJIT.cpp:
  • dfg/DFGSpeculativeJIT32_64.cpp:
  • dfg/DFGSpeculativeJIT64.cpp:
  • dfg/DFGStackLayoutPhase.cpp:
  • dfg/DFGStoreBarrierElisionPhase.cpp:
  • dfg/DFGStrengthReductionPhase.cpp:
  • dfg/DFGThreadData.cpp:
  • dfg/DFGThunks.cpp:
  • dfg/DFGTierUpCheckInjectionPhase.cpp:
  • dfg/DFGToFTLDeferredCompilationCallback.cpp:
  • dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp:
  • dfg/DFGTypeCheckHoistingPhase.cpp:
  • dfg/DFGUnificationPhase.cpp:
  • dfg/DFGUseKind.cpp:
  • dfg/DFGValidate.cpp:
  • dfg/DFGValueSource.cpp:
  • dfg/DFGVariableAccessDataDump.cpp:
  • dfg/DFGVariableEvent.cpp:
  • dfg/DFGVariableEventStream.cpp:
  • dfg/DFGVirtualRegisterAllocationPhase.cpp:
  • dfg/DFGWatchpointCollectionPhase.cpp:
  • dfg/DFGWorklist.cpp:
  • heap/JITStubRoutineSet.cpp:
  • jit/GCAwareJITStubRoutine.cpp:
  • jit/JIT.cpp:
  • jit/JITDisassembler.cpp:
  • jit/JITOperations.cpp:
  • jit/JITStubRoutine.cpp:
  • jit/JITStubs.cpp:
  • jit/TempRegisterSet.cpp:
10:59 AM Changeset in webkit [164228] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

FTL OSR exit shouldn't make X86-specific assumptions
https://bugs.webkit.org/show_bug.cgi?id=128890

Reviewed by Mark Hahnenberg.

Mostly this is about not using push/pop, but instead using the more abstract pushToSave() and popToRestore() while reflecting on the stack alignment.

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::pushToSaveImmediateWithoutTouchingRegisters):
(JSC::MacroAssembler::pushToSaveByteOffset):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::pushToSaveImmediateWithoutTouchingRegisters):
(JSC::MacroAssemblerARM64::pushToSaveByteOffset):

  • ftl/FTLExitThunkGenerator.cpp:

(JSC::FTL::ExitThunkGenerator::emitThunk):

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

  • ftl/FTLThunks.cpp:

(JSC::FTL::osrExitGenerationThunkGenerator):

10:48 AM Changeset in webkit [164227] by b.long@cablelabs.com
  • 7 edits in trunk

DataCue.data should be a copy of the input ArrayBuffer, not a pointer
https://bugs.webkit.org/show_bug.cgi?id=128886

Reviewed by Eric Carlson.

Source/WebCore:

No new tests, just updated existing track-datacue.html test.

  • html/track/DataCue.cpp:

(WebCore::DataCue::DataCue): Add ExceptionCode and pass through to setData().
(WebCore::DataCue::data): Return a copy of m_data instead of a pointer.
(WebCore::DataCue::setData): Create a copy of the input data, or throw an exception if it's null.

  • html/track/DataCue.h: Add ExceptionCode parameters to constructor and data setter.
  • html/track/DataCue.idl: Same.

LayoutTests:

  • media/track/track-datacue-expected.txt:
  • media/track/track-datacue.html:
10:47 AM Changeset in webkit [164226] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, make this test pass without DFG. It was assuming that you always have DFG
and that it would always tier-up to the DFG - both wrong assumptions.

  • tests/stress/tricky-array-bounds-checks.js:

(foo):

10:26 AM Changeset in webkit [164225] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

Try to fix iOS Debug builds without breaking Release builds.

  • WebProcess/WebPage/PageBanner.cpp:
  • WebProcess/WebPage/PageBanner.h:
9:18 AM Changeset in webkit [164224] by ddkilzer@apple.com
  • 5 edits in trunk/Source/WebCore

CounterContentData::counter() and ImageContentData::image() should return references
<http://webkit.org/b/128671>

Reviewed by Darin Adler.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::contentToCSSValue):

  • Update to use references. Remove useless ASSERTs.
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingImages):

  • Update to use references. StyleResolver::loadPendingImage() will be changed to take a reference in the near future.
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::createFor):

  • Update to use references. The auto keyword wanted to instantiate a StyleImage instead a reference, so it was replaced.
  • rendering/style/ContentData.h:

(WebCore::ImageContentData::ImageContentData): Add ASSERT that
m_image is not NULL.
(WebCore::ImageContentData::image): Return a reference. Remove
useless overload with identical name.
(WebCore::ImageContentData::cloneInternal): Simplify by using
implicit PassRefPtr constructor.
(WebCore::operator==): Remove unneeded deref operators.
(WebCore::CounterContentData::counter): Return a reference.
(WebCore::CounterContentData::cloneInternal): Remove unneeded
deref operator.
(WebCore::operator==): Remove unneeded deref operators.

9:17 AM Changeset in webkit [164223] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[MediaControls][iOS] Make mediacontrols match the system inline controls
https://bugs.webkit.org/show_bug.cgi?id=128833

Reviewed by Eric Carlson.

Move items slightly, fix button sizes, font sizes, and colors to match the
inline controls from MoviePlayer.framework.

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-panel):
(audio::-webkit-media-controls-fullscreen-button):
(audio::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-play-button.paused):
(audio::-webkit-media-controls-timeline):
(audio::-webkit-media-controls-timeline::-webkit-slider-thumb):
(audio::-webkit-media-controls-time-remaining-display):

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.configureInlineControls): Do not add the status text.
(ControllerIOS.prototype.updateTime): Call updateProgress().
(ControllerIOS.prototype.progressFillStyle): Draw a slightly different color.
(ControllerIOS.prototype.updateProgress): Draw white to the left of the currentTime.
(ControllerIOS.prototype.formatTime): Single leading zero in the time display fields.
(ControllerIOS.prototype.handleTimelineChange): Call updateProgress().

8:18 AM Changeset in webkit [164222] by ChangSeok Oh
  • 2 edits in trunk

[GTK] MEDIA_CONTROLS_SCRIPT depends on VIDEO_TRACK
https://bugs.webkit.org/show_bug.cgi?id=128799

Reviewed by Philippe Normand.

MEDIA_CONTROLS_SCRIPT has a dependency on VIDEO_TRACK. So it causes a build break
if building with autotools. cmake system has enabled it as default. So I propose
enabling VIDEO_TRACK as well.

  • Source/autotools/SetupWebKitFeatures.m4:
7:29 AM Changeset in webkit [164221] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix typos in Tools/efl/jhbuild.modules.
https://bugs.webkit.org/show_bug.cgi?id=128908

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-02-17
Reviewed by Csaba Osztrogonác.

  • efl/jhbuild.modules: 's/<deb /<dep /g'
7:17 AM Changeset in webkit [164220] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Enable DFG_JIT on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128898

Patch by Ryan Lortie <desrt@desrt.ca> on 2014-02-17
Reviewed by Csaba Osztrogonác.

  • wtf/Platform.h:
6:56 AM Changeset in webkit [164219] by Michał Pakuła vel Rutka
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add test expectations for crashing and failing tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
6:12 AM Changeset in webkit [164218] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r162724 - [GTK] youtube HTML5 videos in fullscreen, after <Esc>, can't go fullscreen again
https://bugs.webkit.org/show_bug.cgi?id=127064

When pressing <Esc> or <f> at full screen, the WebView shall emit the
event webkitfullscreenchange, but wk2gtk does not emit it. This is
because the WebView manages directly the exit of the full screen.

With this patch the WebView calls requestExitFullScreen to the full
screen manager, instead of managing directly the exit of the full
screen, and the event webkitfullscreenchange will be dispatched
correctly.

Reviewed by Martin Robinson.

No tests are included because there is a bug in WKTR that prevents the
execution of a test for this patch. See
https://bugs.webkit.org/show_bug.cgi?id=127348

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseKeyPressEvent): Call
webkitWebViewBaseRequestExitFullScreen.
(webkitWebViewBaseRequestExitFullScreen): Added.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Ditto.
6:09 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
5:23 AM Changeset in webkit [164217] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix the CLoop build after r163760
https://bugs.webkit.org/show_bug.cgi?id=128900

Patch by Dániel Bátyai <Dániel Bátyai> on 2014-02-17
Reviewed by Csaba Osztrogonác.

  • llint/LLIntThunks.cpp:
5:14 AM Changeset in webkit [164216] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

CLoop buildfix after r164207
https://bugs.webkit.org/show_bug.cgi?id=128899

Patch by Dániel Bátyai <Dániel Bátyai> on 2014-02-17
Reviewed by Csaba Osztrogonác.

  • dfg/DFGCommon.h:

(JSC::DFG::shouldShowDisassembly):

3:24 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
3:11 AM WebKitGTK/2.4.x edited by zandobersek@gmail.com
Add bug #126927 as a future merge candidate. (diff)
3:09 AM Changeset in webkit [164215] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.3.90

Tagging the WebKitGTK+ 2.3.90 release

2:57 AM Changeset in webkit [164214] by Manuel Rego Casasnovas
  • 3 edits
    2 adds in trunk

[CSS Grid Layout] Fix missing layout in flexible and content sized columns
https://bugs.webkit.org/show_bug.cgi?id=128672

Reviewed by Sergio Villar Senin.

Source/WebCore:

RenderGrid::logicalContentHeightForChild() is called for some items at the beginning of RenderGrid::layoutGridItems()
from RenderGrid::computeUsedBreadthOfGridTracks(). This causes that the comparison inside the for loop in
RenderGrid::layoutGridItems() does not detect width changes, so elements won't be marked as needsLayout.

So the comparison is done in RenderGrid::logicalContentHeightForChild() and the element is marked to perform a layout if
the width has changed.

The issue can be reproduced easily with a simple grid with one flexible or content sized column, all the available width
is not used. On top of that, when you resize the window the flexible or content sized columns are not updating their
size properly.

CSS Grid Layout perftest results are around 4% worse, which is expected as we're adding a missing layout.

Test: fast/css-grid-layout/flex-content-sized-column-use-available-width.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::logicalContentHeightForChild): Check width changes and mark element as needed layout if required.

LayoutTests:

Add test that reproduce the issue for both cases flexible and content sized columns.

  • fast/css-grid-layout/flex-content-sized-column-use-available-width-expected.html: Added.
  • fast/css-grid-layout/flex-content-sized-column-use-available-width.html: Added.
2:54 AM Changeset in webkit [164213] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

Unreviewed. Update NEWS and Versions.m4 for 2.3.90 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.3.90.
2:51 AM Changeset in webkit [164212] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4/Source

Unreviewed. Fix make distcheck.

Source/WebCore:

  • GNUmakefile.list.am: Add missing header files.

Source/WebKit2:

  • GNUmakefile.list.am: Add missing header files.
12:47 AM WebKitGTK/2.2.x edited by vjaquez@igalia.com
(diff)
12:32 AM Changeset in webkit [164211] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4

Merge r163954 - 'ar T' is not portable and breaks the build on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128596

Patch by Ryan Lortie <desrt@desrt.ca> on 2014-02-12
Reviewed by Gustavo Noronha Silva.

Create thin archives only if we are using GNU ar.

  • Source/autotools/SetupLibtool.m4:
12:27 AM Changeset in webkit [164210] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r163875 - O_CLOEXEC in shm_open does not work on FreeBSD
https://bugs.webkit.org/show_bug.cgi?id=128572

Reviewed by Darin Adler.

The O_CLOEXEC is not supported by shm_open() and is also not
necessary since FD_CLOEXEC is already set by default when the new
file descriptor is created.

  • Platform/unix/SharedMemoryUnix.cpp:

(WebKit::SharedMemory::create):

12:25 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:21 AM Changeset in webkit [164209] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r163871 - [GStreamer] High playback rate causes crash
https://bugs.webkit.org/show_bug.cgi?id=128453

Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-11
Reviewed by Philippe Normand.

Source/WebCore:

To high playback rate passed to GStreamer was causing crash.
Added guard in setRate method.

Test: media/video-extreme-playbackrate-crash.html

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::setRate):

LayoutTests:

Test checks if passing high playback rate causes crash.

  • media/video-extreme-playbackrate-crash-expected.txt: Added.
  • media/video-extreme-playbackrate-crash.html: Added.
12:20 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:15 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)

Feb 16, 2014:

10:47 PM Changeset in webkit [164208] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, 32-bit build fix.

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::lshiftPtr):

10:35 PM Changeset in webkit [164207] by fpizlo@apple.com
  • 40 edits
    9 adds in trunk

FTL should inline polymorphic heap accesses
https://bugs.webkit.org/show_bug.cgi?id=128795

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

We now inline GetByIds that we know are pure but polymorphic. They manifest in DFG IR
as MultiGetByOffset, and in LLVM IR as a switch with a basic block for each kind of
read.

2% speed-up on Octane mostly due to a 18% speed-up on deltablue.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

  • bytecode/ExitingJITType.cpp: Added.

(WTF::printInternal):

  • bytecode/ExitingJITType.h:
  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForChain):
(JSC::GetByIdStatus::computeForStubInfo):
(JSC::GetByIdStatus::computeFor):
(JSC::GetByIdStatus::dump):

  • bytecode/GetByIdStatus.h:

(JSC::GetByIdStatus::GetByIdStatus):
(JSC::GetByIdStatus::numVariants):
(JSC::GetByIdStatus::variants):
(JSC::GetByIdStatus::at):
(JSC::GetByIdStatus::operator[]):

  • bytecode/GetByIdVariant.cpp: Added.

(JSC::GetByIdVariant::dump):
(JSC::GetByIdVariant::dumpInContext):

  • bytecode/GetByIdVariant.h: Added.

(JSC::GetByIdVariant::GetByIdVariant):
(JSC::GetByIdVariant::isSet):
(JSC::GetByIdVariant::operator!):
(JSC::GetByIdVariant::structureSet):
(JSC::GetByIdVariant::chain):
(JSC::GetByIdVariant::specificValue):
(JSC::GetByIdVariant::offset):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::emitPrototypeChecks):
(JSC::DFG::ByteCodeParser::handleGetById):
(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::getByOffsetLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGCommon.h:

(JSC::DFG::verboseCompilationEnabled):
(JSC::DFG::logCompilationChanges):
(JSC::DFG::shouldShowDisassembly):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::emitGetByOffset):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::convertToConstant):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToGetByOffset):
(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::hasMultiGetByOffsetData):
(JSC::DFG::Node::multiGetByOffsetData):

  • dfg/DFGNodeType.h:
  • dfg/DFGPhase.h:

(JSC::DFG::Phase::graph):
(JSC::DFG::runAndLog):

  • dfg/DFGPlan.cpp:

(JSC::DFG::dumpAndVerifyGraph):
(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGTypeCheckHoistingPhase.cpp:

(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantStructureChecks):
(JSC::DFG::TypeCheckHoistingPhase::identifyRedundantArrayChecks):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps):
(JSC::FTL::compile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileMultiGetByOffset):

  • ftl/FTLState.h:

(JSC::FTL::verboseCompilationEnabled):
(JSC::FTL::showDisassembly):

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionEffectful42):

  • runtime/IntendedStructureChain.cpp:

(JSC::IntendedStructureChain::dump):
(JSC::IntendedStructureChain::dumpInContext):

  • runtime/IntendedStructureChain.h:
  • runtime/Options.cpp:

(JSC::recomputeDependentOptions):

  • runtime/Options.h:
  • tests/stress/fold-multi-get-by-offset-to-get-by-offset-with-watchpoint.js: Added.

(foo):
(bar):

  • tests/stress/fold-multi-get-by-offset-to-get-by-offset.js: Added.

(foo):
(bar):

  • tests/stress/multi-get-by-offset-proto-and-self.js: Added.

(foo):
(Foo):

Source/WTF:

Reviewed by Oliver Hunt.

  • wtf/PrintStream.h:

(WTF::PointerDumpInContext::PointerDumpInContext):
(WTF::PointerDumpInContext::dump):
(WTF::pointerDumpInContext):

LayoutTests:

Reviewed by Oliver Hunt.

  • js/regress/polymorphic-get-by-id-expected.txt: Added.
  • js/regress/polymorphic-get-by-id.html: Added.
  • js/regress/script-tests/polymorphic-get-by-id.js: Added.

(foo):

10:26 PM Changeset in webkit [164206] by fpizlo@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, add a useful comment for this test.

  • js/regress/script-tests/marsaglia-osr-entry.js:
10:25 PM Changeset in webkit [164205] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

DFG::prepareOSREntry should be nice to the stack
https://bugs.webkit.org/show_bug.cgi?id=128883

Reviewed by Oliver Hunt.

Previously OSR entry had some FIXME's and some really badly commented-out code for
clearing stack entries to help GC. It also did some permutations on a stack frame
above us, in such a way that it wasn't obviously that we wouldn't clobber our own
stack frame. This function also crashed in ASan.

It just seems like there was too much badness to the whole idea of prepareOSREntry
directly editing the stack. So, I changed it to create a stack frame in a scratch
buffer on the side and then have some assembly code just copy it into place. This
works fine, fixes a FIXME, possibly fixes some stack clobbering, and might help us
make more progress with ASan.

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

  • dfg/DFGOSREntry.h:
  • dfg/DFGThunks.cpp:

(JSC::DFG::osrEntryThunkGenerator):

  • dfg/DFGThunks.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emitSlow_op_loop_hint):

  • jit/JITOperations.cpp:
7:52 PM Changeset in webkit [164204] by akling@apple.com
  • 3 edits
    2 adds in trunk

Ensure that removing an iframe from the DOM tree disconnects its Frame.
<https://webkit.org/b/128889>
<rdar://problem/15671221>

Merged from Blink (patch by Adam Klein):
https://src.chromium.org/viewvc/blink?revision=156174&view=revision

Source/WebCore:

SubframeLoadingDisabler wasn't catching the case when an <iframe> was,
in its unload handler, removed and re-added to the same parent.
Fix this by using a count of SubframeLoadingDisablers that are on the
stack for a given root, rather than a simple boolean.

Test: fast/frames/reattach-in-unload.html

  • html/HTMLFrameOwnerElement.h:

(WebCore::SubframeLoadingDisabler::disabledSubtreeRoots):

LayoutTests:

  • fast/frames/reattach-in-unload-expected.txt: Added.
  • fast/frames/reattach-in-unload.html: Added.
7:19 PM Changeset in webkit [164203] by benjamin@webkit.org
  • 3 edits
    4 adds in trunk

When applying style, attribute value matching should be case sensitive for SVG
https://bugs.webkit.org/show_bug.cgi?id=128882

Reviewed by Andreas Kling.

Source/WebCore:

SelectorChecker was incorrectly matching attribute values with a case insensitve comparison
in some cases.

The choice to use case sensitive matching was taking into account the document type but not
the element type. As a result, SVG (and likely MHTML) elements were incorrectly being tested
as if they were HTML element.

With the patch, WebKit also matches the behavior of Firefox, which is great.

Tests: fast/css/case-insensitive-attribute-with-svg.html

fast/selectors/querySelector-case-insensitive-attribute-match-with-svg.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

LayoutTests:

  • fast/css/case-insensitive-attribute-with-svg-expected.html: Added.
  • fast/css/case-insensitive-attribute-with-svg.html: Added.
  • fast/selectors/querySelector-case-insensitive-attribute-match-with-svg-expected.txt: Added.
  • fast/selectors/querySelector-case-insensitive-attribute-match-with-svg.html: Added.
7:14 PM Changeset in webkit [164202] by benjamin@webkit.org
  • 5 edits in trunk/Source/WebCore

Split compilation state between querySelector and CSS matching
https://bugs.webkit.org/show_bug.cgi?id=128869

Reviewed by Antti Koivisto.

Cleanup after recent changes:
-SelectorCompiler now has a SelectorContext defining if the code is compiled for QuerySelector

or for ElementRuleCollector.

-Generalize m_selectorCannotMatchAnything by making it part of the FunctionType. FunctionType now

fully represent the type of code generation and we don't rely implicitly on m_selectorFragments being
empty.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::ruleMatches):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::compileSelector):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
There is no tree marking for QuerySelector, so we can generate a simple selector
for the sibling selectors.

(WebCore::SelectorCompiler::SelectorCodeGenerator::compile):
The code is split to make it simpler. The classic code generation has been moved
to generateSelectorChecker().
The decision on what to generate is reduced to a simple switch-case.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
The code that was previously in compile().

(WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle):
We should not generate tree marking on querySelector traversal. Since the constructor
now generate a SimpleChecker, it would also be incorrect to attempt to access the checkingContext
on the stack.
We can just skip the marking entierly.

  • cssjit/SelectorCompiler.h:
  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::execute):
With the changes of SelectorContext, we can no longer generate a complex checker for querySelector.
This code may come back in the future but at the moment it is useless.

7:11 PM Changeset in webkit [164201] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

The FTP view is squished to the left
https://bugs.webkit.org/show_bug.cgi?id=128856

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

  • html/FTPDirectoryDocument.cpp:

(WebCore::FTPDirectoryDocumentParser::createBasicDocument):

5:48 PM Changeset in webkit [164200] by jae.park@company100.net
  • 2 edits in trunk/Source/WebCore

[Coordinated Graphics] Make AreaAllocator fast allocated
https://bugs.webkit.org/show_bug.cgi?id=124995

Reviewed by Anders Carlsson.

AreaAllocator can be created and destroyed frequently (at least once per
frame) in case of animation with changing width or height. So, it's
better to make AreaAllocator fast allocated.

  • platform/graphics/texmap/coordinated/AreaAllocator.h:
4:50 PM Changeset in webkit [164199] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] WebKit crashes if text is copied to pasteboard with style containing text-shadow
https://bugs.webkit.org/show_bug.cgi?id=128888
<rdar://problem/16065699>

Reviewed by Anders Carlsson.

Use the correct class on iOS so that we don't crash.

  • platform/mac/HTMLConverter.mm:

(_shadowForShadowStyle):

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

Atomicize frequently identical ResourceResponse string members.
<https://webkit.org/b/128887>

Store the mime type, text encoding and HTTP response status text in
AtomicStrings instead of Strings to deduplicate frequently occurring
values (e.g "text/html", "utf-8" and "OK".)

Reviewed by Geoffrey Garen.

  • platform/network/ResourceResponseBase.h:
  • platform/network/cf/ResourceResponseCFNet.cpp:

(WebCore::ResourceResponse::cfURLResponse):
(WebCore::ResourceResponse::platformLazyInit):

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::platformLazyInit):

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

Speculative iOS build fix.

  • WebProcess/WebPage/mac/PageBannerMac.mm:
2:43 PM Changeset in webkit [164196] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Speculative iOS build fix.

  • dom/Document.cpp:

(WebCore::Document::Document):

2:18 PM Changeset in webkit [164195] by Antti Koivisto
  • 15 edits in trunk/Source/WebCore

Move document life time management from TreeScope to Document
https://bugs.webkit.org/show_bug.cgi?id=128877

Reviewed by Andreas Kling.

Document life time is managed in confusing manner by TreeScopes which are also inherited to ShadowRoots.

This patches moves the life time management to Document. Nodes in shadow trees selfOnlyRef the Document instead
of the ShadowRoot. ShadowRoot is treated like any other node and selfOnlyRefs the Document as well (which it
also did earlier, indirectly).

TreeScope is devirtualized.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::collectMatchingRules):

Author stylesheets never match in UA shadow trees.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::~ContainerNode):

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::removedLastRef):

  • dom/Document.h:

(WebCore::Document::selfOnlyRef):
(WebCore::Document::selfOnlyDeref):

To avoid branches Document self-refs itself like all other Nodes. This is why deletion will now happen on ref count of 1.

(WebCore::Node::isDocumentNode):
(WebCore::Node::Node):

  • dom/DocumentOrderedMap.cpp:

(WebCore::DocumentOrderedMap::add):

  • dom/Element.cpp:

(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):

  • dom/Node.cpp:

(WebCore::Node::~Node):
(WebCore::Node::removedLastRef):

  • dom/Node.h:

(WebCore::Node::document):
(WebCore::Node::inDocument):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::~ShadowRoot):

  • dom/ShadowRoot.h:
  • dom/TreeScope.cpp:

(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::~TreeScope):
(WebCore::TreeScope::setParentTreeScope):

  • dom/TreeScope.h:

(WebCore::TreeScope::documentScope):

Document can no longer ever be null.

(WebCore::TreeScope::rootNode):
(WebCore::TreeScope::setDocumentScope):

  • dom/TreeScopeAdopter.cpp:

(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveShadowTreeToNewDocument):

Manage Document selfOnlyRefs for nodes in shadow trees too.

(WebCore::TreeScopeAdopter::updateTreeScope):
(WebCore::TreeScopeAdopter::moveNodeToNewDocument):

  • dom/TreeScopeAdopter.h:
2:00 PM Changeset in webkit [164194] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

setSelectionRange shouldn't directly instantiate VisibleSelection
https://bugs.webkit.org/show_bug.cgi?id=128881

Reviewed by Andreas Kling.

Added a new version of moveTo for setSelectionRange.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::moveTo): Added.

  • editing/FrameSelection.h:
  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setSelectionRange): Use the newly added FrameSelection::moveTo
instead of manually instantiating VisibleSelection here.

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

Speculative iOS build fix.

  • WebProcess/WebPage/PageBanner.h:
12:38 PM Changeset in webkit [164192] by mitz@apple.com
  • 59 edits in trunk/Source

Stop using PLATFORM(MAC) in Source except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128885

Reviewed by Anders Carlsson.

Source/WebCore:

  • loader/FrameLoaderClient.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • platform/Cursor.h: Changed PLATFORM(MAC) to USE(APPKIT) around uses of NSCursor.
  • platform/LocalizedStrings.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • platform/graphics/PlatformLayer.h: Ditto.
  • platform/graphics/cg/PDFDocumentImage.cpp: Ditto.
  • rendering/RenderLayerCompositor.cpp: Ditto.

(WebCore::RenderLayerCompositor::requiresContentShadowLayer):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

Source/WebKit2:

  • Configurations/WebKit2.xcconfig: Removed PageBannerMac.mm and WKBundlePageBannerMac.mm

from EXCLUDED_SOURCE_FILE_NAMES_iphoneos, now that these files are guarded with
!PLATFORM(IOS).

  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Changed PLATFORM(MAC) to

PLATFORM(COCOA).
(WKBundleFrameCopyWebArchiveFilteringSubframes):

  • WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm: Guarded with !PLATFORM(IOS).
  • WebProcess/InjectedBundle/InjectedBundle.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::InjectedBundle::setPrivateBrowsingEnabled):

  • WebProcess/InjectedBundle/InjectedBundle.h: Changed PLATFORM(MAC) to USE(FOUNDATION)

around use of NSBundle.

  • WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: Changed PLATFORM(MAC) to

PLATFORM(COCOA).
(WebKit::InjectedBundleUserMessageEncoder::encode):
(WebKit::InjectedBundleUserMessageDecoder::decode):

  • WebProcess/Network/WebResourceLoader.cpp: Ditto.

(WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: Ditto.

(WebKit::NPN_GetValue):
(WebKit::NPN_SetValue):
(WebKit::initializeBrowserFuncs):

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp: Ditto.

(WebKit::NetscapePlugin::NetscapePlugin):
(WebKit::NetscapePlugin::supportsSnapshotting):

  • WebProcess/Plugins/Netscape/NetscapePlugin.h: Ditto.
  • WebProcess/Plugins/Plugin.cpp: Ditto.

(WebKit::Plugin::Parameters::encode):
(WebKit::Plugin::Parameters::decode):

  • WebProcess/Plugins/Plugin.h: Ditto.
  • WebProcess/Plugins/PluginController.h: Ditto.
  • WebProcess/Plugins/PluginProcessConnectionManager.cpp: Changed PLATFORM(MAC) to

USE(DARWIN) around use of Mach-based IPC.
(WebKit::PluginProcessConnectionManager::getPluginProcessConnection):

  • WebProcess/Plugins/PluginProxy.cpp: Chanegd PLATFORM(MAC) to PLATFORM(COCOA).
  • WebProcess/Plugins/PluginProxy.h: Ditto.
  • WebProcess/Plugins/PluginProxy.messages.in: Ditto.
  • WebProcess/Plugins/PluginView.cpp: Ditto.

(WebKit::PluginView::destroyPluginAndReset):
(WebKit::PluginView::viewStateDidChange):
(WebKit::PluginView::didInitializePlugin):
(WebKit::PluginView::invalidateRect):
(WebKit::PluginView::pluginSnapshotTimerFired):

  • WebProcess/Plugins/PluginView.h: Ditto.
  • WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp: Ditto.
  • WebProcess/WebCoreSupport/WebChromeClient.cpp: Ditto.

(WebKit::WebChromeClient::windowRect):

  • WebProcess/WebCoreSupport/WebChromeClient.h: Ditto.
  • WebProcess/WebCoreSupport/WebContextMenuClient.cpp: Ditto.
  • WebProcess/WebCoreSupport/WebContextMenuClient.h: Ditto.
  • WebProcess/WebCoreSupport/WebDragClient.cpp: Ditto.
  • WebProcess/WebCoreSupport/WebDragClient.h: Ditto.
  • WebProcess/WebCoreSupport/WebEditorClient.cpp: Ditto.

(WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):

  • WebProcess/WebCoreSupport/WebEditorClient.h: Ditto.
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: Ditto.

(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
(WebKit::WebFrameLoaderClient::createPlugin):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h: Ditto.
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Ditto.
  • WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Removed PLATFORM(MAC).

(InitWebCoreSystemInterface):

  • WebProcess/WebPage/DrawingArea.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::DrawingArea::create):

  • WebProcess/WebPage/DrawingArea.h: Ditto.
  • WebProcess/WebPage/DrawingArea.messages.in: Ditto.
  • WebProcess/WebPage/EventDispatcher.cpp: Ditto.

(WebKit::EventDispatcher::wheelEvent):

  • WebProcess/WebPage/LayerTreeHost.h: Ditto.
  • WebProcess/WebPage/PageBanner.cpp: Added !PLATFORM(IOS)
  • WebProcess/WebPage/PageBanner.h: Ditto.
  • WebProcess/WebPage/WebFrame.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • WebProcess/WebPage/WebFrame.h: Ditto.
  • WebProcess/WebPage/WebInspector.cpp: Ditto.

(WebKit::WebInspector::WebInspector):

  • WebProcess/WebPage/WebInspector.h: Ditto.
  • WebProcess/WebPage/WebPage.cpp: Ditto.

(WebKit::WebPage::WebPage):
(WebKit::isContextClick):
(WebKit::WebPage::getSelectionAsWebArchiveData):
(WebKit::WebPage::getWebArchiveOfFrame):
(WebKit::WebPage::updatePreferences):
(WebKit::WebPage::sendSetWindowFrame):
(WebKit::WebPage::beginPrinting):
(WebKit::WebPage::computePagesForPrinting):

  • WebProcess/WebPage/WebPage.h: Ditto.
  • WebProcess/WebPage/WebPage.messages.in: Ditto.
  • WebProcess/WebPage/mac/PageBannerMac.mm: Guarded with !PLATFORM(IOS).
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess): Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::WebProcess::initializeWebProcess): Ditto.
(WebKit::WebProcess::ensureNetworkProcessConnection): Changed PLATFORM(MAC) to OS(DARWIN).
(WebKit::WebProcess::ensurePrivateBrowsingSession): Changed PLATFORM(MAC) to
PLATFORM(COCOA).
(WebKit::WebProcess::destroyPrivateBrowsingSession): Ditto.
(WebKit::WebProcess::ensureWebToDatabaseProcessConnection): Changed PLATFORM(MAC) to
OS(DARWIN).
(WebKit::WebProcess::nonVisibleProcessCleanupTimerFired): Changed PLATFORM(MAC) to
PLATFORM(COCOA)

  • WebProcess/WebProcess.h: Ditto.
  • WebProcess/WebProcess.messages.in: Removed PLATFORM(MAC) guard around

SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.

9:41 AM Changeset in webkit [164191] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Speculative iOS build fix after r164184.

  • dom/Node.cpp:

(WebCore::Node::defaultEventHandler):

1:11 AM Changeset in webkit [164190] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WTF

Reintroduce const qualifiers for return types of (Filter|Transform)Iterator::operator*()
https://bugs.webkit.org/show_bug.cgi?id=126875

The const qualifiers for the return types of FilterIterator::operator*() and TransformIterator::operator*()
were removed in r161797 and r161802 because of compilation failures when using GCC and having an Iterator
type that already had the const qualifier. std::remove_const is now used to appease GCC and enforce the const
qualifier on the return type, regardless of the Iterator type and its qualifiers.

  • wtf/IteratorAdaptors.h:

(WTF::FilterIterator::operator*):
(WTF::TransformIterator::operator*):

Feb 15, 2014:

9:07 PM Changeset in webkit [164189] by ryuan.choi@samsung.com
  • 2 edits in trunk/Tools

Build break when disabled ACCESSIBILITY since r162986
https://bugs.webkit.org/show_bug.cgi?id=128880

Unreviewed build fix.

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

Added dummy implementations for newly added methods.
(WTR::AccessibilityUIElement::rowHeaders):
(WTR::AccessibilityUIElement::columnHeaders):
(WTR::AccessibilityUIElement::ariaControlsElementAtIndex):

7:33 PM Changeset in webkit [164188] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

DOMSelection shouldn't instantiate VisibleSelection everywhere
https://bugs.webkit.org/show_bug.cgi?id=128879

Reviewed by Antti Koivisto.

Removed explicit instantiation of VisibleSelection from various member functions of VisibleSelection.

  • page/DOMSelection.cpp:

(WebCore::DOMSelection::collapse):
(WebCore::DOMSelection::collapseToEnd):
(WebCore::DOMSelection::collapseToStart):
(WebCore::DOMSelection::setBaseAndExtent):
(WebCore::DOMSelection::setPosition):
(WebCore::DOMSelection::extend):
(WebCore::DOMSelection::getRangeAt):
(WebCore::DOMSelection::addRange):

7:11 PM Changeset in webkit [164187] by ap@apple.com
  • 4 edits
    3 deletes in trunk/Source/WebKit

[Mac] Remove WebSerializedJSValue SPI
https://bugs.webkit.org/show_bug.cgi?id=128720

Reviewed by Anders Carlsson.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj: Removed WebSerializedJSValue files from the project.

Source/WebKit/mac:

  • WebKit.exp:
  • WebView/WebSerializedJSValue.h: Removed.
  • WebView/WebSerializedJSValue.mm: Removed.
  • WebView/WebSerializedJSValuePrivate.h: Removed.
7:07 PM Changeset in webkit [164186] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

Remove unused arguments from moveTo(Range*)
https://bugs.webkit.org/show_bug.cgi?id=128878

Reviewed by Antti Koivisto.

Cleanup.

  • bindings/objc/DOMUIKitExtensions.mm:

(-[DOMRange move:inDirection:]):
(-[DOMRange extend:inDirection:]):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::moveTo):

  • editing/FrameSelection.h:
6:54 PM Changeset in webkit [164185] by fpizlo@apple.com
  • 9 edits in trunk

Vector with inline capacity should work with non-PODs
https://bugs.webkit.org/show_bug.cgi?id=128864

Source/JavaScriptCore:

Reviewed by Michael Saboff.

Deques no longer have inline capacity because it was broken, and we didn't need it
here anyway.

  • dfg/DFGWorklist.h:

Source/WebCore:

Reviewed by Michael Saboff.

No new tests because no change behavior.

Deques no longer have inline capacity because it was broken, and we didn't need it
here anyway.

  • page/WheelEventDeltaTracker.h:

Source/WTF:

Reviewed by Michael Saboff.

Previously, we would copy the inline storage of a vector as if it was a bag of bits.
This presumed that the element type was relocatable. In general this is only true for
PODs.

This patch changes this by introducing a swap operation over inline storage. This swap
operation requires being told about the size that is in use.

Deques would have required some cleverness to make this work, because the swap
operation needs to know which subset of elements are in-use and assumes that a size is
sufficient for this. That's not true for deques. Instead of trying to do very clever
things, I just removed the inline capacity option from Deque. I believe that this is
fine since there are only two users of Deque with inline capacity, and both of them
appear to be allocated rarely enough that inline capacity probably doesn't help much.

  • wtf/Deque.h:

(WTF::DequeIterator::DequeIterator):
(WTF::DequeConstIterator::DequeConstIterator):
(WTF::Deque<T>::checkValidity):
(WTF::Deque<T>::checkIndexValidity):
(WTF::Deque<T>::invalidateIterators):
(WTF::Deque<T>::Deque):
(WTF::=):
(WTF::Deque<T>::destroyAll):
(WTF::Deque<T>::~Deque):
(WTF::Deque<T>::swap):
(WTF::Deque<T>::clear):
(WTF::Deque<T>::expandCapacityIfNeeded):
(WTF::Deque<T>::expandCapacity):
(WTF::Deque<T>::append):
(WTF::Deque<T>::prepend):
(WTF::Deque<T>::removeFirst):
(WTF::Deque<T>::removeLast):
(WTF::Deque<T>::remove):
(WTF::DequeIteratorBase<T>::checkValidity):
(WTF::DequeIteratorBase<T>::addToIteratorsList):
(WTF::DequeIteratorBase<T>::removeFromIteratorsList):
(WTF::DequeIteratorBase<T>::DequeIteratorBase):
(WTF::DequeIteratorBase<T>::~DequeIteratorBase):
(WTF::DequeIteratorBase<T>::isEqual):
(WTF::DequeIteratorBase<T>::increment):
(WTF::DequeIteratorBase<T>::decrement):
(WTF::DequeIteratorBase<T>::after):
(WTF::DequeIteratorBase<T>::before):

  • wtf/Vector.h:

(WTF::VectorBuffer::swap):
(WTF::VectorBuffer::swapInlineBuffer):
(WTF::VectorBuffer::swapInlineBuffers):
(WTF::Vector::swap):

Tools:

Reviewed by Michael Saboff.

This test experiences really bizarre behavior on trunk without the rest of
this fix. On my machine, it usually times out because it gets itself into an
infinite loop of some kind. With the fix, it passes.

  • TestWebKitAPI/Tests/WTF/Vector.cpp:

(TestWebKitAPI::TEST):

6:01 PM Changeset in webkit [164184] by akling@apple.com
  • 42 edits in trunk/Source/WebCore

Add checked casts for Event.
<https://webkit.org/b/128875>

Generate casting helpers for casting from Event to various subclasses
and go on static_cast replacement spree.

Reviewed by Sam Weinig.

4:36 PM Changeset in webkit [164183] by rniwa@webkit.org
  • 5 edits in trunk/Source/WebCore

HTMLTextFormControlElement::subtreeHasChanged should be called before updating selection
https://bugs.webkit.org/show_bug.cgi?id=128870

Reviewed by Darin Adler.

Extracted HTMLTextFormControlElement::didEditInnerTextValue out of HTMLTextFormControlElement::defaultEventHandler
and called it in appliedEditing, unappliedEditing, and reappliedEditing before updating selection.

  • editing/Editor.cpp:

(WebCore::notifyTextFromControls): Added.
(WebCore::Editor::appliedEditing): Update text form control's internal states before updating selection.
(WebCore::Editor::unappliedEditing): Ditto.
(WebCore::Editor::reappliedEditing): Ditto.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::didEditInnerTextValue):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::subtreeHasChanged): Removed a stale assertion from the time we used to do
everything in the render tree.

4:26 PM Changeset in webkit [164182] by akling@apple.com
  • 21 edits in trunk/Source/WebCore

Add checked casts for ScriptExecutionContext.
<https://webkit.org/b/128874>

Generate casting helpers for casting from ScriptExecutionContext to
Document and WorkerGlobalScope. Apply heartily.

Reviewed by Antti Koivisto.

3:26 PM Changeset in webkit [164181] by ap@apple.com
  • 11 edits in trunk/Source

[Mac] All WebKit clients should encrypt WebCrypto keys automatically
https://bugs.webkit.org/show_bug.cgi?id=128852

Reviewed by Oliver Hunt.

Source/WebCore:

Install a persistent master key in Keychain on first use of WebCrypto key serialization.
The key is per application, protected with ACL.

  • English.lproj/Localizable.strings:
  • WebCore.exp.in:
  • crypto/SerializedCryptoKeyWrap.h:
  • crypto/mac/SerializedCryptoKeyWrapMac.mm:

(WebCore::masterKeyAccountNameForCurrentApplication):
(WebCore::getDefaultWebCryptoMasterKey):
(WebCore::createAndStoreMasterKey):
(WebCore::findMasterKey):

  • platform/LocalizedStrings.cpp:

(WebCore::webCryptoMasterKeyKeychainLabel):
(WebCore::webCryptoMasterKeyKeychainComment):

  • platform/LocalizedStrings.h:

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::wrapCryptoKey):
(WebChromeClient::unwrapCryptoKey):
Call the default implementation if key is not provided by a client.

Source/WebKit2:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::wrapCryptoKey):
(WebKit::WebPageProxy::unwrapCryptoKey):
Call the default implementation if key is not provided by a client.

2:32 PM Changeset in webkit [164180] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

computeSelectionStart and computeSelectionEnd shouldn't trigger synchronous layout
https://bugs.webkit.org/show_bug.cgi?id=128806

Reviewed by Darin Adler.

Added indexForPosition to HTMLTextFormControlElement. Like r163825, this patch traverses the DOM tree
instead of the render tree to compute the index for a given position.

We traverse the DOM Tree backwards starting at the specified Position all the way back to the beginning
of the inner text element. The index is computed as the number of characters we encountered during
this backwards DOM traversal.

It's worth noting that passedPosition.computeNodeBeforePosition() returns and only returns 0 when the
position is before the first node of its parent or inside a text node. In such cases, we call
passedPosition.containerNode() to find the parent or the text node.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::indexForVisiblePosition): Use indexForPosition.
(WebCore::HTMLTextFormControlElement::computeSelectionStart): Ditto.
(WebCore::HTMLTextFormControlElement::computeSelectionEnd): Dotto.
(WebCore::finishText): Cleanup. Use newlineCharacter instead of hard-coding '\n'.
(WebCore::HTMLTextFormControlElement::indexForPosition): Added. See above for the description.

  • html/HTMLTextFormControlElement.h:
1:15 PM Changeset in webkit [164179] by rakuco@webkit.org
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2] Stop calling mktemp(3).
https://bugs.webkit.org/show_bug.cgi?id=128826

Reviewed by Gyuyoung Kim.

mktemp(3) is an insecure function and should be avoided at all costs.
Replace its usage with mkdtemp(3): instead of just getting a file name
that is supposed to be random and unused, we now create a directory
with a random name and then put whatever files we need there with fixed
names.

  • UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:

(TEST_F):

  • UIProcess/API/efl/tests/test_ewk2_download_job.cpp:

(TEST_F):

11:45 AM Changeset in webkit [164178] by fpizlo@apple.com
  • 4 edits
    1 delete in trunk/Source/JavaScriptCore

Unreviewed, roll out r164166.

This broke three unique tests:

The following JSC stress test failures have been introduced:

regress/script-tests/variadic-closure-call.js.default-ftl
regress/script-tests/variadic-closure-call.js.ftl-no-cjit-validate
regress/script-tests/variadic-closure-call.js.ftl-no-cjit-osr-validation
regress/script-tests/variadic-closure-call.js.ftl-eager
regress/script-tests/variadic-closure-call.js.ftl-eager-no-cjit
regress/script-tests/variadic-closure-call.js.ftl-eager-no-cjit-osr-validation
jsc-layout-tests.yaml/js/script-tests/unmatching-argument-count.js.layout-ftl-eager-no-cjit
regress/script-tests/direct-arguments-getbyval.js.ftl-eager-no-cjit
regress/script-tests/direct-arguments-getbyval.js.ftl-eager-no-cjit-osr-validation

  • bytecode/PolymorphicAccessStructureList.h:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):

  • tests/stress/ftl-getbyval-arguments.js:
11:25 AM Changeset in webkit [164177] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Avoid unnecessary asserts if "prepareToPlay" is called multiple times.
https://bugs.webkit.org/show_bug.cgi?id=128859

Reviewed by Eric Carlson.

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

(WebCore::AVFWrapper::createPlayer): Don't assert if player exists; just return the
existing copy.
(WebCore::AVFWrapper::createPlayerItem): Ditto (but with Player Items).

10:16 AM Changeset in webkit [164176] by Darin Adler
  • 4 edits in trunk/Source/WebCore

Remove double hashing from DatasetDOMStringMap::deleteItem
https://bugs.webkit.org/show_bug.cgi?id=128865

Reviewed by Benjamin Poulain.

  • dom/DatasetDOMStringMap.cpp:

(WebCore::DatasetDOMStringMap::deleteItem): Removed call to hasAttribute, using the
result from removeAttribute instead.

  • dom/Element.cpp:

(WebCore::Element::removeAttribute): Add a return value, false if nothing is removed,
and true if something is removed.
(WebCore::Element::removeAttributeNS): Ditto.

  • dom/Element.h: Ditto.
10:15 AM Changeset in webkit [164175] by mikhail.pozdnyakov@intel.com
  • 2 edits in trunk/Source/WTF

Remove 'static' specifier from free inline functions in StringImpl.h
https://bugs.webkit.org/show_bug.cgi?id=118554

Reviewed by Darin Adler.

At first 'static' does not bring any use here, secondly static free
inline functions in headers is a bad practice in general as each instance
of function defined as inline is treated as a separate function and each
instance has its own copy of static locals and string literals.

  • wtf/text/StringImpl.h:

(WTF::codePointCompare):
(WTF::codePointCompare8):
(WTF::codePointCompare16):
(WTF::codePointCompare8To16):
(WTF::isSpaceOrNewline):

10:00 AM Changeset in webkit [164174] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Setting currentTime on HTMLMediaElement with media controller should throw exception.
https://bugs.webkit.org/show_bug.cgi?id=128867.

Patch by Piotr Grad <p.grad@samsung.com> on 2014-02-15
Reviewed by Eric Carlson.

Source/WebCore:

Added implementation for setting currentTime in HTMLMediaElement. Old implementation
was left to be used internally.

Test: media/video-controller-currentTime.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
  • html/HTMLMediaElement.idl:

LayoutTests:

  • media/video-controller-currentTime-expected.txt: Added.
  • media/video-controller-currentTime.html: Added.
9:51 AM Changeset in webkit [164173] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Form controls are always painted in the active state
https://bugs.webkit.org/show_bug.cgi?id=128872
<rdar://problem/9422677>

Reviewed by Dan Bernstein.

AppKit will always paint form controls in the active state if the view doesn't have a
window. Fix this by adding a fake window whose key appearance we'll update based on the
control state. Also, rename WebCoreFlippedView to WebCoreThemeView since it stopped being
just about the flippedness a long time ago.

  • platform/mac/ThemeMac.h:
  • platform/mac/ThemeMac.mm:

(-[WebCoreThemeWindow hasKeyAppearance]):
Return themeWindowHasKeyAppearance.

(-[WebCoreThemeView window]):
Create a WebCoreThemeWindow object lazily and return it.

(WebCore::paintCheckbox):
(WebCore::paintRadio):
(WebCore::paintButton):
Pass the control states to ThemeMac::ensuredView.

(WebCore::ThemeMac::ensuredView):
Set themeWindowHasKeyAppearance based on the control state.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::documentViewFor):
Pass the control states to ThemeMac::ensuredView.

9:06 AM Changeset in webkit [164172] by mitz@apple.com
  • 34 edits
    1 delete in trunk/Source/WebKit2

Stop using PLATFORM(MAC) in WebKit2/UIProcess except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128868

Reviewed by Anders Carlsoon.

  • UIProcess/API/C/WKPage.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • UIProcess/Databases/DatabaseProcessProxy.cpp:

(WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection): Changed
PLATFORM(MAC) to OS(DARWIN) around use of Mach-based IPC.

  • UIProcess/DrawingAreaProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA)

(WebKit::DrawingAreaProxy::DrawingAreaProxy):

  • UIProcess/DrawingAreaProxy.h: Ditto.
  • UIProcess/DrawingAreaProxy.messages.in: Ditto.
  • UIProcess/Launcher/ProcessLauncher.cpp:

(WebKit::ProcessLauncher::didFinishLaunchingProcess): Changed PLATFORM(MAC) to OS(DARWIN)
around use of Mach API.

  • UIProcess/Launcher/ProcessLauncher.h: Ditto.
  • UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: Changed PLATFORM(MAC) to

PLATFORM(COCOA)

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch): Changed PLATFORM(MAC)
to OS(DARWIN).
(WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess): Ditto.
(WebKit::NetworkProcessProxy::didFinishLaunching): Changed PLATFORM(MAC) to PLATFORM(COCOA)
around process suppression call.

  • UIProcess/Network/NetworkProcessProxy.h: Ditto.
  • UIProcess/PageClient.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • UIProcess/Plugins/PluginInfoStore.cpp: Ditto.
  • UIProcess/Plugins/PluginProcessManager.h: Ditto.
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::PluginProcessProxy): Ditto.
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch): Changed PLATFORM(MAC)
to OS(DARWIN).
(WebKit::PluginProcessProxy::didClose): Changed PLATFORM(MAC) to PLATFORM(COCOA).
(WebKit::PluginProcessProxy::didFinishLaunching): Changed PLATFORM(MAC) to OS(DARWIN) around
use of Mach-based IPC, and to PLATFORM(COCOA) around SetQOS.
(WebKit::PluginProcessProxy::didCreateWebProcessConnection): Changed PLATFORM(MAC) to
OS(DARWIN).

  • UIProcess/Plugins/PluginProcessProxy.h: Changed PLATFORM(MAC) to PLATFORM(COCOA).
  • UIProcess/Plugins/PluginProcessProxy.messages.in: Ditto.
  • UIProcess/TextChecker.h: Ditto.
  • UIProcess/WebContext.cpp: Ditto.

(WebKit::WebContext::ensureNetworkProcess):
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::setHTTPPipeliningEnabled):
(WebKit::WebContext::httpPipeliningEnabled):
(WebKit::WebContext::pluginInfoStoreDidLoadPlugins):

  • UIProcess/WebContext.h: Ditto.
  • UIProcess/WebContext.messages.in: Ditto.
  • UIProcess/WebContextUserMessageCoders.h: Ditto.

(WebKit::WebContextUserMessageEncoder::encode):
(WebKit::WebContextUserMessageDecoder::decode):

  • UIProcess/WebCookieManagerProxy.cpp: Ditto.

(WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):

  • UIProcess/WebCookieManagerProxy.h: Ditto.
  • UIProcess/WebFormSubmissionListenerProxy.h: Ditto.
  • UIProcess/WebFramePolicyListenerProxy.h: Ditto.
  • UIProcess/WebInspectorProxy.h: Added !PLATFORM(IOS) around members reltated to managing

the inspector window and its view.

  • UIProcess/WebPageProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::initializeWebPage):
(WebKit::WebPageProxy::recordNavigationSnapshot):
(WebKit::WebPageProxy::canShowMIMEType):
(WebKit::canCoalesce):
(WebKit::coalesce):
(WebKit::WebPageProxy::findPlugin):
(WebKit::WebPageProxy::editorStateChanged):
(WebKit::WebPageProxy::contextMenuItemSelected):
(WebKit::WebPageProxy::didReceiveEvent):
(WebKit::WebPageProxy::didBlockInsecurePluginVersion):

  • UIProcess/WebPageProxy.h: Ditto.
  • UIProcess/WebPageProxy.messages.in: Ditto.
  • UIProcess/WebProcessProxy.cpp: Ditto.

(WebKit::WebProcessProxy::WebProcessProxy):
(WebKit::WebProcessProxy::createWebPage):
(WebKit::WebProcessProxy::addExistingWebPage):
(WebKit::WebProcessProxy::removeWebPage):
(WebKit::WebProcessProxy::didFinishLaunching):
(WebKit::WebProcessProxy::pageSuppressibilityChanged):
(WebKit::WebProcessProxy::pagePreferencesChanged):

  • UIProcess/WebProcessProxy.h: Ditto.
  • UIProcess/cf/WebPreferencesCF.cpp: Removed this file which was not used in any

configuration.

  • UIProcess/ios/WebInspectorProxyIOS.mm: Removed functions that no longer need to be

implemented for iOS.

  • WebKit2.xcodeproj/project.pbxproj: Removed reference to WebPreferencesCF.cpp.
1:28 AM Changeset in webkit [164171] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebKit2

messages.py doesn't handle parameters with more than one level of scope.
https://bugs.webkit.org/show_bug.cgi?id=128573

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-02-15
Reviewed by Simon Fraser.

Support .messages.in header include generation for parameter types with more than 1 level of scope.

Add a test case and update expected results.

  • Scripts/webkit2/LegacyMessageReceiver-expected.cpp:

(WebKit::WebPage::didReceiveWebPageMessage):

  • Scripts/webkit2/LegacyMessages-expected.h:

(Messages::WebPage::SetVideoLayerID::receiverName):
(Messages::WebPage::SetVideoLayerID::name):
(Messages::WebPage::SetVideoLayerID::SetVideoLayerID):
(Messages::WebPage::SetVideoLayerID::arguments):

  • Scripts/webkit2/MessageReceiver-expected.cpp:

(WebKit::WebPage::didReceiveMessage):

  • Scripts/webkit2/Messages-expected.h:

(Messages::WebPage::SetVideoLayerID::receiverName):
(Messages::WebPage::SetVideoLayerID::name):
(Messages::WebPage::SetVideoLayerID::SetVideoLayerID):
(Messages::WebPage::SetVideoLayerID::arguments):

  • Scripts/webkit2/messages.py:

(headers_for_type):

  • Scripts/webkit2/messages_unittest.py:
  • Scripts/webkit2/test-legacy-messages.in:
  • Scripts/webkit2/test-messages.in:
12:57 AM Changeset in webkit [164170] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

ASSERT_WITH_SECURITY_IMPLICATION in WebCore::toElement
https://bugs.webkit.org/show_bug.cgi?id=128810

Patch by Renata Hodovan <rhodovan.u-szeged@partner.samsung.com> on 2014-02-15
Reviewed by Ryosuke Niwa.

Source/WebCore:

Make CompositeEditCommand::cloneParagraphUnderNewElement() to work when |outerNode|
doesn't contain |start|.

Before this patch, CompositeEditCommand::cloneParagraphUnderNewElement() tried to copy
ancestry nodes from |start| to Document node when |start| position isn't in |outerNode|. This
patch changes CompositeEditCommand::cloneParagraphUnderNewElement() to copy |start| to
|outerNode| only if |outerNode| contains |start| position.

Merged from Blink https://src.chromium.org/viewvc/blink?revision=161762&view=revision by yosin@chromium.org.

Test: editing/execCommand/indent-with-uneditable-crash.html

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):

LayoutTests:

  • editing/execCommand/indent-with-uneditable-crash-expected.txt: Added.
  • editing/execCommand/indent-with-uneditable-crash.html: Added.
12:39 AM Changeset in webkit [164169] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r164167 - [GTK] Fix marshaller used in WebKitWebPage::document-loaded signal
https://bugs.webkit.org/show_bug.cgi?id=128808

Reviewed by Sergio Villar Senin.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(webkit_web_page_class_init): Use g_cclosure_marshal_VOIDVOID
instead of g_cclosure_marshal_VOID
OBJECT.

12:39 AM Changeset in webkit [164168] by ryuan.choi@samsung.com
  • 13 edits in trunk

[EFL][WK1] Do not include cairo header in the public headers
https://bugs.webkit.org/show_bug.cgi?id=128779

Reviewed by Gyuyoung Kim.

Source/WebKit/efl:

Although ewebkit used cairo internally, it's not good for EFL developers
to use it.
Indeed, almost APIs which returns cairo_surface are duplicated with other APIs
which returns evas_object.

  • ewk/ewk_history.cpp:

Removed ewk_history_item_icon_surface_get.
ewk_history_item_icon_object_add will be used instead.

  • ewk/ewk_history.h:
  • ewk/ewk_settings.cpp:

Removed ewk_settings_icon_database_icon_surface_get.
ewk_settings_icon_database_icon_object_get will be used instead.

  • ewk/ewk_settings.h:
  • ewk/ewk_view.cpp:

(ewk_view_screenshot_contents_get):
Implemented to replace ewk_view_paint and ewk_view_paint_contents.

  • ewk/ewk_view.h:
  • tests/test_ewk_view.cpp:

(TEST_F): Added test case for ewk_view_screenshot_contents_get

Tools:

  • DumpRenderTree/PlatformEfl.cmake:
  • DumpRenderTree/efl/PixelDumpSupportEfl.cpp:

(createBitmapContextFromWebView):
Used ewk_view_screenshot_contents_get instead of ewk_view_paint.

  • EWebLauncher/main.c:

(print_history): Replaced ewk_history_item_icon_surface_get to ewk_history_item_icon_object_add
(on_key_down):

  • Scripts/webkitpy/style/checker.py:

Added -runtime/ctype_function for EWebLauncher because EWebLauncher is sample
and it does not use WTF.

12:36 AM Changeset in webkit [164167] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Fix marshaller used in WebKitWebPage::document-loaded signal
https://bugs.webkit.org/show_bug.cgi?id=128808

Reviewed by Sergio Villar Senin.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(webkit_web_page_class_init): Use g_cclosure_marshal_VOIDVOID
instead of g_cclosure_marshal_VOID
OBJECT.

12:34 AM Changeset in webkit [164166] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

Added GetMyArgumentByVal to FTL
https://bugs.webkit.org/show_bug.cgi?id=128850

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetMyArgumentByVal):

  • tests/stress/ftl-getbyval-arguments.js: Added.

(foo):

12:33 AM Changeset in webkit [164165] by Samuel White
  • 18 edits
    2 adds in trunk

AX: Add ability to specify descendant type when using AXUIElementsForSearchPredicate.
https://bugs.webkit.org/show_bug.cgi?id=128747

Reviewed by Chris Fleizach.

Source/WebCore:

Added support for 'immediate descendant only' to existing predicate based searching. This
addition allows VoiceOver to fetch each child element lazily (rather than all at once via AXChildren).

Test: platform/mac/accessibility/search-predicate-immediate-descendants-only.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::findMatchingObjects):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilitySearchCriteria::AccessibilitySearchCriteria):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(accessibilitySearchCriteriaForSearchPredicateParameterizedAttribute):

Tools:

Updated uiElementCountForSearchPredicate and uiElementForSearchPredicate test methods to support 'immediate descendant only' searching.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(uiElementCountForSearchPredicateCallback):
(uiElementForSearchPredicateCallback):

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

(AccessibilityUIElement::uiElementCountForSearchPredicate):
(AccessibilityUIElement::uiElementForSearchPredicate):

  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:

(AccessibilityUIElement::uiElementCountForSearchPredicate):
(AccessibilityUIElement::uiElementForSearchPredicate):

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(searchPredicateParameterizedAttributeForSearchCriteria):
(AccessibilityUIElement::uiElementCountForSearchPredicate):
(AccessibilityUIElement::uiElementForSearchPredicate):

  • DumpRenderTree/win/AccessibilityUIElementWin.cpp:

(AccessibilityUIElement::uiElementCountForSearchPredicate):
(AccessibilityUIElement::uiElementForSearchPredicate):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):

  • WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:

(WTR::searchPredicateParameterizedAttributeForSearchCriteria):
(WTR::AccessibilityUIElement::uiElementCountForSearchPredicate):
(WTR::AccessibilityUIElement::uiElementForSearchPredicate):

LayoutTests:

Added test to verify that 'immediate descendant only' predicate based searching works as expected.

  • platform/mac/accessibility/search-predicate-immediate-descendants-only-expected.txt: Added.
  • platform/mac/accessibility/search-predicate-immediate-descendants-only.html: Added.
12:30 AM Changeset in webkit [164164] by commit-queue@webkit.org
  • 18 edits in trunk/Source/JavaScriptCore

[Win] LLINT is not working.
https://bugs.webkit.org/show_bug.cgi?id=128115

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-02-15
Reviewed by Mark Lam.

This patch will generate assembly code with Intel syntax, which can be processed by the Microsoft assembler (MASM).
By creating an asm file instead of a header file with inline assembly, we can support 64-bit.
Only 32-bit compilation has been tested, not 64-bit.
The aim of this patch is to get LLINT up and running on Windows.

  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Added new files, and generated asm file.
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Ditto.
  • LLIntAssembly/build-LLIntAssembly.sh: Generate dummy asm file in case we're using C backend.
  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor): Compile fix when DFG is disabled.

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFor): Ditto.

  • bytecode/GetByIdStatus.h: Ditto.
  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor): Ditto.

  • bytecode/PutByIdStatus.h: Ditto.
  • llint/LLIntData.cpp:

(JSC::LLInt::initialize): Compile fix.

  • llint/LLIntSlowPaths.h: Added llint_crash function.
  • llint/LLIntSlowPaths.cpp: Ditto.
  • llint/LowLevelInterpreter.cpp: Disable code for Windows.
  • llint/LowLevelInterpreter.asm: Remove instruction which generates incorrect assembly code on Windows (MOV 0xbbadbeef, register), call llint_crash instead.

Make local labels visible to MASM on Windows.

  • llint/LowLevelInterpreter32_64.asm: Make local labels visible to MASM on Windows.
  • offlineasm/asm.rb: Generate asm file with Intel assembly syntax.
  • offlineasm/settings.rb: Ditto.
  • offlineasm/x86.rb: Ditto.
12:28 AM Changeset in webkit [164163] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: scope chain details sidebar doesn't update values modified via console
https://bugs.webkit.org/show_bug.cgi?id=126855

Patch by Chris J. Shull <chrisjshull@gmail.com> on 2014-02-15
Reviewed by Timothy Hatcher.

Add a RuntimeManager event that the scope chain details sidebar can
listen to to trigger refresh.

Testing on this is blocked by http://webkit.org/b/128724
(Web Inspector: Issue testing breakpoints).

  • UserInterface/RuntimeManager.js:

(WebInspector.RuntimeManager.prototype.evalCallback):
(WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):

  • UserInterface/ScopeChainDetailsSidebarPanel.js:

(WebInspector.ScopeChainDetailsSidebarPanel):

12:27 AM Changeset in webkit [164162] by zoltan@webkit.org
  • 1 edit
    1 add in trunk/PerformanceTests

[CSS Shapes] Add performance test for raster shape with shape-margin
https://bugs.webkit.org/show_bug.cgi?id=128770

Reviewed by Ryosuke Niwa.

This patch introduces a new performance test for image valued shapes,
where shape-margin is applied on the shape.
The test is skipped by default.

  • Layout/Shapes/ShapeOutsideRasterWithMargin.html: Added.
12:25 AM Changeset in webkit [164161] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

WK2 AVKit enter fullscreen doesn't work a second time.
https://bugs.webkit.org/show_bug.cgi?id=128558

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-02-15
Reviewed by Jer Noble.

Lazily create WebAVPlayerController when needed.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::WebVideoFullscreenInterfaceAVKit):
(WebVideoFullscreenInterfaceAVKit::getPlayerController):
Add getPlayerController()

(WebVideoFullscreenInterfaceAVKit::setWebVideoFullscreenModel):
(WebVideoFullscreenInterfaceAVKit::setDuration):
(WebVideoFullscreenInterfaceAVKit::setCurrentTime):
(WebVideoFullscreenInterfaceAVKit::setRate):
(WebVideoFullscreenInterfaceAVKit::setVideoDimensions):
(WebVideoFullscreenInterfaceAVKit::setVideoLayer):
(WebVideoFullscreenInterfaceAVKit::enterFullscreenWithCompletionHandler):
use getPlayerController();

12:23 AM Changeset in webkit [164160] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

[Mac] 10X slower than Chrome when drawing a video into a canvas
https://bugs.webkit.org/show_bug.cgi?id=124599

Reviewed by Darin Adler.

Follow up patch to r159518 to address Darin's post-commit review.

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::nativeImageForCurrentTime): Use nullptr.

  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::nativeImageForCurrentTime): Ditto.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Ditto.
(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC): Clear the

AVPlayerItemVideoOutput's delegate callback.

(WebCore::CVPixelBufferGetBytePointerCallback): Use static_cast.
(WebCore::CVPixelBufferReleaseBytePointerCallback): Ditto.
(WebCore::CVPixelBufferReleaseInfoCallback): Ditto.
(-[WebCoreAVFPullDelegate initWithCallback:]): Space changes.
(-[WebCoreAVFPullDelegate setCallback:]): Added.
(-[WebCoreAVFPullDelegate outputMediaDataWillChange:]): Check the value of m_callback.

12:18 AM Changeset in webkit [164159] by rniwa@webkit.org
  • 3 edits in trunk/Tools

CQ fix after r164105.

  • DumpRenderTree/mac/EventSendingController.mm:
  • WebKitTestRunner/mac/EventSenderProxy.mm:

Feb 14, 2014:

11:41 PM Changeset in webkit [164158] by akling@apple.com
  • 22 edits in trunk/Source/WebCore

CTTE: WorkerGlobalScope is always owned by a WorkerThread.
<https://webkit.org/b/128834>

Codify this by storing the owner thread as a WorkerThread& and making
thread() return a reference.

This exposed a couple of unnecessary assertions.

Reviewed by Anders Carlsson.

  • Modules/notifications/WorkerGlobalScopeNotifications.cpp:

(WebCore::WorkerGlobalScopeNotifications::webkitNotifications):

  • Modules/websockets/ThreadableWebSocketChannel.cpp:

(WebCore::ThreadableWebSocketChannel::create):

  • Modules/websockets/WorkerThreadableWebSocketChannel.cpp:

(WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::execute):

  • bindings/js/WorkerScriptDebugServer.cpp:

(WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::createdMessagePort):
(WebCore::ScriptExecutionContext::destroyedMessagePort):

  • inspector/WorkerDebuggerAgent.cpp:

(WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
(WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):

  • inspector/WorkerInspectorController.cpp:
  • inspector/WorkerRuntimeAgent.cpp:

(WebCore::WorkerRuntimeAgent::pauseWorkerGlobalScope):

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
(WebCore::WorkerThreadableLoader::loadResourceSynchronously):

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::removeRequestFromCache):

  • workers/DedicatedWorkerGlobalScope.cpp:

(WebCore::DedicatedWorkerGlobalScope::create):
(WebCore::DedicatedWorkerGlobalScope::DedicatedWorkerGlobalScope):
(WebCore::DedicatedWorkerGlobalScope::postMessage):
(WebCore::DedicatedWorkerGlobalScope::importScripts):
(WebCore::DedicatedWorkerGlobalScope::thread):

  • workers/DedicatedWorkerGlobalScope.h:
  • workers/DedicatedWorkerThread.cpp:

(WebCore::DedicatedWorkerThread::createWorkerGlobalScope):

  • workers/SharedWorkerGlobalScope.cpp:

(WebCore::SharedWorkerGlobalScope::create):
(WebCore::SharedWorkerGlobalScope::SharedWorkerGlobalScope):
(WebCore::SharedWorkerGlobalScope::thread):

  • workers/SharedWorkerGlobalScope.h:
  • workers/SharedWorkerThread.cpp:

(WebCore::SharedWorkerThread::createWorkerGlobalScope):

  • workers/WorkerGlobalScope.cpp:

(WebCore::CloseWorkerGlobalScopeTask::performTask):
(WebCore::WorkerGlobalScope::WorkerGlobalScope):
(WebCore::WorkerGlobalScope::~WorkerGlobalScope):
(WebCore::WorkerGlobalScope::postTask):
(WebCore::WorkerGlobalScope::logExceptionToConsole):
(WebCore::WorkerGlobalScope::addConsoleMessage):
(WebCore::WorkerGlobalScope::addMessage):
(WebCore::WorkerGlobalScope::isContextThread):

  • workers/WorkerGlobalScope.h:

(WebCore::WorkerGlobalScope::thread):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::MessageWorkerGlobalScopeTask::performTask):
(WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):

  • workers/WorkerRunLoop.cpp:

(WebCore::WorkerRunLoop::runInMode):
(WebCore::WorkerRunLoop::runCleanupTasks):

9:45 PM Changeset in webkit [164157] by rniwa@webkit.org
  • 3 edits in trunk/PerformanceTests

Improve the appearance of DYEBench
https://bugs.webkit.org/show_bug.cgi?id=128866

Reviewed by Antti Koivisto.

Add a div that shows progress during the test. Also show 95th percentile,
and use a table instead of pre to show results.

  • DoYouEvenBench/Full.html:

(.addResult): Added. Shows results in a table.
(benchmarkClient.willRunTest): Added to show the progress bar.
(benchmarkClient.didRunTest):
(benchmarkClient.didRunSuites):
(benchmarkClient.didFinishLastIteration): Compute 95th percentile using Statistics.js

  • DoYouEvenBench/resources/benchmark-runner.js:

(BenchmarkRunner.prototype._appendFrame): Fix the bug where marginLeft and marginTop
weren't correctly parsed. We were treating top as left and bottom as top somehow.
(BenchmarkRunner.prototype._runTestAndRecordResults): Fixed a typo.

8:52 PM Changeset in webkit [164156] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

setSelectionRange shouldn't trigger a synchronous layout to check focusability when text field is already focused
https://bugs.webkit.org/show_bug.cgi?id=128804

Reviewed by Enrica Casucci.

Don't trigger a synchronous layout at the beginning of setSelectionRange if the element is already focused
since we don't have to check the size of render box in that case.

We should be able to get rid of this synchronous layout entirely once we fix https://webkit.org/b/128797
but that's somewhat risky behavioral change so we'll do that in a separate patch.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::selectAll): Fixed the bug where selectAll selects the entire document even if the text
form contol is focused if the selection is none (i.e. not anchored to any node).

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::setSelectionRange): Only update the layout if the element is not focused
already. Also pass in DoNotSetFocus option to setSelection since we already have the focus in that case.

8:33 PM Changeset in webkit [164155] by rniwa@webkit.org
  • 1 edit
    2 copies in trunk/LayoutTests

Add back pre-r164154 results to platform/mac-mountainlion.

  • platform/mac-mountainlion/fast/forms/search-styled-expected.png: Copied from LayoutTests/platform/mac/fast/forms/search-styled-expected.png.
  • platform/mac-mountainlion/fast/forms/search-styled-expected.txt: Copied from LayoutTests/platform/mac/fast/forms/search-styled-expected.txt.
8:28 PM Changeset in webkit [164154] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

Mac rebaseline after r164145.

  • platform/mac/fast/forms/search-styled-expected.png:
  • platform/mac/fast/forms/search-styled-expected.txt:
7:56 PM Changeset in webkit [164153] by rniwa@webkit.org
  • 7 edits in trunk/LayoutTests

Windows rebaselines after dependency updates.

  • platform/win/fast/css/first-letter-block-form-controls-crash-expected.txt:
  • platform/win/fast/css/relative-position-replaced-in-table-display-crash-expected.txt:
  • platform/win/fast/forms/access-key-for-all-elements-expected.txt:
  • platform/win/fast/forms/form-associated-element-crash3-expected.txt:
  • platform/win/fast/forms/search-styled-expected.txt:
  • platform/win/fast/multicol/renderer-positioned-assert-crash-expected.txt:
7:45 PM Changeset in webkit [164152] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Control tints don't update inside WebViews
https://bugs.webkit.org/show_bug.cgi?id=128862

Reviewed by Ryosuke Niwa.

  • WebView/WebView.mm:

(-[WebView _windowChangedKeyState]):
Call [super _windowChangedKeyState].

7:06 PM Changeset in webkit [164151] by Joseph Pecoraro
  • 9 edits in trunk/Source/JavaScriptCore

Web Inspector: CRASH when debugger closes while paused and remote inspecting a JSContext
https://bugs.webkit.org/show_bug.cgi?id=127757

Reviewed by Timothy Hatcher.

The problem was that the lifetime of the InspectorController and all agents
was tied to the remote inspector session. So, if a remote inspector was
disconnected while in the nested run loop, everything would get torn
down and when execution continued out of the nested runloop we would be
back in the original call stack of destroyed objects.

This patch changes the lifetime of the InspectorController and agents to
the JSGlobalObject. This way the agents are always alive, just the
frontend and backend channels are destroyed and recreated each remote
inspector session. This matches the agent lifetime for WebCore agents.
We can also later take advantage of the agents being alive before
and between inspector debug sessions to stash exception messages to
pass on to a debugger if a debugger is connected later.

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

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
Cleaner initialization of agents. Easier to follow.

(Inspector::JSGlobalObjectInspectorController::disconnectFrontend):
Move InjectedScript disconnection only once the global object is destroyed.
This way if a developer has attached once and included an injected script,
we will keep it around with any state it might want to remember until
the global object is destroyed.

(Inspector::JSGlobalObjectInspectorController::globalObjectDestroyed):
Disconnect agents and injected scripts when the global object is destroyed.

  • inspector/InjectedScriptManager.cpp:

(Inspector::InjectedScriptManager::disconnect):
Now that the injected script manager is reused between remote
inspector sessions, don't clear the pointer on disconnect calls.
We now only call this once when the global object is getting
destroyed anyways so it doesn't matter. But if we wanted to call
disconnect multiple times, e.g. once per session, we could.

  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::dispatchFunctionToListeners):
If the only listener was removed during the nested runloop, then when
we dispatch an event after the nested runloop the listener list will
be empty. Instead of asserting, just pass by an empty list.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::inspectorController):
Tie the inspector controller lifetime to the JSGlobalObject.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::~JSGlobalObject):
(JSC::JSGlobalObject::init):
Create the inspector controller, and eagerly signal teardown
in destruction.

  • runtime/JSGlobalObjectDebuggable.h:
  • runtime/JSGlobalObjectDebuggable.cpp:

(JSC::JSGlobalObjectDebuggable::connect):
(JSC::JSGlobalObjectDebuggable::disconnect):
(JSC::JSGlobalObjectDebuggable::dispatchMessageFromRemoteFrontend):
Simplify by using the inspector controller on JSGlobalObject.

6:52 PM Changeset in webkit [164150] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Another build fix after r164149.

  • Scripts/webkitpy/port/port_testcase.py:

(test_apache_config_file_name_for_platform):

6:50 PM Changeset in webkit [164149] by rniwa@webkit.org
  • 3 edits
    1 move in trunk

Build fix after r164148.

Tools:

  • Scripts/webkitpy/port/base.py:

(Port._apache_config_file_name_for_platform):

LayoutTests:

  • http/conf/apache2-httpd.conf: Removed.
  • http/conf/apache2.2-httpd.conf: Copied from LayoutTests/http/conf/apache2-httpd.conf.
6:33 PM Changeset in webkit [164148] by rniwa@webkit.org
  • 3 edits
    1 add in trunk

run-webkit-tests doesn't work with Apache 2.4
https://bugs.webkit.org/show_bug.cgi?id=128861

Reviewed by Andreas Kling.

Tools:

Use apache<version>-httpd.conf like we do on Fedora and Debian.

  • Scripts/webkitpy/port/base.py:

(Port._apache_config_file_name_for_platform):

LayoutTests:

  • http/conf/apache2.4-httpd.conf: Added.
5:27 PM Changeset in webkit [164147] by mhahnenberg@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

-[JSManagedValue value] needs to be protected by the API lock
https://bugs.webkit.org/show_bug.cgi?id=128857

Reviewed by Mark Lam.

  • API/APICast.h:

(toRef): Added an ASSERT so that we can detect these sorts of errors earlier. On 32-bit, toRef
can allocate objects so we need to be holding the lock.

  • API/APIShims.h: Removed outdated comments.
  • API/JSManagedValue.mm: Added RefPtr<JSLock> to JSManagedValue.

(-[JSManagedValue initWithValue:]): Initialize the m_lock field.
(-[JSManagedValue value]): Lock the JSLock, check the VM*, return nil if invalid, take the APIEntryShim otherwise.

  • runtime/JSLock.cpp: Bug fix in JSLock. We were assuming that the VM was always non-null in JSLock::lock.

(JSC::JSLock::lock):

5:06 PM Changeset in webkit [164146] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Add SPI for monitoring web process crashes
https://bugs.webkit.org/show_bug.cgi?id=128851

Reviewed by Beth Dakin.

  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::LoaderClient::processDidCrash):

4:59 PM Changeset in webkit [164145] by mitz@apple.com
  • 4 edits
    3 deletes in trunk

REGRESSION (r157443): Search fields with a non-white background don’t have a round bezel
https://bugs.webkit.org/show_bug.cgi?id=126295

Reviewed by Ryosuke Niwa.

Source/WebCore:

Reverted r157443 and improved comment.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::isControlStyled):

LayoutTests:

Reverted r157443.

  • fast/forms/search/search-field-background-color-expected.txt: Removed.
  • fast/forms/search/search-field-background-color.html: Removed.
  • platform/efl/fast/forms/search: Removed.
  • platform/efl/fast/forms/search/search-field-background-color-expected.png: Removed.
  • platform/efl/fast/forms/search/search-size-with-decorations-expected.png: Removed.
  • platform/efl/fast/forms/search/search-size-with-decorations-expected.txt: Removed.
  • platform/mac/fast/forms/search-styled-expected.txt:
4:54 PM Changeset in webkit [164144] by BJ Burg
  • 5 edits
    2 adds in trunk/Source

Web Replay: AtomicString replay input names should be stored in a thread-local table
https://bugs.webkit.org/show_bug.cgi?id=128829

Reviewed by Andreas Kling.

Similar to how DOM event names are frequently-used AtomicStrings, replay input
names are also checked in many places as a "type tag". This patch puts all known
input names into a class held by ThreadGlobalData and adds the shortcut inputTypes()
so that replay input types can be referenced with inputTypes.InputName().

  • WebCore.xcodeproj/project.pbxproj:
  • platform/ThreadGlobalData.cpp: Add inputTypes() shortcut.

(WebCore::ThreadGlobalData::ThreadGlobalData):

  • platform/ThreadGlobalData.h: Add inputTypes() shortcut.

(WebCore::ThreadGlobalData::inputTypes):

  • replay/ReplayInputTypes.cpp: Added.

(WebCore::ReplayInputTypes::ReplayInputTypes):

  • replay/ReplayInputTypes.h: Added.

(WebCore::inputTypes): The input names are provided by per-framework macros that
are generated by the replay inputs code generator.

4:51 PM Changeset in webkit [164143] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Activate CSS Region Tests on Windows
https://bugs.webkit.org/show_bug.cgi?id=128854

Reviewed by Simon Fraser.

  • platform/win/TestExpectations: Activate CSS Region tests, turning off a

few failures.

4:48 PM Changeset in webkit [164142] by jer.noble@apple.com
  • 4 edits
    2 adds in trunk

Add support for specced event handlers to HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=128292

Reviewed by Andreas Kling.

Source/WebCore:

Test: media/media-event-listeners.html

Add explicit event listener IDL attributes to HTMLMediaElement.

  • html/HTMLMediaElement.h:
  • html/HTMLMediaElement.idl:

LayoutTests:

  • media/media-event-listeners-expected.txt: Added.
  • media/media-event-listeners.html: Added.
4:04 PM Changeset in webkit [164141] by Brent Fulgham
  • 9 edits in trunk

[Win] Make tests more consistent with Mac platform
https://bugs.webkit.org/show_bug.cgi?id=128848

Reviewed by Simon Fraser.

Source/WebKit/win:

  • Interfaces/IWebPreferencesPrivate.idl: Add access to the

mock scrollbar and screen font substitution features.

  • WebPreferenceKeysPrivate.h: Ditto
  • WebPreferences.cpp: Ditto

(WebPreferences::mockScrollbarsEnabled):
(WebPreferences::setMockScrollbarsEnabled):
(WebPreferences::screenFontSubstitutionEnabled):
(WebPreferences::setScreenFontSubstitutionEnabled):

  • WebPreferences.h: Ditto
  • WebView.cpp:

(WebView::notifyPreferencesChanged): Ditto

Tools:

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues): Turn CSS regions on,
turn mock scrollbars on, and allow screen font
substitution.

4:01 PM Changeset in webkit [164140] by rniwa@webkit.org
  • 7 edits in trunk/LayoutTests

Mac rebaseline after r164127.

  • platform/mac/media/audio-controls-rendering-expected.txt:
  • platform/mac/media/controls-after-reload-expected.txt:
  • platform/mac/media/controls-strict-expected.txt:
  • platform/mac/media/controls-styling-strict-expected.txt:
  • platform/mac/media/controls-without-preload-expected.txt:
  • platform/mac/media/video-no-audio-expected.txt:
3:29 PM Changeset in webkit [164139] by oliver@apple.com
  • 23 edits
    12 adds in trunk

Implement a few more Array prototype functions in JS
https://bugs.webkit.org/show_bug.cgi?id=128788

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Remove a pile of awful C++, and rewrite in simple JS.

Needed to make a few other changes to get fully builtins
behavior to more accurately match a host function's.

  • builtins/Array.prototype.js:

(every):
(forEach):
(filter):
(map):
(some):

  • builtins/BuiltinExecutables.cpp:

(JSC::BuiltinExecutables::BuiltinExecutables):
(JSC::BuiltinExecutables::createBuiltinExecutable):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitPutByVal):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::emitExpressionInfo):

  • interpreter/Interpreter.cpp:

(JSC::GetStackTraceFunctor::operator()):

  • parser/Nodes.h:

(JSC::FunctionBodyNode::overrideName):

  • profiler/LegacyProfiler.cpp:

(JSC::createCallIdentifierFromFunctionImp):

  • runtime/ArrayPrototype.cpp:
  • runtime/JSFunction.cpp:

(JSC::JSFunction::deleteProperty):

  • runtime/JSFunction.h:

Source/WebCore:

Minor change to ensure that the inspector is treating builtins
as host functions.

Tests: js/regress/array-prototype-filter.html

js/regress/array-prototype-forEach.html
js/regress/array-prototype-map.html
js/regress/array-prototype-some.html

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForEventListener):

Make sure we treat builtins as regular host functions

LayoutTests:

Add performance tests, and update a couple of profiler tests as
we unavoidably show the call out to some of the builtin methods.

  • fast/profiler/built-in-function-calls-anonymous-expected.txt:
  • fast/profiler/built-in-function-calls-user-defined-function-expected.txt:
  • js/dom/array-foreach-expected.txt:
  • js/dom/array-prototype-properties-expected.txt:
  • js/dom/array-some-expected.txt:
  • js/regress/array-prototype-filter-expected.txt: Added.
  • js/regress/array-prototype-filter.html: Added.
  • js/regress/array-prototype-forEach-expected.txt: Added.
  • js/regress/array-prototype-forEach.html: Added.
  • js/regress/array-prototype-map-expected.txt: Added.
  • js/regress/array-prototype-map.html: Added.
  • js/regress/array-prototype-some-expected.txt: Added.
  • js/regress/array-prototype-some.html: Added.
  • js/regress/script-tests/array-prototype-filter.js: Added.

(test1):
(test2):
(test3):

  • js/regress/script-tests/array-prototype-forEach.js: Added.

(test1):
(test2):
(test3):

  • js/regress/script-tests/array-prototype-map.js: Added.

(test1):
(test2):
(test3):

  • js/regress/script-tests/array-prototype-some.js: Added.

(test1):
(test2):
(test3):

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

Add SPI for authentication
https://bugs.webkit.org/show_bug.cgi?id=128847

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::LoaderClient::canAuthenticateAgainstProtectionSpaceInFrame):
(WebKit::NavigationState::LoaderClient::didReceiveAuthenticationChallengeInFrame):

3:09 PM Changeset in webkit [164137] by mhahnenberg@apple.com
  • 2 edits in trunk/Tools

Save ARGV in a local to avoid repeated lookups

Rubber stamped by Joseph Pecoraro.

  • jsc-cli/jsc-cli/CLIInstance.m:

(-[CLIInstance didReceiveArguments:atOffset:withLength:]):

2:44 PM Changeset in webkit [164136] by mhahnenberg@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

ASSERT(isValidAllocation(bytes)) when ObjC API creates custom errors
https://bugs.webkit.org/show_bug.cgi?id=128840

Reviewed by Joseph Pecoraro.

We need to add APIEntryShims around places where we allocate errors in JSC.
Also converted some of the createTypeError call sites to use ASCIILiteral.

  • API/JSValue.mm:

(valueToArray):
(valueToDictionary):

  • API/ObjCCallbackFunction.mm:

(JSC::objCCallbackFunctionCallAsConstructor):
(JSC::ObjCCallbackFunctionImpl::call):

  • API/tests/testapi.mm:
2:30 PM Changeset in webkit [164135] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Margin tiles are not created for the top and left sides when there is a < 1.0
scale factor
https://bugs.webkit.org/show_bug.cgi?id=128842

Reviewed by Simon Fraser.

floor the result of the computation whenever we have a negative origin, to ensure
that we are rounding 'up' to a larger number of tiles.

  • platform/graphics/ca/mac/TileController.mm:

(WebCore::TileController::getTileIndexRangeForRect):

2:28 PM Changeset in webkit [164134] by mhahnenberg@apple.com
  • 7 edits in trunk/Tools

jsc-cli should allow scripts to access argv
https://bugs.webkit.org/show_bug.cgi?id=127486

Reviewed by Oliver Hunt.

  • jsc-cli/jsc-cli.xcodeproj/project.pbxproj:
  • jsc-cli/jsc-cli/CLIInstance.h:
  • jsc-cli/jsc-cli/CLIInstance.m:

(-[CLIInstance init]):
(-[CLIInstance loadFile:]):
(-[CLIInstance didReceiveArguments:atOffset:withLength:]):

  • jsc-cli/jsc-cli/JSRunLoopThread.h:
  • jsc-cli/jsc-cli/JSRunLoopThread.m:

(-[JSRunLoopThread initWithContext:]):
(-[JSRunLoopThread loadFile:]):
(-[JSRunLoopThread start]):

  • jsc-cli/jsc-cli/main.m:

(printUsage):
(main):

2:27 PM Changeset in webkit [164133] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

setSelection should not synchronously trigger layout
https://bugs.webkit.org/show_bug.cgi?id=128797

Reviewed by Antti Koivisto.

Only update the appearance and reveal selection when the style and the layout is already up to date.
Otherwise, do so in performPostLayoutTasks.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::FrameSelection):
(WebCore::FrameSelection::setSelection): Set m_pendingSelectionUpdate and synchronously update caret rect
if we don't need to update style or layout.
(WebCore::updateSelectionByUpdatingLayoutOrStyle): Added. Used by FrameSelection member functions to
trigger layout or style recalc whichever is needed.
(WebCore::FrameSelection::updateAndRevealSelection): Extracted from setSelection.
(WebCore::FrameSelection::absoluteCaretBounds): Call updateSelectionByUpdatingLayoutOrStyle since caret rect
is no longer updated synchronously in setSelection.
(WebCore::FrameSelection::recomputeCaretRect): Don't assert that visibleStart().absoluteCaretBounds() is
equal to m_absCaretBounds since selection may no longer be caret at this point.
(WebCore::FrameSelection::setCaretVisibility): Call updateSelectionByUpdatingLayoutOrStyle since we're
synchronously calling into updateAppearance here. In the future, we should make this asynchronous as well.
(WebCore::FrameSelection::selectionBounds): Call updateSelectionByUpdatingLayoutOrStyle since selection bounds
could be outdated. This code only triggering style recalc was presumably a bug.

  • editing/FrameSelection.h:
  • page/FrameView.cpp:

(WebCore::FrameView::performPostLayoutTasks): Update selection's appearance and scroll to reveal selection
as needed.

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

Add WKBackForwardListDidChangeNotification
https://bugs.webkit.org/show_bug.cgi?id=128839

Reviewed by Dan Bernstein.

Also, make LoaderClient::didChangeBackForwardList take a Vector of WebBackForwardListItems
instead of a pointer to a Vector of API::Objects.

  • Shared/API/Cocoa/WKFoundation.h:
  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::didChangeBackForwardList):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient):

  • UIProcess/API/Cocoa/WKBackForwardList.h:
  • UIProcess/API/Cocoa/WKBackForwardList.mm:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::LoaderClient::didChangeBackForwardList):

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::goToItem):
(WebKit::WebBackForwardList::clear):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didChangeBackForwardList):

  • UIProcess/WebPageProxy.h:
1:29 PM Changeset in webkit [164131] by akling@apple.com
  • 63 edits
    3 deletes in trunk

Purge remaining ENABLE(SHADOW_DOM) cruft.
<https://webkit.org/b/128827>

Source/WebCore:

Remove the remaining 8.8 million lines of Shadow DOM code to align
with goals for intent to ship 60fps on mobile in 2014.

Reviewed by Antti Koivisto.

Tools:

Reviewed by Antti Koivisto.

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues):

  • Scripts/webkitperl/FeatureList.pm:
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):

1:21 PM Changeset in webkit [164130] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MediaControls][iOS] Embedded YouTube does not show a 'paused' button state after starting
https://bugs.webkit.org/show_bug.cgi?id=128755

Reviewed by Eric Carlson.

Don't rely on "canPlay()", instead, take the information directly from the event itself. I.e., when
handling the 'play' event, switch mode to playing, and vice versa for the 'pause' event.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.handlePlay):
(Controller.prototype.handlePause):
(Controller.prototype.updatePlaying):
(Controller.prototype.setPlaying):

1:19 PM Changeset in webkit [164129] by jer.noble@apple.com
  • 5 edits in trunk/Source/WebCore

[MediaControls][iOS] Start playback button is visible when playing embedded YouTube
https://bugs.webkit.org/show_bug.cgi?id=128754

Reviewed by Eric Carlson.

Update shouldHaveStartPlaybackButton to match the behavior of the plugin proxy.

Add a accessor to determine whether playback has been requested:

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::userGestureRequired):

  • Modules/mediacontrols/MediaControlsHost.h:
  • Modules/mediacontrols/MediaControlsHost.idl:

Update the logic of shouldHaveStartPlaybackButton.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.shouldHaveStartPlaybackButton):

1:17 PM Changeset in webkit [164128] by mhahnenberg@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Baseline JIT should have a fast path to bypass the write barrier on op_enter
https://bugs.webkit.org/show_bug.cgi?id=128832

Reviewed by Filip Pizlo.

  • jit/JIT.h: Removed some random commented out functions.h
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_enter):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitWriteBarrier):

1:15 PM Changeset in webkit [164127] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

[MediaControls] Add support for a loading progress meter
https://bugs.webkit.org/show_bug.cgi?id=128651

Reviewed by Eric Carlson.

Draw the loaded ranges underneath the timeline slider. Use a -webkit-canvas()
CSS function to allow the track of the slider to reflect the current state of
the video's loadedTimeRanges property.

Since -webkit-canvas() will share a backing store with all other CSS images using
the same identifier, use a monotonically increasing identifier to uniquely identify the timeline on a per-document basis.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-timeline):

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller): Call updateProgress().
(Controller.prototype.createControls): Set up the canvas style and identifier.
(Controller.prototype.handleLoadStart): Call updateProgress().
(Controller.prototype.handleStalled): Ditto.
(Controller.prototype.handleReadyStateChange): Ditto.
(Controller.prototype.handleDurationChange): Ditto.
(Controller.prototype.handleProgress): Ditto.
(Controller.prototype.progressFillStyle): Added an easily overridable method

to determine the fill color of the progress bar.

(Controller.prototype.updateProgress): Draw the loadedTimeRanges into the timeline slider.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.progressFillStyle): Override.

1:13 PM Changeset in webkit [164126] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Always enable AVKit in WK2
https://bugs.webkit.org/show_bug.cgi?id=128686

Reviewed by Simon Fraser.

Enable AVKit in iOS WK2 by default. This enables <video> element full screen in WK2.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

1:00 PM Changeset in webkit [164125] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

Clean up JSDOMStringMap::deleteProperty
https://bugs.webkit.org/show_bug.cgi?id=128801

Reviewed by Geoffrey Garen.

Follow up on my cleaning of JSDOMStringMapCustom, this time for deletion.

Previously, we would query for the name, then call deleteItem() if the name was
found. Instead, everything is moved to deleteItem which then return if the deletion
is successful or not.

By using convertPropertyNameToAttributeName, we can use Element::hasAttribute() directly
to find if the attribute exists or not. If it exists, we remove it.

Theoretically we could have a single pass over the attributes to find->delete but this
code is not hot enough to justify anything fancy at this point.

Finally, we no longer check for isValidPropertyName() on deletion. JSDOMStringMapCustom
was the last client of DatasetDOMStringMap::deleteItem() and it could not call deleteItem()
with invalid name since the name would have failed DatasetDOMStringMap::contains().
The spec does not specify any name checking either for deletion so we are safe just ignoring
invalid input.

  • bindings/js/JSDOMStringMapCustom.cpp:

(WebCore::JSDOMStringMap::deleteProperty):

  • dom/DatasetDOMStringMap.cpp:

(WebCore::DatasetDOMStringMap::deleteItem):

  • dom/DatasetDOMStringMap.h:
12:59 PM Changeset in webkit [164124] by benjamin@webkit.org
  • 4 edits in trunk/Source

Improve the performance on mobile of FTPDirectoryDocument
https://bugs.webkit.org/show_bug.cgi?id=128778

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-14
Reviewed by Antti Koivisto.

Source/WebCore:

Little cleanup.

  • html/FTPDirectoryDocument.cpp:

(WebCore::FTPDirectoryDocumentParser::appendEntry):
(WebCore::FTPDirectoryDocumentParser::createTDForFilename):
(WebCore::processFilesizeString):
(WebCore::wasLastDayOfMonth):
(WebCore::processFileDateString):
(WebCore::FTPDirectoryDocumentParser::parseAndAppendOneLine):
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
(WebCore::FTPDirectoryDocumentParser::createBasicDocument):

Source/WTF:

  • wtf/text/WTFString.h:

(WTF::String::endsWith): add a missing overload.

12:58 PM Changeset in webkit [164123] by benjamin@webkit.org
  • 6 edits in trunk/Source/WebCore

Do not attempt to synchronize attributes when no Simple Selector could match an animatable attribute
https://bugs.webkit.org/show_bug.cgi?id=128728

Reviewed by Andreas Kling.

In most cases, we don't even need to test for the flag animatedSVGAttributesNotDirty.
If the selector filter could never match an animatable attribute, there is no point in testing for one.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::canMatchStyleAttribute):
Skip the second test when the local name is equal to canonicalLocalName. That is the common case.

(WebCore::SelectorCompiler::canMatchAnimatableSVGAttribute):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributesMatching):

  • svg/SVGElement.cpp:

(WebCore::addQualifiedName):
(WebCore::SVGElement::animatableAttributeForName):
(WebCore::SVGElement::isAnimatableAttribute):
(WebCore::SVGElement::filterOutAnimatableAttribute):

  • svg/SVGElement.h:
  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::filterOutAnimatableAttribute):

  • svg/SVGScriptElement.h:

Move the list of animatable attribute to a static function available in Release.
Selector matching is a lot more flexible than normal name matching. Since the local name must
always match, it is used as a key to get the full QualifiedName to compare to the selector.

Separating the list of animatable attributes between Selectors and SVGElement::isAnimatableAttribute
would be error prone. Instead, SVGElement::isAnimatableAttribute() is modified to use
SVGElement::animatableAttributeForName so that the two never get out of sync.

Since SVGScriptElement has one additional restriction to isAnimatableAttribute(), the function
filterOutAnimatableAttribute() is added to remove a qualified name from the complete list of animatable attributes.
This ensure SVGElement::animatableAttributeForName() always has the complete list, and subclasses of SVGElement
can only remove QualifiedNames, not add them.

12:57 PM Changeset in webkit [164122] by Lucas Forschler
  • 3 edits
    3 copies in tags/Safari-538.16.6

Merged r164119.

12:56 PM Changeset in webkit [164121] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][iOS] Add WKContentObservation support when dispatching synthetic mouse events
https://bugs.webkit.org/show_bug.cgi?id=128715

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-02-14
Reviewed by Darin Adler.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleTap):

12:53 PM Changeset in webkit [164120] by benjamin@webkit.org
  • 6 edits in trunk/Source/WebKit2

<rdar://problem/15994340> WK2: Cannot scroll to the bottom of the page when the keyboard is on the screen
https://bugs.webkit.org/show_bug.cgi?id=128710

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

WKView/WKWebView needs to adapt the UIScrollView insets to leave some space for the keyboard.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView dealloc]):
(-[WKWebView _keyboardChangedWithInfo:adjustScrollView:]):
(-[WKWebView _keyboardWillChangeFrame:]):
(-[WKWebView _keyboardDidChangeFrame:]):
(-[WKWebView _keyboardWillShow:]):
(-[WKWebView _keyboardWillHide:]):

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

(-[WKContentView isAssistingNode]):

  • UIProcess/API/ios/WKInteractionView.h:
  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView dealloc]):
(-[WKView _commonInitializationWithContextRef:pageGroupRef:relatedToPage:]):
(-[WKView _keyboardChangedWithInfo:adjustScrollView:]):
(-[WKView _keyboardWillChangeFrame:]):
(-[WKView _keyboardDidChangeFrame:]):
(-[WKView _keyboardWillShow:]):
(-[WKView _keyboardWillHide:]):

12:51 PM Changeset in webkit [164119] by fpizlo@apple.com
  • 3 edits
    3 adds in trunk

Don't optimize variadic closure calls
https://bugs.webkit.org/show_bug.cgi?id=128835

Source/JavaScriptCore:

Reviewed by Gavin Barraclough.

Read the check that had been in JITStubs.cpp, back in the day. This code came
from the DFG and the DFG didn't need these checks.

  • jit/JITOperations.cpp:

LayoutTests:

Reviewed by Gavin Barraclough.

Add a test that covers both the performance and correctness of this case.

  • js/regress/script-tests/variadic-closure-call.js: Added.

(foo.bar):
(foo):

  • js/regress/variadic-closure-call-expected.txt: Added.
  • js/regress/variadic-closure-call.html: Added.
12:47 PM Changeset in webkit [164118] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Make code generation of the unoptimized pseudo classes separate
https://bugs.webkit.org/show_bug.cgi?id=128704

Reviewed by Andreas Kling.

Mapping the unoptimized selectors when generating the code was useful for debugging
but those cases are so common that looping over unoptimizedPseudoCheckers was more
costly than anticipated.

This patch moves the unoptimized pseudo selector in their own array to simplify code generation.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):

12:34 PM Changeset in webkit [164117] by graouts@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: color wheel should support Retina displays
https://bugs.webkit.org/show_bug.cgi?id=124355

Reviewed by Timothy Hatcher.

Take into account the devicePixelRatio in order to draw the color wheel
with as many colors as we can draw with the current DPI and to correctly
convert from page coordinates to canvas coordinates when dealing with
mouse events.

12:28 PM Changeset in webkit [164116] by Lucas Forschler
  • 3 edits in tags/Safari-538.16.6/Source/JavaScriptCore

Merged r164063.

12:08 PM Changeset in webkit [164115] by mmaxfield@apple.com
  • 10 edits
    2 adds in trunk

Implement text-decoration-skip: auto
https://bugs.webkit.org/show_bug.cgi?id=128786

Reviewed by Dean Jackson.

http://lists.w3.org/Archives/Public/www-style/2014Feb/0485.html
We are updating the initial value of text-decoration-skip to a new value, "auto".
On Mac + iOS, this will have the same behavior as "skip".

Source/WebCore:

Test: fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-default.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::renderTextDecorationSkipFlagsToCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseTextDecorationSkip):

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::valueToDecorationSkip):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):

  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h:

LayoutTests:

  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-default-expected.txt: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-default.html: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt:
  • fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html:
12:04 PM QtWebKitBuildBots edited by kadam@inf.u-szeged.hu
(diff)
11:49 AM Changeset in webkit [164114] by Lucas Forschler
  • 5 edits in tags/Safari-538.16.6/Source

Versioning.

11:47 AM Changeset in webkit [164113] by Lucas Forschler
  • 1 copy in tags/Safari-538.16.6

New Tag.

11:38 AM Changeset in webkit [164112] by mitz@apple.com
  • 8 edits in trunk/Source/WebKit2

Stop using PLATFORM(MAC) in WebKit2/PluginProcess except where it means “OS X but not iOS”
https://bugs.webkit.org/show_bug.cgi?id=128802

Reviewed by Darin Adler.

  • PluginProcess/PluginControllerProxy.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::PluginControllerProxy::PluginControllerProxy):
(WebKit::PluginControllerProxy::paint):

  • PluginProcess/PluginControllerProxy.h: Ditto.
  • PluginProcess/PluginControllerProxy.messages.in: Ditto.
  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::PluginProcess): Ditto.
(WebKit::PluginProcess::netscapePluginModule): Added && !PLATFORM(IOS) around Mac-specific
quirk.
(WebKit::PluginProcess::createWebProcessConnection): Changed PLATFORM(MAC) to OS(DARWIN)
around use of Mach-based IPC.

  • PluginProcess/PluginProcess.h: Changed PLATFORM(MAC) to PLATFORM(COCOA), and to

USE(APPKIT) around override of stopRunLoop, which is implemented using AppKit.

  • PluginProcess/PluginProcess.messages.in: Removed PLATFORM(MAC) guard around

SetProcessSuppressionEnabled. Changed it to PLATFORM(COCOA) around SetQOS.

  • PluginProcess/WebProcessConnection.cpp: Changed PLATFORM(MAC) to PLATFORM(COCOA).

(WebKit::WebProcessConnection::createPluginInternal):
(WebKit::WebProcessConnection::createPlugin):

11:26 AM Changeset in webkit [164111] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Add -[WKWebView estimatedProgress]
https://bugs.webkit.org/show_bug.cgi?id=128830

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView estimatedProgress]):

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::willChangeEstimatedProgress):
(WebKit::NavigationState::didChangeEstimatedProgress):

11:13 AM Changeset in webkit [164110] by Simon Fraser
  • 14 edits in trunk/Source

Give ScrollingTree(State)Nodes a reference to another layer, which is used for moving overflow:scroll contents around
https://bugs.webkit.org/show_bug.cgi?id=128790

Reviewed by Beth Dakin.

Have scrolling tree nodes and state nodes track another layer, the
"scrolled contents layer", for accelerated overflow:scroll.

When making ScrollingTreeScrollingNodes for overflow:scroll, the node's
layer will point to the composited element's primary layer, and its
scrolledContentsLayer to the layer that gets moved around by scrolling.

Do some other cleanup on AsyncScrollingCoordinator, removing
functions that just called through to nodes.

Source/WebCore:

  • WebCore.exp.in:
  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::AsyncScrollingCoordinator::frameViewNonFastScrollableRegionChanged):
(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::AsyncScrollingCoordinator::updateScrollingNode):
(WebCore::AsyncScrollingCoordinator::updateViewportConstrainedNode):
(WebCore::AsyncScrollingCoordinator::recomputeWheelEventHandlerCountForFrameView):

  • page/scrolling/AsyncScrollingCoordinator.h:
  • page/scrolling/ScrollingCoordinator.h:

(WebCore::ScrollingCoordinator::updateScrollingNode):

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setScrolledContentsLayer):
(WebCore::ScrollingStateScrollingNode::setCounterScrollingLayer):
(WebCore::ScrollingStateScrollingNode::setHeaderLayer):
(WebCore::ScrollingStateScrollingNode::setFooterLayer):

  • page/scrolling/ScrollingStateScrollingNode.h:
  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.h:
  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:

(WebCore::ScrollingTreeScrollingNodeIOS::updateBeforeChildren):

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::fixedRootBackgroundLayerChanged):

Source/WebKit2:

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.cpp:

(WebKit::RemoteScrollingCoordinatorProxy::connectStateNodeLayers):

10:59 AM Changeset in webkit [164109] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Add -[WKWebView _handle]
https://bugs.webkit.org/show_bug.cgi?id=128828

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _handle]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
10:31 AM Changeset in webkit [164108] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

Unreviewed test correction to get bots green.

  • platform/mac/fast/scrolling/scroll-iframe-latched-iframe-expected.txt: Don't

snapshot final pixel location, since these seems to be somewhat dependent
on the test machine.

  • platform/mac/fast/scrolling/scroll-iframe-latched-iframe.html: Ditto
9:52 AM Changeset in webkit [164107] by Chris Fleizach
  • 5 edits
    2 adds in trunk

AX: WebKit needs heuristics to differentiate lists used for layout from semantic data lists, similar to the heuristics for layout tables versus data tables.
https://bugs.webkit.org/show_bug.cgi?id=122320

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Many authors use lists for layout, rather than presenting data. Exposing these kinds of lists to accessibility users
makes the web harder to process and listen, while degrading the importance of real lists.

This introduces heuristics to filter out layout lists with the following:

  1. If it's a named list, like ol or aria=list, then it's a list. 1a. Unless the list has no children, then it's not a list.
  2. If it displays visible list markers, it's a list.
  3. If it does not display list markers and has only one child, it's not a list.
  4. If it does not have any listitem children, it's not a list.
  5. Otherwise it's a list (for now).

Test: accessibility/list-detection.html

  • accessibility/AccessibilityList.cpp:

(WebCore::AccessibilityList::determineAccessibilityRole):
(WebCore::AccessibilityList::roleValue):

  • accessibility/AccessibilityList.h:

LayoutTests:

  • accessibility/aria-roles.html:
  • accessibility/list-detection-expected.txt: Added.
  • accessibility/list-detection.html: Added.
9:51 AM Changeset in webkit [164106] by b.long@cablelabs.com
  • 8 edits in trunk/Source/WebCore

Use AtomicString arguments in TrackPrivateBaseClient callbacks
https://bugs.webkit.org/show_bug.cgi?id=128765

Reviewed by Eric Carlson.

No new tests because this doesn't change functionality.

  • html/track/AudioTrack.cpp:

(WebCore::AudioTrack::idChanged):
(WebCore::AudioTrack::labelChanged):
(WebCore::AudioTrack::languageChanged):

  • html/track/AudioTrack.h:
  • html/track/InbandTextTrack.cpp:

(WebCore::InbandTextTrack::InbandTextTrack):
(WebCore::InbandTextTrack::idChanged):
(WebCore::InbandTextTrack::labelChanged):
(WebCore::InbandTextTrack::languageChanged):

  • html/track/InbandTextTrack.h:
  • html/track/VideoTrack.cpp:

(WebCore::VideoTrack::idChanged):
(WebCore::VideoTrack::labelChanged):
(WebCore::VideoTrack::languageChanged):

  • html/track/VideoTrack.h:
  • platform/graphics/TrackPrivateBase.h:
9:48 AM Changeset in webkit [164105] by Brent Fulgham
  • 12 edits
    37 adds in trunk

Create some latched scrolling tests.
https://bugs.webkit.org/show_bug.cgi?id=127606
<rdar://problem/15911348>

Reviewed by Simon Fraser.

Tools:

  • DumpRenderTree/mac/EventSendingController.mm:

(+[EventSendingController isSelectorExcludedFromWebScript:]): Update to recognize
the new "mouseScrollByX:andY:withWheel:andMomentumPhases:" selector.
(+[EventSendingController webScriptNameForSelector:]): Ditto.
(-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]): Implement
the new wheel event sender.

  • WebKitTestRunner/EventSenderProxy.h:
  • WebKitTestRunner/InjectedBundle/Bindings/EventSendingController.idl: Add declaration

of new mouseScrollByWithWheelAndMomentumPhases method.

  • WebKitTestRunner/InjectedBundle/EventSendingController.cpp:

(WTR::EventSendingController::mouseScrollByWithWheelAndMomentumPhases): Added

  • WebKitTestRunner/InjectedBundle/EventSendingController.h:
  • WebKitTestRunner/InjectedBundle/ios/EventSenderProxyIOS.mm:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Add stub for iOS.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::didReceiveMessageFromInjectedBundle): Handle the new
mouseScrollByWithWheelAndMomentumPhases message.
(WTR::TestController::didReceiveSynchronousMessageFromInjectedBundle): Handle the
new mouseScrollByWithWheelAndMomentumPhases.

  • WebKitTestRunner/efl/EventSenderProxyEfl.cpp:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Provide stub that
relays to the standard mouse wheel handler.

  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Ditto.

  • WebKitTestRunner/mac/EventSenderProxy.mm:

(WTR::EventSenderProxy::mouseScrollByWithWheelAndMomentumPhases): Provide implementation
of mouse wheel gesture method.

LayoutTests:

Add a series of tests to cover desired behavior with wheel events (including momentum).
This behavior is specific to the Mac platform, so is limited to the platform/mac and
platform/mac-wk2 directories.

  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-div.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-div-latched-mainframe.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-iframe.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-iframe-latched-mainframe.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-mainframe.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select-with-handler.html: Added.
  • platform/mac-wk2/tiled-drawing/fast-scroll-select-latched-select.html: Added.
  • platform/mac/fast/scrolling: Added.
  • platform/mac/fast/scrolling/scroll-div-latched-div-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-div-latched-div.html: Added.
  • platform/mac/fast/scrolling/scroll-div-latched-mainframe-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-div-latched-mainframe.html: Added.
  • platform/mac/fast/scrolling/scroll-iframe-latched-iframe-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-iframe-latched-iframe.html: Added.
  • platform/mac/fast/scrolling/scroll-iframe-latched-mainframe-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-iframe-latched-mainframe.html: Added.
  • platform/mac/fast/scrolling/scroll-select-latched-mainframe-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-select-latched-mainframe.html: Added.
  • platform/mac/fast/scrolling/scroll-select-latched-select-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-select-latched-select.html: Added.
9:41 AM Changeset in webkit [164104] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: comparePositions(newEnd, newStart) >= 0 in WebCore::ApplyStyleCommand::updateStartEnd
https://bugs.webkit.org/show_bug.cgi?id=121791

Patch by Renata Hodovan <rhodovan.u-szeged@partner.samsung.com> on 2014-02-14
Reviewed by Darin Adler.

Source/WebCore:

If WebCore::ApplyStyleCommand::applyBlockStyle() creates a TextIterator for a range
that has an element with ReplacedElement rendering object, then a ',' is emitted in the
constructor of TextIterator. Due to this comma the end of the run range can be at the
wrong position, what makes the assertion fire. This situation can be handled the same
way in TextIterator::rangeFromLocationAndLength() as we do in case of the emitted '\n's.

Test: editing/execCommand/remove-formatting-from-iframe-in-button.html

  • editing/TextIterator.cpp:

(WebCore::TextIterator::rangeFromLocationAndLength):

LayoutTests:

  • editing/execCommand/remove-formatting-from-iframe-in-button-expected.txt: Added.
  • editing/execCommand/remove-formatting-from-iframe-in-button.html: Added.
9:35 AM Changeset in webkit [164103] by abucur@adobe.com
  • 3 edits
    2 adds in trunk

[CSS Regions] visibility: hidden on a region should hide its content
https://bugs.webkit.org/show_bug.cgi?id=128814

Reviewed by Mihnea Ovidenie.

Source/WebCore:

The patch properly checks that the content of a region layer should be painted before actually
calling the paint function (for example, when visibility: hidden is specified on a region, its
content should be hidden).

Test: fast/regions/visibility-hidden.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerContents):

LayoutTests:

Add a test that verifies visibility: hidden on a region hides the content of
the flow thread.

  • fast/regions/visibility-hidden-expected.html: Added.
  • fast/regions/visibility-hidden.html: Added.
9:11 AM Changeset in webkit [164102] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[ASan] Disable JSStack::sanitizeStack() to avoid false-positive stack-buffer-overflow errors
<http://webkit.org/b/128819>

Reviewed by Filip Pizlo.

  • interpreter/JSStack.cpp:

(JSC::JSStack::sanitizeStack): When building with the clang
address sanitizer, don't sanitize the stack since it will
trigger false-positive stack-buffer-overflow errors. Disabling
this only results in a performance penalty, not a correctness
penalty.

6:02 AM WebKitGTK/SpeedUpBuild edited by Andres Gomez
More details for icecc compilation (diff)
5:58 AM WebKitGTK/SpeedUpBuild edited by Andres Gomez
Added more details about icecc compilation (diff)
5:57 AM Changeset in webkit [164101] by g.czajkowski@samsung.com
  • 6 edits in trunk/LayoutTests

Refactoring design-mode-spellcheck-off.html to use asynchronous spellchecking
https://bugs.webkit.org/show_bug.cgi?id=127770

Reviewed by Ryosuke Niwa.

Enable asynchronous spellchecking in design-mode-spellcheck-off.html.

Due to js-test-pre.js adds some HTML elements inside the BODY, the misspelled
phrase was moved into separated div element. It allows to check spelling marker
on desired element instead of whole body.

It turned out that the test does not underline "asdf" as misspelled although
spellcheck attribute is on. To force spellchecking, the caret needs to be moved
out of the misspelled word. To be more reliable, the test now contains two test
cases in 'desingMode=on' when spellcheck attribute is off and on.

  • editing/spelling/design-mode-spellcheck-off-expected.txt:
  • editing/spelling/design-mode-spellcheck-off.html:
  • platform/gtk-wk2/TestExpectations:
  • platform/gtk/TestExpectations:

Skip the test for GTK.

  • platform/win/TestExpectations:

Add failing test expectation.

4:26 AM Changeset in webkit [164100] by g.czajkowski@samsung.com
  • 6 edits in trunk/LayoutTests

Use asynchronous spellchecking in spelling-hasspellingmarker.js
https://bugs.webkit.org/show_bug.cgi?id=128526

Reviewed by Ryosuke Niwa.

Refactoring spelling-hasspellingmarker.js to use asynchronous spellchecking.
In addition, adds some bits for non-DumpRenderTree users.

  • editing/spelling/script-tests/spelling-hasspellingmarker.js:

(addContainer): creates a new div element based on given markup.
(typeMisspelling): types 'zz' to the element.
(verifySpellingMarkers): calls shouldBecomeEqual to verify spelling markers.
(tests): contains test cases.
(done): invokes next test cases if any, otherwise calls finishJSTest().

  • editing/spelling/spelling-hasspellingmarker-expected.txt:

Update baseline.

  • editing/spelling/spelling-hasspellingmarker.html:

Include editing.js due to the test started using typeCharacterCommand().

  • platform/gtk-wk2/TestExpectations:
  • platform/gtk/TestExpectations:

Skip spelling-hasspellingmarker.html for GTK (wk1 and wk2).

3:52 AM Changeset in webkit [164099] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Follow-up fix after r164036.

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-02-14
Reviewed by Csaba Osztrogonác.

  • dom/Document.cpp:

(WebCore::Document::create):

3:38 AM Changeset in webkit [164098] by commit-queue@webkit.org
  • 3 edits in trunk

Unreviewed, rolling out r164090.
http://trac.webkit.org/changeset/164090
https://bugs.webkit.org/show_bug.cgi?id=128807

It broke the EFL build (Requested by Ossy on #webkit).

  • Source/cmake/OptionsCommon.cmake:
  • Source/cmake/OptionsEfl.cmake:
3:14 AM Changeset in webkit [164097] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

(try)append and insert operations don't need new operator for PODs
https://bugs.webkit.org/show_bug.cgi?id=128185

Patch by Wojciech Bielawski <w.bielawski@samsung.com> on 2014-02-14
Reviewed by Darin Adler.

Vector's methods use VectorCopier to copy data.
VectorCopier for PODs exteded to be used with different types. For different types placement new copy approach is applied. For the same types memcpy is applied.

  • wtf/Vector.h:

(WTF::OverflowHandler>::append): use VectorCopier to copy data.
(WTF::OverflowHandler>::tryAppend): use VectorCopier to copy data.
(WTF::OverflowHandler>::insert): use VectorCopier to copy data.

3:10 AM Changeset in webkit [164096] by mario.prada@samsung.com
  • 2 edits
    2 deletes in trunk/Source/JavaScriptCore

Cleaning the JSStaticScopeObject files left behind after renaming their objects to JSNameScope
https://bugs.webkit.org/show_bug.cgi?id=127595

Patch by Andres Gomez <Andres Gomez> on 2014-02-14
Reviewed by Mario Sanchez Prada.

JSStaticScopeObject was renamed to JSNameScope and removed long
ago but the files were left behind empty and the CMake compilation
in need of its existance. Now, we are definitely getting rid of
them.

  • CMakeLists.txt:
  • runtime/JSStaticScopeObject.cpp: Removed.
  • runtime/JSStaticScopeObject.h: Removed.
1:47 AM Changeset in webkit [164095] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Update Windows test expectations.

js/regress/emscripten-memops.html is timing out, not failing.

  • platform/win/TestExpectations:
Note: See TracTimeline for information about the timeline view.