Timeline



Dec 5, 2014:

9:44 PM Changeset in webkit [176904] by Chris Fleizach
  • 10 edits
    3 adds in trunk

AX: I cannot activate links on the mobile version of news.google.com
https://bugs.webkit.org/show_bug.cgi?id=139330

Reviewed by Simon Fraser.

Source/WebCore:

This website only listens for touch events. VoiceOver normally dispatches click and mouse events,
so on iOS this falls and VoiceOver is not able to activate anything.

The solution here is to dispatch simulated touch down/up events.

Test: platform/ios-simulator/ios-accessibility/press-fires-touch-events.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::press):
(WebCore::AccessibilityObject::dispatchTouchEvent):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isDetachedFromParent):

  • page/EventHandler.h:
  • page/ios/EventHandlerIOS.mm:

(WebCore::EventHandler::dispatchSimulatedTouchEvent):

  • platform/ios/PlatformEventFactoryIOS.h:
  • platform/ios/PlatformEventFactoryIOS.mm:

(WebCore::PlatformTouchEventBuilder::PlatformTouchEventBuilder):
(WebCore::PlatformEventFactory::createPlatformSimulatedTouchEvent):

Tools:

Implement press for iOS.

  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:

(AccessibilityUIElement::press):

LayoutTests:

  • platform/ios-simulator/ios-accessibility: Added.
  • platform/ios-simulator/ios-accessibility/press-fires-touch-events-expected.txt: Added.
  • platform/ios-simulator/ios-accessibility/press-fires-touch-events.html: Added.
9:14 PM Changeset in webkit [176903] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

Directional single quotation marks are not rotated in vertical text
https://bugs.webkit.org/show_bug.cgi?id=138526

Source/WebCore:

Reviewed by Darin Adler.

In vertical text, directional single quotation marks are not rotated along with
the rest of the letters.

Test: fast/text/vertical-quotation-marks.html

  • platform/graphics/FontGlyphs.cpp:

(WebCore::shouldIgnoreRotation):

LayoutTests:

Compare vertical and horizontal renderings.

Reviewed by Darin Adler.

  • fast/text/vertical-quotation-marks-expected.html: Added.
  • fast/text/vertical-quotation-marks.html: Added.
9:09 PM Changeset in webkit [176902] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

Implement parser for :lang pseudo class selector arguments that contain wildcard '*' subtags
https://bugs.webkit.org/show_bug.cgi?id=139014

Patch by Dhi Aurrahman <diorahman@rockybars.com> on 2014-12-05
Reviewed by Benjamin Poulain.

Source/WebCore:

Consider each language range in :lang() that consists of an asterisk
immediately followed by an identifier beginning with an ASCII hyphen
as a valid input for the selector as specified in [1].

[1] http://dev.w3.org/csswg/selectors4/#the-lang-pseudo

Test: fast/css/parsing-css-lang.html

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

(WebCore::CSSParser::realLex):

LayoutTests:

  • fast/css/css-selector-text-expected.txt: Updated for asterisk containing input.
  • fast/css/css-selector-text.html: Updated for asterisk containing input.
  • fast/css/parsing-css-lang-expected.txt: Added.
  • fast/css/parsing-css-lang.html: Added.
6:04 PM Changeset in webkit [176901] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Add a delegate method for didReceiveServerRedirectForProvisionalLoadForFrame.
https://bugs.webkit.org/show_bug.cgi?id=139325

Add delegate method webProcessPlugInBrowserContextController:didReceiveServerRedirectForProvisionalLoadForFrame: into
WKWebProcessPlugInLoadDelegate to listen to server side redirect in injected bundle.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-12-05
Reviewed by Dan Bernstein.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(didReceiveServerRedirectForProvisionalLoadForFrame):
(setUpPageLoaderClient):

5:29 PM Changeset in webkit [176900] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.2.5

New tag.

5:25 PM Changeset in webkit [176899] by Simon Fraser
  • 4 edits
    1 add in trunk

Programmatic scrolling and content changes are not always synchronized
https://bugs.webkit.org/show_bug.cgi?id=139245
rdar://problem/18833612

Reviewed by Anders Carlsson.

Manual test that tries to sync layout with programmatic scrolling.

  • ManualTests/programmatic-scroll-flicker.html: Added.

Source/WebCore:

For programmatic scrolls, AsyncScrollingCoordinator::requestScrollPositionUpdate()
calls updateScrollPositionAfterAsyncScroll(), then dispatches the requested
scroll position to the scrolling thread.

Once the scrolling thread commits, it calls back to the main thread via
scheduleUpdateScrollPositionAfterAsyncScroll(), which schedules a second
call to updateScrollPositionAfterAsyncScroll() on a timer. That's a problem,
because some other scroll may have happened in the meantime; when the timer
fires, it can sometimes restore a stale scroll position.

Fix by bailing early from scheduleUpdateScrollPositionAfterAsyncScroll()
for programmatic scrolls, since we know that requestScrollPositionUpdate()
already did the updateScrollPositionAfterAsyncScroll().

Test:

ManualTests/programmatic-scroll-flicker.html

  • page/FrameView.cpp:

(WebCore::FrameView::reset): nullptr.
(WebCore::FrameView::setScrollPosition): Ditto.
(WebCore::FrameView::setWasScrolledByUser): Ditto.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::requestScrollPositionUpdate): Use a local variable for
isProgrammaticScroll just to make sure we use the same value for the duration of this function.
(WebCore::AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll): Do nothing
if this is a programmatic scroll.

5:20 PM Changeset in webkit [176898] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix.

  • platform/spi/mac/TUCallSPI.h:
5:09 PM Changeset in webkit [176897] by dbates@webkit.org
  • 2 edits in trunk/Tools

[iOS] Query -[WAKWindow screenScale] instead of using WKGetScreenScaleFactor()
https://bugs.webkit.org/show_bug.cgi?id=139326

Reviewed by Anders Carlsson.

Ask the window for its screen scale factor instead of calling WKGetScreenScaleFactor()
to query the OS for it. This approach will ensure DumpRenderTree takes the snapshot
using the same scale factor as used in WebKit.

  • DumpRenderTree/ios/PixelDumpSupportIOS.mm:

(createBitmapContextFromWebView):

5:09 PM Changeset in webkit [176896] by roger_fong@apple.com
  • 8 edits in trunk/Source

[Win] proj files copying over too many resources..
https://bugs.webkit.org/show_bug.cgi?id=139315.
<rdar://problem/19148278>

Reviewed by Brent Fulgham.

  • WebCore.vcxproj/WebCore.proj: Don't copy over bin32 build output.
  • WebKit.vcxproj/WebKit.proj: Only copy resource folders and WebKit.dll.
  • JavaScriptCore.vcxproj/JavaScriptCore.proj: Only copy resource folders and JavaScriptCore.dll.
  • WTF.vcxproj/WTF.proj: Only copy WTF.dll.
5:07 PM Changeset in webkit [176895] by timothy_horton@apple.com
  • 1 edit
    1 add in trunk/Source/WebCore

Use the system string for telephone number menu
https://bugs.webkit.org/show_bug.cgi?id=139324
<rdar://problem/18726471>

  • platform/spi/mac/TUCallSPI.h: Added.

Actually add the SPI header from the last commit.

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

Use the system string for telephone number menu
https://bugs.webkit.org/show_bug.cgi?id=139324
<rdar://problem/18726471>

Reviewed by Anders Carlsson.

  • Platform/mac/MenuUtilities.mm:

(WebKit::menuItemTitleForTelephoneNumberGroup):
Make use of the SPI to retrieve the string if it exists.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/mac/TUCallSPI.h: Added.

Add an SPI header.

4:42 PM Changeset in webkit [176893] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebKit2

URTBF, EFL is happy now.

  • UIProcess/API/APIWebsiteDataStore.cpp:

(API::WebsiteDataStore::defaultDataStoreConfiguration):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::createNonPersistent):

4:33 PM Changeset in webkit [176892] by andersca@apple.com
  • 85 edits in trunk/Source/WebKit/win

Get rid of config.h includes and include config.h in the prefix header instead
https://bugs.webkit.org/show_bug.cgi?id=139323

Reviewed by Brent Fulgham.

This is making it easier to share code between WebKit1 for Mac and WebKit1 for Windows.

  • AccessibleBase.cpp:
  • AccessibleDocument.cpp:
  • AccessibleImage.cpp:
  • AccessibleTextImpl.cpp:
  • CFDictionaryPropertyBag.cpp:
  • DOMCSSClasses.cpp:
  • DOMCoreClasses.cpp:
  • DOMEventsClasses.cpp:
  • DOMHTMLClasses.cpp:
  • DefaultDownloadDelegate.cpp:
  • DefaultPolicyDelegate.cpp:
  • ForEachCoClass.cpp:
  • FullscreenVideoController.cpp:
  • MarshallingHelpers.cpp:
  • MemoryStream.cpp:
  • WebActionPropertyBag.cpp:
  • WebArchive.cpp:
  • WebBackForwardList.cpp:
  • WebCache.cpp:
  • WebCoreStatistics.cpp:
  • WebCoreSupport/AcceleratedCompositingContext.cpp:
  • WebCoreSupport/EmbeddedWidget.cpp:
  • WebCoreSupport/WebChromeClient.cpp:
  • WebCoreSupport/WebContextMenuClient.cpp:
  • WebCoreSupport/WebDesktopNotificationsDelegate.cpp:
  • WebCoreSupport/WebDragClient.cpp:
  • WebCoreSupport/WebEditorClient.cpp:
  • WebCoreSupport/WebFrameLoaderClient.cpp:
  • WebCoreSupport/WebFrameNetworkingContext.cpp:
  • WebCoreSupport/WebGeolocationClient.cpp:
  • WebCoreSupport/WebInspectorClient.cpp:
  • WebCoreSupport/WebInspectorDelegate.cpp:
  • WebCoreSupport/WebPlatformStrategies.cpp:
  • WebCoreSupport/WebVisitedLinkStore.cpp:
  • WebDataSource.cpp:
  • WebDatabaseManager.cpp:
  • WebDocumentLoader.cpp:
  • WebDownload.cpp:
  • WebDownloadCFNet.cpp:
  • WebDownloadCurl.cpp:
  • WebDropSource.cpp:
  • WebElementPropertyBag.cpp:
  • WebError.cpp:
  • WebFrame.cpp:
  • WebFramePolicyListener.cpp:
  • WebGeolocationPolicyListener.cpp:
  • WebGeolocationPosition.cpp:
  • WebHTMLRepresentation.cpp:
  • WebHistory.cpp:
  • WebHistoryItem.cpp:
  • WebIconDatabase.cpp:
  • WebInspector.cpp:
  • WebJavaScriptCollector.cpp:
  • WebKitCOMAPI.cpp:
  • WebKitClassFactory.cpp:
  • WebKitDLL.cpp:
  • WebKitGraphics.cpp:
  • WebKitLogging.cpp:
  • WebKitPrefix.h:
  • WebKitStatistics.cpp:
  • WebKitSystemBits.cpp:
  • WebLocalizableStrings.cpp:
  • WebMutableURLRequest.cpp:
  • WebNavigationData.cpp:
  • WebNodeHighlight.cpp:
  • WebNotification.cpp:
  • WebNotificationCenter.cpp:
  • WebPreferences.cpp:
  • WebResource.cpp:
  • WebScriptObject.cpp:
  • WebScriptWorld.cpp:
  • WebSecurityOrigin.cpp:
  • WebSerializedJSValue.cpp:
  • WebTextRenderer.cpp:
  • WebURLAuthenticationChallenge.cpp:
  • WebURLAuthenticationChallengeSender.cpp:
  • WebURLAuthenticationChallengeSenderCFNet.cpp:
  • WebURLAuthenticationChallengeSenderCurl.cpp:
  • WebURLCredential.cpp:
  • WebURLProtectionSpace.cpp:
  • WebURLResponse.cpp:
  • WebUserContentURLPattern.cpp:
  • WebView.cpp:
  • WebWorkersPrivate.cpp:
4:31 PM Changeset in webkit [176891] by mark.lam@apple.com
  • 2 edits in trunk/Source/WebKit2

Gardening: one more build fix for GTK builds.

  • CMakeLists.txt:
4:29 PM Changeset in webkit [176890] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[JSC][FTL] Add the data layout to the module and fix the pass order.
https://bugs.webkit.org/show_bug.cgi?id=138748

Patch by Juergen Ributzka <juergen@apple.com> on 2014-12-05
Reviewed by Oliver Hunt.

This adds the data layout to the module, so it can be used by all
optimization passes in the LLVM optimizer pipeline. This also allows
FastISel to select more instructions, because less non-legal types are
generated.

Also fix the order of the alias analysis passes in the optimization
pipeline.

  • ftl/FTLCompile.cpp:

(JSC::FTL::mmAllocateDataSection):

4:28 PM Changeset in webkit [176889] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF, remove duplicated entry due to parallel buildfixing.

  • CMakeLists.txt:
4:26 PM Changeset in webkit [176888] by bshafiei@apple.com
  • 5 edits in branches/safari-600.2-branch/Source

Versioning.

4:25 PM Changeset in webkit [176887] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after r176849.

  • CMakeLists.txt: Added WebProcess/InjectedBundle/DOM/InjectedBundleCSSStyleDeclarationHandle.cpp.
4:20 PM Changeset in webkit [176886] by mark.lam@apple.com
  • 2 edits in trunk/Source/WebKit2

Gardening: another build fix for GTK builds.

  • CMakeLists.txt:
4:16 PM Changeset in webkit [176885] by andersca@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r176677): All tests crash on Windows
https://bugs.webkit.org/show_bug.cgi?id=139321

Reviewed by Alexey Proskuryakov.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(runTest):
Don't call CFRelease on the url while we have an outstanding pointer to its string,
and use the right number of bytes when allocating the testURL buffer.

4:10 PM Changeset in webkit [176884] by mark.lam@apple.com
  • 2 edits in trunk/Source/WebKit2

Gardening: more speculative build fix for GTK builds.

  • CMakeLists.txt:
3:59 PM Changeset in webkit [176883] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

If the action menu hit test times out, a menu with a single separator appears
https://bugs.webkit.org/show_bug.cgi?id=139320
<rdar://problem/19158331>

Reviewed by Beth Dakin.

  • UIProcess/mac/WKActionMenuController.h:
  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController menuNeedsUpdate:]):
(-[WKActionMenuController _defaultMenuItems]):
Add a new "TimedOut" state, which we get into if the sync wait for
didPerformActionMenuHitTest times out. In this case, we'll drop the
separator item and give up on the menu. This way, the menu will never
have just a single separator item at the end of menuNeedsUpdate:.

3:56 PM Changeset in webkit [176882] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.2.4

New tag.

3:54 PM Changeset in webkit [176881] by mark.lam@apple.com
  • 2 edits in trunk/Source/WebKit2

Gardening: speculative build fix for GTK builds.

  • CMakeLists.txt:
3:33 PM Changeset in webkit [176880] by dbates@webkit.org
  • 3 edits in trunk/Tools

[iOS] DumpRenderTree produces many reference test mismatches
https://bugs.webkit.org/show_bug.cgi?id=139314

Reviewed by Simon Fraser.

Fixes an issue where the scale factor used to render the snapshot taken by
DumpRenderTree may differ from the device scale factor. In particular, the
scale factor used to render a snapshot of a test may differ from the scale
factor used to render the snapshot of its expected result.

Currently DumpRenderTree uses SPI, -[UIView newSnapshotForRect], on iOS to
snapshot the UIWebBrowserView. This SPI always render using a scale factor
of one when the backing store for the LegacyTileLayer objects were out-of-
date regardless of the device scale factor. Instead we should use UIImage
and CALayer API to perform the snapshot with respect to the device scale
factor.

Additionally write iOS pixel dump support logic in terms of existing
DumpRenderTree abstractions so as to support generating and comparing
pixel dump checksums as well as make the iOS code more consistent with
the logic used by other ports.

  • DumpRenderTree/PixelDumpSupport.cpp:

(dumpWebViewAsPixelsAndCompareWithExpected): Removed !PLATFORM(IOS)-guard.

  • DumpRenderTree/ios/PixelDumpSupportIOS.mm:

(BitmapContext::createFromUIImage): Added.
(BitmapContext::pixelData): Added.
(BitmapContext::BitmapContext): Added.
(computeMD5HashStringForBitmapContext): Added.
(dumpBitmap): Added.
(createBitmapContextFromWebView): Moved logic from dumpWebViewAsPixelsAndCompareWithExpected() to here.
(dumpWebViewAsPixelsAndCompareWithExpected): Deleted.

3:25 PM Changeset in webkit [176879] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE][Mac] Return absolute value of error code from CDMSessionMediaSourceAVFObjC::update().
https://bugs.webkit.org/show_bug.cgi?id=139316

Reviewed by Eric Carlson.

Similarly to our asynchronous error reporting, return the absolute value of the error code.

  • platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:

(WebCore::systemCodeForError):
(WebCore::CDMSessionMediaSourceAVFObjC::update):

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

Fix build.

  • UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm:

(API::WebsiteDataStore::defaultDataStoreConfiguration):

3:01 PM Changeset in webkit [176877] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix build on Windows.

  • page/SessionIDHash.h:
3:00 PM Changeset in webkit [176876] by andersca@apple.com
  • 7 edits in trunk

Give all web pages a website data store
https://bugs.webkit.org/show_bug.cgi?id=139317

Reviewed by Tim Horton.

Source/WebKit2:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
Set the website data store on the window.

  • UIProcess/WebContext.cpp:

(WebKit::websiteDataStoreConfiguration):
Helper function that will create the default website data store configuration for a context.

(WebKit::WebContext::WebContext):
Create a new, per-context data store.

(WebKit::WebContext::createWebPage):
If we don't have a data store filled in, use the default per-context one.

  • UIProcess/WebContext.h:
  • UIProcess/WebPageProxy.h:

Tools:

  • MiniBrowser/mac/AppDelegate.m:

(-[BrowserAppDelegate newPrivateWindow:]):
Don't release the controller - it's implicitly retained by the window.

2:43 PM Changeset in webkit [176875] by andersca@apple.com
  • 5 edits
    2 copies
    1 add in trunk/Source/WebKit2

Move the website data store code to a new file
https://bugs.webkit.org/show_bug.cgi?id=139312

Reviewed by Tim Horton.

It's weird to have all the website data code in the API class, so move it to a new file.

  • UIProcess/API/APIWebsiteDataStore.cpp:

(API::WebsiteDataStore::WebsiteDataStore):
(API::WebsiteDataStore::isNonPersistent):
(API::generateNonPersistentSessionID): Deleted.

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

(-[WKWebView initWithFrame:configuration:]):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp: Copied from Source/WebKit2/UIProcess/API/APIWebsiteDataStore.cpp.

(WebKit::generateNonPersistentSessionID):
(WebKit::WebsiteDataStore::createNonPersistent):
(WebKit::WebsiteDataStore::create):
(WebKit::WebsiteDataStore::WebsiteDataStore):
(WebKit::WebsiteDataStore::~WebsiteDataStore):

  • UIProcess/WebsiteData/WebsiteDataStore.h: Copied from Source/WebKit2/UIProcess/API/APIWebsiteDataStore.h.

(WebKit::WebsiteDataStore::isNonPersistent):
(WebKit::WebsiteDataStore::sessionID):

  • WebKit2.xcodeproj/project.pbxproj:
2:22 PM Changeset in webkit [176874] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Issue repaint at setUnavailablePluginIndicatorIsHidden() only when embedded object's indicator status changes.
https://bugs.webkit.org/show_bug.cgi?id=139311

Reviewed by Tim Horton.

Not testable.

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsHidden):

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

PassRef should deref on destruction if pointee was not moved.
<https://webkit.org/b/139309>

Reviewed by Antti Koivisto.

Source/WebCore:

Remove calls to PassRef::dropRef() since it's no longer necessary to manually
notify PassRef that you didn't move the pointee.

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::createFor):
(WebCore::RenderElement::setStyle):

  • style/StyleResolveTree.cpp:

(WebCore::Style::resolveTree):

Source/WTF:

Let PassRef become nullptr internally after having WTF::move()'d the pointee.
This means that PassRef is now essentially a PassRefPtr that can only be
constructed with a non-null pointee.

This should make it possible for all ::create()-style construction helpers to
return PassRef, removing a branch in each case.

  • wtf/PassRef.h:

(WTF::PassRef<T>::PassRef):
(WTF::PassRef<T>::~PassRef):
(WTF::PassRef<T>::get):
(WTF::PassRef<T>::ptr):
(WTF::PassRef<T>::leakRef):
(WTF::PassRef<T>::dropRef): Deleted.

2:13 PM Changeset in webkit [176872] by dbates@webkit.org
  • 2 edits in trunk/Tools

[iOS] DumpRenderTree fails to render every other test when pixel tests are on
https://bugs.webkit.org/show_bug.cgi?id=137581
<rdar://problem/18642906>

Reviewed by Simon Fraser.

Fixes an issue where the DumpRenderTree snapshot may reflect the rendered content
of the test that proceeded the currently running test.

  • DumpRenderTree/ios/PixelDumpSupportIOS.mm:

(dumpWebViewAsPixelsAndCompareWithExpected): Ensure that UIKit has performed a layout
of the UIWebBrowserView view. Also, remove unnecessary call to -[UIWebDocumentView layoutTilesNow]
as -[UIWebDocumentView newSnapshotWithRect] will layout the tiles.

2:11 PM Changeset in webkit [176871] by ggaren@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

2014-12-05 Geoffrey Garen <ggaren@apple.com>

Removed an unused function.

Reviewed by Michael Saboff.

Broken out from https://bugs.webkit.org/show_bug.cgi?id=139305.

  • parser/ParserArena.h:
1:29 PM Changeset in webkit [176870] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Keyboard input should be disabled in the preview popover
https://bugs.webkit.org/show_bug.cgi?id=139219
<rdar://problem/19052381>

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm:

(-[WKView performKeyEquivalent:]):
(-[WKView keyUp:]):
(-[WKView keyDown:]):
(-[WKView flagsChanged:]):
There are two implementations of each of these methods in this file.
Adjust the ones that the original patch missed.

1:25 PM Changeset in webkit [176869] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176820. rdar://problems/19147218

1:17 PM Changeset in webkit [176868] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merged r176812. rdar://problems/19140827

1:17 PM Changeset in webkit [176867] by dburkart@apple.com
  • 7 edits in branches/safari-600.3-branch/Source

Merged r176811. rdar://problems/19140827

1:16 PM Changeset in webkit [176866] by dburkart@apple.com
  • 12 edits in branches/safari-600.3-branch/Source

Merged r176810. rdar://problems/19140827

1:10 PM Changeset in webkit [176865] by dburkart@apple.com
  • 4 edits
    1 copy in branches/safari-600.3-branch

Merged r173566. rdar://problems/19150984

12:58 PM Changeset in webkit [176864] by benjamin@webkit.org
  • 4 edits
    42 adds in trunk

Fix style sharing with the "type" and "readonly" attributes
https://bugs.webkit.org/show_bug.cgi?id=139283

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-12-05
Reviewed by Antti Koivisto.

Source/WebCore:

There are two bugs adressed with this patch:
1) The attributes "type" and "readonly" where only handled correctly

for input elements. For everything else, they could incorrectly
be ignored for style sharing.

2) The handling of attributes was incorrect for selector lists, leading

to various bugs (incorrect style sharing in some cases, disabling
style sharing on valid cases).

For [1], the problem was that attribute checking had been limited to
StyleResolver::canShareStyleWithControl(). That function is for handling
the special states of input element. For any other element, the attributes
were simply ignored.

For [2], there were a bunch of small problems. First, containsUncommonAttributeSelector()
was not recursive, which caused it to ignored any nested selector list. This used to be
correct but since we have advanced selectors we can no longer assumed selectors are not nested.

A second issue was that any attribute in a selector list was causing us to fall back
to the slow case. Now that we have the fast :matches(), we really don't want that.

The function containsUncommonAttributeSelector() was transformed into a recursive function
tracking where we are in the selector.

At the entry point, we start with the flag "startsOnRightmostElement" set to true. The flag is then
updated on the stack of each recursive call.

For example, "webkit > is:matches(freaking > awesome)". We evalute "is" with the flag to true, then recurse
into evaluating "freaking > awesome" with the flag still set to true. When we evalute ">", the flag
is set to false to evaluate any following selectors.
After evaluating "freaking > awesome", we go back to our previous stack frame, and the flag
is back to true and we can continue evaluating with the curren top level state.

From some logging, I discovered that the attribute handling is way too aggressive.
This is not a regression and I cannot fix that easily so I left a fixme.

Tests: fast/css/data-attribute-style-sharing-1.html

fast/css/data-attribute-style-sharing-2.html
fast/css/data-attribute-style-sharing-3.html
fast/css/data-attribute-style-sharing-4.html
fast/css/data-attribute-style-sharing-5.html
fast/css/data-attribute-style-sharing-6.html
fast/css/data-attribute-style-sharing-7.html
fast/css/readonly-attribute-style-sharing-1.html
fast/css/readonly-attribute-style-sharing-2.html
fast/css/readonly-attribute-style-sharing-3.html
fast/css/readonly-attribute-style-sharing-4.html
fast/css/readonly-attribute-style-sharing-5.html
fast/css/readonly-attribute-style-sharing-6.html
fast/css/readonly-attribute-style-sharing-7.html
fast/css/type-attribute-style-sharing-1.html
fast/css/type-attribute-style-sharing-2.html
fast/css/type-attribute-style-sharing-3.html
fast/css/type-attribute-style-sharing-4.html
fast/css/type-attribute-style-sharing-5.html
fast/css/type-attribute-style-sharing-6.html
fast/css/type-attribute-style-sharing-7.html

  • css/RuleSet.cpp:

(WebCore::containsUncommonAttributeSelector):
(WebCore::RuleData::RuleData):
(WebCore::selectorListContainsAttributeSelector): Deleted.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::canShareStyleWithControl):
(WebCore::StyleResolver::canShareStyleWithElement):

LayoutTests:

  • fast/css/data-attribute-style-sharing-1-expected.html: Added.
  • fast/css/data-attribute-style-sharing-1.html: Added.
  • fast/css/data-attribute-style-sharing-2-expected.html: Added.
  • fast/css/data-attribute-style-sharing-2.html: Added.
  • fast/css/data-attribute-style-sharing-3-expected.html: Added.
  • fast/css/data-attribute-style-sharing-3.html: Added.
  • fast/css/data-attribute-style-sharing-4-expected.html: Added.
  • fast/css/data-attribute-style-sharing-4.html: Added.
  • fast/css/data-attribute-style-sharing-5-expected.html: Added.
  • fast/css/data-attribute-style-sharing-5.html: Added.
  • fast/css/data-attribute-style-sharing-6-expected.html: Added.
  • fast/css/data-attribute-style-sharing-6.html: Added.
  • fast/css/data-attribute-style-sharing-7-expected.html: Added.
  • fast/css/data-attribute-style-sharing-7.html: Added.
  • fast/css/readonly-attribute-style-sharing-1-expected.html: Added.
  • fast/css/readonly-attribute-style-sharing-1.html: Added.
  • fast/css/readonly-attribute-style-sharing-2-expected.html: Added.
  • fast/css/readonly-attribute-style-sharing-2.html: Added.
  • fast/css/readonly-attribute-style-sharing-3-expected.html: Added.
  • fast/css/readonly-attribute-style-sharing-3.html: Added.
  • fast/css/readonly-attribute-style-sharing-4-expected.html: Added.
  • fast/css/readonly-attribute-style-sharing-4.html: Added.
  • fast/css/readonly-attribute-style-sharing-5-expected.html: Added.
  • fast/css/readonly-attribute-style-sharing-5.html: Added.
  • fast/css/readonly-attribute-style-sharing-6-expected.html: Added.
  • fast/css/readonly-attribute-style-sharing-6.html: Added.
  • fast/css/readonly-attribute-style-sharing-7-expected.html: Added.
  • fast/css/readonly-attribute-style-sharing-7.html: Added.
  • fast/css/type-attribute-style-sharing-1-expected.html: Added.
  • fast/css/type-attribute-style-sharing-1.html: Added.
  • fast/css/type-attribute-style-sharing-2-expected.html: Added.
  • fast/css/type-attribute-style-sharing-2.html: Added.
  • fast/css/type-attribute-style-sharing-3-expected.html: Added.
  • fast/css/type-attribute-style-sharing-3.html: Added.
  • fast/css/type-attribute-style-sharing-4-expected.html: Added.
  • fast/css/type-attribute-style-sharing-4.html: Added.
  • fast/css/type-attribute-style-sharing-5-expected.html: Added.
  • fast/css/type-attribute-style-sharing-5.html: Added.
  • fast/css/type-attribute-style-sharing-6-expected.html: Added.
  • fast/css/type-attribute-style-sharing-6.html: Added.
  • fast/css/type-attribute-style-sharing-7-expected.html: Added.
  • fast/css/type-attribute-style-sharing-7.html: Added.
12:51 PM Changeset in webkit [176863] by jer.noble@apple.com
  • 9 edits in trunk

[WTF] MediaTime should support round-tripping from and to doubles.
https://bugs.webkit.org/show_bug.cgi?id=139248

Reviewed by Eric Carlson.

Source/WebCore:

Check whether the MediaTime's underlying data is floating point before converting
to a CMTime or QTTime.

  • platform/graphics/avfoundation/MediaTimeAVFoundation.cpp:

(WebCore::toCMTime):

  • platform/graphics/mac/MediaTimeQTKit.mm:

(WebCore::toQTTime):

Source/WTF:

MediaTimes should be able to return precisely the same double value as was used
when the MediaTime was created, so long as that MediaTime was not modified in a
non-destructive way. This will allow API which accepts floating-point values to
return the exact same value when asked, but still be able to store that value
as a MediaTime.

  • wtf/MediaTime.cpp:

(WTF::MediaTime::createWithFloat): Added; store the floating-point value in a union.
(WTF::MediaTime::createWithDouble): Ditto.
(WTF::MediaTime::toFloat): If the value is a double, just return it.
(WTF::MediaTime::toDouble): Ditto.
(WTF::MediaTime::operator+): Special case when one or both sides are doubles.
(WTF::MediaTime::operator-): Ditto.
(WTF::MediaTime::operator*): Ditto.
(WTF::MediaTime::compare): Ditto.
(WTF::abs): Ditto.
(WTF::MediaTime::setTimeScale): Convert the MediaTime from a double.

Tools:

Add API tests for new features of MediaTime. Update the LLDB python provider to correctly display
the MediaTimes after this change.

  • TestWebKitAPI/Tests/WTF/MediaTime.cpp:

(WTF::operator<<):
(TestWebKitAPI::TEST):

  • lldb/lldb_webkit.py:

(WTFMediaTime_SummaryProvider):
(WTFMediaTimeProvider.timeValueAsDouble):
(WTFMediaTimeProvider.isIndefinite):
(WTFMediaTimeProvider):
(WTFMediaTimeProvider.hasDoubleValue):

12:48 PM Changeset in webkit [176862] by andersca@apple.com
  • 7 edits in trunk

Add a private browsing mode to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=139308

Reviewed by Sam Weinig.

Source/WebCore:

Use -1 instead of -2 for the deleted value.

  • page/SessionIDHash.h:

Tools:

  • MiniBrowser/mac/AppDelegate.m:

(defaultConfiguration):
(-[BrowserAppDelegate newWindow:]):
(-[BrowserAppDelegate newPrivateWindow:]):

  • MiniBrowser/mac/MainMenu.xib:
  • MiniBrowser/mac/WK2BrowserWindowController.h:
  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController initWithConfiguration:]):
(-[WK2BrowserWindowController dealloc]):
(-[WK2BrowserWindowController observeValueForKeyPath:ofObject:change:context:]):

12:27 PM Changeset in webkit [176861] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move 'text-emphasis-style' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139285

Reviewed by Sam Weinig.

Move 'text-emphasis-style' CSS property to the new StyleBuilder by
using custom code.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue): Deleted.
(WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue): Deleted.
(WebCore::ApplyPropertyTextEmphasisStyle::applyValue): Deleted.
(WebCore::ApplyPropertyTextEmphasisStyle::createHandler): Deleted.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyInitialWebkitTextEmphasisStyle):
(WebCore::StyleBuilderCustom::applyInheritWebkitTextEmphasisStyle):
(WebCore::StyleBuilderCustom::applyValueWebkitTextEmphasisStyle):

11:47 AM Changeset in webkit [176860] by bshafiei@apple.com
  • 2 edits in tags/Safari-600.3.10.1/Source/WebCore

Merged r176855. rdar://problem/19159480

11:44 AM Changeset in webkit [176859] by bshafiei@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merged r176855. <rdar://problem/19159480>

11:43 AM Changeset in webkit [176858] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

In NetworkResourceLoader always bail out after abort()
https://bugs.webkit.org/show_bug.cgi?id=139299

Reviewed by Alexey Proskuryakov.

Invoking abort() may kill the current object. Take care to bail out after it.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponseAsync):
(WebKit::NetworkResourceLoader::didReceiveBuffer):
(WebKit::NetworkResourceLoader::didFinishLoading):

Either make sure sendAbortingOnFailure() is called last in callbacks or the results is explicitly tested.

(WebKit::NetworkResourceLoader::bufferingTimerFired):
(WebKit::NetworkResourceLoader::sendBufferMaybeAborting):

Rename and return a boolean to indicate if load should continue.

(WebKit::NetworkResourceLoader::sendBuffer): Deleted.

  • NetworkProcess/NetworkResourceLoader.h:
11:31 AM Changeset in webkit [176857] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] remove "enter optimized fullscreen" gesture
https://bugs.webkit.org/show_bug.cgi?id=139301

Reviewed by Jer Noble.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.handleWrapperTouchStart): Remove gesture recognizer.

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

Legacy WebKit should set deviceScaleFactor in _commonInitializationWithFrameName, not _initWithFrame
https://bugs.webkit.org/show_bug.cgi?id=139306
<rdar://problem/19157955>

Reviewed by Beth Dakin.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _initWithFrame:frameName:groupName:]):
Move setDeviceScaleFactor to the initialization path that is guaranteed to happen.

11:21 AM Changeset in webkit [176855] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

rdar://problem/19156353 Additional build-fixes needed.

Rubber-stamped by Tim Horton.

This is a bit unfortunate, but we need to always forward-declare this for now.

  • platform/spi/mac/QuickLookMacSPI.h:
11:10 AM Changeset in webkit [176854] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Don't use PLATFORM(IOS) in non-project headers.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration _allowsAlternateFullscreen]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
10:48 AM Changeset in webkit [176853] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Uncaught Exceptions when attempting to show Content Flow
https://bugs.webkit.org/show_bug.cgi?id=139276

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-12-05
Reviewed by Brian Burg.

  • UserInterface/Views/ContentView.js:

(WebInspector.ContentView):
(WebInspector.ContentView.isViewable):
LegacyJavaScriptProfileObject no longer exists, these references should be removed.

  • UserInterface/Views/FolderizedTreeElement.js:

(WebInspector.FolderizedTreeElement.prototype._insertChildTreeElement):
This sort function references "this" and needed to be bound.

10:46 AM Changeset in webkit [176852] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WTF

[WinCairo] WTF project is missing a GStreamer source file.
https://bugs.webkit.org/show_bug.cgi?id=139296

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-12-05
Reviewed by Philippe Normand.

The WTF project file is missing a GStreamer source file,
causing a link error when compiling with GStreamer enabled.

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
10:38 AM Changeset in webkit [176851] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.13-branch/Source

Versioning.

10:35 AM Changeset in webkit [176850] by bshafiei@apple.com
  • 1 copy in branches/safari-600.1.4.13-branch

New Branch.

10:30 AM Changeset in webkit [176849] by andersca@apple.com
  • 5 edits
    2 adds in trunk/Source/WebKit2

WKBundleCSSStyleDeclarationRef needs to be a real API::Object
https://bugs.webkit.org/show_bug.cgi?id=139291

Patch by Sam Weinig <sam@webkit.org> on 2014-12-05
Reviewed by Dan Bernstein.

Change WKBundleCSSStyleDeclarationRef from being a WebCore::CSSStyleDeclaration, to
being a real API::Object. WKRetain and WKRelease require this.

  • Shared/APIObject.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
  • WebProcess/InjectedBundle/DOM/InjectedBundleCSSStyleDeclarationHandle.cpp: Added.

(WebKit::domHandleCache):
(WebKit::InjectedBundleCSSStyleDeclarationHandle::getOrCreate):
(WebKit::InjectedBundleCSSStyleDeclarationHandle::InjectedBundleCSSStyleDeclarationHandle):
(WebKit::InjectedBundleCSSStyleDeclarationHandle::~InjectedBundleCSSStyleDeclarationHandle):

  • WebProcess/InjectedBundle/DOM/InjectedBundleCSSStyleDeclarationHandle.h: Added.
  • WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp:

(WebKit::InjectedBundlePageEditorClient::shouldApplyStyle):

10:23 AM Changeset in webkit [176848] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Oops, didn't mean to commit this.

  • Shared/API/Cocoa/WKFoundation.h:
10:20 AM Changeset in webkit [176847] by andersca@apple.com
  • 8 edits
    3 copies in trunk/Source/WebKit2

Add an API::WebsiteDataStore object and use it for _WKWebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=139304

Reviewed by Tim Horton.

  • Shared/APIObject.h:
  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):
Make _WKWebsiteDataStore a wrapper for API::WebsiteDataStore instead of API::Session.

  • UIProcess/API/APIWebsiteDataStore.cpp: Added.

(API::generateNonPersistentSessionID):
(API::WebsiteDataStore::defaultDataStore):
(API::WebsiteDataStore::createNonPersistentDataStore):
(API::WebsiteDataStore::WebsiteDataStore):
(API::WebsiteDataStore::~WebsiteDataStore):
(API::WebsiteDataStore::isNonPersistent):
Add new WebsiteDataStore implementation. Currently it only contains the WebCore Session ID, but more will be
added to it in upcoming commits.

  • UIProcess/API/APIWebsiteDataStore.h:

Add header.

  • UIProcess/API/Cocoa/APIWebsiteDataStoreCocoa.mm: Added.

(API::WebsiteDataStore::defaultDataStoreConfiguration):
Platform specific file that returns the default data store configuration.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
Set the session ID from the website data store.

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:

(+[_WKWebsiteDataStore defaultDataStore]):
(+[_WKWebsiteDataStore nonPersistentDataStore]):
(-[_WKWebsiteDataStore dealloc]):
(-[_WKWebsiteDataStore isNonPersistent]):
(-[_WKWebsiteDataStore _apiObject]):
Update now that we wrap an API::WebsiteDataStore instead.

  • UIProcess/API/Cocoa/_WKWebsiteDataStoreInternal.h:

(WebKit::wrapper):
Update for API::Session -> API::WebsiteDataStore change.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

9:55 AM Changeset in webkit [176846] by ddkilzer@apple.com
  • 8 edits in trunk/Source

FeatureDefines.xcconfig: Workaround bug in Xcode 5.1.1 when defining ENABLE_WEB_REPLAY
<http://webkit.org/b/139286>

Reviewed by Daniel Bates.

  • Configurations/FeatureDefines.xcconfig: Switch back to using

PLATFORM_NAME to workaround a bug in Xcode 5.1.1 on 10.8.

9:33 AM Changeset in webkit [176845] by andersca@apple.com
  • 10 edits in trunk/Source/WebKit2

Make WebPageProxy hold on to a SessionID instead of an API:Session
https://bugs.webkit.org/show_bug.cgi?id=139302

Reviewed by Sam Weinig.

This is in preparation for adding API::WebsiteDataStore. Currently we have to keep the
Session ID and the WebsiteDataStore separate because we still need to support toggling private browsing.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetSession):

  • UIProcess/API/C/WKSessionRef.cpp:

(WKSessionCreate):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

  • UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:

(+[_WKWebsiteDataStore nonPersistentDataStore]):

  • UIProcess/APISession.cpp:

(API::generateID):
(API::Session::Session):
(API::Session::createEphemeral):
(API::Session::legacyPrivateSession): Deleted.
(API::Session::create): Deleted.

  • UIProcess/APISession.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::createWebPage):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setSessionID):
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setSession): Deleted.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::sessionID):

9:26 AM Changeset in webkit [176844] by bshafiei@apple.com
  • 5 edits in tags/Safari-600.3.10.1/Source

Versioning.

9:23 AM Changeset in webkit [176843] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.3.10.1

New tag.

8:34 AM Changeset in webkit [176842] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/win

Follow-up build fix.

  • WebCoreSupport/WebVisitedLinkStore.cpp:

(WebVisitedLinkStore::shared):

5:25 AM Changeset in webkit [176841] by eric.carlson@apple.com
  • 10 edits in trunk/Source

[iOS] allow host application to opt-out of alternate fullscreen pt. 2
https://bugs.webkit.org/show_bug.cgi?id=139227

Source/WebCore:

Reviewed by Jer Noble and Anders Carlsson

  • WebCore.exp.in: Export HTMLMediaSession::allowsAlternateFullscreen, change the signature of

WebVideoFullscreenInterfaceAVKit::setupFullscreen.

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(-[WebVideoFullscreenController enterFullscreen:mode:]): Update for

WebVideoFullscreenInterfaceAVKit::setupFullscreen change.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h: Add argument to setupFullscreen.
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::setupFullscreen): Ditto.

Source/WebKit2:

Reviewed by Jer Noble and Anders Carlsson.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h: Add bool param to setupFullscreenWithID.
  • UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in: Ditto.
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): Ditto.

  • WebProcess/ios/WebVideoFullscreenManager.mm:

(WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): Pass new parameter

to SetupFullscreenWithID.

2:29 AM Changeset in webkit [176840] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix build warning in WebCore/platform/graphics module
https://bugs.webkit.org/show_bug.cgi?id=139290

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-12-05
Reviewed by Carlos Garcia Campos.

Fix a build warning by removing parameter name from function.

No new tests, no behavior change.

  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::getFamilyNameStringFromFontDescriptionAndFamily):

12:11 AM Changeset in webkit [176839] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

GraphicsLayerTextureMapper: Rename parameter to be more clear
https://bugs.webkit.org/show_bug.cgi?id=139288

Patch by sungmin cho <sungmin17.cho@lge.com> on 2014-12-05
Reviewed by Martin Robinson.

Rename 'media' to 'platformLayer'.

No new tests, no change in functionality.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::setContentsToPlatformLayer):

Dec 4, 2014:

11:46 PM Changeset in webkit [176838] by mrowe@apple.com
  • 3 edits in trunk/Source/WebCore

Fix pre-Yosemite builds.

The #ifs in two SPI wrapper headers were incorrect, resulting in code being included
prior to Yosemite that required Yosemite to compile.

  • platform/spi/mac/NSSharingServicePickerSPI.h:
  • platform/spi/mac/NSSharingServiceSPI.h:
10:58 PM Changeset in webkit [176837] by mrowe@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Build fix after r176836.

Reviewed by Mark Lam.

  • runtime/VM.h:

(JSC::VM::controlFlowProfiler): Don't try to export an inline function.
Doing so results in a weak external symbol being generated.

9:58 PM Changeset in webkit [176836] by saambarati1@gmail.com
  • 47 edits
    4 adds in trunk/Source/JavaScriptCore

JavaScript Control Flow Profiler
https://bugs.webkit.org/show_bug.cgi?id=137785

Reviewed by Filip Pizlo.

This patch introduces a mechanism for JavaScriptCore to profile
which basic blocks have executed. This mechanism will then be
used by the Web Inspector to indicate which basic blocks
have and have not executed.

The profiling works by compiling in an op_profile_control_flow
at the start of every basic block. Then, whenever this op code
executes, we know that a particular basic block has executed.

When we tier up a CodeBlock that contains an op_profile_control_flow
that corresponds to an already executed basic block, we don't
have to emit code for that particular op_profile_control_flow
because the internal data structures used to keep track of
basic block locations has already recorded that the corresponding
op_profile_control_flow has executed.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):

  • bytecode/Instruction.h:
  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedCodeBlock::addOpProfileControlFlowBytecodeOffset):
(JSC::UnlinkedCodeBlock::opProfileControlFlowBytecodeOffsets):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitProfileControlFlow):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::ConditionalNode::emitBytecode):
(JSC::IfElseNode::emitBytecode):
(JSC::WhileNode::emitBytecode):
(JSC::ForNode::emitBytecode):
(JSC::ContinueNode::emitBytecode):
(JSC::BreakNode::emitBytecode):
(JSC::ReturnNode::emitBytecode):
(JSC::CaseClauseNode::emitBytecode):
(JSC::SwitchNode::emitBytecode):
(JSC::ThrowNode::emitBytecode):
(JSC::TryNode::emitBytecode):
(JSC::ProgramNode::emitBytecode):
(JSC::FunctionNode::emitBytecode):

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGNode.h:

(JSC::DFG::Node::basicBlockLocation):

  • dfg/DFGNodeType.h:
  • 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):

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JIT.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_profile_control_flow):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_profile_control_flow):

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionFindTypeForExpression):
(functionReturnTypeFor):
(functionDumpBasicBlockExecutionRanges):

  • llint/LowLevelInterpreter.asm:
  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createFunctionExpr):
(JSC::ASTBuilder::createGetterOrSetterProperty):
(JSC::ASTBuilder::createFuncDeclStatement):
(JSC::ASTBuilder::endOffset):
(JSC::ASTBuilder::setStartOffset):

  • parser/NodeConstructors.h:

(JSC::Node::Node):

  • parser/Nodes.h:

(JSC::CaseClauseNode::setStartOffset):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseSwitchClauses):
(JSC::Parser<LexerType>::parseSwitchDefaultClause):
(JSC::Parser<LexerType>::parseBlockStatement):
(JSC::Parser<LexerType>::parseStatement):
(JSC::Parser<LexerType>::parseFunctionDeclaration):
(JSC::Parser<LexerType>::parseIfStatement):
(JSC::Parser<LexerType>::parseExpression):
(JSC::Parser<LexerType>::parseConditionalExpression):
(JSC::Parser<LexerType>::parseProperty):
(JSC::Parser<LexerType>::parseMemberExpression):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createFunctionExpr):
(JSC::SyntaxChecker::createFuncDeclStatement):
(JSC::SyntaxChecker::createGetterOrSetterProperty):
(JSC::SyntaxChecker::operatorStackPop):

  • runtime/BasicBlockLocation.cpp: Added.

(JSC::BasicBlockLocation::BasicBlockLocation):
(JSC::BasicBlockLocation::insertGap):
(JSC::BasicBlockLocation::getExecutedRanges):
(JSC::BasicBlockLocation::dumpData):
(JSC::BasicBlockLocation::emitExecuteCode):

  • runtime/BasicBlockLocation.h: Added.

(JSC::BasicBlockLocation::startOffset):
(JSC::BasicBlockLocation::endOffset):
(JSC::BasicBlockLocation::setStartOffset):
(JSC::BasicBlockLocation::setEndOffset):
(JSC::BasicBlockLocation::hasExecuted):

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getGlobalCodeBlock):

  • runtime/ControlFlowProfiler.cpp: Added.

(JSC::ControlFlowProfiler::~ControlFlowProfiler):
(JSC::ControlFlowProfiler::getBasicBlockLocation):
(JSC::ControlFlowProfiler::dumpData):
(JSC::ControlFlowProfiler::getBasicBlocksForSourceID):

  • runtime/ControlFlowProfiler.h: Added. This class is in

charge of generating BasicBlockLocations and also
providing an interface that the Web Inspector can use to ping
which basic blocks have executed based on the source id of a script.

(JSC::BasicBlockKey::BasicBlockKey):
(JSC::BasicBlockKey::isHashTableDeletedValue):
(JSC::BasicBlockKey::operator==):
(JSC::BasicBlockKey::hash):
(JSC::BasicBlockKeyHash::hash):
(JSC::BasicBlockKeyHash::equal):

  • runtime/Executable.cpp:

(JSC::ProgramExecutable::ProgramExecutable):
(JSC::ProgramExecutable::initializeGlobalProperties):

  • runtime/FunctionHasExecutedCache.cpp:

(JSC::FunctionHasExecutedCache::getUnexecutedFunctionRanges):

  • runtime/FunctionHasExecutedCache.h:
  • runtime/Options.h:
  • runtime/TypeProfiler.cpp:

(JSC::TypeProfiler::logTypesForTypeLocation):
(JSC::TypeProfiler::typeInformationForExpressionAtOffset):
(JSC::TypeProfiler::findLocation):
(JSC::TypeProfiler::dumpTypeProfilerData):

  • runtime/TypeProfiler.h:

(JSC::TypeProfiler::functionHasExecutedCache): Deleted.

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::enableProfilerWithRespectToCount):
(JSC::disableProfilerWithRespectToCount):
(JSC::VM::enableTypeProfiler):
(JSC::VM::disableTypeProfiler):
(JSC::VM::enableControlFlowProfiler):
(JSC::VM::disableControlFlowProfiler):
(JSC::VM::dumpTypeProfilerData):

  • runtime/VM.h:

(JSC::VM::functionHasExecutedCache):
(JSC::VM::controlFlowProfiler):

9:31 PM Changeset in webkit [176835] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.11.1/Source/WTF

Merged r176832.

9:13 PM Changeset in webkit [176834] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.11.1/Source

Versioning.

9:10 PM Changeset in webkit [176833] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.11.1

New tag.

8:59 PM Changeset in webkit [176832] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WTF

REGRESSION (r176683): RefCounter.h is installed outside SDKROOT

  • WTF.xcodeproj/project.pbxproj: Don't mark RefCounter.h as a

private header. WTF headers use a special build phase script to
be installed.

5:53 PM Changeset in webkit [176831] by dburkart@apple.com
  • 1 copy in tags/Safari-600.3.10

Tagging.

5:37 PM Changeset in webkit [176830] by ap@apple.com
  • 14 edits in trunk/Tools

Run http tests parallel
https://bugs.webkit.org/show_bug.cgi?id=138958

Reviewed by Daniel Bates.

Remove the concept of "locked shard". Now http tests are just like any other tests.
We start HTTP and WebSocket servers at the start if we need them, and terminate them
when done with all the tests (not when the last http test runs, which is unnecessarily
unpredictable).

This makes debug tests run in 8 minutes and 12 seconds on my Mac Pro. Without the
patch, they used to take over 15 minutes.

As part of the fix, we no longer pass the number of servers to Apache. I don't
think that these parameters did what we wanted them to do; Apache handles the load
just fine without them.

The change applies to all platforms. I fixed everything I could find on Mac, and
Ossy told me that he's been running http tests in parallel for a long time. If
there is increased instability for some ports, it will need to be fixed - there is
generally nothing special about http tests at this point, and most code is
cross-platform in WebKit2.

  • Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:

(LayoutTestRunner.init):
(LayoutTestRunner.run_tests):
(LayoutTestRunner.start_servers_with_lock):
(LayoutTestRunner._handle_started_test):
(Worker.handle):
(Sharder.init):
(Sharder.shard_tests):
(Sharder._shard_every_file):
(Sharder._shard_by_directory):
(LayoutTestRunner._handle_finished_test_list): Deleted.
(LayoutTestRunner._handle_finished_test_list.find): Deleted.
(Sharder._shard_in_two): Deleted.
(Sharder): Deleted.
(Sharder._resize_shards): Deleted.
(Sharder._resize_shards.divide_and_round_up): Deleted.
(Sharder._resize_shards.extract_and_flatten): Deleted.
(Sharder._resize_shards.split_at): Deleted.

  • Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:

(FakePrinter.print_workers_and_shards):
(LayoutTestRunnerTests.test_servers_started.start_http_server):
(LayoutTestRunnerTests.test_servers_started):
(SharderTests.get_shards):
(SharderTests.test_shard_by_dir):
(SharderTests.test_shard_every_file):
(SharderTests): Deleted.
(SharderTests.test_shard_in_two): Deleted.
(SharderTests.test_shard_in_two_has_no_locked_shards): Deleted.
(SharderTests.test_shard_in_two_has_no_unlocked_shards): Deleted.
(SharderTests.test_multiple_locked_shards): Deleted.

  • Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:

(ManagerTest.test_needs_servers.get_manager):
(ManagerTest.integration_test_needs_servers.get_manager):
(ManagerTest.test_look_for_new_crash_logs.get_manager):
(ManagerTest):

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(_set_up_derived_options):

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(RunTest.test_batch_size):
(RunTest.test_max_locked_shards): Deleted.

  • Scripts/webkitpy/layout_tests/servers/apache_http_server.py:

(LayoutTestApacheHttpd.init):

  • Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py:

(TestLayoutTestApacheHttpd.test_start_cmd):

  • Scripts/webkitpy/layout_tests/servers/http_server.py:

(Lighttpd.init):

  • Scripts/webkitpy/layout_tests/servers/http_server_base.py:

(HttpServerBase.init):

  • Scripts/webkitpy/layout_tests/views/printing.py:

(Printer.print_workers_and_shards):

  • Scripts/webkitpy/port/base.py:

(Port.default_child_processes):
(Port.to.start_http_server):
(Port.default_max_locked_shards): Deleted.

  • Scripts/webkitpy/port/port_testcase.py:

(PortTestCase.make_port):
(PortTestCase.test_default_max_locked_shards): Deleted.

  • Scripts/webkitpy/port/test.py:

(TestPort.start_http_server):

5:23 PM Changeset in webkit [176829] by andersca@apple.com
  • 30 edits in trunk/Source/WebKit2

Add missing includes in preparation for making toAPI require that it's passed an API::Object
https://bugs.webkit.org/show_bug.cgi?id=139278

Reviewed by Tim Horton.

  • UIProcess/API/C/WKAuthenticationChallenge.cpp:
  • UIProcess/API/C/WKAuthenticationDecisionListener.cpp:
  • UIProcess/API/C/WKContext.cpp:
  • UIProcess/API/C/WKDownload.cpp:
  • UIProcess/API/C/WKFrame.cpp:
  • UIProcess/API/C/WKGeolocationManager.cpp:
  • UIProcess/API/C/WKInspector.cpp:
  • UIProcess/API/C/WKPage.cpp:
  • UIProcess/GenericCallback.h:
  • UIProcess/Notifications/WebNotificationProvider.cpp:
  • UIProcess/WebContextConnectionClient.cpp:
  • UIProcess/WebContextInjectedBundleClient.cpp:
  • UIProcess/WebCookieManagerProxyClient.cpp:
  • UIProcess/WebDatabaseManagerProxyClient.cpp:
  • UIProcess/WebFindClient.cpp:
  • UIProcess/WebFormClient.cpp:
  • UIProcess/WebIconDatabaseClient.cpp:
  • UIProcess/WebPageContextMenuClient.cpp:
  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:
  • WebProcess/InjectedBundle/API/c/WKBundleDOMWindowExtension.cpp:
  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
  • WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
  • WebProcess/InjectedBundle/InjectedBundleClient.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
5:06 PM Changeset in webkit [176828] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

printInternal(PrintStream& out, JSC::JITCode::JITType type) ends up dumping a literal %s
https://bugs.webkit.org/show_bug.cgi?id=139274

Reviewed by Geoffrey Garen.

  • jit/JITCode.cpp:

(WTF::printInternal):

5:06 PM Changeset in webkit [176827] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/win

Don't use NeverDestroyed with a RefCounted object.

  • WebCoreSupport/WebVisitedLinkStore.cpp:

(WebVisitedLinkStore::shared):

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

Make API::String copy the underlying strings if needed, for thread safety
https://bugs.webkit.org/show_bug.cgi?id=139261

Reviewed by Sam Weinig.

Source/WebKit2:

  • Shared/API/c/WKString.cpp:

(WKStringCreateWithUTF8CString):
(WKStringCreateWithJSString):
(WKStringCopyJSString):
Move the implementations from API::String and directly into the API functions.

  • Shared/APIString.h:

Add a create overload that takes an rvalue reference. Call it from the create overload
that takes an lvalue reference, but explicitly copy the string.
We call isolatedCopy() again on the string in the rvalue reference overload, but that is a no-op
if the string can be sent to another thread. Add assertions in the String constructor that we can
send the string to another thread.

Source/WTF:

  • wtf/RefPtr.h:

(WTF::RefPtr<T>::leakRef):
Add a leakRef() to RefPtr so we don't have to go through PassRefPtr.

  • wtf/text/WTFString.cpp:

(WTF::String::isSafeToSendToAnotherThread):
Check if the string is empty before checking whether it's in an atomic string table.
It's safe to send empty strings to other threads even if they're in the atomic string table
since they will never be deallocated.

4:59 PM Changeset in webkit [176825] by ggaren@apple.com
  • 13 edits in trunk/Source/JavaScriptCore

Removed the concept of ParserArenaRefCounted
https://bugs.webkit.org/show_bug.cgi?id=139277

Reviewed by Oliver Hunt.

This is a step toward a parser speedup.

Now that we have a clear root node type for each parse tree, there's no
need to have a concept for "I might be refcounted or arena allocated".
Instead, we can just use unique_ptr to manage the tree as a whole.

  • API/JSScriptRef.cpp:

(parseScript):

  • builtins/BuiltinExecutables.cpp:

(JSC::BuiltinExecutables::createBuiltinExecutable): Updated for type change.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::generateFunctionCodeBlock): Use unique_ptr. No need to call
destroyData() explicitly: the unique_ptr destructor will do everything
we need, as Bjarne intended.

  • parser/NodeConstructors.h:

(JSC::ParserArenaRoot::ParserArenaRoot):
(JSC::ParserArenaRefCounted::ParserArenaRefCounted): Deleted.

  • parser/Nodes.cpp:

(JSC::ScopeNode::ScopeNode):
(JSC::ProgramNode::ProgramNode):
(JSC::EvalNode::EvalNode):
(JSC::FunctionNode::FunctionNode):
(JSC::ProgramNode::create): Deleted.
(JSC::EvalNode::create): Deleted.
(JSC::FunctionNode::create): Deleted. All special create semantics can
just go away now that we play by C++ constructor / destructor rules.

  • parser/Nodes.h:

(JSC::ParserArenaRoot::parserArena):
(JSC::ParserArenaRoot::~ParserArenaRoot): Just a normal class now, which
holds onto the whole parse tree by virtue of owning the arena in which
all the parsed nodes (except for itself) were allocated.

(JSC::ProgramNode::closedVariables):
(JSC::ParserArenaRefCounted::~ParserArenaRefCounted): Deleted.

(JSC::ScopeNode::destroyData): Deleted. No need to destroy anything
explicitly anymore -- we can just rely on destructors.

(JSC::ScopeNode::parserArena): Deleted.

  • parser/Parser.h:

(JSC::Parser<LexerType>::parse):
(JSC::parse): unique_ptr all the things.

  • parser/ParserArena.cpp:

(JSC::ParserArena::reset):
(JSC::ParserArena::isEmpty):
(JSC::ParserArena::contains): Deleted.
(JSC::ParserArena::last): Deleted.
(JSC::ParserArena::removeLast): Deleted.
(JSC::ParserArena::derefWithArena): Deleted.

  • parser/ParserArena.h:

(JSC::ParserArena::swap): Much delete. Such wow.

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):

  • runtime/Completion.cpp:

(JSC::checkSyntax):

  • runtime/Executable.cpp:

(JSC::ProgramExecutable::checkSyntax): unique_ptr all the things.

4:55 PM Changeset in webkit [176824] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r173188): Text inserted when trying to delete a word from the Twitter message box.
<https://webkit.org/b/139076>

Reviewed by Geoffrey Garen.

The StringImpl* -> Weak<JSString> cache used by the DOM bindings
had a bug where the key could become a stale pointer if the cached
JSString had its internal StringImpl atomicized.

If a new StringImpl was then later constructed at the exact same
address as the stale key, before the Weak<JSString> got booted out
of the string cache, we'd now have a situation where asking the
string cache for that key would return the old JSString.

Solve this by not allowing JSString::toExistingAtomicString() to
change the JSString's internal StringImpl unless it's resolving a
rope string. (The StringImpl nullity determines rope state.)

This means that calling toExistingAtomicString() may now have to
query the AtomicString table on each call rather than just once.
All clients of this API would be forced to do this regardless,
since they return value will be used to key into containers with
AtomicStringImpl* keys.

No test because this relies on malloc putting two StringImpls
at the same address at different points in time and we have no
mechanism to reliably test that.

  • runtime/JSString.h:

(JSC::JSString::toExistingAtomicString):

3:55 PM Changeset in webkit [176823] by ggaren@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

2014-12-04 Geoffrey Garen <ggaren@apple.com>

Marked some final things final.

Reviewed by Andreas Kling.

  • parser/Nodes.h:
3:47 PM Changeset in webkit [176822] by ggaren@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

Split out FunctionNode from FunctionBodyNode
https://bugs.webkit.org/show_bug.cgi?id=139273

Reviewed by Andreas Kling.

This is step toward a parser speedup.

We used to use FunctionBodyNode for two different purposes:

(1) "I am the root function you are currently parsing";

(2) "I am a lazy record of a nested function, which you will parse later".

This made for awkward lifetime semantics and interfaces.

Now, case (1) is handled by FunctionBodyNode, and case (2) is handled by
a new node named FunctionNode.

Since case (1) no longer needs to handle being the root of the parse
tree, FunctionBodyNode can be a normal arena-allocated node.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::generateFunctionCodeBlock): Use FunctionNode instead of
FunctionBodyNode, since we are producing the root of the function parse
tree.

(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable): Removed
some unused data, and default-initialized other data, which isn't filled
in meaningfully until recordParse() is called. (The previous values were
incorrect / meaningless, since the FunctionBodyNode didn't have
meaningful values in this case.)

  • bytecode/UnlinkedCodeBlock.h: Ditto.

(JSC::UnlinkedFunctionExecutable::forceUsesArguments): Deleted.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator): Use FunctionNode instead of
FunctionBodyNode, since we are generating code starting at the root of
the parse tree.

(JSC::BytecodeGenerator::resolveCallee):
(JSC::BytecodeGenerator::addCallee):

  • bytecompiler/BytecodeGenerator.h: Ditto.
  • bytecompiler/NodesCodegen.cpp:

(JSC::FunctionBodyNode::emitBytecode):
(JSC::FunctionNode::emitBytecode): Moved the emitBytecode implementation
to FunctionNode, since we never generate code for FunctionBodyNode,
since it's just a placeholder in the AST.

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createFunctionBody):
(JSC::ASTBuilder::setUsesArguments): Deleted. Updated for interface
changes.

  • parser/Nodes.cpp:

(JSC::FunctionBodyNode::FunctionBodyNode):
(JSC::FunctionBodyNode::finishParsing):
(JSC::FunctionBodyNode::setEndPosition):
(JSC::FunctionNode::FunctionNode):
(JSC::FunctionNode::create):
(JSC::FunctionNode::finishParsing):
(JSC::FunctionBodyNode::create): Deleted.

  • parser/Nodes.h:

(JSC::FunctionBodyNode::parameters):
(JSC::FunctionBodyNode::source):
(JSC::FunctionBodyNode::startStartOffset):
(JSC::FunctionBodyNode::isInStrictContext):
(JSC::FunctionNode::parameters):
(JSC::FunctionNode::ident):
(JSC::FunctionNode::functionMode):
(JSC::FunctionNode::startColumn):
(JSC::FunctionNode::endColumn):
(JSC::ScopeNode::setSource): Deleted.
(JSC::FunctionBodyNode::parameterCount): Deleted. Split out the differences
between FunctionNode and FunctionBodyNode.

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createClauseList):
(JSC::SyntaxChecker::setUsesArguments): Deleted. Removed setUsesArguments
since it wasn't used.

  • runtime/Executable.cpp:

(JSC::ProgramExecutable::checkSyntax): Removed a branch that was always
false.

3:26 PM Changeset in webkit [176821] by dino@apple.com
  • 2 edits in trunk/LayoutTests

css3/viewport-percentage-lengths tests are flakey on WK1 Mavericks Debug
https://bugs.webkit.org/show_bug.cgi?id=139271

Marking as flakey.

  • platform/mac-mavericks/TestExpectations:
2:57 PM Changeset in webkit [176820] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Clients disabling action menus sometimes still invoke action menu behaviors
https://bugs.webkit.org/show_bug.cgi?id=139270
-and corresponding-
rdar://problem/19147218

Reviewed by Tim Horton.

By default, we will keep a single item in the action menu up until the point where
_state == ActionMenuState::Ready. So by checking _state here, we are preventing
clients from opting out of our choice to wait. Ideally we would always still wait
for the Ready state, but this will get the best behavior in the mean time.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _updateActionMenuItems]):

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

Web Inspector: Network Timeline Filter Bar only has "All", missing Resource Type filters
https://bugs.webkit.org/show_bug.cgi?id=139268

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-12-04
Reviewed by Brian Burg.

  • UserInterface/Views/TimelineDataGrid.js:

(WebInspector.TimelineDataGrid.createColumnScopeBar):
Users of createColumnScopeBar pass a Map object now instead of a dictionary.
Iterate over the map appropriately.

2:48 PM Changeset in webkit [176818] by Antti Koivisto
  • 5 edits in trunk/Source/WebKit2

REGRESSION (r173468): Cannot step in WebInspector
https://bugs.webkit.org/show_bug.cgi?id=139260

Reviewed by Alexey Proskuryakov.

Inspector defers all loads and starts a nested runloop when it hits a breakpoint. When continuing it undefers the loads.
If the script execution was triggered from the didFinishLoading callback of the main resource then the main resource would
already be in the finished state in the network process side and setDefersLoading(false) message would end up restarting its load.
Since loads are not meant to restart the generated callbacks would assert or crash the web process when handled in the next
nested inspector runloop.

Fix by taking care that cleaned up NetworkResourceLoaders are always removed from the loader map of
the NetworkConnectionToWebProcess and so can't end up handling late messages.

No test, this requires JS debugger to trigger.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didCleanupResourceLoader):

This is now the only way to remove resource loaders.
It is called from NetworkResourceLoader::cleanup only.

(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::removeLoadIdentifier):

Calling abort removes the resource loader (since it calls cleanup) so no need to do it explicitly anymore.

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::start):

We are guaranteed to be reffed by NetworkConnectionToWebProcess until cleanup so the explicit ref/deref can be removed.

(WebKit::NetworkResourceLoader::cleanup):

Call to NetworkConnectionToWebProcess::didCleanupResourceLoader to make the loader unreachable.

  • NetworkProcess/NetworkResourceLoader.h:

(WebKit::NetworkResourceLoader::identifier):

2:20 PM Changeset in webkit [176817] by Brian Burg
  • 14 edits in trunk

Web Inspector: timeline probe records have inaccurate per-probe hit counts
https://bugs.webkit.org/show_bug.cgi?id=138976

Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:

Previously, the DebuggerAgent was responsible for assigning unique ids to samples.
However, this makes it impossible for the frontend's Timeline manager to associate
a Probe Sample timeline record with the corresponding probe sample data. The record
only included the probe batchId (misnamed as hitCount in ScriptDebugServer).

This patch moves both the batchId and sampleId counters into ScriptDebugServer, so
any client of ScriptDebugListener will get the correct sampleId for each sample.

  • inspector/ScriptDebugListener.h:
  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::ScriptDebugServer):
(Inspector::ScriptDebugServer::dispatchBreakpointActionProbe):
(Inspector::ScriptDebugServer::handleBreakpointHit):

  • inspector/ScriptDebugServer.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::InspectorDebuggerAgent):
(Inspector::InspectorDebuggerAgent::breakpointActionProbe):

  • inspector/agents/InspectorDebuggerAgent.h:

Source/WebCore:

Update the signature for breakpointActionProbe to take batchId and sampleId.
Covered by existing test inspector-protocol/debugger/didSampleProbe-multiple-probes.html.

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::breakpointActionProbe):

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

(WebCore::TimelineRecordFactory::createProbeSampleData):

  • inspector/TimelineRecordFactory.h:

LayoutTests:

Patch by Katie Madonna <madonnk@gmail.com>

Update test to also cover expected probe sampleId behavior.

  • inspector-protocol/debugger/didSampleProbe-multiple-probes-expected.txt:
  • inspector-protocol/debugger/didSampleProbe-multiple-probes.html:
2:01 PM Changeset in webkit [176816] by cavalcantii@gmail.com
  • 4 edits
    4 adds in trunk

Groove/inset/outset borders show solid if the color is black
https://bugs.webkit.org/show_bug.cgi?id=58608

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/borders/mixed-border-style2.html

This patch will lighten/darken the border side colors, handling
border decoration in a similar way as Firefox does.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::drawLineForBoxSide):
(WebCore::RenderObject::calculateBorderStyleColor):

  • rendering/RenderObject.h:

LayoutTests:

  • fast/borders/mixed-border-style2.html: Added.
  • platform/mac-mavericks/fast/borders/mixed-border-style2-expected.png: Added.
  • platform/mac-mavericks/fast/borders/mixed-border-style2-expected.txt: Added.
1:56 PM Changeset in webkit [176815] by Joseph Pecoraro
  • 4 edits in trunk

Web Inspector: LayoutTests/inspector tests fail in Production builds due to missing test resources
https://bugs.webkit.org/show_bug.cgi?id=138898

Reviewed by Mark Rowe.

Source/WebInspectorUI:

In Production builds, if FORCE_TOOL_INSTALL=YES is in the environment
we will copy all resources (for Tests) and still do the combine and
optimize phase for normal Production inspection resources.

  • Scripts/copy-user-interface-resources.pl:

LayoutTests:

  • platform/mac/TestExpectations:
1:49 PM Changeset in webkit [176814] by ap@apple.com
  • 6 edits in trunk/Tools

Don't lock perf tests in run-webkit-tests
https://bugs.webkit.org/show_bug.cgi?id=139264

Reviewed by Daniel Bates.

  • Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
  • Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
  • Scripts/webkitpy/layout_tests/controllers/manager.py:
  • Scripts/webkitpy/layout_tests/models/test_input.py:
  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
1:48 PM Changeset in webkit [176813] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move 'webkit-aspect-ratio' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139250

Reviewed by Sam Weinig.

Move 'aspect-ratio' CSS property to the new StyleBuilder by
using custom code.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyAspectRatio::applyInheritValue): Deleted.
(WebCore::ApplyPropertyAspectRatio::applyInitialValue): Deleted.
(WebCore::ApplyPropertyAspectRatio::applyValue): Deleted.
(WebCore::ApplyPropertyAspectRatio::createHandler): Deleted.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyInitialWebkitAspectRatio):
(WebCore::StyleBuilderCustom::applyInheritWebkitAspectRatio):
(WebCore::StyleBuilderCustom::applyValueWebkitAspectRatio):

1:32 PM Changeset in webkit [176812] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Further fix the 32-bit build.

  • page/mac/TextIndicatorWindow.mm:

(WebCore::TextIndicatorWindow::setTextIndicator):

1:10 PM Changeset in webkit [176811] by timothy_horton@apple.com
  • 7 edits in trunk/Source

Fix the 32-bit build.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _setTextIndicator:fadeOut:animationCompletionHandler:]):

  • WebView/WebView.mm:

(-[WebView _setTextIndicator:fadeOut:animationCompletionHandler:]):

  • page/mac/TextIndicatorWindow.h:
  • page/mac/TextIndicatorWindow.mm:

(WebCore::TextIndicatorWindow::setTextIndicator):

11:58 AM Changeset in webkit [176810] by timothy_horton@apple.com
  • 12 edits in trunk/Source

TextIndicator::createWithSelectionInFrame does synchronous IPC in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=139252
<rdar://problem/19140827>

Reviewed by Anders Carlsson.

It turns out contentsToScreen requires sync IPC in Mac WebKit2, which we
really don't want to be doing here (especially since the UI process will often
be sitting in waitForAndDispatchImmediately waiting for didPerformActionMenuHitTest).

Go back to keeping TextIndicator rects in "window" coordinates and do the conversion
in each of the WebKits instead of trying to share that code.

  • WebCore.exp.in:
  • page/TextIndicator.cpp:

(WebCore::TextIndicator::createWithSelectionInFrame):
(WebCore::TextIndicator::TextIndicator):

  • page/TextIndicator.h:

(WebCore::TextIndicator::selectionRectInWindowCoordinates):
(WebCore::TextIndicator::textBoundingRectInWindowCoordinates):
(WebCore::TextIndicator::selectionRectInScreenCoordinates): Deleted.
(WebCore::TextIndicator::textBoundingRectInScreenCoordinates): Deleted.
Go back to keeping the rects in "window" coordinates.

  • page/mac/TextIndicatorWindow.h:
  • page/mac/TextIndicatorWindow.mm:

(-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
(WebCore::TextIndicatorWindow::setTextIndicator):
Let callers pass in the contentRect instead of trying to share the code
to compute it, since it needs to be different for legacy and modern WebKit.

  • WebView/WebView.mm:

(-[WebView _setTextIndicator:fadeOut:animationCompletionHandler:]):
Adjust to the WebCore changes.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<TextIndicatorData>::encode):
(IPC::ArgumentCoder<TextIndicatorData>::decode):

  • UIProcess/API/mac/WKView.mm:

(-[WKView _setTextIndicator:fadeOut:animationCompletionHandler:]):

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::updateFindIndicator):
(WebKit::FindController::drawRect):
Adjust to the WebCore changes.

11:57 AM Changeset in webkit [176809] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merged r176803. rdar://problems/19034499

11:54 AM Changeset in webkit [176808] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebCore

Merge r176682. rdar://problems/18903995

11:47 AM Changeset in webkit [176807] by dburkart@apple.com
  • 11 edits in branches/safari-600.3-branch/Source

Merge r176766. rdar://problems/19072083

11:39 AM Changeset in webkit [176806] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Simplify StorageManager callback functions
https://bugs.webkit.org/show_bug.cgi?id=139257

Reviewed by Antti Koivisto.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::getOrigins):
(WebKit::StorageManager::getStorageDetailsByOrigin):
(WebKit::callCallbackFunction): Deleted.
(WebKit::StorageManager::getOriginsInternal): Deleted.
(WebKit::StorageManager::getStorageDetailsByOriginInternal): Deleted.

  • UIProcess/Storage/StorageManager.h:
  • UIProcess/WebKeyValueStorageManager.cpp:

(WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
(WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin):
(WebKit::didGetKeyValueStorageOrigins): Deleted.
(WebKit::didGetStorageDetailsByOrigin): Deleted.

11:22 AM Changeset in webkit [176805] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WTF

Fix cast-align warning in StringImpl.h
https://bugs.webkit.org/show_bug.cgi?id=139222

Reviewed by Anders Carlsson.

  • wtf/text/StringImpl.h:

(WTF::StringImpl::tailPointer):

11:21 AM Changeset in webkit [176804] by dburkart@apple.com
  • 24 edits in branches/safari-600.3-branch/Source

Merge r173235. rdar://problems/19072083

10:31 AM Changeset in webkit [176803] by ddkilzer@apple.com
  • 4 edits in trunk/Source

Serialization of MapData object provides unsafe access to internal types
https://bugs.webkit.org/show_bug.cgi?id=138653

Patch by Oliver Hunt <oliver@apple.com> on 2014-12-04
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Converting these ASSERTs into RELEASE_ASSERTs, as it is now obvious
that despite trying hard to be safe in all cases it's simply to easy
to use an iterator in an unsafe state.

  • runtime/MapData.h:

(JSC::MapData::const_iterator::key):
(JSC::MapData::const_iterator::value):

Source/WebCore:

We now keep the value portion of the key/value pair in MapData as a
separate stack. This allows us to maintain the spec semantic of
"atomic" serialisation of the key/value pair without retaining the
use of a potentially invalid iterator.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::serialize):

9:41 AM Changeset in webkit [176802] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after r176794.

  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:

(WebKit::fileCreationTime):
(WebKit::fileModificationTime):

9:40 AM Changeset in webkit [176801] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merge r176697. rdar://problems/19121822

9:18 AM Changeset in webkit [176800] by ap@apple.com
  • 2 edits in trunk/Tools

http/tests/security/mixedContent/about-blank-iframe-in-main-frame.html fails unless certain other tests run before it
https://bugs.webkit.org/show_bug.cgi?id=139243

Reviewed by Anders Carlsson.

We didn't get WKPageLoaderClient calls in secondary windows, so we didn't have a
chance to allow untrusted certificates.

  • WebKitTestRunner/TestController.cpp: (WTR::TestController::createOtherPage):

Set up more client objects for secondary windows. We may be able to share some of the
code with main view creation function, but it's not exactly the same (notably, we
do not focus a secondary window when it's done loading).

9:11 AM Changeset in webkit [176799] by dburkart@apple.com
  • 11 edits in branches/safari-600.3-branch/Source

Rollout r176766. rdar://problems/19072083

9:05 AM Changeset in webkit [176798] by stavila@adobe.com
  • 32 edits
    6 adds in trunk/Source/WebCore

[SVG Masking] Add support for referencing <mask> elements from -webkit-mask-image
https://bugs.webkit.org/show_bug.cgi?id=139092

Reviewed by Simon Fraser.

This patch improves the -webkit-mask-image property by allowing it to reference
a <mask> element defined in an inline or external SVG document.
Up until now, each image to be used as a mask consisted of a FillLayer object
whose m_image member represented the mask. Now, in order to accomodate
<mask> elements referenced by a fragment identifier (e.g. file.svg#mask1)
a new class was created (MaskImageOperation) and added as a member of the
FillLayer. As such, from now on, all FillLayer objects used for masking will
store the masking information in this new member.
When parsing the -webkit-mask-image property (or the -webkit-mask shorthand)
a new MaskImageOperation object is created for each image. If the value represents
an external URL, a pending SVG document will be created which will be loaded
during the phase that loads the pending resources. When the download is complete,
the MaskImageOperation is notified by the CachedSVGDocument class and checks if
the received download is a valid SVG and the requested fragment identifier
actually exists and identifies a <mask> element. If it does, that element's
renderer (of type RenderSVGResourceMasker) will be used when painting the mask layers.
Otherwise, the MaskImageOperation class will use the already downloaded data
buffer to create a CachedImage from it and use that instead, basically emulating
the previous behavior, when only images were accepted. This ensures that all existing
behavior, like painting entire SVGs, painting normal images (e.g. PNG/JPG), painting
generated images (e.g. linear-gradient) works as it did before.

No new tests required, this patch doesn't change any current functionality.
It only adds support for referencing <mask> elements for the -webkit-mask-image
property. This is sub-part 1 of the bigger patch https://bugs.webkit.org/show_bug.cgi?id=129682.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSValue.cpp:

(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):

  • css/CSSValue.h:

(WebCore::CSSValue::isWebKitCSSResourceValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::createMaskImageOperations):

  • css/StyleResolver.h:

(WebCore::StyleResolver::State::maskImagesWithPendingSVGDocuments):

  • css/WebKitCSSResourceValue.cpp: Added.

(WebCore::WebKitCSSResourceValue::WebKitCSSResourceValue):
(WebCore::WebKitCSSResourceValue::customCSSText):
(WebCore::WebKitCSSResourceValue::isCSSValueNone):

  • css/WebKitCSSResourceValue.h: Added.

(WebCore::WebKitCSSResourceValue::create):
(WebCore::WebKitCSSResourceValue::innerValue):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::addCachedResource):

  • loader/cache/CachedResourceLoader.h:
  • loader/cache/CachedSVGDocument.cpp:

(WebCore::CachedSVGDocument::CachedSVGDocument):
(WebCore::CachedSVGDocument::finishLoading):

  • loader/cache/CachedSVGDocument.h:
  • loader/cache/CachedSVGDocumentReference.cpp:

(WebCore::CachedSVGDocumentReference::CachedSVGDocumentReference):
(WebCore::CachedSVGDocumentReference::~CachedSVGDocumentReference):
(WebCore::CachedSVGDocumentReference::load):

  • loader/cache/CachedSVGDocumentReference.h:
  • page/FrameView.cpp:

(WebCore::FrameView::isSVGDocument):

  • page/FrameView.h:
  • page/Page.cpp:

(WebCore::Page::createPageFromBuffer):

  • page/Page.h:
  • platform/ScrollView.h:

(WebCore::ScrollView::isSVGDocument):

  • platform/graphics/MaskImageOperation.cpp: Added.

(WebCore::MaskImageOperation::create):
(WebCore::MaskImageOperation::MaskImageOperation):
(WebCore::MaskImageOperation::~MaskImageOperation):
(WebCore::MaskImageOperation::isCSSValueNone):
(WebCore::MaskImageOperation::cssValue):
(WebCore::MaskImageOperation::isMaskLoaded):
(WebCore::MaskImageOperation::setRenderLayerImageClient):
(WebCore::MaskImageOperation::addRendererImageClient):
(WebCore::MaskImageOperation::removeRendererImageClient):
(WebCore::MaskImageOperation::getOrCreateCachedSVGDocumentReference):
(WebCore::MaskImageOperation::notifyFinished): This is the method that gets called when the document has finished
downloading and checks if it can find a valid <mask> element.
(WebCore::MaskImageOperation::drawMask):
(WebCore::MaskImageOperation::getSVGMasker):

  • platform/graphics/MaskImageOperation.h: Added.
  • rendering/RenderBoxModelObject.cpp: The BackgroundImageGeometry class was moved out of RenderBoxModelObject in

order to be used as a parameter for other methods. This was necessary to avoid having methods with very many parameters.
(WebCore::BackgroundImageGeometry::setNoRepeatX):
(WebCore::BackgroundImageGeometry::setNoRepeatY):
(WebCore::BackgroundImageGeometry::useFixedAttachment):
(WebCore::BackgroundImageGeometry::clip):
(WebCore::BackgroundImageGeometry::relativePhase):
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatX): Deleted.
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::setNoRepeatY): Deleted.
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment): Deleted.
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip): Deleted.
(WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase): Deleted.

  • rendering/RenderBoxModelObject.h:

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

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::~RenderLayer):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerMaskImageInfo.cpp: Added.

(WebCore::RenderLayer::MaskImageInfo::layerToMaskMap): Returns a static map that links MaskImageInfo objects to RenderLayers.
(WebCore::RenderLayer::MaskImageInfo::getIfExists): Returns the MaskImageInfo associated with a specific RenderLayer.
(WebCore::RenderLayer::MaskImageInfo::get): Returns the MaskImageInfo associated with a specific RenderLayer (creates it if necessary).
(WebCore::RenderLayer::MaskImageInfo::remove): Removes the MaskImageInfo associated with a specific RenderLayer.
(WebCore::RenderLayer::MaskImageInfo::MaskImageInfo):
(WebCore::RenderLayer::MaskImageInfo::~MaskImageInfo):
(WebCore::RenderLayer::MaskImageInfo::notifyFinished): Gets called when the SVG document finished loading, triggers repaint.
(WebCore::RenderLayer::MaskImageInfo::imageChanged): Gets called when the image object changed, triggers repaint.
(WebCore::RenderLayer::MaskImageInfo::updateMaskImageClients): Goes through all mask layers and sets image/SVG clients.
Updates list of internal and external SVG references.
(WebCore::RenderLayer::MaskImageInfo::removeMaskImageClients): Removes all image/SVG clients and clears lists of internal and external SVG references.

  • rendering/RenderLayerMaskImageInfo.h: Added.
  • rendering/RenderObject.h:

(WebCore::RenderObject::isRenderSVGResourceMasker):

  • rendering/style/FillLayer.cpp:

(WebCore::FillLayer::FillLayer):
(WebCore::FillLayer::operator=):
(WebCore::FillLayer::operator==):
(WebCore::FillLayer::cullEmptyLayers):
(WebCore::FillLayer::hasNonEmptyMaskImage):
(WebCore::FillLayer::imagesAreLoaded):

  • rendering/style/FillLayer.h:

(WebCore::FillLayer::maskImage):
(WebCore::FillLayer::imageOrMaskImage):
(WebCore::FillLayer::setMaskImage):
(WebCore::FillLayer::clearMaskImage):
(WebCore::FillLayer::hasMaskImage):

  • rendering/svg/RenderSVGResourceMasker.cpp:

(WebCore::RenderSVGResourceMasker::applySVGMask):
(WebCore::RenderSVGResourceMasker::applyResource):
(WebCore::RenderSVGResourceMasker::drawMaskForRenderer):

  • rendering/svg/RenderSVGResourceMasker.h:
  • svg/SVGMaskElement.cpp:

(WebCore::SVGMaskElement::createElementRenderer):
(WebCore::SVGMaskElement::addClientRenderLayer):
(WebCore::SVGMaskElement::removeClientRenderLayer):

  • svg/SVGMaskElement.h:
  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::setCachedDocument):

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::dataChanged):

8:36 AM Changeset in webkit [176797] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r176777. rdar://problems/19115662

8:35 AM Changeset in webkit [176796] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r176775. rdar://problems/19115662

8:35 AM Changeset in webkit [176795] by dburkart@apple.com
  • 11 edits in branches/safari-600.3-branch/Source

Merged r176766. rdar://problems/19072083

8:35 AM Changeset in webkit [176794] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Add a way to delete local storage origins modified after a given date
https://bugs.webkit.org/show_bug.cgi?id=139249

Reviewed by Tim Horton.

Also change LocalStorageDatabaseTracker to hold on to WTF::Optional time_t values
instead of treating missing values as zero.

  • UIProcess/LocalStorageDetails.h:
  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:

(WebKit::fileCreationTime):
(WebKit::fileModificationTime):
(WebKit::LocalStorageDatabaseTracker::deleteDatabasesModifiedSince):
(WebKit::LocalStorageDatabaseTracker::details):

  • UIProcess/Storage/LocalStorageDatabaseTracker.h:
  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince):

  • UIProcess/Storage/StorageManager.h:
  • UIProcess/WebKeyValueStorageManager.cpp:

(WebKit::didGetStorageDetailsByOrigin):

8:35 AM Changeset in webkit [176793] by dburkart@apple.com
  • 6 edits in branches/safari-600.3-branch/Source

Merged r176763. rdar://problems/19115662

7:54 AM Changeset in webkit [176792] by dburkart@apple.com
  • 18 edits in branches/safari-600.3-branch/Source

Merge r176753. rdar://problems/19052381

7:42 AM Changeset in webkit [176791] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176707. rdar://problems/19037590

6:09 AM Changeset in webkit [176790] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

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

Broke the non Mac-WK2 builds (Requested by stavila on
#webkit).

Reverted changeset:

"Remove isSpecifiedFont boolean from FontDescription"
https://bugs.webkit.org/show_bug.cgi?id=139233
http://trac.webkit.org/changeset/176789

3:50 AM Changeset in webkit [176789] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Remove isSpecifiedFont boolean from FontDescription
https://bugs.webkit.org/show_bug.cgi?id=139233

Reviewed by Andreas Kling.

It is barely used.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyInheritFontFamily):
(WebCore::StyleBuilderCustom::applyValueFontFamily):

  • platform/graphics/FontDescription.cpp:

(WebCore::genericFamiliesSet):
(WebCore::FontDescription::hasGenericFirstFamily):

Add a function to test for generic families.

  • platform/graphics/FontDescription.h:

(WebCore::FontDescription::FontDescription):
(WebCore::FontDescription::setTextRenderingMode):
(WebCore::FontDescription::operator==):
(WebCore::FontDescription::isSpecifiedFont): Deleted.
(WebCore::FontDescription::setIsSpecifiedFont): Deleted.

  • rendering/RenderText.cpp:

(WebCore::RenderText::computeUseBackslashAsYenSymbol):

This is the only client.
Figure out the equivalent information dynamically if needed.

2:18 AM Changeset in webkit [176788] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk/LayoutTests

[EFL][WebGL] Remove junk webgl layout tests from TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=139253

Reviewed by Gyuyoung Kim.

  • platform/efl/TestExpectations:
2:10 AM Changeset in webkit [176787] by berto@igalia.com
  • 2 edits in trunk

can not find cairo-gl.h when build webkit with gtk on ubuntu 14.04
https://bugs.webkit.org/show_bug.cgi?id=136576

Reviewed by Carlos Garcia Campos.

CMake should complain if Accelerated 2D Canvas is explicitly
enabled but cairo-gl is not found.

  • Source/cmake/OptionsGTK.cmake:
1:23 AM Changeset in webkit [176786] by pmolnar.u-szeged@partner.samsung.com
  • 5 edits in trunk/Source/WebKit2

[EFL][WK2] Add ewk API to allow accepting a specific TLS certificate for a specific host
https://bugs.webkit.org/show_bug.cgi?id=131160

Reviewed by Gyuyoung Kim.

  • UIProcess/API/efl/ewk_context.cpp:

(EwkContext::allowSpecificHTTPSCertificateForHost):
(ewk_context_tls_certificate_for_host_allow):

  • UIProcess/API/efl/ewk_context.h:
  • UIProcess/API/efl/ewk_context_private.h:
  • UIProcess/API/efl/tests/test_ewk2_ssl.cpp:

Dec 3, 2014:

10:42 PM Changeset in webkit [176785] by adachan@apple.com
  • 1 edit
    12 adds in trunk/Examples

Add a sample plugin to demonstrate the mute plugin API.
https://bugs.webkit.org/show_bug.cgi?id=139231

Reviewed by Anders Carlsson.

  • NetscapeMuteAPIPlugin/AudioPlayer.h: Added.
  • NetscapeMuteAPIPlugin/AudioPlayer.mm: Added.

(-[AudioPlayer initWithURL:]):
(-[AudioPlayer dealloc]):
(-[AudioPlayer isReadyToPlay]):
(-[AudioPlayer isPlaying]):
(-[AudioPlayer setPlaying:]):
(-[AudioPlayer isMuted]):
(-[AudioPlayer setMuted:]):
(-[AudioPlayer observeValueForKeyPath:ofObject:change:context:]):

  • NetscapeMuteAPIPlugin/English.lproj/InfoPlist.strings: Added.
  • NetscapeMuteAPIPlugin/Info.plist: Added.
  • NetscapeMuteAPIPlugin/MenuHandler.h: Added.
  • NetscapeMuteAPIPlugin/MenuHandler.m: Added.

(-[MenuHandler _play:]):
(-[MenuHandler _pause:]):
(-[MenuHandler validateUserInterfaceItem:]):
(-[MenuHandler initWithAudioPlayer:]):
(-[MenuHandler dealloc]):
(-[MenuHandler menu]):

  • NetscapeMuteAPIPlugin/NetscapeMuteAPIPlugin.xcodeproj/project.pbxproj: Added.
  • NetscapeMuteAPIPlugin/main.m: Added.

(-[PluginObject initWithNPP:audioURL:]):
(-[PluginObject dealloc]):
(-[PluginObject menuHandler]):
(-[PluginObject isPlayingAudio]):
(-[PluginObject isMuted]):
(-[PluginObject setMuted:]):
(-[PluginObject readyStateDidChangeForAudioPlayer:]):
(-[PluginObject mutedStateDidChangeForAudioPlayer:]):
(-[PluginObject playStateDidChangeForAudioPlayer:]):
(-[PluginObject _invalidateDisplayString]):
(NP_Initialize):
(NP_GetEntryPoints):
(NP_Shutdown):
(NPP_New):
(NPP_Destroy):
(NPP_SetWindow):
(NPP_NewStream):
(NPP_DestroyStream):
(NPP_WriteReady):
(NPP_Write):
(NPP_StreamAsFile):
(NPP_Print):
(handleDraw):
(invalidatePlugin):
(handleMouseEvent):
(NPP_HandleEvent):
(NPP_URLNotify):
(NPP_GetValue):
(NPP_SetValue):

  • NetscapeMuteAPIPlugin/test.html: Added.
7:12 PM Changeset in webkit [176784] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.11/Source/WebKit2

Merged r176769. rdar://problem/19132975

7:10 PM Changeset in webkit [176783] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.11/Source/WebKit2

Merged r176764. rdar://problem/19132975

7:08 PM Changeset in webkit [176782] by bshafiei@apple.com
  • 12 edits in tags/Safari-601.1.11/Source/WebKit2

Merged r176762. rdar://problem/19132975

7:05 PM Changeset in webkit [176781] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.11/Source/WebKit/mac

Merged r176755. rdar://problem/19132978

7:02 PM Changeset in webkit [176780] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

Use std::unique_ptr instead of PassOwnPtr|OwnPtr for Pasteboard
https://bugs.webkit.org/show_bug.cgi?id=139019

Patch by Joonghun Park <jh718.park@samsung.com> on 2014-12-03
Reviewed by Darin Adler.

No new tests, no behavior changes.

  • dom/DataTransfer.cpp:

(WebCore::DataTransfer::DataTransfer):

  • dom/DataTransfer.h:
  • editing/Editor.cpp:

(WebCore::Editor::dispatchCPPEvent):

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::createDraggingDataTransfer):

  • platform/Pasteboard.h:
  • platform/efl/PasteboardEfl.cpp:

(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createPrivate):
(WebCore::Pasteboard::createForDragAndDrop):

  • platform/gtk/PasteboardGtk.cpp:

(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createForGlobalSelection):
(WebCore::Pasteboard::createPrivate):
(WebCore::Pasteboard::createForDragAndDrop):
(WebCore::Pasteboard::create): Deleted.

  • platform/ios/PasteboardIOS.mm:

(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createPrivate):

  • platform/mac/PasteboardMac.mm:

(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createPrivate):
(WebCore::Pasteboard::createForDragAndDrop):
(WebCore::Pasteboard::create): Deleted.

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::createForCopyAndPaste):
(WebCore::Pasteboard::createPrivate):
(WebCore::Pasteboard::createForDragAndDrop):

6:52 PM Changeset in webkit [176779] by gyuyoung.kim@samsung.com
  • 10 edits in trunk/Source/JavaScriptCore

Move JavaScriptCore/dfg to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=139169

Reviewed by Filip Pizlo.

Use std::unique_ptr<>|std::make_unique<> in JavaScriptCore/dfg directory.

  • dfg/DFGBasicBlock.h:
  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::JITCompiler):
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::compileFunction):
(JSC::DFG::JITCompiler::linkFunction):

  • dfg/DFGJITCompiler.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):
(JSC::DFG::Plan::cancel):

  • dfg/DFGPlan.h:
  • dfg/DFGSlowPathGenerator.h:
  • dfg/DFGWorklist.h:
  • ftl/FTLFail.cpp:

(JSC::FTL::fail):

  • ftl/FTLState.cpp:

(JSC::FTL::State::State):

6:43 PM Changeset in webkit [176778] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Some webgl conformance tests crash.
<rdar://problem/19136723>

  • platform/mac/TestExpectations:
6:32 PM Changeset in webkit [176777] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Implement action menus for tel: URLs
https://bugs.webkit.org/show_bug.cgi?id=139240
<rdar://problem/19115662>

Reviewed by Anders Carlsson.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItemsForDataDetectableLink]):
Make sure to use the newly created currentActionContext... everywhere.

6:32 PM Changeset in webkit [176776] by roger_fong@apple.com
  • 3 edits
    2961 adds
    1 delete in trunk/LayoutTests

Unreviewed. Add 1.0.3 conformance tests. Remove unused webgl test resource files.

  • platform/mac/TestExpectations: Skipping 1.0.3 tests until we are at least somewhat conformant.
  • webgl/1.0.3: Added.
  • webgl/resources/webgl_test_files: Removed
6:28 PM Changeset in webkit [176775] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Implement action menus for tel: URLs
https://bugs.webkit.org/show_bug.cgi?id=139240
<rdar://problem/19115662>

Reviewed by Anders Carlsson.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItemsForDataDetectableLink]):
Make sure to use the newly created currentActionContext.

6:12 PM Changeset in webkit [176774] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.11/Source

Versioning.

6:09 PM Changeset in webkit [176773] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.11

New tag.

6:06 PM Changeset in webkit [176772] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Get rid of FrameLoaderClient::dispatchWillRequestResource
https://bugs.webkit.org/show_bug.cgi?id=139235

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-12-03
Reviewed by Alexey Proskuryakov.

It is useless.

  • loader/FrameLoaderClient.h:

(WebCore::FrameLoaderClient::dispatchWillRequestResource): Deleted.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

5:59 PM Changeset in webkit [176771] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION (r176479): DFG ASSERTION beneath emitOSRExitCall running Kraken/imaging-gaussian-blur.js.ftl-no-cjit-osr-validation and other tests
https://bugs.webkit.org/show_bug.cgi?id=139246

Reviewed by Geoffrey Garen.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
The DFG_ASSERT that checks liveness at exit time doesn't properly
handle the case where the local is not available at OSR exit time,
but the local is live in the bytecode. This now happens with the
allocated scope register when we are compiling for FTLForOSREntryMode
due to DCE done when the control flow was changed and a new entrypoint
was added in the OSR entrypoint creation phase. Therefore we silence
the assert when compiling for FTLForOSREntryMode.

5:40 PM Changeset in webkit [176770] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Missing getter, clients never see DragToAdjustController is enabled
https://bugs.webkit.org/show_bug.cgi?id=139228

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-12-03
Reviewed by Simon Fraser.

  • UserInterface/Controllers/DragToAdjustController.js:

(WebInspector.DragToAdjustController.prototype.get enabled):

5:31 PM Changeset in webkit [176769] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

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

More iOS breakage (Requested by andersca on #webkit).

Reverted changeset:

"Fix iOS build."
http://trac.webkit.org/changeset/176457

5:30 PM Changeset in webkit [176768] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

List markers in RTL languages do not draw the first character.
https://bugs.webkit.org/show_bug.cgi?id=139244

Reviewed by Simon Fraser.

Source/WebCore:

Off-by-one error when reversing the string (from LTR to RTL)

Test: fast/lists/rtl-marker.html

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::paint):

LayoutTests:

  • fast/lists/rtl-marker-expected.html: Added.
  • fast/lists/rtl-marker.html: Added.
5:08 PM Changeset in webkit [176767] by bshafiei@apple.com
  • 5 edits in tags/Safari-600.3.8.2/Source

Versioning.

5:06 PM Changeset in webkit [176766] by Beth Dakin
  • 11 edits in trunk/Source

<input> elements get whitespace action menu instead of editable text menu
https://bugs.webkit.org/show_bug.cgi?id=139241
-and corresponding-
rdar://problem/19072083

Reviewed by Sam Weinig.

Source/WebCore:

Since we will hit test form controls as form controls, we need a new function to
determine if the hit point is over text inside that form control or not.

  • WebCore.exp.in:
  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::isOverTextInsideFormControlElement):

  • rendering/HitTestResult.h:

Source/WebKit/mac:

We should disallow shadow content in the hit test. This is the default and it is
how context menus behave. We originally wanted to text inside shadow content so
that we could find the text, but the new function I added to HitTestResult will
allow that.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController performHitTestAtPoint:]):

Adjust to the fact that we don’t hit test shadow content any more.
(-[WebActionMenuController focusAndSelectHitTestResult]):

Offer the text menus for text inside form controls.
(-[WebActionMenuController _defaultMenuItems]):

Source/WebKit2:

Add isOverTextInsideFormControlElement to WebHitTestResult.

  • Shared/WebHitTestResult.cpp:

(WebKit::WebHitTestResult::Data::Data):
(WebKit::WebHitTestResult::Data::encode):
(WebKit::WebHitTestResult::Data::decode):

  • Shared/WebHitTestResult.h:

(WebKit::WebHitTestResult::isOverTextInsideFormControlElement):

Offer the text menus for text inside form controls.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItems]):

We should disallow shadow content in the hit test. This is the default and it is
how context menus behave. We originally wanted to text inside shadow content so
that we could find the text, but the new function I added to HitTestResult will
allow that.

  • WebProcess/WebPage/mac/WebPageMac.mm:

Adjust to the fact that we don’t hit test shadow content any more.
(WebKit::WebPage::performActionMenuHitTestAtLocation):
(WebKit::WebPage::lookupTextAtLocation):
(WebKit::WebPage::focusAndSelectLastActionMenuHitTestResult):

5:04 PM Changeset in webkit [176765] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.3.8.2

New tag.

4:51 PM Changeset in webkit [176764] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

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

More iOS breakage (Requested by andersca on #webkit).

Reverted changeset:

"Unreviewed, iOS build fix after r176452."
http://trac.webkit.org/changeset/176489

4:33 PM Changeset in webkit [176763] by timothy_horton@apple.com
  • 6 edits in trunk/Source

Implement action menus for tel: URLs
https://bugs.webkit.org/show_bug.cgi?id=139240
<rdar://problem/19115662>

Reviewed by Anders Carlsson.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItemsForDataDetectableLink]):
Rename this function as it will work for both mailto and tel URLs.
Adjust it to use contextForView:.

(-[WebActionMenuController webView:willHandleMouseDown:]):
(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController didCloseMenu:withEvent:]):
(-[WebActionMenuController _defaultMenuItems]):
Don't check the menu type when going to interact with _currentActionContext.
We'll only have a _currentActionContext if we have a data detected item,
and there are multiple menu types that end up using DDActionContext.

  • WebView/WebUIDelegatePrivate.h:

Add a new type.

  • Shared/API/c/WKActionMenuTypes.h:

Add a new type.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForDataDetectableLink]):
Rename this function as it will work for both mailto and tel URLs.
Adjust it to use contextForView:.

(-[WKActionMenuController _clearActionMenuState]):
(-[WKActionMenuController menuNeedsUpdate:]):
(-[WKActionMenuController _defaultMenuItems]):
Don't check the menu type when going to interact with _currentActionContext.
We'll only have a _currentActionContext if we have a data detected item,
and there are multiple menu types that end up using DDActionContext.

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

Unreviewed, rolling out r176452 and r176559.
https://bugs.webkit.org/show_bug.cgi?id=139239

Broke iOS (Requested by andersca on #webkit).

Reverted changesets:

"Remove alignment code from IPC coders"
https://bugs.webkit.org/show_bug.cgi?id=138963
http://trac.webkit.org/changeset/176452

"[WK2] SecComp buildfix after r176452"
https://bugs.webkit.org/show_bug.cgi?id=139081
http://trac.webkit.org/changeset/176559

Patch by Commit Queue <commit-queue@webkit.org> on 2014-12-03

4:00 PM Changeset in webkit [176761] by Chris Dumez
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed gardening.

Land expected result for fast/dom/timer-throttle-on-scrolling-iframe-away.html
that was missing in r176729.

  • fast/dom/timer-throttle-on-scrolling-iframe-away-expected.txt: Added.
3:53 PM Changeset in webkit [176760] by bshafiei@apple.com
  • 5 edits in tags/Safari-600.3.8.1/Source

Versioning.

3:53 PM Changeset in webkit [176759] by roger_fong@apple.com
  • 2 edits
    2 deletes in trunk/LayoutTests

Unreviewed. Remove 1.0.1 and experimental 1.0.3 WebGL conformance tests to make way for official 1.0.3 tests.

3:50 PM Changeset in webkit [176758] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.3.8.1

New tag.

3:39 PM Changeset in webkit [176757] by ap@apple.com
  • 1 edit
    1 copy
    1 add in trunk/LayoutTests

http/tests/misc/authentication-redirect tests use the same authentication realm
https://bugs.webkit.org/show_bug.cgi?id=139225

Land custom results for WebKit2, because the format of output is different there.

  • platform/wk2/http/tests/misc/authentication-redirect-3: Added.
  • platform/wk2/http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials-expected.txt: Copied from LayoutTests/http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials-expected.txt.
3:23 PM Changeset in webkit [176756] by ggaren@apple.com
  • 12 edits in trunk/Source/JavaScriptCore

Removed the global parser arena
https://bugs.webkit.org/show_bug.cgi?id=139236

Reviewed by Sam Weinig.

Simplifies parser lifetime logic.

There's no need to keep a global arena. We can create a new arena
each time we parse.

  • bytecompiler/BytecodeGenerator.h: Global replace to pass around a

ParserArena instead of VM*, since the VM no longer owns the arena.
(JSC::BytecodeGenerator::parserArena):

  • bytecompiler/NodesCodegen.cpp: Ditto.

(JSC::ArrayNode::toArgumentList):
(JSC::ApplyFunctionCallDotNode::emitBytecode):

  • parser/ASTBuilder.h: Ditto.

(JSC::ASTBuilder::ASTBuilder):
(JSC::ASTBuilder::createSourceElements):
(JSC::ASTBuilder::createCommaExpr):
(JSC::ASTBuilder::createLogicalNot):
(JSC::ASTBuilder::createUnaryPlus):
(JSC::ASTBuilder::createVoid):
(JSC::ASTBuilder::thisExpr):
(JSC::ASTBuilder::createResolve):
(JSC::ASTBuilder::createObjectLiteral):
(JSC::ASTBuilder::createArray):
(JSC::ASTBuilder::createNumberExpr):
(JSC::ASTBuilder::createString):
(JSC::ASTBuilder::createBoolean):
(JSC::ASTBuilder::createNull):
(JSC::ASTBuilder::createBracketAccess):
(JSC::ASTBuilder::createDotAccess):
(JSC::ASTBuilder::createSpreadExpression):
(JSC::ASTBuilder::createRegExp):
(JSC::ASTBuilder::createNewExpr):
(JSC::ASTBuilder::createConditionalExpr):
(JSC::ASTBuilder::createAssignResolve):
(JSC::ASTBuilder::createFunctionExpr):
(JSC::ASTBuilder::createFunctionBody):
(JSC::ASTBuilder::createGetterOrSetterProperty):
(JSC::ASTBuilder::createArguments):
(JSC::ASTBuilder::createArgumentsList):
(JSC::ASTBuilder::createProperty):
(JSC::ASTBuilder::createPropertyList):
(JSC::ASTBuilder::createElementList):
(JSC::ASTBuilder::createFormalParameterList):
(JSC::ASTBuilder::createClause):
(JSC::ASTBuilder::createClauseList):
(JSC::ASTBuilder::createFuncDeclStatement):
(JSC::ASTBuilder::createBlockStatement):
(JSC::ASTBuilder::createExprStatement):
(JSC::ASTBuilder::createIfStatement):
(JSC::ASTBuilder::createForLoop):
(JSC::ASTBuilder::createForInLoop):
(JSC::ASTBuilder::createForOfLoop):
(JSC::ASTBuilder::createEmptyStatement):
(JSC::ASTBuilder::createVarStatement):
(JSC::ASTBuilder::createEmptyVarExpression):
(JSC::ASTBuilder::createReturnStatement):
(JSC::ASTBuilder::createBreakStatement):
(JSC::ASTBuilder::createContinueStatement):
(JSC::ASTBuilder::createTryStatement):
(JSC::ASTBuilder::createSwitchStatement):
(JSC::ASTBuilder::createWhileStatement):
(JSC::ASTBuilder::createDoWhileStatement):
(JSC::ASTBuilder::createLabelStatement):
(JSC::ASTBuilder::createWithStatement):
(JSC::ASTBuilder::createThrowStatement):
(JSC::ASTBuilder::createDebugger):
(JSC::ASTBuilder::createConstStatement):
(JSC::ASTBuilder::appendConstDecl):
(JSC::ASTBuilder::combineCommaNodes):
(JSC::ASTBuilder::createDeconstructingAssignment):
(JSC::ASTBuilder::Scope::Scope):
(JSC::ASTBuilder::createNumber):
(JSC::ASTBuilder::makeTypeOfNode):
(JSC::ASTBuilder::makeDeleteNode):
(JSC::ASTBuilder::makeNegateNode):
(JSC::ASTBuilder::makeBitwiseNotNode):
(JSC::ASTBuilder::makeMultNode):
(JSC::ASTBuilder::makeDivNode):
(JSC::ASTBuilder::makeModNode):
(JSC::ASTBuilder::makeAddNode):
(JSC::ASTBuilder::makeSubNode):
(JSC::ASTBuilder::makeLeftShiftNode):
(JSC::ASTBuilder::makeRightShiftNode):
(JSC::ASTBuilder::makeURightShiftNode):
(JSC::ASTBuilder::makeBitOrNode):
(JSC::ASTBuilder::makeBitAndNode):
(JSC::ASTBuilder::makeBitXOrNode):
(JSC::ASTBuilder::makeFunctionCallNode):
(JSC::ASTBuilder::makeBinaryNode):
(JSC::ASTBuilder::makeAssignNode):
(JSC::ASTBuilder::makePrefixNode):
(JSC::ASTBuilder::makePostfixNode):

  • parser/NodeConstructors.h: Ditto.

(JSC::ParserArenaFreeable::operator new):
(JSC::ParserArenaDeletable::operator new):
(JSC::ParserArenaRefCounted::ParserArenaRefCounted):

  • parser/Nodes.cpp: Ditto.

(JSC::ScopeNode::ScopeNode):
(JSC::ProgramNode::ProgramNode):
(JSC::ProgramNode::create):
(JSC::EvalNode::EvalNode):
(JSC::EvalNode::create):
(JSC::FunctionBodyNode::FunctionBodyNode):
(JSC::FunctionBodyNode::create):

  • parser/Nodes.h: Ditto.

(JSC::ScopeNode::parserArena):

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::Parser):
(JSC::Parser<LexerType>::parseInner):
(JSC::Parser<LexerType>::parseProperty): The parser now owns its own
arena, and transfers ownership of its contents when invoking the ScopeNode
constructor.

  • parser/Parser.h:

(JSC::Parser<LexerType>::parse): No need to explicitly reset the arena,
since its lifetime is tied to the parser's lifetime now.

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createProperty):
(JSC::SyntaxChecker::createGetterOrSetterProperty):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h: The point of the patch: no more global.
3:01 PM Changeset in webkit [176755] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Set a visited link store when creating a simple WebView
https://bugs.webkit.org/show_bug.cgi?id=139234
<rdar://problem/19132978>

Reviewed by Sam Weinig.

  • WebView/WebView.mm:

(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

1:54 PM Changeset in webkit [176754] by ggaren@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

The parser should allocate all pieces of the AST
https://bugs.webkit.org/show_bug.cgi?id=139230

Reviewed by Oliver Hunt.

This is a step toward a 14% parsing speedup.

Previously, allocation was split between the parser and certain node
constructor functions. This made for some duplicated code and circular
dependencies.

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createGetterOrSetterProperty): No need to pass through
the VM, since our callee no longer needs to allocate anything.

(JSC::ASTBuilder::createProperty): Allocate the identifier for our
callee, since that is simpler than requiring our callee to notice that
we didn't do so, and do it for us.

(JSC::ASTBuilder::createForInLoop): Allocate the DeconstructingAssignmentNode
for our callee, since that is simpler than requiring our callee to notice
that we didn't do so, and do it for us.

Also, reuse some code instead of duplicating it.

(JSC::ASTBuilder::createForOfLoop): Ditto.

(JSC::ASTBuilder::createArrayPattern):
(JSC::ASTBuilder::createObjectPattern):
(JSC::ASTBuilder::createBindingLocation): No need to pass through a VM
pointer, since our callee no longer needs to allocate anything.

(JSC::ASTBuilder::createBreakStatement): Deleted.
(JSC::ASTBuilder::createContinueStatement): Deleted.

  • parser/NodeConstructors.h:

(JSC::PropertyNode::PropertyNode):
(JSC::DeconstructionPatternNode::DeconstructionPatternNode):
(JSC::ArrayPatternNode::ArrayPatternNode):
(JSC::ArrayPatternNode::create):
(JSC::ObjectPatternNode::ObjectPatternNode):
(JSC::ObjectPatternNode::create):
(JSC::BindingNode::create):
(JSC::BindingNode::BindingNode):
(JSC::ContinueNode::ContinueNode): Deleted.
(JSC::BreakNode::BreakNode): Deleted.
(JSC::EnumerationNode::EnumerationNode): Deleted.
(JSC::ForInNode::ForInNode): Deleted.
(JSC::ForOfNode::ForOfNode): Deleted. Deleted a bunch of special cases
that don't exist anymore, now that the parser allocates all pieces of
the AST unconditionally.

  • parser/Nodes.h: Ditto.
  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseBreakStatement):
(JSC::Parser<LexerType>::parseContinueStatement): Allocate the null
identifier for our callee, since that is simpler than requiring our
callee to notice that we didn't do so, and do it for us.

(JSC::Parser<LexerType>::parseProperty):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createProperty): No need to pass through a VM
pointer, since our callee no longer needs to allocate anything.

1:53 PM Changeset in webkit [176753] by timothy_horton@apple.com
  • 18 edits in trunk/Source

Keyboard input should be disabled in the preview popover
https://bugs.webkit.org/show_bug.cgi?id=139219
<rdar://problem/19052381>

Reviewed by Anders Carlsson.

Make sure that keyboard input, Quick Look, etc. are blocked in preview popovers
and WKThumbnailViews. Also block the fake mouseMove events that originate in
the Web process upon scrolling, because we were missing those despite blocking
ordinary mouseMove events.

  • page/ChromeClient.h:

(WebCore::ChromeClient::shouldDispatchFakeMouseMoveEvents):

  • page/EventHandler.cpp:

(WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
Allow ChromeClient to disable the dispatch of "fake" mouseMove events
that happens during scrolling.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:

Rename _ignoresNonWheelMouseEvents to _ignoresNonWheelEvents, because it will
apply not only to mouse events but also key events, Quick Look events, menu
preparation events, swipe events, etc.

Add _ignoresAllEvents, which means the same thing as _ignoresNonWheelEvents
with the addition of ignoring scrollWheel events.

(-[WKView scrollWheel:]):
(-[WKView swipeWithEvent:]):
(-[WKView mouseMoved:]):
(-[WKView mouseDown:]):
(-[WKView mouseUp:]):
(-[WKView mouseDragged:]):
Adjust to the new name.

(-[WKView performKeyEquivalent:]):
(-[WKView keyUp:]):
(-[WKView keyDown:]):
(-[WKView flagsChanged:]):
(-[WKView quickLookWithEvent:]):
(-[WKView prepareForMenu:withEvent:]):
(-[WKView willOpenMenu:withEvent:]):
(-[WKView didCloseMenu:withEvent:]):
Block all of these events as well as those we were previously blocking.

(-[WKView _setIgnoresAllEvents:]):
(-[WKView _setIgnoresNonWheelMouseEvents:]):
(-[WKView _setIgnoresNonWheelEvents:]):
(-[WKView _ignoresNonWheelEvents]):
(-[WKView _ignoresAllEvents]):

  • UIProcess/API/mac/WKViewInternal.h:

Adjust to the new names and the addition of ignoresAllEvents.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKPagePreviewViewController loadView]):
Adjust to the new name.

(-[WKActionMenuController prepareForMenu:withEvent:]):
Move bailing from prepareForMenu: up to WKView.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _ignoresNonWheelEvents]):
(-[WKWebView _setIgnoresNonWheelEvents:]):
(-[WKWebView _ignoresNonWheelMouseEvents]): Deleted.
(-[WKWebView _setIgnoresNonWheelMouseEvents:]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:

Adjust to the new name (without "mouse" in it).

  • UIProcess/API/Cocoa/_WKThumbnailView.mm:

(-[_WKThumbnailView _viewWasUnparented]):
(-[_WKThumbnailView _viewWasParented]):
Explicitly tell WKView to disable event handling while thumbnailed,
instead of having WKView special-case thumbnail views internally.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::setShouldDispatchFakeMouseMoveEvents):

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::shouldDispatchFakeMouseMoveEvents):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::shouldDispatchFakeMouseMoveEvents):
(WebKit::WebPage::setShouldDispatchFakeMouseMoveEvents):

  • WebProcess/WebPage/WebPage.messages.in:

Plumb shouldDispatchFakeMouseMoveEvents from the UI process to the Web process
and through to WebKit2's ChromeClient implementation.

1:45 PM Changeset in webkit [176752] by ap@apple.com
  • 6 edits in trunk/LayoutTests

http/tests/misc/authentication-redirect tests use the same authentication realm
https://bugs.webkit.org/show_bug.cgi?id=139225

Reviewed by Tim Horton.

  • http/tests/misc/authentication-redirect-1/resources/auth-then-redirect.php:
  • http/tests/misc/authentication-redirect-2/resources/auth-then-redirect.php:
  • http/tests/misc/authentication-redirect-3/resources/auth-then-redirect-with-url-credentials.php:
  • http/tests/misc/authentication-redirect-3/resources/auth-then-redirect.php:

Use different realms.

  • http/tests/misc/authentication-redirect-3/authentication-sent-to-redirect-same-origin-with-location-credentials-expected.txt:

This test's results no longer depend on previous tests.

1:01 PM Changeset in webkit [176751] by Antti Koivisto
  • 15 edits in trunk/Source/WebCore

Remove genericFamily enum from FontDescription
https://bugs.webkit.org/show_bug.cgi?id=139207

Reviewed by Andreas Kling.

We use predefined AtomicStrings for generic families. The side enum adds no information.

  • css/CSSFontSelector.cpp:

(WebCore::resolveGenericFamily):
(WebCore::CSSFontSelector::getFontData):

Match the existing quirk where the default font can be replaced by @font-face rule but user generic families can't.

(WebCore::CSSFontSelector::resolvesFamilyFor):
(WebCore::fontDataForGenericFamily): Deleted.

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyFontFamily::applyInheritValue):
(WebCore::ApplyPropertyFontFamily::applyInitialValue):
(WebCore::ApplyPropertyFontFamily::applyValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::checkForGenericFamilyChange):

Remove the explicit monospace check, earlier useFixedDefaultSize check is equivalent.

(WebCore::StyleResolver::initializeFontStyle):

  • platform/graphics/FontDescription.h:

(WebCore::FontDescription::FontDescription):
(WebCore::FontDescription::useFixedDefaultSize):
(WebCore::FontDescription::setWeight):
(WebCore::FontDescription::equalForTextAutoSizing):
(WebCore::FontDescription::operator==):
(WebCore::FontDescription::genericFamily): Deleted.
(WebCore::FontDescription::setGenericFamily): Deleted.

  • platform/mac/ThemeMac.mm:

(WebCore::ThemeMac::controlFont):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::adjustStyle):

Reset the lineheight unconditionally for buttons.
This always happened before because the explicitly set generic family made the font compare false.

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::systemFont):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::systemFont):
(WebCore::RenderThemeMac::setFontFromControlSize):

  • style/StyleResolveForDocument.cpp:

(WebCore::Style::resolveForDocument):

Resolve document style for final value immediately as it can't be affected by @font-face rules.

12:53 PM Changeset in webkit [176750] by Alan Bujtas
  • 3 edits
    2 adds in trunk

ASSERTION: RenderMultiColumnFlowThread::processPossibleSpannerDescendant() when column spanner's parent is not a RenderBlockFlow.
https://bugs.webkit.org/show_bug.cgi?id=139188
rdar://problem/18502182

Reviewed by David Hyatt.

This patch ensures that the validation check for spanner in isValidColumnSpanner() is in synch
with the expectation in RenderMultiColumnFlowThread::processPossibleSpannerDescendant().
(descendant's parent is expected to be a RenderBlockFlow)

Source/WebCore:

Test: fast/multicol/svg-content-as-column-spanner-crash.html

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::isValidColumnSpanner):

LayoutTests:

  • fast/multicol/svg-content-as-column-spanner-crash-expected.txt: Added.
  • fast/multicol/svg-content-as-column-spanner-crash.html: Added.
12:42 PM Changeset in webkit [176749] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r176695. rdar://problems/19120929

12:37 PM Changeset in webkit [176748] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[TexMap] Redundant method in GraphicsLayerTextureMapper.
https://bugs.webkit.org/show_bug.cgi?id=138005

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-12-03
Reviewed by Alex Christensen.

The TextureMapperLayer method descendantsOrSelfHaveRunningAnimations() can be used
instead of the GraphicsLayerTextureMapper method startedAnimation().

Source/WebCore:

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::addAnimation):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:

Source/WebKit/win:

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::startedAnimation):

12:36 PM Changeset in webkit [176747] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merged r176694. rdar://problems/18944696

12:36 PM Changeset in webkit [176746] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r176693. rdar://problems/18944696

12:36 PM Changeset in webkit [176745] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merged r176692. rdar://problems/18944696

12:36 PM Changeset in webkit [176744] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merged r176691. rdar://problems/18944696

12:36 PM Changeset in webkit [176743] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merged r176690. rdar://problems/18944696

12:35 PM Changeset in webkit [176742] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merged r176689. rdar://problems/18944696

12:35 PM Changeset in webkit [176741] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merged r176688. rdar://problems/18944696

12:35 PM Changeset in webkit [176740] by dburkart@apple.com
  • 8 edits
    2 adds in branches/safari-600.3-branch/Source

Merged r176684. rdar://problems/18944696

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

Remove ENABLE_UI_PROCESS_STORAGE define, it's always 1.

Rubber-stamped by Beth Dakin.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::localStorageNamespace):
(WebKit::WebPlatformStrategies::transientLocalStorageNamespace):
(WebKit::WebPlatformStrategies::sessionStorageNamespace):

12:16 PM Changeset in webkit [176738] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r176681. rdar://problems/19067172

12:15 PM Changeset in webkit [176737] by dburkart@apple.com
  • 7 edits
    1 add in branches/safari-600.3-branch/Source/WebKit

Merged r176680. rdar://problems/19067172

12:13 PM Changeset in webkit [176736] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176678. rdar://problems/19072236

12:10 PM Changeset in webkit [176735] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Fix merge-related build failure. rdar://problem/19122588

12:03 PM Changeset in webkit [176734] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Subtitle menu should only appear when useful.
https://bugs.webkit.org/show_bug.cgi?id=139133

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-12-03
Reviewed by Eric Carlson.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController hasLegibleMediaSelectionOptions]): only enable when there are non default options.
(-[WebAVPlayerController hasAudioMediaSelectionOptions]): only enable when there is more than one option.

11:59 AM Changeset in webkit [176733] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Use an @autoreleasepool instead of NSAutoreleasePool.

Rubber-stamped by Tim Horton.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::flushLayers):

11:55 AM Changeset in webkit [176732] by dburkart@apple.com
  • 3 edits
    2 adds in branches/safari-600.3-branch

Merged r176295. rdar://problems/19122588

11:51 AM Changeset in webkit [176731] by jdiggs@igalia.com
  • 17 edits in trunk

AX: [ATK] Inline text elements with accessible object attributes and/or event handlers are not exposed
https://bugs.webkit.org/show_bug.cgi?id=139071

Reviewed by Chris Fleizach.

Source/WebCore:

Adds a new InlineRole accessibility role type for non-focusable inline
elements which have an event handler or attribute suggesting possible
inclusion by the platform. This is mapped to ATK_ROLE_STATIC for GTK and
EFL. On the Mac, it is currently ignored to preserve existing behavior.

Added new test cases to the existing roles-exposed.html test.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::supportsDatetimeAttribute): Added.

  • accessibility/AccessibilityObject.h: Added InlineRole.
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole): Handle InlineRole.

  • accessibility/atk/AccessibilityObjectAtk.cpp:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Include InlineRole objects.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore InlineRole objects.

  • html/HTMLTagNames.in: Added 'time'.

Tools:

Add string value for ATK_ROLE_STATIC in roleToString.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

LayoutTests:

  • accessibility/roles-exposed.html: New test cases added.
  • platform/efl/accessibility/roles-exposed-expected.txt: Updated for new test cases.
  • platform/gtk/accessibility/roles-exposed-expected.txt: Updated for new test cases.
  • platform/mac-mavericks/accessibility/roles-exposed-expected.txt: Updated for new test cases.
  • platform/mac-mountainlion/accessibility/roles-exposed-expected.txt: Updated for new test cases.
  • platform/mac/accessibility/roles-exposed-expected.txt: Updated for new test cases.
11:36 AM Changeset in webkit [176730] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merged r175974. rdar://problems/19122595

11:16 AM Changeset in webkit [176729] by Chris Dumez
  • 1 edit
    2 adds in trunk/LayoutTests

Add layout test for DOM timer throttling in iframe scrolled out of viewport
https://bugs.webkit.org/show_bug.cgi?id=138884

Reviewed by Andreas Kling.

Add a layout test to test that a repeating DOM timer inside an iframe
get throttled if the iframe is scrolled out of the viewport.

  • fast/dom/resources/timer-throttling-iframe.html: Added.
  • fast/dom/timer-throttle-on-scrolling-iframe-away.html: Added.
11:08 AM Changeset in webkit [176728] by mitz@apple.com
  • 4 edits in trunk

REGRESSION(r176687): Caused webkit2 test assertion failure crashes in WebKit::WebPage::willStartDrag()
https://bugs.webkit.org/show_bug.cgi?id=139224

Reviewed by Alexey Proskuryakov.

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::mouseEventSyncForTesting): Wait for the UI process to start dragging if
needed before handling the event.

LayoutTests:

  • platform/wk2/TestExpectations: Unskip the tests.
10:56 AM Changeset in webkit [176727] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

10:33 AM Changeset in webkit [176726] by mark.lam@apple.com
  • 2 edits in trunk/LayoutTests

Gardening: updating some tests as skips instead of crashes.
<https://webkit.org/b/139224>

Not reviewed.

  • platform/wk2/TestExpectations:
10:01 AM Changeset in webkit [176725] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Hang when calling -[AVAsset resolvedURL].
https://bugs.webkit.org/show_bug.cgi?id=139223

Reviewed by Eric Carlson.

On a particularly slow-loading site, a call to -[AVAsset resolvedURL] can take an arbitrarily long
time. Treat this AVAsset property similar to other "metadata" properties, and check the load status
of the property before requesting it.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::hasSingleSecurityOrigin): Check the load state of -resolvedURL.
(WebCore::MediaPlayerPrivateAVFoundationObjC::resolvedURL): Ditto.
(WebCore::assetMetadataKeyNames): Add @"resolvedURL".

9:55 AM Changeset in webkit [176724] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] outdated comment
https://bugs.webkit.org/show_bug.cgi?id=137801

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-12-03
Reviewed by Carlos Garcia Campos.

Remove a comment that is no longer correct.

  • NetworkProcess/gtk/NetworkProcessMainGtk.cpp:
9:50 AM Changeset in webkit [176723] by mark.lam@apple.com
  • 2 edits in trunk/LayoutTests

Gardening: marking some tests as crashes.
<https://webkit.org/b/139224>

Not reviewed.

  • platform/wk2/TestExpectations:
7:26 AM Changeset in webkit [176722] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

URTBF after r176721 to fix ENABLE(CSS_DEVICE_ADAPTATION) build.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseViewportProperty):

6:46 AM Changeset in webkit [176721] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Move 'display' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139218

Reviewed by Antti Koivisto.

Move 'display' CSS property to the new StyleBuilder.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyDisplay::isValidDisplayValue): Deleted.
(WebCore::ApplyPropertyDisplay::applyInheritValue): Deleted.
(WebCore::ApplyPropertyDisplay::applyInitialValue): Deleted.
(WebCore::ApplyPropertyDisplay::applyValue): Deleted.
(WebCore::ApplyPropertyDisplay::createHandler): Deleted.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::isValidDisplayValue):
(WebCore::StyleBuilderCustom::applyInheritDisplay):
(WebCore::StyleBuilderCustom::applyValueDisplay):

  • css/makeprop.pl:

Add support for passing multiple values for Custom option, e.g.:
'Custom=Inherit|Value'. This was useful as we did not need custom
code for display's initial value.

6:39 AM Changeset in webkit [176720] by dburkart@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Bump versioning

6:21 AM Changeset in webkit [176719] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Modernize the CSSParser code
https://bugs.webkit.org/show_bug.cgi?id=139209

Reviewed by Antti Koivisto.

Modernize the CSSParser code by:

  • Using more references instead of pointers
  • Using nullptr instead of 0

No new tests, no behavior change.

5:32 AM Changeset in webkit [176718] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style is confused by ternary expression inside first member initializer
https://bugs.webkit.org/show_bug.cgi?id=136442

Patch by Renato Nagy <rnagy@inf.u-szeged.hu> on 2014-12-03
Reviewed by Csaba Osztrogonác.

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

(check_member_initialization_list):

4:20 AM Changeset in webkit [176717] by clopez@igalia.com
  • 2 edits
    1 add in trunk/Tools

[GTK] [JHBuild] gst-plugins-bad fails to build if the GNUStep libraries are installed.
https://bugs.webkit.org/show_bug.cgi?id=139220

Reviewed by Philippe Normand.

  • gtk/jhbuild.modules:
  • gtk/patches/gst-plugins-bad-remove-gnustep-support.patch: Added.
3:34 AM Changeset in webkit [176716] by Csaba Osztrogonác
  • 4 edits in trunk

Remove unused JSC runtime options
https://bugs.webkit.org/show_bug.cgi?id=133070

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-12-03
Reviewed by Csaba Osztrogonác.

Source/JavaScriptCore:

  • runtime/Options.h:

Tools:

  • Scripts/run-jsc-stress-tests:
3:12 AM Changeset in webkit [176715] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] REGRESSION (r176622): WebCore fails to link

Speculative fix for the following build failure:

Ld WebCore
Undefined symbols for architecture armv7s:

"ZN3JSC10IdentifierC1EPNS_9ExecStateERKN3WTF12AtomicStringE", referenced from:

ZN7WebCoreL24createAccelerationObjectEPKNS_16DeviceMotionData12AccelerationEPN3JSC9ExecStateE in JSDeviceMotionEventCustom.o

  • bindings/js/JSDeviceMotionEventCustom.cpp: Include

<runtime/IdentifierInlines.h> to define missing symbol.

2:09 AM Changeset in webkit [176714] by dino@apple.com
  • 4 edits
    2 adds in trunk

[Media] Audio content shouldn't have fullscreen buttons, even if in a video element
https://bugs.webkit.org/show_bug.cgi?id=139200
<rdar://problem/18914506>

Reviewed by Eric Carlson.

Source/WebCore:

An audio-only resource, even if loaded into a <video> element, should not
present the fullscreen or optimised fullscreen controls. This includes a
MediaDocument, which is always a <video> element. We can detect this by
examining the length of the videoTracks property as our content loads.

Test: media/audio-as-video-fullscreen.html

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller): Initialize a hasVisualMedia to false.
(Controller.prototype.handleReadyStateChange): If we see a videoTrack, hasVisualMedia is now true.
(Controller.prototype.updateFullscreenButtons): Merge the updateFullscreenButton and
updateOptimizedFullscreenButton methods into this single spot, and check for
hasVisualMedia.
(Controller.prototype.updateFullscreenButton): Deleted.
(Controller.prototype.updateOptimizedFullscreenButton): Deleted.

  • Modules/mediacontrols/mediaControlsBase.js: Do the same for the other ports.

LayoutTests:

Loads an audio file via the video element and checks if the
fullscreen button is visible.

  • media/audio-as-video-fullscreen-expected.txt: Added.
  • media/audio-as-video-fullscreen.html: Added.
2:08 AM Changeset in webkit [176713] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Missing support for innerHTML on SVGElement
https://bugs.webkit.org/show_bug.cgi?id=136903

Unreviewed followup from r176630. Minor style nits that I missed in my review.

  • dom/Element.h: Remove unnecessary parameter name.
  • html/parser/HTMLTreeBuilder.cpp: Whitespace cleanup.

(WebCore::HTMLTreeBuilder::adjustedCurrentStackItem):

1:25 AM Changeset in webkit [176712] by evab.u-szeged@partner.samsung.com
  • 10 edits
    10 copies
    1 add
    1 delete in trunk

[EFL] Add subtle crypto to the build system
https://bugs.webkit.org/show_bug.cgi?id=138612

Reviewed by Csaba Osztrogonác.

.:

  • Source/cmake/OptionsEfl.cmake:

Source/WebCore:

It is obvious to make Efl use GnuTLS as well,
and since there seems no reason why to separate
Efl and Gtk implementations from each other, I
also propose renaming the gtk directory and file
suffixes to gnutls.

No new tests needed.

  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • crypto/gnutls/CryptoAlgorithmAES_CBCGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmAES_CBCGtk.cpp.

(WebCore::CryptoAlgorithmAES_CBC::platformEncrypt):
(WebCore::CryptoAlgorithmAES_CBC::platformDecrypt):

  • crypto/gnutls/CryptoAlgorithmAES_KWGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmAES_KWGtk.cpp.

(WebCore::CryptoAlgorithmAES_KW::platformEncrypt):
(WebCore::CryptoAlgorithmAES_KW::platformDecrypt):

  • crypto/gnutls/CryptoAlgorithmHMACGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmHMACGtk.cpp.

(WebCore::getGnutlsDigestAlgorithm):
(WebCore::calculateSignature):
(WebCore::CryptoAlgorithmHMAC::platformSign):
(WebCore::CryptoAlgorithmHMAC::platformVerify):

  • crypto/gnutls/CryptoAlgorithmRSAES_PKCS1_v1_5GnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSAES_PKCS1_v1_5Gtk.cpp.

(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformEncrypt):
(WebCore::CryptoAlgorithmRSAES_PKCS1_v1_5::platformDecrypt):

  • crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSASSA_PKCS1_v1_5Gtk.cpp.

(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformSign):
(WebCore::CryptoAlgorithmRSASSA_PKCS1_v1_5::platformVerify):

  • crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRSA_OAEPGtk.cpp.

(WebCore::CryptoAlgorithmRSA_OAEP::platformEncrypt):
(WebCore::CryptoAlgorithmRSA_OAEP::platformDecrypt):

  • crypto/gnutls/CryptoAlgorithmRegistryGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoAlgorithmRegistryGtk.cpp.

(WebCore::CryptoAlgorithmRegistry::platformRegisterAlgorithms):

  • crypto/gnutls/CryptoDigestGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoDigestGtk.cpp.

(WebCore::CryptoDigest::CryptoDigest):
(WebCore::CryptoDigest::~CryptoDigest):
(WebCore::CryptoDigest::create):
(WebCore::CryptoDigest::addBytes):
(WebCore::CryptoDigest::computeHash):

  • crypto/gnutls/CryptoKeyRSAGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/CryptoKeyRSAGtk.cpp.

(WebCore::CryptoKeyRSA::CryptoKeyRSA):
(WebCore::CryptoKeyRSA::create):
(WebCore::CryptoKeyRSA::~CryptoKeyRSA):
(WebCore::CryptoKeyRSA::restrictToHash):
(WebCore::CryptoKeyRSA::isRestrictedToHash):
(WebCore::CryptoKeyRSA::keySizeInBits):
(WebCore::CryptoKeyRSA::buildAlgorithmDescription):
(WebCore::CryptoKeyRSA::exportData):
(WebCore::CryptoKeyRSA::generatePair):

  • crypto/gnutls/SerializedCryptoKeyWrapGnuTLS.cpp: Renamed from Source/WebCore/crypto/gtk/SerializedCryptoKeyWrapGtk.cpp.

(WebCore::getDefaultWebCryptoMasterKey):
(WebCore::wrapSerializedCryptoKey):
(WebCore::unwrapSerializedCryptoKey):

  • crypto/keys/CryptoKeyRSA.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

  • platform/efl/TestExpectations:

Dec 2, 2014:

10:36 PM Changeset in webkit [176711] by benjamin@webkit.org
  • 3 edits
    4 adds in trunk

Little cleanup of the default stylesheet
https://bugs.webkit.org/show_bug.cgi?id=139168

Reviewed by Antti Koivisto.

Source/WebCore:

The default stylesheet has a lot of historical junk that need cleaning. This patch addresses
only the bits that do not change behaviors and have positive perf and readability impact.

I have limited :matches() to attributes for now. The idea is to only target
simple selectors that are not used for filtering by the collectors.
We should eventually clean up more cases, one thing at a time.

Tests: fast/css/map-tag-default-display.html

fast/selectors/map-tag-default-display.html

  • css/html.css:

(map): Deleted.
map was explicitely setting its display to inline. Remove that since it is the default.

(head): Deleted.
(meta): Deleted.
(title): Deleted.
(link): Deleted.
(style): Deleted.
(script): Deleted.
(div): Deleted.
(layer): Deleted.
(article, aside, footer, header, hgroup, main, nav, section): Deleted.
(address): Deleted.
(head, link, meta, script, style, title):
(address, article, aside, div, footer, header, hgroup, layer, main, nav, section):
Group the standard blocks in a single rule.

(input:matches([type="hidden"], [type="image"], [type="file"])):
(input:matches([type="radio"], [type="checkbox"])):
(input:matches([type="button"], [type="submit"], [type="reset"])):
(input:matches([type="button"], [type="submit"], [type="reset"]), input[type="file"]::-webkit-file-upload-button, button):
(input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]::-webkit-file-upload-button:active, button:active):
(input:matches([type="button"], [type="submit"], [type="reset"]):active, input[type="file"]:active::-webkit-file-upload-button, button:active):
(input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled):
(input:matches([type="checkbox"], [type="radio"]):checked):
(input:matches([type="checkbox"], [type="radio"]):checked:disabled):
(select:matches([size], [multiple], [size][multiple])):
(select:matches([size="0"], [size="1"])):
(input[type="hidden"], input[type="image"], input[type="file"]): Deleted.
(input[type="radio"], input[type="checkbox"]): Deleted.
(input[type="button"], input[type="submit"], input[type="reset"]): Deleted.
(input[type="button"], input[type="submit"], input[type="reset"], input[type="file"]::-webkit-file-upload-button, button): Deleted.
(input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]::-webkit-file-upload-button:active, button:active): Deleted.
(input[type="button"]:active, input[type="submit"]:active, input[type="reset"]:active, input[type="file"]:active::-webkit-file-upload-button, button:active): Deleted.
(input[type="button"]:active:disabled, input[type="submit"]:active:disabled, input[type="reset"]:active:disabled, input[type="file"]:active:disabled::-webkit-file-upload-button, button:active:disabled): Deleted.
(input[type="checkbox"]:checked, input[type="radio"]:checked): Deleted.
(input[type="checkbox"]:checked:disabled, input[type="radio"]:checked:disabled): Deleted.
(select[size][multiple]): Deleted.
(select[size="1"]): Deleted.
Group every selector lists that only differentiates complex selectors through attributes
into a simple complex selector with :matches().

LayoutTests:

Test the default display type of <map> since it is not longer explicitely set.

  • fast/css/map-tag-default-display-expected.html: Added.
  • fast/css/map-tag-default-display.html: Added.
  • fast/selectors/map-tag-default-display-expected.txt: Added.
  • fast/selectors/map-tag-default-display.html: Added.
8:17 PM Changeset in webkit [176710] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

New perf dashboard's chart UI is buggy
https://bugs.webkit.org/show_bug.cgi?id=139214

Reviewed by Chris Dumez.

The bugginess was caused by weird interactions between charts and panes. Rewrote the code to fix it.

Superfluous selectionChanged and domainChanged "event" actions were removed from the interactive chart
component. This is not how Ember.js components should interact to begin with. The component now exposes
selectedPoints and always updates selection instead of sharedSelection.

  • public/v2/app.js:

(App.ChartsController.present): Added. We can't call Date.now() in various points in our code as that
would lead to infinite mutual recursions since X-axis domain values wouldn't match up.
(App.ChartsController.updateSharedDomain): This function was completely useless. The overview's start
and end time should be completely determined by "since" and the present time.
(App.ChartsController._startTimeChanged): Ditto.
(App.ChartsController._scheduleQueryStringUpdate):
(App.ChartsController._updateQueryString): Set "zoom" only if it's different from the shared domain.

(App.domainsAreEqual): Moved from InteractiveChartComponent._xDomainsAreSame.

(App.PaneController.actions.createAnalysisTask): Use selectedPoints property set by the chart.
(App.PaneController.actions.overviewDomainChanged): Removed; only needed to call updateSharedDomain.
(App.PaneController.actions.rangeChanged): Removed. _showDetails (renamed to _updateDetails) directly
observes the changes to selectedPoints property as it gets updated by the main chart.
(App.PaneController._overviewSelectionChanged): This was previously a dead code. Now it's used again
with a bug fix. When the overview selection is cleared, we use the same domain in the main chart and
the overview chart.
(App.PaneController._sharedDomainChanged): Fixed a but that it erroneously updates the overview domain
when domain arrays aren't identical. This was causing a subtle race with other logic.
(App.PaneController._sharedZoomChanged): Ditto. Also don't set mainPlotDomain here as any changes to
overviewSelection will automatically propagate to the main plot's domain as they're aliased.
(App.PaneController._currentItemChanged): Merged into _updateDetails (renamed from _showDetails).
(App.PaneController._updateDetails): Previously, this function took points and inspected _hasRange to
see if those two points correspond to a range or a single data point. Rewrote all that logic by
directly observing selectedPoints and currentItem properties instead of taking points and relying on
an instance variable, which was a terrible API.
(App.PaneController._updateCanAnalyze): Use selectedPoints property. Since this property is only set
when the main plot has a selected range, we don't have to check this._hasRange anymore.

(App.InteractiveChartComponent._updateDomain): No longer sends domainChanged "event" action.
(App.InteractiveChartComponent._sharedSelectionChanged): Removed. This is a dead code.
(App.InteractiveChartComponent._updateSelection):
(App.InteractiveChartComponent._xDomainsAreSame): Moved to App.domainsAreEqual.
(App.InteractiveChartComponent._setCurrentSelection): Update the selection only if needed. Also set
selectedPoints property.

(App.AnalysisTaskController._fetchedRuns):
(App.AnalysisTaskController._rootChangedForTestSet):

  • public/v2/index.html:

Removed non-functional sharedSelection and superfluous selectionChanged and domainChanged actions.

8:14 PM Changeset in webkit [176709] by mark.lam@apple.com
  • 29 edits
    1 delete in trunk/Source

Rolling out r176592, r176603, r176616, and r176705 until build and perf issues are resolved.
https://bugs.webkit.org/show_bug.cgi?id=138821

Not reviewed.

Source/JavaScriptCore:

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedCodeBlock::visitChildren):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitComplexPopScopes):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):

  • ftl/FTLAbbreviations.h:

(JSC::FTL::mdNode):
(JSC::FTL::buildCall):

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

  • parser/Parser.h:

(JSC::Scope::Scope):

  • runtime/JSArray.cpp:

(JSC::JSArray::setLengthWithArrayStorage):
(JSC::JSArray::sortCompactedVector):

  • tools/ProfileTreeNode.h:

(JSC::ProfileTreeNode::dumpInternal):

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::matchCharacterClass):

Source/WebCore:

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneDeserializer::deserializeString):

  • editing/TextIterator.cpp:

(WebCore::SearchBuffer::isBadMatch):

  • page/mac/ServicesOverlayController.mm:

(WebCore::ServicesOverlayController::buildSelectionHighlight):

  • platform/graphics/SegmentedFontData.cpp:

(WebCore::SegmentedFontData::fontDataForCharacter):
(WebCore::SegmentedFontData::containsCharacter):
(WebCore::SegmentedFontData::isLoading):

  • platform/graphics/WOFFFileFormat.cpp:

(WebCore::convertWOFFToSfnt):

  • platform/graphics/cairo/GradientCairo.cpp:

(WebCore::Gradient::platformGradient):

  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::clearFrameBufferCache):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintFillLayers):

  • rendering/style/GridResolvedPosition.cpp:

(WebCore::firstNamedGridLineBeforePosition):
(WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):

  • svg/SVGFontElement.cpp:

(WebCore::kerningForPairOfStringsAndGlyphs):

  • svg/SVGPathByteStream.h:

(WebCore::SVGPathByteStream::append):

  • xml/XPathNodeSet.h:

(WebCore::XPath::NodeSet::begin):
(WebCore::XPath::NodeSet::end):

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/IndexedIterator.h: Removed.
  • wtf/RefCountedArray.h:

(WTF::RefCountedArray::RefCountedArray):

  • wtf/Vector.h:

(WTF::Vector::Vector):
(WTF::Vector::begin):
(WTF::Vector::end):
(WTF::OverflowHandler>::Vector):
(WTF::=):
(WTF::OverflowHandler>::fill):
(WTF::OverflowHandler>::expandCapacity):
(WTF::OverflowHandler>::tryExpandCapacity):
(WTF::OverflowHandler>::resize):
(WTF::OverflowHandler>::shrink):
(WTF::OverflowHandler>::grow):
(WTF::OverflowHandler>::reserveCapacity):
(WTF::OverflowHandler>::tryReserveCapacity):
(WTF::OverflowHandler>::shrinkCapacity):
(WTF::OverflowHandler>::append):
(WTF::OverflowHandler>::tryAppend):
(WTF::OverflowHandler>::appendSlowCase):
(WTF::OverflowHandler>::uncheckedAppend):
(WTF::OverflowHandler>::appendVector):
(WTF::OverflowHandler>::insert):
(WTF::OverflowHandler>::insertVector):
(WTF::OverflowHandler>::remove):

7:14 PM Changeset in webkit [176708] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Fix build break EFL port since r176696
https://bugs.webkit.org/show_bug.cgi?id=139215

Unreviewed, build fix for EFL port.

  • storage/StorageNamespaceProvider.h: Include SecurityOriginHash.h from WebCore/page directory.
6:57 PM Changeset in webkit [176707] by Conrad Shultz
  • 2 edits in trunk/Source/WebKit2

Don't block menu highlighting when presenting a page preview
https://bugs.webkit.org/show_bug.cgi?id=139217

Reviewed by Tim Horton.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _previewURLFromActionMenu:]):
Defer popover presentation to the next turn of the runloop.

6:02 PM Changeset in webkit [176706] by jdiggs@igalia.com
  • 21 edits
    8 adds
    2 deletes in trunk

AX: [ATK] Table captions and table rows are missing from the accessible hierarchy
https://bugs.webkit.org/show_bug.cgi?id=139005

Reviewed by Chris Fleizach.

Source/WebCore:

Expose table captions and rows via ATK. Accomplishing the former is done
by role mapping and inclusion of the object as a child of the table for
ATK. Accomplishing the latter was mostly a matter of deleting all the ATK
platform code that had been forcing rows to be ignored. Because captions
are not being exposed on the Mac, they are now explicitly being ignored
for that platform.

Tests: accessibility/aria-table-hierarchy.html

accessibility/table-hierarchy.html

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole): Added CaptionRole.

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::addChildren): Include non-ignored captions as table children.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetNChildren): Removed special handling for tables.
(webkitAccessibleRefChild): Removed special handling for tables.
(webkitAccessibleGetIndexInParent): Removed special handling for table cells.
(atkRole): Corrected broken mapping for RowRole.
(getNChildrenForTable): Deleted.
(getChildForTable): Deleted.
(getIndexInParentForCellInRow): Deleted.

  • accessibility/mac/AccessibilityObjectMac.mm:

(WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore captions as table children.

Tools:

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

Add mapping for ATK_ROLE_CAPTION to roleToString

LayoutTests:

  • accessibility/aria-table-hierarchy.html: Added.
  • accessibility/roles-exposed.html: Removed comment pointing to this bug.
  • accessibility/table-hierarchy.html: Added.
  • platform/efl/accessibility/aria-table-hierarchy-expected.txt: Added.
  • platform/efl/accessibility/roles-exposed-expected.txt: Updated to reflect new behavior.
  • platform/efl/accessibility/table-detection-expected.txt: Updated to reflect new behavior.
  • platform/efl/accessibility/table-hierarchy-expected.txt: Added.
  • platform/efl/accessibility/table-roles-hierarchy-expected.txt: Added.
  • platform/efl/accessibility/table-with-rules-expected.txt: Updated to reflect new behavior.
  • platform/gtk/accessibility/aria-table-hierarchy-expected.txt: Updated to reflect new behavior.
  • platform/gtk/accessibility/aria-table-hierarchy.html: Removed (made into a shared test).
  • platform/gtk/accessibility/caret-offsets-expected.txt: Updated to reflect new behavior.
  • platform/gtk/accessibility/caret-offsets.html: Modified to handle inclusion of rows.
  • platform/gtk/accessibility/roles-exposed-expected.txt: Updated to reflect new behavior.
  • platform/gtk/accessibility/table-detection-expected.txt: Updated to reflect new behavior.
  • platform/gtk/accessibility/table-hierarchy-expected.txt: Updated to reflect new behavior.
  • platform/gtk/accessibility/table-hierarchy.html: Removed (made into a shared test).
  • platform/gtk/accessibility/table-roles-hierarchy-expected.txt: Added.
  • platform/gtk/accessibility/table-with-rules-expected.txt: Updated to reflect new behavior.
  • platform/gtk/accessibility/text-for-range-table-cells.html: Updated to reflect new behavior.
  • platform/mac/accessibility/aria-table-hierarchy-expected.txt: Added.
  • platform/mac/accessibility/table-hierarchy-expected.txt: Added.
6:01 PM Changeset in webkit [176705] by oliver@apple.com
  • 2 edits in trunk/Source/WTF

Fix IOS builds.

5:52 PM Changeset in webkit [176704] by weinig@apple.com
  • 1 edit
    1 delete in trunk/Source/WebKit

Remove empty directories

Reviewed by Anders Carlsson.

  • Source: Removed.
  • Source/WebKit: Removed.
  • Source/WebKit/mac: Removed.
  • Source/WebKit/mac/Resources: Removed.
5:44 PM Changeset in webkit [176703] by timothy_horton@apple.com
  • 4 edits in trunk/Source

Fix the build.

  • UIProcess/mac/WebContextMac.mm:
  • WebCoreSupport/WebFrameLoaderClient.mm:
5:12 PM Changeset in webkit [176702] by dburkart@apple.com
  • 1 copy in tags/Safari-600.3.9

Tagging.

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

<rdar://problem/18441138> [iOS] Text selection in WKWebView with WKSelectionGranularityCharacter only works in the most recent WKWebView to load
https://bugs.webkit.org/show_bug.cgi?id=139211

Reviewed by Anders Carlsson.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView becomeFirstResponder]): Override to activate the text selection for when
becoming first resopnder.
(-[WKContentView resignFirstResponder]): Deactiavte the text selection when resigning first
responder. This ensures that if another WKWebView becomes first responder, and it uses
block selection, we don’t end up with two active selection views.
(-[WKContentView useSelectionAssistantWithMode:]): Only activate the text selection if this
is the first responder. This ensures that loading content into a non-first-responder
WKWebView doesn‘t deactivate the text selection in the current first responder.

4:49 PM Changeset in webkit [176700] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Change CallFrame::globalThisValue() to not use CallFrame::scope()
https://bugs.webkit.org/show_bug.cgi?id=139202

Reviewed by Mark Lam.

Changed to use the globalThis() on the globalObject associated with the
callee. Moved the inline definition to JSGlobalObject.h instead of
including JSGlobalObject.h in JSScope.h. Also moved it as JSScope
objects are no longer involved in getting the value.

  • runtime/JSGlobalObject.h:

(JSC::ExecState::globalThisValue):

  • runtime/JSScope.h:

(JSC::ExecState::globalThisValue): Deleted.

4:39 PM Changeset in webkit [176699] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: CSS Minification breaks some selectors with colons
https://bugs.webkit.org/show_bug.cgi?id=139206

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

Do not remove spaces preceeding colons, as they may change the semantics
of selectors with colon prefixes (e.g. "a :not(b)").

At the same time, we can strip spaces around "!" characters, for example
a space is not required before "!important" priority.

  • Scripts/cssmin.py:

(cssminify):

4:33 PM Changeset in webkit [176698] by ap@apple.com
  • 14 edits in trunk

http/tests/appcache/main-resource-fallback-for-network-error-crash.html can break subsequent tests
https://bugs.webkit.org/show_bug.cgi?id=139149

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.exp.in: Added ApplicationCache::deleteAllCaches.
  • loader/appcache/ApplicationCache.h:
  • loader/appcache/ApplicationCache.cpp:

(WebCore::ApplicationCache::deleteAllCaches): Added.

  • loader/appcache/ApplicationCacheStorage.cpp:

(WebCore::ApplicationCacheStorage::getManifestURLs): Removed logging. It is OK to
have this function called when there is no database file.

  • loader/appcache/ApplicationCacheStorage.h: Renamed manifestURLs to getManifestURLs,

because WebKit style.

Source/WebKit/mac:

This changes API behavior. I think that it's OK, because existing behavior made no sense.
We used to delete caches from disk, but they were still active in memory. Now we also
obsolete them in memory, so documents that use a cache still work, but new ones don't
pick one up.

  • WebCoreSupport/WebApplicationCache.mm:

(+[WebApplicationCache setMaximumSize:]): Changing maximum on-disk size doesn't
need to delete in-momry caches too. Keep existing behavior.
(+[WebApplicationCache deleteAllApplicationCaches]): Use the new WebCore function
that properly deletes caches.

Source/WebKit2:

This changes API behavior. I think that it's OK, because existing behavior made no sense.
We used to delete caches from disk, but they were still active in memory. Now we also
obsolete them in memory, so documents that use a cache still work, but new ones don't
pick one up.

  • WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:

(WebKit::WebApplicationCacheManager::deleteAllEntries): Use the new WebCore function
that properly deletes caches.

Tools:

WebKit2 already cleared application caches between runs (although it wasn't entirely
effective without WebCore changes in this patch).

  • DumpRenderTree/mac/DumpRenderTree.mm: (runTest): Clear applicaiton caches between runs.
  • DumpRenderTree/win/DumpRenderTree.cpp: (runTest): Ditto (unfortunately, this

function is not implemented on Windows, see below).

  • DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::clearAllApplicationCaches):

Ameded a FIXME.

4:32 PM Changeset in webkit [176697] by timothy_horton@apple.com
  • 18 edits
    2 deletes in trunk/Source

Remove a SnowLeopard-era quirk for QuickLook
https://bugs.webkit.org/show_bug.cgi?id=139208
<rdar://problem/19121822>

Reviewed by Alexey Proskuryakov.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/EmptyClients.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::subresourceCachePolicy):

  • loader/FrameLoaderClient.h:
  • platform/mac/QuickLookMac.h: Removed.
  • platform/mac/QuickLookMac.mm: Removed.
  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:
  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitializeWebProcess):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::needsQuickLookResourceCachingQuirks): Deleted.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):

  • WebProcess/WebProcess.h:

(WebKit::WebProcess::needsQuickLookResourceCachingQuirks): Deleted.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

4:30 PM Changeset in webkit [176696] by andersca@apple.com
  • 10 edits
    2 adds in trunk/Source/WebCore

Begin stubbing out a StorageNamespaceProvider class
https://bugs.webkit.org/show_bug.cgi?id=139203

Reviewed by Tim Horton.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:

Add new files.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::localStorage):
If the page has a storage namespace provider, get the local storage from it.

  • page/Page.cpp:

(WebCore::Page::Page):
Move the storage namespace provider from the configuration.

(WebCore::Page::setStorageNamespaceProvider):
Add a setter. This will be used by setGroupName.

  • page/Page.h:

(WebCore::Page::storageNamespaceProvider):
Add a getter.

  • page/PageConfiguration.cpp:
  • page/PageConfiguration.h:

Add a storage namespace provider member.

  • storage/StorageNamespaceProvider.cpp:

(WebCore::StorageNamespaceProvider::StorageNamespaceProvider):
(WebCore::StorageNamespaceProvider::~StorageNamespaceProvider):
(WebCore::StorageNamespaceProvider::addPage):
(WebCore::StorageNamespaceProvider::removePage):
(WebCore::StorageNamespaceProvider::localStorageNamespace):
(WebCore::StorageNamespaceProvider::transientLocalStorageNamespace):

  • storage/StorageNamespaceProvider.h:

Stub out a storage namespace provider class.

3:41 PM Changeset in webkit [176695] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Loading Lookup causes http/tests/cache/post-redirect-get.php to fail
https://bugs.webkit.org/show_bug.cgi?id=139204
<rdar://problem/19120929>

Reviewed by Anders Carlsson.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _showDictionaryLookupPopup:]):

  • WebView/WebViewData.h:

Work around this by delaying the softlinking (and setting up the notification
observer) until we actually need it. There's still an underlying bug, but
this will fix the test.

2:05 PM Changeset in webkit [176694] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

More build fixing.

  • platform/spi/mac/QuickLookMacSPI.h:
1:53 PM Changeset in webkit [176693] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

Yet another build fix.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItemsForLink]):

1:47 PM Changeset in webkit [176692] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Another build fix.

  • platform/spi/mac/NSMenuSPI.h:
1:36 PM Changeset in webkit [176691] by Beth Dakin
  • 4 edits in trunk/Source

Build fix.

Source/WebKit/mac:

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItemsForLink]):

Source/WebKit2:

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForLink]):

1:31 PM Changeset in webkit [176690] by Beth Dakin
  • 4 edits in trunk/Source

Source/WebKit/mac:
More build fixing.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItemsForLink]):

Source/WebKit2:
More build fix.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForLink]):

1:20 PM Changeset in webkit [176689] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Speculative build fix.

  • platform/spi/mac/QuickLookMacSPI.h:
1:12 PM Changeset in webkit [176688] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Speculative build fix.

  • platform/spi/mac/QuickLookMacSPI.h:
1:00 PM Changeset in webkit [176687] by mitz@apple.com
  • 6 edits in trunk/Source/WebKit2

REGRESSION: Dragging selected text changes the selection
https://bugs.webkit.org/show_bug.cgi?id=139110

Reviewed by Simon Fraser.

After it sent the UI process the message to start dragging, the Web process handled mouse
move events that had already been in flight, interpreting them as a drag to start a new
selection. This is fixed by ignoring any mouse events received after asking the UI process
to start dragging.

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::setDragImage): Send the new DidStartDrag message back to the Web
process, so that it stops ignoring mouse events.

  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:

(WebKit::WebDragClient::startDrag): Call the new WebPage::willStartDrag, so that it starts
ignoring mouse events.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Initialize new member variable.
(WebKit::WebPage::mouseEvent): Don’t handle the event if we have asked the UI process to
start dragging.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::willStartDrag): Added. Sets new member variable m_isStartingDrag to true.
(WebKit::WebPage::didStartDrag): Added. Handles the message from the UI process by setting
m_isStartingDrag back to false.

  • WebProcess/WebPage/WebPage.messages.in: Added DidStartDrag.
12:53 PM Changeset in webkit [176686] by andersca@apple.com
  • 5 edits in trunk/Source

Remove more Windows cruft
https://bugs.webkit.org/show_bug.cgi?id=139189

Reviewed by Andreas Kling.

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::createNetworkingContext):

  • WebCoreSupport/WebFrameNetworkingContext.h:

(WebFrameNetworkingContext::create):
(WebFrameNetworkingContext::WebFrameNetworkingContext):
(WebFrameNetworkingContext::userAgent): Deleted.

12:50 PM Changeset in webkit [176685] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix typo introduced in r176673.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):

12:36 PM Changeset in webkit [176684] by Beth Dakin
  • 8 edits
    2 adds in trunk/Source

Should use standardQuickLookMenuItem for apps that don't implement customizations
https://bugs.webkit.org/show_bug.cgi?id=139193
-and corresponding-
rdar://problem/18944696

Reviewed by Anders Carlsson.

Source/WebCore:

New SPI headers.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/mac/NSMenuSPI.h: Added.
  • platform/spi/mac/QuickLookMacSPI.h: Added.

Source/WebKit/mac:

Use [NSMenuItem standardQuickLookMenuItem].

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItemsForLink]):

Delegate methods to set up the standardQuickLookMenuItem.
(-[WebActionMenuController menuItem:viewAtScreenPoint:]):
(-[WebActionMenuController menuItem:previewItemAtPoint:]):
(-[WebActionMenuController menuItem:preferredEdgeForPoint:]):

Remove all of the old QLPreviewBubble code.
(-[WebActionMenuController _createActionMenuItemForTag:]):
(-[WebActionMenuController _quickLookURLFromActionMenu:]): Deleted.

Source/WebKit2:

New SPI will allow clients to opt-out of the standardQuickLookMenuItem. By
default, opt in.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _shouldUseStandardQuickLookPreview]):

  • UIProcess/mac/WKActionMenuController.mm:

Use [NSMenuItem standardQuickLookMenuItem] unless the client has requested
otherwise.
(-[WKActionMenuController _defaultMenuItemsForLink]):

Delegate methods to set up the standardQuickLookMenuItem.
(-[WKActionMenuController menuItem:viewAtScreenPoint:]):
(-[WKActionMenuController menuItem:previewItemAtPoint:]):
(-[WKActionMenuController menuItem:preferredEdgeForPoint:]):

12:30 PM Changeset in webkit [176683] by barraclough@apple.com
  • 20 edits
    3 adds
    2 deletes in trunk

Generalize PageActivityAssertionToken
https://bugs.webkit.org/show_bug.cgi?id=139106

Reviewed by Sam Weinig.

Source/WebCore:

PageActivityAssertionToken is a RAII mechanism implementing a counter, used by PageThrottler
to count user visible activity in progress on the page (currently page load and media playback).
Use of an RAII type is prevents a number of possible errors, including double counting a single
media element, or failing to decrement the count after a media element has been deallocated.

The current implementation has a number of drawbacks that have been addressed by this refactoring:

  • specific to single use in PageThrottler class - not reusable.
  • incomplete encapsulation - the counter and WeakPtrFactory that comprise the current implementation are not encapsulated (are in the client type, PageThrottler).
  • tokens are not shared - PageActivityAssertionToken instances are managed by std::unique, every increment requires an object allocation.
  • redundancy - the current implementation uses a WeakPtr to safely reference the PageThrottler, this is internally implemented using a reference counted type, resulting in two counters being incremented (one in the PageActivityAssertionToken, one in the PageThrottler).

In the reimplementation:

  • a callback is provided via a lambda function, which allows for easy reuse without a lot of boilerplate code.
  • the counter, callback and ownership of the otherwise weakly-owned token is encapsulated within the RefCounter type.
  • a single count within RefCounter::Count stores the counter value, and also manage the lifetime of this object.
  • standard RefPtrs are used to manage references to the RefCounter::Count.
  • WebCore.xcodeproj/project.pbxproj:
    • removed PageActivityAssertionToken.cpp/.h
  • html/HTMLMediaElement.cpp:
    • removed PageActivityAssertionToken.h
  • html/HTMLMediaElement.h:
    • std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count>
  • loader/FrameLoader.cpp:
    • removed PageActivityAssertionToken.h
  • loader/FrameLoader.h:
    • std::unique_ptr<PageActivityAssertionToken> -> RefPtr<RefCounter::Count>
  • loader/SubresourceLoader.cpp:
    • removed PageActivityAssertionToken.h
  • loader/SubresourceLoader.h:
    • removed class PageActivityAssertionToken
  • page/Page.cpp:
    • removed PageActivityAssertionToken.h

(WebCore::Page::Page):

  • removed Page* parameter to PageThrottler
  • page/Page.h:
    • removed class PageActivityAssertionToken
  • page/PageActivityAssertionToken.cpp: Removed.
  • page/PageActivityAssertionToken.h: Removed.
    • removed PageActivityAssertionToken.cpp/.h
  • page/PageThrottler.cpp:

(WebCore::PageThrottler::PageThrottler):

  • removed m_page, m_weakPtrFactory, m_activityCount; added m_pageActivityCounter.

(WebCore::PageThrottler::mediaActivityToken):

  • std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count>

(WebCore::PageThrottler::pageLoadActivityToken):

  • std::unique_ptr<PageActivityAssertionToken> -> PassRefPtr<RefCounter::Count>

(WebCore::PageThrottler::pageActivityCounterValueDidChange):

  • merged functionality of incrementActivityCount/decrementActivityCount

(WebCore::PageThrottler::incrementActivityCount): Deleted.

  • see pageActivityCounterValueDidChange

(WebCore::PageThrottler::decrementActivityCount): Deleted.

  • see pageActivityCounterValueDidChange
  • page/PageThrottler.h:

(WebCore::PageThrottler::weakPtr): Deleted.

  • no longer required; this functionality is now encapsulated within RefCounter.

Source/WTF:

PageActivityAssertionToken is a RAII mechanism implementing a counter, used by PageThrottler
to count user visible activity in progress on the page (currently page load and media playback).
Use of an RAII type is prevents a number of possible errors, including double counting a single
media element, or failing to decrement the count after a media element has been deallocated.

The current implementation has a number of drawbacks that have been addressed by this refactoring:

  • specific to single use in PageThrottler class - not reusable.
  • incomplete encapsulation - the counter and WeakPtrFactory that comprise the current implementation are not encapsulated (are in the client type, PageThrottler).
  • tokens are not shared - PageActivityAssertionToken instances are managed by std::unique, every increment requires an object allocation.
  • redundancy - the current implementation uses a WeakPtr to safely reference the PageThrottler, this is internally implemented using a reference counted type, resulting in two counters being incremented (one in the PageActivityAssertionToken, one in the PageThrottler).

In the reimplementation:

  • a callback is provided via a lambda function, which allows for easy reuse without a lot of boilerplate code.
  • the counter, callback and ownership of the otherwise weakly-owned token is encapsulated within the RefCounter type.
  • a single count within RefCounter::Count stores the counter value, and also manage the lifetime of this object.
  • standard RefPtrs are used to manage references to the RefCounter::Count.
  • WTF.xcodeproj/project.pbxproj:
    • added RefCounter.cpp/.h
  • wtf/RefCounter.cpp: Added.

(WTF::RefCounter::Count::ref):

  • increment the counter.

(WTF::RefCounter::Count::deref):

  • decrement the counter, and delete as necessary.

(WTF::RefCounter::RefCounter):

  • create a RefCounter::Count.

(WTF::RefCounter::~RefCounter):

  • eagerly delete the Counter if it has no references, otherwise let it be deleted on last deref.
  • wtf/RefCounter.h: Added.

(WTF::RefCounter::Count::Count):

  • initialize count to 0.

(WTF::RefCounter::RefCounter):

  • takes a lambda to be called when the value changes.

(WTF::RefCounter::count):

  • reference the counter (and in doing so increment the count).

(WTF::RefCounter::value):

  • access the current value of the counter.

Tools:

Add an API test for WTF::RefCounter.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/RefCounter.cpp: Added.

(TestWebKitAPI::TEST):

  • added RefCounter test.
11:49 AM Changeset in webkit [176682] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

Always show the arrow for text selection services
https://bugs.webkit.org/show_bug.cgi?id=139191
<rdar://problem/18903995>

Reviewed by Anders Carlsson.

  • platform/spi/mac/DataDetectorsSPI.h:
  • page/mac/ServicesOverlayController.mm:

Move a few things to DataDetectorsSPI.h.

(WebCore::ServicesOverlayController::buildPhoneNumberHighlights):
(WebCore::ServicesOverlayController::buildSelectionHighlight):
Make use of the real DDHighlightStyle names.
Add DDHighlightStyleButtonShowAlways for selection services.

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

Fix the build.

  • WebView/WebViewData.h:
11:38 AM Changeset in webkit [176680] by timothy_horton@apple.com
  • 7 edits
    1 add in trunk/Source/WebKit

Implement Lookup transition from selection for Legacy WebKit
https://bugs.webkit.org/show_bug.cgi?id=139180
<rdar://problem/19067172>

Reviewed by Beth Dakin.

  • WebView/DictionaryPopupInfo.h: Added.

Split DictionaryPopupInfo out into its own file.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _lookupText:]):
Hand the DictionaryPopupInfo to WebView, which will show the TextIndicator and invoke Lookup.

(performDictionaryLookupForSelection):
(performDictionaryLookupForRange):
Plumb the transition style through these helpers.
Create a TextIndicator from the selection range.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _lookUpInDictionaryFromMenu:]):
Make use of TextIndicator (and DictionaryPopupInfo, and the new
_showDictionaryLookupPopup on WebView) to add a transition from blue
when performing Lookup from the context menu.

(-[WebHTMLView quickLookWithEvent:]):
Remove our TextIndicator whenever a normal three-finger-tap event
comes through, as it will have its own indication.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _dictionaryLookupPopoverWillClose:]):
Register for the LUNotificationPopoverWillClose notification and remove
our TextIndicator when it is called, just like in WebKit2.
Deregistration is already handled in _close.

(-[WebView _showDictionaryLookupPopup:]):
Just like WebKit2, show our TextIndicator and tell Lookup not to show its own,
if the relevant API is available.

  • WebView/WebViewInternal.h:
  • WebKit.xcodeproj/project.pbxproj:

Add mac/WebView/DictionaryPopupInfo.h.

11:37 AM Changeset in webkit [176679] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176474. rdar://problems/19063717

11:34 AM Changeset in webkit [176678] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

TextIndicator can get stuck (especially if we don't get LUNotificationPopoverWillClose when we should)
https://bugs.webkit.org/show_bug.cgi?id=139175
<rdar://problem/19072236>

Reviewed by Beth Dakin.

  • UIProcess/API/mac/WKView.mm:

(-[WKView scrollWheel:]):
(-[WKView mouseDown:]):
Work around <rdar://problem/19086993> by always explicitly clearing the
active text indicator in mouseDown: and scrollWheel:.
This way, even if you manage to get a text indicator that outlives the
Look Up popover (or find-in-page, or whatever), it will be dismissed
by clicking or scrolling the view.

11:30 AM Changeset in webkit [176677] by ap@apple.com
  • 13 edits in trunk/Tools

[Mac, iOS] Crash log application information contains latest main frame URL instead of test URL
https://bugs.webkit.org/show_bug.cgi?id=139174

Reviewed by Simon Fraser.

  • DumpRenderTree/TestRunner.cpp:
  • DumpRenderTree/TestRunner.h:

Renamed testPathOrURL to testURL, because this variable always contains a URL.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(sizeWebViewForCurrentTest): Updated for testPathOrURL renaming.
(testPathFromURL): Moved from FrameLoadDelegate.mm.
(runTest): Set crash reporter information here, as we know the exact test URL.

  • DumpRenderTree/mac/FrameLoadDelegate.mm:

(-[FrameLoadDelegate webView:didStartProvisionalLoadForFrame:]): Don't set crash
reporter information here.

  • DumpRenderTree/mac/ResourceLoadDelegate.mm:
  • DumpRenderTree/mac/TestRunnerMac.mm:

Updated for testPathOrURL renaming.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::didStartProvisionalLoadForFrame): WebProcess doesn't know
test URL until load starts, so save it into TestRunner now. A new TestRunner object
is created for each test.

  • WebKitTestRunner/InjectedBundle/TestRunner.h:

(WTR::TestRunner::testURL):
(WTR::TestRunner::setTestURL):
Make TestRunner know the test name. For now, it's good enough to have it once load
starts, but if we ever need it earlier, we can send it with BeginTest message.

  • WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm:

(WTR::InjectedBundlePage::platformDidStartProvisionalLoadForFrame):
Use test URL, not currently loading URL for CrashReporter.

  • WebKitTestRunner/cocoa/CrashReporterInfo.mm:

(WTR::setCrashReportApplicationSpecificInformationToURL): Added a space after colon
(WebKit1 already had it right).

  • DumpRenderTree/win/DumpRenderTree.cpp:

(sizeWebViewForCurrentTest):
(runTest):

  • DumpRenderTree/win/ResourceLoadDelegate.cpp:

(ResourceLoadDelegate::willSendRequest):
Changed Windows DumpRenderTree to also use URL in TestRunner.

11:27 AM Changeset in webkit [176676] by mmirman@apple.com
  • 4 edits
    1 add in trunk/Source/JavaScriptCore

Fixes inline cache fast path accessing nonexistant getters.
<rdar://problem/18416918>
https://bugs.webkit.org/show_bug.cgi?id=136961

Reviewed by Filip Pizlo.

Fixes a bug in inline caching where getters would have been able to
modify the property they are getting during
building the inline cache and then accessing that
property through the inline cache site causing a recursive
inline cache building and allowing the fast path of the cache to
try to load a getter for the property that no longer exists.

  • jit/JITOperations.cpp: Switched use of get to getPropertySlot.
  • runtime/JSCJSValue.h:

added getPropertySlot for when you don't want to perform the get quite yet but want
to fill out the slot.

  • runtime/JSCJSValueInlines.h: Added implementation for getPropertySlot

(JSC::JSValue::get): changed to simply call getPropertySlot
(JSC::JSValue::getPropertySlot): added.

  • tests/stress/recursive_property_redefine_during_inline_caching.js: Added test case for bug.

(test):

11:26 AM Changeset in webkit [176675] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Fix iOS build.

  • WebCore.exp.in:
11:15 AM Changeset in webkit [176674] by Chris Dumez
  • 4 edits
    2 adds in trunk

Crash when setting 'flex' CSS property to 'calc(2 * 3) calc(2 * 3)'
https://bugs.webkit.org/show_bug.cgi?id=139162

Reviewed by Darin Adler.

Source/WebCore:

Add support for calculated values in 'flex' CSS property.
Previously, those did not work in release builds, and were hitting
an assertion in debug builds.

Test: fast/css/flex-calculated-value.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::validCalculationUnit):
Do not call RefPtr::release() as we are not interested in the return
value. Assign nullptr to the member instead.

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFillPositionComponent):
(WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
(WebCore::CSSParser::parseFontWeight):
(WebCore::CSSParser::parsedDouble):
(WebCore::CSSParser::colorIntFromValue):
(WebCore::CSSParser::parseColorParameters):
(WebCore::CSSParser::parseHSLParameters):
(WebCore::CSSParser::parseFlex):

  • css/CSSParser.h:

LayoutTests:

Add layout test for calculated value support for 'flex' CSS property.

  • fast/css/flex-calculated-value-expected.txt: Added.
  • fast/css/flex-calculated-value.html: Added.
11:04 AM Changeset in webkit [176673] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

Fix logging typo
https://bugs.webkit.org/show_bug.cgi?id=139182

Reviewed by Alexey Proskuryakov.

No new tests, only logging code is changed.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Don't use %f to log a string.

11:02 AM Changeset in webkit [176672] by andersca@apple.com
  • 3 edits
    11 deletes in trunk/Source/WebCore

Get rid of the WinINet based network implementation
https://bugs.webkit.org/show_bug.cgi?id=139187

Reviewed by Andreas Kling.

This code was only used by the Windows CE port. Now it's unused.

  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleInternal.h:

(WebCore::ResourceHandleInternal::ResourceHandleInternal):

  • platform/network/win/AuthenticationChallenge.h: Removed.
  • platform/network/win/CookieJarWin.cpp: Removed.
  • platform/network/win/CredentialStorageWin.cpp: Removed.
  • platform/network/win/ProxyServerWin.cpp: Removed.
  • platform/network/win/ResourceError.h: Removed.
  • platform/network/win/ResourceHandleWin.cpp: Removed.
  • platform/network/win/ResourceRequest.h: Removed.
  • platform/network/win/ResourceResponse.h: Removed.
  • platform/network/win/SocketStreamError.h: Removed.
  • platform/network/win/SocketStreamHandle.h: Removed.
  • platform/network/win/SocketStreamHandleWin.cpp: Removed.
10:53 AM Changeset in webkit [176671] by Chris Dumez
  • 3 edits
    4 adds in trunk

Crash when setting 'column-span' CSS property to 'calc(2 * 3)'
https://bugs.webkit.org/show_bug.cgi?id=139170

Reviewed by Darin Adler.

Source/WebCore:

Add support for calculated values for 'column-span' and 'column-width'
CSS properties. Previously, these were not working in release builds
and hitting assertions in debug builds.

Tests: fast/css/column-width-calculated-value.html

fast/css/webkit-column-span-calculated-value.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

LayoutTests:

Add layout tests to test calculated values for 'column-span'
and 'column-width' CSS properties.

  • fast/css/column-width-calculated-value-expected.txt: Added.
  • fast/css/column-width-calculated-value.html: Added.
  • fast/css/webkit-column-span-calculated-value-expected.txt: Added.
  • fast/css/webkit-column-span-calculated-value.html: Added.
10:12 AM Changeset in webkit [176670] by andersca@apple.com
  • 26 edits
    2 deletes in trunk/Source

Remove visited link handling from PageGroup
https://bugs.webkit.org/show_bug.cgi?id=139185

Reviewed by Sam Weinig.

Source/WebCore:

  • CMakeLists.txt:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/HistoryController.cpp:
  • page/Chrome.cpp:

(WebCore::ChromeClient::populateVisitedLinks): Deleted.

  • page/ChromeClient.h:
  • page/DefaultVisitedLinkStore.cpp: Removed.
  • page/DefaultVisitedLinkStore.h: Removed.
  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::~Page):
(WebCore::Page::visitedLinkStore):
(WebCore::Page::setVisitedLinkStore):
(WebCore::Page::removeAllVisitedLinks): Deleted.

  • page/Page.h:
  • page/PageGroup.cpp:

(WebCore::PageGroup::PageGroup):
(WebCore::PageGroup::visitedLinkStore): Deleted.
(WebCore::PageGroup::isLinkVisited): Deleted.
(WebCore::PageGroup::addVisitedLinkHash): Deleted.
(WebCore::PageGroup::addVisitedLink): Deleted.
(WebCore::PageGroup::removeVisitedLink): Deleted.
(WebCore::PageGroup::removeVisitedLinks): Deleted.
(WebCore::PageGroup::removeAllVisitedLinks): Deleted.
(WebCore::PageGroup::setShouldTrackVisitedLinks): Deleted.

  • page/PageGroup.h:

Source/WebKit/mac:

  • History/WebHistory.mm:

(-[WebHistoryPrivate removeItemForURLString:]):
(-[WebHistoryPrivate removeAllItems]):
(+[WebHistory setOptionalSharedHistory:]):
(+[WebHistory _setVisitedLinkTrackingEnabled:]):
(+[WebHistory _removeAllVisitedLinks]):
(-[WebHistoryPrivate addVisitedLinksToPageGroup:]): Deleted.
(-[WebHistory _addVisitedLinksToPageGroup:]): Deleted.

  • History/WebHistoryInternal.h:
  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::populateVisitedLinks): Deleted.

  • WebView/WebView.mm:

(-[WebView addVisitedLinks:]):
(-[WebView removeVisitedLink:]):

Source/WebKit/win:

  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::populateVisitedLinks): Deleted.

  • WebCoreSupport/WebChromeClient.h:

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::populateVisitedLinks): Deleted.

  • WebProcess/WebCoreSupport/WebChromeClient.h:
10:04 AM Changeset in webkit [176669] by dbates@webkit.org
  • 5 edits in trunk/Tools

[iOS] run-webkit-tests records most DumpRenderTree.app crashes as time-outs
https://bugs.webkit.org/show_bug.cgi?id=139143

Reviewed by David Kilzer.

Similar to the Windows-specific fix in <https://bugs.webkit.org/show_bug.cgi?id=37859>,
teach DumpRenderTree for iOS to write "#CRASHED" to the standard error stream when it
crashes. Run-webkit-tests will record as crashing the test associated with the
DumpRenderTree instance that wrote that string.

Currently almost all of the DumpRenderTree.app crashes are recorded by run-
webkit-tests as a time-out because ReportCrash(8) delays delivery of the
process exit notification for DumpRenderTree.app to LayoutTestRelay, which
launched DumpRenderTree.app, past the time-out time limit. Notice LayoutTestRelay
was launched by run-webkit-tests. So, run-webkit-tests kills LayoutTestRelay
(since it exceeded the time-out time limit) before it can inform rub-webkit-tests
about a crash.

Additionally, update the crash message format written to standard error when LayoutTestRelay
detects that {WebKitTestRunner, DumpRenderTree}.app crashed so as to be similar to the
crash message format used by WebKitTestRunner when it detects that the WebProcess crashed.
Then run-webkit-tests will collect the crash logs for {WebKitTestRunner, DumpRenderTree}.app
when they crash in their test machinery logic/UI process code.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(writeCrashedMessageOnFatalError): Added.
(dumpRenderTree): Register signal handler, writeCrashedMessageOnFatalError(), for signals:
SIGILL, SIGFPE, SIGBUS and SIGSEGV.

  • LayoutTestRelay/LayoutTestRelay/LTRelayController.m:

(-[LTRelayController didCrashWithMessage:]): Emit a crash message with a format
similar to the format used by WebKitTestRunner so that run-webkit-tests will collect
the crash logs for WebKitTestRunner/DumpRenderTree.app.

  • Scripts/webkitpy/port/driver.py:

(Driver.init): Update comment.
(Driver._check_for_driver_crash): Ditto.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort): Add class constant SUBPROCESS_CRASH_REGEX, which represents a compiled
regular expression. This constant is used as an optimization to avoid compiling the same
regular expression across invocations of _get_crash_log().
(IOSSimulatorPort._get_crash_log): Modified to parse the WebKitTestRunner-like crash message
for the subprocess name and pid. Also, moved variables crash_log, crash_logs, and now to be
closer to where they are used.

9:59 AM Changeset in webkit [176668] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Use references instead of pointers in EditingStyle
https://bugs.webkit.org/show_bug.cgi?id=137918

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-12-02
Reviewed by Darin Adler.

  • editing/EditingStyle.cpp:

(WebCore::extractPropertyValue):
(WebCore::identifierForStyleProperty):
(WebCore::textColorFromStyle):
(WebCore::backgroundColorFromStyle):
(WebCore::textAlignResolvingStartAndEnd):
(WebCore::EditingStyle::triStateOfStyle):
(WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
(WebCore::EditingStyle::prepareToApplyAt):
(WebCore::EditingStyle::removeStyleFromRulesAndContext):
(WebCore::StyleChange::StyleChange):
(WebCore::setTextDecorationProperty):
(WebCore::StyleChange::extractTextStyles):
(WebCore::diffTextDecorations):
(WebCore::fontWeightIsBold):
(WebCore::extractPropertiesNotIn):
(WebCore::getPropertiesNotIn):

  • editing/EditingStyle.h:
9:33 AM Changeset in webkit [176667] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merged r176617. rdar://problems/19107247

9:33 AM Changeset in webkit [176666] by dburkart@apple.com
  • 5 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176613. rdar://problems/19108805

9:32 AM Changeset in webkit [176665] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Build fix.

9:07 AM Changeset in webkit [176664] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Media Source sending seek event fails.
https://bugs.webkit.org/show_bug.cgi?id=139181

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2014-12-02
Reviewed by Philippe Normand.

There were callbacks connected to app_src on 'seek', but if stream type is not seekable, they would never launch,
and seeking (as in MediaPlayerPrivateGStreamer::doSeek) fails.

No new tests needed.

  • platform/graphics/gstreamer/WebKitMediaSourceGStreamer.cpp:

(webkit_media_src_init):

8:57 AM Changeset in webkit [176663] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merged r176618. rdar://problem/18992185

8:57 AM Changeset in webkit [176662] by dburkart@apple.com
  • 8 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r176608. rdar://problem/18992185

8:57 AM Changeset in webkit [176661] by dburkart@apple.com
  • 15 edits in branches/safari-600.3-branch/Source

Merged r176599. rdar://problem/18992185

8:56 AM Changeset in webkit [176660] by dburkart@apple.com
  • 32 edits
    4 moves in branches/safari-600.3-branch/Source

Merged r176462. rdar://problem/18992185

8:44 AM Changeset in webkit [176659] by andersca@apple.com
  • 8 edits in trunk

Remove WKBundleRemoveAllVisitedLinks
https://bugs.webkit.org/show_bug.cgi?id=139163

Reviewed by Sam Weinig.

Source/WebKit2:

WKBundleRemoveAllVisitedLinks has been a no-op since at least Yosemite; get rid of it.

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

(WKBundleRemoveAllVisitedLinks): Deleted.

  • WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::removeAllVisitedLinks): Deleted.

  • WebProcess/InjectedBundle/InjectedBundle.h:

Tools:

Remove the call to WKBundleRemoveAllVisitedLinks and add a FIXME instead.

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::beginTesting):

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::invoke):

8:43 AM Changeset in webkit [176658] by andersca@apple.com
  • 2 edits in trunk/Tools

Fix Windows build.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(setAlwaysAcceptCookies):

8:42 AM Changeset in webkit [176657] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move 'font-family' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=139172

Reviewed by Antti Koivisto.

Move 'font-family' CSS property to the new StyleBuilder by using
custom code.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyFontFamily::applyInheritValue): Deleted.
(WebCore::ApplyPropertyFontFamily::applyInitialValue): Deleted.
(WebCore::ApplyPropertyFontFamily::applyValue): Deleted.
(WebCore::ApplyPropertyFontFamily::createHandler): Deleted.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyInitialFontFamily):
(WebCore::StyleBuilderCustom::applyInheritFontFamily):
(WebCore::StyleBuilderCustom::applyValueFontFamily):

8:38 AM Changeset in webkit [176656] by dburkart@apple.com
  • 1 edit in branches/safari-600.3-branch/Tools/TestWebKitAPI/Tests/WebKit2/CloseFromWithinCreatePage.cpp

Build fix. rdar://problem/19052564

8:05 AM Changeset in webkit [176655] by dburkart@apple.com
  • 6 edits
    2 adds in branches/safari-600.3-branch

Merged r176574. rdar://problems/19052564

7:57 AM Changeset in webkit [176654] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176570. rdar://problems/19075587

7:57 AM Changeset in webkit [176653] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176569. rdar://problems/19086676

7:57 AM Changeset in webkit [176652] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176511. rdar://problems/19070840

7:43 AM Changeset in webkit [176651] by dburkart@apple.com
  • 30 edits
    2 copies
    4 adds in branches/safari-600.3-branch/Source

Merged r176499. rdar://problem/19103641

7:15 AM Changeset in webkit [176650] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176486. rdar://problems/19056442

7:15 AM Changeset in webkit [176649] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176485. rdar://problems/19061959

7:15 AM Changeset in webkit [176648] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176483. rdar://problems/19064523

7:15 AM Changeset in webkit [176647] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176480. rdar://problems/19056442

7:09 AM Changeset in webkit [176646] by dburkart@apple.com
  • 6 edits in branches/safari-600.3-branch/Source

Merged r176477. rdar://problems/19056715

7:08 AM Changeset in webkit [176645] by dburkart@apple.com
  • 6 edits in branches/safari-600.3-branch/Source

Merged r176463. rdar://problems/19056715

6:58 AM Changeset in webkit [176644] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176460. rdar://problems/19059946

6:55 AM Changeset in webkit [176643] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176430. rdar://problems/18904651

6:55 AM Changeset in webkit [176642] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176429. rdar://problems/18904651

6:54 AM Changeset in webkit [176641] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176428. rdar://problems/19052196

6:50 AM Changeset in webkit [176640] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r176427. rdar://problem/19051534

6:42 AM Changeset in webkit [176639] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176418. rdar://problems/19042323

6:35 AM Changeset in webkit [176638] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merge r176417. rdar://problem/19021183

6:33 AM Changeset in webkit [176637] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

[EFL] Remove edbus dependency from jhbuild
https://bugs.webkit.org/show_bug.cgi?id=139130

Reviewed by Gyuyoung Kim.

After http://trac.webkit.org/changeset/176555 we
don't need it anymore.

  • efl/jhbuild.modules:
6:22 AM Changeset in webkit [176636] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merge r176415. rdar://problem/18950441

6:14 AM Changeset in webkit [176635] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r176414. rdar://problem/19042207

6:03 AM Changeset in webkit [176634] by dburkart@apple.com
  • 8 edits in branches/safari-600.3-branch/Source

Merge r176412. rdar://problem/18904600

5:33 AM Changeset in webkit [176633] by Csaba Osztrogonác
  • 2 edits in trunk/Source

Typo fix after r176632. Revert accidental change of executable bit of ChangeLog files.

4:54 AM Changeset in webkit [176632] by evab.u-szeged@partner.samsung.com
  • 5 edits in trunk/Source

Fix class was previously declared as a struct warnings
https://bugs.webkit.org/show_bug.cgi?id=139131

Reviewed by Csaba Osztrogonác.

Source/WebCore:

No new tests needed.

  • platform/graphics/texmap/TextureMapperGL.h:

Source/WebKit2:

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  • UIProcess/CoordinatedGraphics/WebViewClient.h:
3:23 AM Changeset in webkit [176631] by gyuyoung.kim@samsung.com
  • 7 edits in trunk/Source/WebKit2

[EFL] ewk_view_scale_set() doesn't work correctly
https://bugs.webkit.org/show_bug.cgi?id=139109

Reviewed by Csaba Osztrogonác.

When ewk_view_scale_set() is called, it has only updated a scale factor which is maintained by WebPageProxy.
It causes WebPageProxy unsynchronized with PageViewportController's scale factor. That's why wrong scale
behavior has occured through ewk_view_scale_set(). Besides zooming has similar problem as well.

Thus this patch updates m_pageScaleFactor of PageViewportController as well as prohibits to change the scale
factor through viewport meta tag update. Because ewk_view_scale_set() means that user wants to set a specific
value to scale factor of current viewport.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::updateScaleToPageViewportController):

Set m_initiallyFitToViewport to false. And call didChangeContentsVisibility() with new scale and scale position.

  • UIProcess/API/efl/EwkView.h:
  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_scale_set):

  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(TEST_F):

  • UIProcess/CoordinatedGraphics/PageViewportController.cpp:

(WebKit::PageViewportController::didCommitLoad):

Set m_initiallyFitToViewport to true in order to fit content to viewport size by default.
Initizlize content position with (0, 0).

(WebKit::PageViewportController::pageTransitionViewportReady):

Do not update scale when m_initiallyFitToViewport is false.

(WebKit::PageViewportController::syncVisibleContents):

Return false when syncVisibleContents is failed.

(WebKit::PageViewportController::didChangeViewportAttributes):

Do not update scale when m_initiallyFitToViewport is false.

(WebKit::PageViewportController::applyScaleAfterRenderingContents):

If syncVisibleContents() is failed, m_pageScaleFactor should be restored with previous value.
If not, new scale factor isn't applied though, PageViewportController uses it as own scale factor.

(WebKit::PageViewportController::updateMinimumScaleToFit):

Do not update scale when m_initiallyFitToViewport is false or m_hadUserInteraction is true.

  • UIProcess/CoordinatedGraphics/PageViewportController.h:

(WebKit::PageViewportController::setInitiallyFitToViewport):

2:50 AM Changeset in webkit [176630] by commit-queue@webkit.org
  • 13 edits
    2 adds in trunk

Source/WebCore:
Missing support for innerHTML on SVGElement
https://bugs.webkit.org/show_bug.cgi?id=136903

Patch by Sylvain Galineau <galineau@adobe.com> on 2014-12-02
Reviewed by Dean Jackson.

Two parts to this patch:

  1. Move innerHTML/outerHTML to Element so SVG elements can inherit them, per https://dvcs.w3.org/hg/innerhtml/raw-file/tip/index.html#innerhtml
  2. Make sure fragment insertion is processed relative to the proper node, per http://www.whatwg.org/specs/web-apps/current-work/#adjusted-current-node

The latter part was ported over from Blink.

Test: svg/in-html/svg-inner-html.html

  • bindings/objc/PublicDOMInterfaces.h: Move innerHTML/outerHTML to Element.
  • dom/Element.cpp:

(WebCore::Element::mergeWithNextTextNode): Helper used by Element::innerHTML/outerHTML as well as HTMLElement::innerText/outerText; moved to Element as protected static.
(WebCore::Element::innerHTML): Moved from HTMLElement.
(WebCore::Element::outerHTML): Moved from HTMLElement.
(WebCore::Element::setOuterHTML): Moved from HTMLElement.
(WebCore::Element::setInnerHTML): Moved from HTMLElement.

  • dom/Element.h:
  • dom/Element.idl:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::innerHTML): Deleted.
(WebCore::HTMLElement::outerHTML): Deleted.
(WebCore::HTMLElement::setInnerHTML): Deleted.
(WebCore::mergeWithNextTextNode): Deleted.
(WebCore::HTMLElement::setOuterHTML): Deleted.

  • html/HTMLElement.h:
  • html/HTMLElement.idl:
  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext): no more m_contextElement.
(WebCore::HTMLTreeBuilder::constructTree): read namespace from adjusted current node.
(WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately): use contextElementStackItem for insertion.
(WebCore::HTMLTreeBuilder::adjustedCurrentStackItem): compute adjusted current node.
(WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent): use adjusted current node for context.
(WebCore::HTMLTreeBuilder::processTokenInForeignContent): use adjusted current node to read namespace.

  • html/parser/HTMLTreeBuilder.h:

(WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElement): Deleted. Read from contextElementStackItem.
(WebCore::HTMLTreeBuilder::FragmentParsingContext::contextElementStackItem): Added.

LayoutTests:

Missing support for innerHTML on SVGElement
https://bugs.webkit.org/show_bug.cgi?id=136903

Patch by Sylvain Galineau <galineau@adobe.com> on 2014-12-02
Reviewed by Dean Jackson.

  • js/dom/dom-static-property-for-in-iteration-expected.txt: The property enumeration order is different now that inner/outerHTML are inherited from Element
  • platform/mac/svg/in-html/svg-inner-html-expected.png: Added.
  • svg/css/svg-attribute-length-parsing-expected.txt:

Now that innerHTML works, the output should start with 'Test'

  • svg/in-html/svg-inner-html-expected.txt: Added.
  • svg/in-html/svg-inner-html.html: Added.
2:36 AM Changeset in webkit [176629] by Philippe Normand
  • 2 edits in trunk/Tools

[jhbuild] wrong Dependencies path
https://bugs.webkit.org/show_bug.cgi?id=139176

Reviewed by Martin Robinson.

  • Scripts/webkitpy/port/base.py:

(Port._should_use_jhbuild):

1:47 AM Changeset in webkit [176628] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

REGRESSION(r176122): [GTK] Layout Test platform/gtk/accessibility/table-hierarchy.html fails.
https://bugs.webkit.org/show_bug.cgi?id=139125

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-12-02
Reviewed by Chris Fleizach.

Update test and expectation to fix regression.

  • platform/gtk/accessibility/table-hierarchy-expected.txt:
  • platform/gtk/accessibility/table-hierarchy.html:
12:12 AM Changeset in webkit [176627] by Philippe Normand
  • 2 edits
    3 deletes in trunk/Tools

[GStreamer] Bump internal jhbuild versions to 1.4.4
https://bugs.webkit.org/show_bug.cgi?id=138866

Reviewed by Carlos Garcia Campos.

  • gtk/jhbuild.modules:
  • gtk/patches/gst-events-arent-gstobjects.patch: Removed.
  • gtk/patches/gst-plugins-base-fix-build-gcc-4.9-x86.patch: Removed.
  • gtk/patches/gst-prevent-neon-check-in-configure-from-passing-under-aarch64.patch: Removed.

Dec 1, 2014:

8:28 PM Changeset in webkit [176626] by jpfau@apple.com
  • 5 edits in trunk/Source

Add cancelable version of willSendRequest
https://bugs.webkit.org/show_bug.cgi?id=138987

Reviewed by Anders Carlsson.

Source/WebCore:

Covered by existing tests.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::willSendRequest):

  • loader/ResourceLoader.h:

Source/WebKit2:

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::willSendRequest):

8:09 PM Changeset in webkit [176625] by msaboff@apple.com
  • 13 edits in trunk/Source/JavaScriptCore

Remove GetMyScope node from DFG
https://bugs.webkit.org/show_bug.cgi?id=139166

Reviewed by Oliver Hunt.

Eliminated GetMyScope DFG node type.

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::isLiveInBytecode):

  • dfg/DFGNodeType.h:
  • 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):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetMyScope): Deleted.

6:50 PM Changeset in webkit [176624] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Crash (integer overflow) beneath ByteCodeParser::handleGetById typing in search field on weather.com
https://bugs.webkit.org/show_bug.cgi?id=139165

Reviewed by Oliver Hunt.

If we don't have any getById or putById variants, emit non-cached versions of these operations.

  • dfg/DFGByteCodeParser.cpp:

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

6:29 PM Changeset in webkit [176623] by benjamin@webkit.org
  • 6 edits
    16 adds in trunk

Add the dynamic specificity of the selector list argument when matching :nth-child() and :nth-last-child()
https://bugs.webkit.org/show_bug.cgi?id=139001

Reviewed by Andreas Kling.

Source/WebCore:

When matching :nth-child(An+B of selector list) or :nth-last-child(An+B of selector list),
we were previously ignoring the arguments.

That behavior seems to be confusing for users. We made the proposal to include the selector list
like when using :matches():

http://lists.w3.org/Archives/Public/www-style/2014Oct/0533.html

David Baron also agrees with this behavior:

http://lists.w3.org/Archives/Public/www-style/2014Oct/0534.html

This patch adds the specificity computation.

Tests: fast/css/nth-child-specificity-1.html

fast/css/nth-child-specificity-2.html
fast/css/nth-last-child-specificity-1.html
fast/css/nth-last-child-specificity-2.html

  • css/CSSSelector.cpp:

(WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::matchSelectorList):

  • css/SelectorChecker.h:
  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):

LayoutTests:

  • fast/css/nth-child-specificity-1-expected.html: Added.
  • fast/css/nth-child-specificity-1.html: Added.
  • fast/css/nth-child-specificity-2-expected.html: Added.
  • fast/css/nth-child-specificity-2.html: Added.
  • fast/css/nth-child-specificity-3-expected.html: Added.
  • fast/css/nth-child-specificity-3.html: Added.
  • fast/css/nth-child-specificity-4-expected.html: Added.
  • fast/css/nth-child-specificity-4.html: Added.
  • fast/css/nth-last-child-specificity-1-expected.html: Added.
  • fast/css/nth-last-child-specificity-1.html: Added.
  • fast/css/nth-last-child-specificity-2-expected.html: Added.
  • fast/css/nth-last-child-specificity-2.html: Added.
  • fast/css/nth-last-child-specificity-3-expected.html: Added.
  • fast/css/nth-last-child-specificity-3.html: Added.
  • fast/css/nth-last-child-specificity-4-expected.html: Added.
  • fast/css/nth-last-child-specificity-4.html: Added.
6:21 PM Changeset in webkit [176622] by akling@apple.com
  • 6 edits in trunk/Source

Optimize constructing JSC::Identifier from AtomicString.
<https://webkit.org/b/139157>

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Add constructors for Identifier taking AtomicString and AtomicStringImpl.
This avoids branching on the string's isAtomic flag, which is obviously
always true for AtomicString & AtomicStringImpl.

Had to add a Identifier(const char*) constructor to resolve implicit
ambiguity between String / AtomicString.

Also made PrivateName::uid() return AtomicStringImpl* to take advantage
of the new constructor in a few places.

  • runtime/Identifier.h:

(JSC::Identifier::Identifier):

  • runtime/IdentifierInlines.h:

(JSC::Identifier::Identifier):

  • runtime/PrivateName.h:

(JSC::PrivateName::uid):

Source/WTF:

Make AtomicString::isInAtomicStringTable() public so it can be used
in some Identifier assertions.

  • wtf/text/AtomicString.h:
6:16 PM Changeset in webkit [176621] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move 'text-shadow' / 'box-shadow' / '-webkit-box-shadow' to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138938

Reviewed by Sam Weinig.

Move 'text-shadow' / 'box-shadow' / '-webkit-box-shadow' CSS properties
from StyleResolver to the new StyleBuilder by using custom code.

No new tests, no behavior change.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderCustom::applyTextOrBoxShadowValue):
(WebCore::StyleBuilderCustom::applyInitialTextShadow):
(WebCore::StyleBuilderCustom::applyInheritTextShadow):
(WebCore::StyleBuilderCustom::applyValueTextShadow):
(WebCore::StyleBuilderCustom::applyInitialBoxShadow):
(WebCore::StyleBuilderCustom::applyInheritBoxShadow):
(WebCore::StyleBuilderCustom::applyValueBoxShadow):
(WebCore::StyleBuilderCustom::applyInitialWebkitBoxShadow):
(WebCore::StyleBuilderCustom::applyInheritWebkitBoxShadow):
(WebCore::StyleBuilderCustom::applyValueWebkitBoxShadow):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

6:02 PM Changeset in webkit [176620] by gyuyoung.kim@samsung.com
  • 6 edits in trunk

[EFL] Add a ENABLE_CSS_SCROLL_SNAP macro to CMake build system
https://bugs.webkit.org/show_bug.cgi?id=139085

Reviewed by Andreas Kling.

.:

  • Source/cmake/OptionsEfl.cmake: Add ENABLE_CSS_SCROLL_SNAP.
  • Source/cmake/WebKitFeatures.cmake: ditto.
  • Source/cmakeconfig.h.cmake: ditto.

Source/WebCore:

  • PlatformEfl.cmake:

Include page/scrolling/AxisScrollSnapOffsets.cpp to EFL build files to fix build break.

5:59 PM Changeset in webkit [176619] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Twitter avatar moves when hovering/unhovering the "follow" button.
https://bugs.webkit.org/show_bug.cgi?id=139147
rdar://problem/19096508

Reviewed by Simon Fraser.

This patch ensures that the out of flow positioned render boxes (RenderReplaced) do not
get repositioned when their inline box wrappers move.
Ideally, out of flow positioned renderers do not have inline wrappers by the time we start
placing inline boxes, but in certain case (optimized code path for descendantsHaveSameLineHeightAndBaseline()),
they are still part of the inline box tree.
This patch prevents those renderer boxes from getting positioned as part of the inline box placement.
They will get removed later at RenderBlockFlow::computeBlockDirectionPositionsForLine().

Source/WebCore:

Test: fast/inline/out-of-flow-positioned-render-replaced-box-moves.html

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::adjustPosition):

LayoutTests:

  • fast/inline/out-of-flow-positioned-render-replaced-box-moves-expected.html: Added.
  • fast/inline/out-of-flow-positioned-render-replaced-box-moves.html: Added.
5:49 PM Changeset in webkit [176618] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Try to fix the Mac build.

  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _close]):

5:29 PM Changeset in webkit [176617] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Null deref under TextIndicator::createWithSelectionInFrame using find-in-page on bugzilla
https://bugs.webkit.org/show_bug.cgi?id=139164
<rdar://problem/19107247>

Reviewed by Beth Dakin.

  • page/TextIndicator.cpp:

(WebCore::TextIndicator::createWithSelectionInFrame):
Null-check the ImageBuffer in addition to the Image.

5:16 PM Changeset in webkit [176616] by oliver@apple.com
  • 2 edits in trunk/Source/WTF

Fix non-mac builds.

  • wtf/IndexedIterator.h:
5:12 PM Changeset in webkit [176615] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

[iOS] Unskip LayoutTests/dom tests

  • platform/ios-simulator/TestExpectations:
4:55 PM Changeset in webkit [176614] by andersca@apple.com
  • 13 edits
    5 deletes in trunk/Source

Remove IWebCookieManager on Windows
https://bugs.webkit.org/show_bug.cgi?id=139144

Reviewed by Sam Weinig.

Source/WebCore:

Remove code that handles overriding the cookie storage.

  • platform/network/NetworkStorageSession.h:
  • platform/network/cf/NetworkStorageSessionCFNet.cpp:

(WebCore::cookieStorageOverride): Deleted.
(WebCore::overrideCookieStorage): Deleted.
(WebCore::overridenCookieStorage): Deleted.

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::createCFURLConnection):

Source/WebKit:

Remove files.

  • WebKit.vcxproj/Interfaces/Interfaces.vcxproj:
  • WebKit.vcxproj/Interfaces/Interfaces.vcxproj.filters:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:

Source/WebKit/win:

Remove WebCookieManager.

  • ForEachCoClass.h:
  • Interfaces/IWebCookieManager.idl: Removed.
  • Interfaces/WebKit.idl:
  • WebCookieManager.cpp: Removed.
  • WebCookieManager.h: Removed.
  • WebCookieManagerCFNet.cpp: Removed.
  • WebCookieManagerCurl.cpp: Removed.
  • WebKitClassFactory.cpp:
4:49 PM Changeset in webkit [176613] by Conrad Shultz
  • 5 edits in trunk/Source/WebKit2

Clients need a way to explicitly set the title of a page preview
https://bugs.webkit.org/show_bug.cgi?id=139161

Reviewed by Beth Dakin.

This implicitly assumes that only one page preview can be associate with a given WKView at a time.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _setPreviewTitle:]):
Wrap -[WKActionMenuController setPreviewTitle:]

  • UIProcess/mac/WKActionMenuController.h:
  • UIProcess/mac/WKActionMenuController.mm:

Add ivars for the title and the title text field (previously not independently exposed).
(-[WKPagePreviewViewController previewTitle]):
Accessor.
(-[WKPagePreviewViewController setPreviewTitle:]):
Accessor; set the text field's string value.
(-[WKPagePreviewViewController loadView]):
Adopt the _titleTextField ivar; assume that if a client has explicitly set the previewTitle then we don't
need to ask for it again.
(-[WKActionMenuController setPreviewTitle:]):
Wrap -[WKPagePreviewViewController setPreviewTitle:].

4:18 PM Changeset in webkit [176612] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS Media] Slider knob should not have a border
https://bugs.webkit.org/show_bug.cgi?id=139160
<rdar://problem/19075185>

Reviewed by Jer Noble.

The change in r175715 required adding !important to a bunch
of rules for pseudo elements. The border width of slider knobs
for media controls should be zero, so add an !important there.

  • Modules/mediacontrols/mediaControlsiOS.css:

(audio::-webkit-media-controls-timeline::-webkit-slider-thumb): Change
border to border-width and force it to zero.

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

Make WebKit2 work slightly better with garbage collection
https://bugs.webkit.org/show_bug.cgi?id=139159
<rdar://problem/19108390>

Reviewed by Dan Bernstein.

  • Shared/Cocoa/APIObject.mm:

(API::Object::ref):
(API::Object::deref):
Call CFRetain/CFRelease to prevent the memory from being collected.

(API::Object::newObject):
Call CFRetain under GC so we'll prevent memory from being collected prematurely.

4:10 PM Changeset in webkit [176610] by benjamin@webkit.org
  • 11 edits in trunk/Source/WebInspectorUI

Web Inspector: add more :not() and :matches() awesomeness
https://bugs.webkit.org/show_bug.cgi?id=138997

Reviewed by Joseph Pecoraro.

Simplify the Inspector's CSS when possible.

  • UserInterface/Views/DatabaseContentView.css:

(:matches(.database-user-query, .database-query-prompt, .database-query-result)::before):
(.database-user-query::before, .database-query-prompt::before, .database-query-result::before): Deleted.

  • UserInterface/Views/GradientSlider.css:

(.gradient-slider-knob > :matches(img, div)):
(.gradient-slider-knob > div): Deleted.

  • UserInterface/Views/HoverMenu.css:

(.hover-menu > svg > :matches(path, rect)):
(.hover-menu > svg > rect): Deleted.

  • UserInterface/Views/LayerTreeDetailsSidebarPanel.css:

(.panel.details.layer-tree .name-column :matches(.pseudo-element, .reflection)):
(.panel.details.layer-tree tr.selected .name-column :matches(.pseudo-element, .reflection)):
(.panel.details.layer-tree .name-column .reflection): Deleted.
(.panel.details.layer-tree tr.selected .name-column .reflection): Deleted.

  • UserInterface/Views/ProbeDetailsSidebarPanel.css:

(.details-section.probe-set .options > :matches(.probe-remove, .probe-clear-samples, .probe-add)):
(.details-section.probe-set .options > .probe-add): Deleted.

  • UserInterface/Views/ResourceSidebarPanel.css:

(.sidebar > .panel.navigation.resource > :matches(.content, .empty-content-placeholder)):
(body.mac-platform.legacy .sidebar > .panel.navigation.resource > :matches(.content, .empty-content-placeholder)):
(.sidebar > .panel.navigation.resource > .empty-content-placeholder): Deleted.
(body.mac-platform.legacy .sidebar > .panel.navigation.resource > .empty-content-placeholder): Deleted.

  • UserInterface/Views/ScopeBar.css:

(.scope-bar > li:matches(.selected, :active)):
(.scope-bar > li:active): Deleted.

  • UserInterface/Views/SyntaxHighlightingDefaultTheme.css:

(.syntax-highlighted :matches(.css-comment, .javascript-comment, .html-comment)):
(.syntax-highlighted :matches(.css-keyword, .css-tag, .css-at-rule, .css-important, .javascript-keyword, .html-tag)):
(.syntax-highlighted :matches(.css-number, .javascript-number)):
(.syntax-highlighted :matches(.css-property, .css-selector, .javascript-ident)):
(.syntax-highlighted :matches(.css-string, .javascript-string, .javascript-regexp, .html-attribute-value)):
(.syntax-highlighted :matches(.html-doctype, .html-processing-instruction)):
(.syntax-highlighted .html-comment): Deleted.
(.syntax-highlighted .html-tag): Deleted.
(.syntax-highlighted .javascript-number): Deleted.
(.syntax-highlighted .javascript-ident): Deleted.
(.syntax-highlighted .html-attribute-value): Deleted.
(.syntax-highlighted .html-processing-instruction): Deleted.
It looks like ".cm-tag.cm-bracket" was there only to override the rule below.
From basic testing, it looks like "cm-tag" and "cm-bracket" always appear together. I removed the "cm-bracket" rule
from the second rule, and simplified the first rule.

  • UserInterface/Views/TimelineSidebarPanel.css:

(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > :matches(.content, .empty-content-placeholder)):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .empty-content-placeholder): Deleted.

  • UserInterface/Views/Toolbar.css:

(body.mac-platform:not(.legacy, .docked) .toolbar):
(body.mac-platform:not(.legacy, .docked) .toolbar.icon-and-label-vertical):
(body.mac-platform:not(.legacy, .docked) .toolbar.icon-and-label-vertical.small-size):
(body.mac-platform:not(.legacy, .docked) .toolbar:matches(.icon-and-label-horizontal, .icon-only)):
(body.mac-platform:not(.legacy, .docked) .toolbar:matches(.icon-and-label-horizontal.small-size, .icon-only.small-size, .label-only)):
(.toolbar:matches(.icon-and-label-horizontal.small-size, .icon-only.small-size, .label-only) .control-section):
(body.mac-platform:not(.legacy):not(.docked) .toolbar): Deleted.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-and-label-vertical): Deleted.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-and-label-vertical.small-size): Deleted.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-only): Deleted.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.label-only): Deleted.
(.toolbar.label-only .control-section): Deleted.

4:09 PM Changeset in webkit [176609] by Chris Dumez
  • 6 edits
    4 adds in trunk

Take into consideration canvas drawing for throttling DOM timers
https://bugs.webkit.org/show_bug.cgi?id=139140
<rdar://problem/19102218>

Reviewed by Andreas Kling.

Source/WebCore:

Take into consideration canvas drawing for throttling DOM timers so
that:

  • Timers drawing on a visible canvas can no longer get throttled. This fixes the following sites:
  • Timers that are drawing on a canvas that is not user observable now get throttled, thus using less CPU. As an example, on http://hint.fm/wind/, CPU usage is at 110% when the canvas is inside the viewport on my machine. CPU usage would remain at 110% when scrolling the canvas outside the viewport before this patch. After this patch, the CPU usage goes down to 5% when the canvas is outside the viewport.

Tests: fast/canvas/canvas-inside-viewport-timer-throttling.html

fast/canvas/canvas-outside-viewport-timer-throttling.html

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::JSCSSStyleDeclaration::putDelegate):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::notifyObserversCanvasChanged):

  • page/DOMTimer.cpp:

(WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElement):
(WebCore::DOMTimer::scriptDidCauseElementRepaint):
(WebCore::DOMTimerFireState::setScriptMadeNonUserObservableChangesToElementStyle): Deleted.
(WebCore::DOMTimer::scriptDidUpdateStyleOfElement): Deleted.

  • page/DOMTimer.h:

LayoutTests:

Add layout tests to test that we take into consideration canvas drawing
when considering if we should throttle DOM timers.

  • fast/canvas/canvas-inside-viewport-timer-throttling-expected.txt: Added.
  • fast/canvas/canvas-inside-viewport-timer-throttling.html: Added.
  • fast/canvas/canvas-outside-viewport-timer-throttling-expected.txt: Added.
  • fast/canvas/canvas-outside-viewport-timer-throttling.html: Added.
3:56 PM Changeset in webkit [176608] by timothy_horton@apple.com
  • 8 edits in trunk/Source/WebKit/mac

Fix the iOS build.

  • WebView/WebActionMenuController.h:
  • WebView/WebActionMenuController.mm:
  • WebView/WebHTMLView.mm:

(-[WebHTMLView scrollWheel:scrollWheel:]):
(-[WebHTMLView mouseDown:mouseDown:]):

  • WebView/WebView.mm:
  • WebView/WebViewData.h:
  • WebView/WebViewData.mm:

(-[WebViewPrivate dealloc]):

  • WebView/WebViewInternal.h:
3:54 PM Changeset in webkit [176607] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

Crash in Font::dashesForIntersectionsWithRect() due to underlining SVG fonts
https://bugs.webkit.org/show_bug.cgi?id=139158

Reviewed by Simon Fraser.

Source/WebCore:

RenderingContexts are only created if the primary SimpleFontData is an SVG font,
but dashesForIntersectionWithRect() uses the first character's SimpleFontData.
One might be an SVG font but the other might not be.

Note that this brittle design will be fixed with the SVG -> OTF translator.

Test: fast/css3-text/css3-text-decoration/text-decoration-skip/decoration-skip-crash-fallback-svg.html

  • platform/graphics/mac/FontMac.mm:

(WebCore::Font::dashesForIntersectionsWithRect):

LayoutTests:

Test for no crashes when the primary SimpleFontData and the first character's
SimpleFontData differ in their SVG-ness.

  • fast/css3-text/css3-text-decoration/text-decoration-skip/decoration-skip-crash-fallback-svg-expected.html: Added.
  • fast/css3-text/css3-text-decoration/text-decoration-skip/decoration-skip-crash-fallback-svg.html: Added.
3:40 PM Changeset in webkit [176606] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

[iOS] Update expected results for LayoutTests/crypto

  • platform/ios-simulator/TestExpectations:
3:37 PM Changeset in webkit [176605] by dbates@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

[iOS] Skip some animation tests that time out in iOS WebKit2

  • platform/ios-simulator-wk2/TestExpectations: Added.
2:04 PM Changeset in webkit [176604] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[MSE] Fix not always calling mediaPlayer seek.
https://bugs.webkit.org/show_bug.cgi?id=139139

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2014-12-01
Reviewed by Jer Noble.

Original comment states that media source shall always be notified of seek if it's not closed.

No new tests needed.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::seekTimerFired):

1:49 PM Changeset in webkit [176603] by oliver@apple.com
  • 2 edits in trunk/Source/WTF

Fix 32-bit build.

  • wtf/IndexedIterator.h:
1:15 PM Changeset in webkit [176602] by ap@apple.com
  • 6 edits
    2 adds
    1 delete in trunk/LayoutTests

http tests should not use shared temporary files, part 3
https://bugs.webkit.org/show_bug.cgi?id=139135

Reviewed by Tim Horton.

Fix ping tests, using the same techniques as before.

  • http/tests/navigation/image-load-in-unload-handler.html:
  • http/tests/navigation/ping-cross-origin-from-https.html:
  • http/tests/navigation/resources/check-ping.php:
  • http/tests/navigation/resources/delete-ping.php:
  • http/tests/navigation/resources/image-load-in-unload-handler-2.html: Copied from LayoutTests/http/tests/navigation/resources/ping-redirect.html.
  • http/tests/navigation/resources/ping-file-path.php: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/resources/report-file-path.php.
  • http/tests/navigation/resources/ping-redirect.html: Removed.
  • http/tests/navigation/resources/save-Ping.php:
1:14 PM Changeset in webkit [176601] by ap@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Several JavaScriptCore date tests are flaky, because they expect time to be frozen during execution
https://bugs.webkit.org/show_bug.cgi?id=139138

Reviewed by Mark Lam.

Merged a fix by Bob Clary.

  • tests/mozilla/ecma/Date/15.9.1.1-1.js:
  • tests/mozilla/ecma/Date/15.9.1.1-2.js:
  • tests/mozilla/ecma/Date/15.9.2.1.js:
  • tests/mozilla/ecma/Date/15.9.2.2-1.js:
  • tests/mozilla/ecma/Date/15.9.2.2-2.js:
  • tests/mozilla/ecma/Date/15.9.2.2-3.js:
  • tests/mozilla/ecma/Date/15.9.2.2-4.js:
  • tests/mozilla/ecma/Date/15.9.2.2-5.js:
  • tests/mozilla/ecma/Date/15.9.2.2-6.js:
1:10 PM Changeset in webkit [176600] by ap@apple.com
  • 3 edits in trunk/LayoutTests

<rdar://problem/11358748> http/tests/multipart/multipart-wait-before-boundary.html fails on ML as of r115745

Looks like it no longer fails.

  • platform/mac/TestExpectations:
  • platform/wk2/TestExpectations:

Removed it from test expectations.

12:48 PM Changeset in webkit [176599] by timothy_horton@apple.com
  • 15 edits in trunk/Source

Implement yellow highlight for WebKit1 data detectors
https://bugs.webkit.org/show_bug.cgi?id=138956
<rdar://problem/18992185>

Reviewed by Beth Dakin.

  • page/TextIndicator.cpp:

(WebCore::TextIndicator::createWithSelectionInFrame):
(WebCore::TextIndicator::TextIndicator):

  • page/TextIndicator.h:

(WebCore::TextIndicator::selectionRectInScreenCoordinates):
(WebCore::TextIndicator::textBoundingRectInScreenCoordinates):
(WebCore::TextIndicator::selectionRectInWindowCoordinates): Deleted.
(WebCore::TextIndicator::textBoundingRectInWindowCoordinates): Deleted.
Store TextIndicator rects in screen coordinates, since that's what we
want anyway, and this makes it easier to share this code between the WebKits.

  • page/mac/TextIndicatorWindow.mm:

(-[WebTextIndicatorView initWithFrame:textIndicator:margin:]):
(WebCore::TextIndicatorWindow::setTextIndicator):
Avoid some rect conversion because the TextIndicator rects are already in screen coordinates.

  • WebView/WebActionMenuController.h:
  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController webView:willHandleMouseDown:]):
(-[WebActionMenuController webView:didHandleScrollWheel:]):
(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController didCloseMenu:withEvent:]):
(-[WebActionMenuController _defaultMenuItemsForDataDetectedText]):
(-[WebActionMenuController _showTextIndicator]):
(-[WebActionMenuController _hideTextIndicator]):
(-[WebActionMenuController _dismissActionMenuPopovers]):
Copy the WebKit2 WKActionMenuController TextIndicator implementation
into WebActionMenuController. The only significant difference is
that we build the TextIndicator right at menu construction time
instead of in the Web process.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView scrollWheel:]):
Let the WebActionMenuController know that we're handling a scroll.

(-[WebHTMLView mouseDown:]):
Let the WebActionMenuController know that we're handling a mouseDown.

  • WebView/WebView.mm:

(-[WebView _setTextIndicator:fadeOut:animationCompletionHandler:]):
(-[WebView _clearTextIndicator]):
(-[WebView _actionMenuController]):
(-[WebView _convertRectFromRootView:]): Deleted.

  • WebView/WebViewData.h:
  • WebView/WebViewData.mm:
  • WebView/WebViewInternal.h:

Keep a TextIndicatorWindow on WebView, just like WKView does.
Expose the WebActionMenuController on WebView (internally).

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<TextIndicatorData>::encode):
(IPC::ArgumentCoder<TextIndicatorData>::decode):

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::updateFindIndicator):
(WebKit::FindController::drawRect):
Adjust to the fact that TextIndicator keeps screen-relative rects.

12:18 PM Changeset in webkit [176598] by andersca@apple.com
  • 12 edits in trunk/Source

Remove old site specific quirks code that was added in 2009
https://bugs.webkit.org/show_bug.cgi?id=139141

Reviewed by Antti Koivisto.

Source/WebCore:

  • platform/network/NetworkingContext.h:
  • platform/network/ResourceHandleInternal.h:

(WebCore::ResourceHandleInternal::ResourceHandleInternal):

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::start):

Source/WebKit/mac:

  • WebCoreSupport/WebFrameNetworkingContext.h:
  • WebCoreSupport/WebFrameNetworkingContext.mm:

(WebFrameNetworkingContext::needsSiteSpecificQuirks): Deleted.

Source/WebKit2:

  • NetworkProcess/RemoteNetworkingContext.h:
  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::needsSiteSpecificQuirks): Deleted.

  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::WebFrameNetworkingContext::needsSiteSpecificQuirks): Deleted.

12:06 PM Changeset in webkit [176597] by dburkart@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Bump versioning

11:59 AM Changeset in webkit [176596] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Web Inspector: Crash in WebInspectorClient::hideHighlight when page is destroyed
https://bugs.webkit.org/show_bug.cgi?id=139136

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-12-01
Reviewed by Simon Fraser.

  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:

(WebKit::WebInspectorClient::hideHighlight):
Speculatively fix by null-checking the main frame which
can be null during page destruction.

11:11 AM Changeset in webkit [176595] by Joseph Pecoraro
  • 4 edits in trunk

Web Inspector: DOMExceptions do not show the error message string in Pause Reason section
https://bugs.webkit.org/show_bug.cgi?id=138988

Reviewed by Timothy Hatcher.

Source/WebCore:

  • inspector/WebInjectedScriptHost.cpp:

(WebCore::WebInjectedScriptHost::type):
Give all DOM Exception types the "error" RemoteObject subtype.

LayoutTests:

  • inspector/debugger/command-line-api-exception-expected.txt:
11:01 AM Changeset in webkit [176594] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

[MSE] Unset timestamps of trackbuffers during Reset Parser State algorithm.
https://bugs.webkit.org/show_bug.cgi?id=139075.

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2014-12-01
Reviewed by Jer Noble.

Source/WebCore:

Specification requires from us to unset timestamps for trackBuffers
during abort() method.

Test: media/media-source/media-source-append-nonsync-sample-after-abort.html

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::resetParserState):
(WebCore::SourceBuffer::abort):

  • Modules/mediasource/SourceBuffer.h:

LayoutTests:

Specification requires from us to unset timestamps for trackBuffers during abort() method.
Tests appendBuffer() with first sync sample, then aborts after a few more samples, and emits
a few more non-sync samples, so they should be dropped, as trackBuffer will have
needRandomAccessFlag set.

  • media/media-source/media-source-append-nonsync-sample-after-abort-expected.txt: Added.
  • media/media-source/media-source-append-nonsync-sample-after-abort.html: Added.
10:42 AM Changeset in webkit [176593] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Transform StyleBuilderCustom into a class and mark it as a friend of RenderStyle
https://bugs.webkit.org/show_bug.cgi?id=138999

Reviewed by Sam Weinig.

Transform StyleBuilderCustom into a class and mark it as a friend of
RenderStyle. This is needed because some of the StyleBuilderCustom
functions need to access RenderStyle's private API.

No new tests, no behavior change.

  • css/StyleBuilderCustom.h: Move functions from StyleBuilderFunctions namespace to StyleBuilderCustom class.
  • css/makeprop.pl: Use StyleBuilderCustom scope instead of StyleBuilderFunctions for custom implementation.
  • rendering/style/RenderStyle.h: Mark StyleBuilderCustom class as a friend, similarly to what was already done for DeprecatedStyleBuilder and StyleResolver.
9:50 AM Changeset in webkit [176592] by oliver@apple.com
  • 29 edits
    1 add in trunk/Source

Make sure range based iteration of Vector<> still receives bounds checking
https://bugs.webkit.org/show_bug.cgi?id=138821

Reviewed by Mark Lam.

Source/JavaScriptCore:

There are a few uses of begin()/end() that explicitly require pointers,
so we use getPtr() to extract the underlying pointer generically.

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedCodeBlock::visitChildren):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitComplexPopScopes):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):

  • ftl/FTLAbbreviations.h:

(JSC::FTL::mdNode):
(JSC::FTL::buildCall):

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

  • parser/Parser.h:

(JSC::Scope::Scope):

  • profiler/ProfileNode.cpp:

(JSC::ProfileNode::debugPrintRecursively):

  • runtime/JSArray.cpp:

(JSC::JSArray::setLengthWithArrayStorage):
(JSC::JSArray::sortCompactedVector):

  • tools/ProfileTreeNode.h:

(JSC::ProfileTreeNode::dumpInternal):

  • yarr/YarrJIT.cpp:

(JSC::Yarr::YarrGenerator::matchCharacterClass):

Source/WebCore:

There are a few uses of begin()/end() that explicitly require pointers,
so we use getPtr() to extract the underlying pointer generically.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneDeserializer::deserializeString):

  • editing/TextIterator.cpp:

(WebCore::SearchBuffer::isBadMatch):

  • page/mac/ServicesOverlayController.mm:

(WebCore::ServicesOverlayController::buildSelectionHighlight):

  • platform/graphics/SegmentedFontData.cpp:

(WebCore::SegmentedFontData::fontDataForCharacter):
(WebCore::SegmentedFontData::containsCharacter):
(WebCore::SegmentedFontData::isLoading):

  • platform/graphics/WOFFFileFormat.cpp:

(WebCore::convertWOFFToSfnt):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintFillLayers):

  • rendering/style/GridResolvedPosition.cpp:

(WebCore::firstNamedGridLineBeforePosition):
(WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):

  • svg/SVGFontElement.cpp:

(WebCore::kerningForPairOfStringsAndGlyphs):

  • svg/SVGPathByteStream.h:

(WebCore::SVGPathByteStream::append):

  • xml/XPathNodeSet.h:

(WebCore::XPath::NodeSet::begin):
(WebCore::XPath::NodeSet::end):

Source/WTF:

Add a new IndexedIterator struct to WTF that wraps a
Vector type and index to provide pointer like semantics
while still performing runtime bounds checking, even in
release builds. We store a simple index into the vector
which means that this iterator allows vector resizing
during iteration. If the vector is resized such that the
iterator is out of bounds, then any attempt to dereference
the iterator will crash safely. Any other errors, including
overflows, and over extending the iterator will likewise
crash.

For the purpose of retaining semantically equivalent
behaviour, the iterator can be moved to m_index == size()
as that is the standard "end" terminator for these types.
Attempting to dereference at that point will still crash
rather than perform an unsafe memory operation.

In order to maintain the validity of all the bounds checking,
we perform full integer range checking prior to any mutation
of the iterator location. If we detect an arithmetic overflow
we will crash rather than attempting to carry on.

By necessity there are many overrides for operator + and - as
we otherwise hit many different type promotion ambiguities when
performing arithmetic with iterators. These ambiguities are also
different for 32- vs. 64-bit, so duplicating the functions
and then forwarding to the core implementations that performed
the bounds checking and mutation seemed like the right call.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/IndexedIterator.h: Added.

(WTF::IndexedIterator::IndexedIterator):
(WTF::IndexedIterator::operator->):
(WTF::IndexedIterator::operator*):
(WTF::IndexedIterator::get):
(WTF::IndexedIterator::operator++):
(WTF::IndexedIterator::operator--):
(WTF::IndexedIterator::operator UnspecifiedBoolType):
(WTF::IndexedIterator::operator+=):
(WTF::IndexedIterator::operator-=):
(WTF::IndexedIterator::operator+):
(WTF::IndexedIterator::operator-):
(WTF::IndexedIterator::operator=):
(WTF::IndexedIterator::operator==):
(WTF::IndexedIterator::operator!=):
(WTF::IndexedIterator::operator<):
(WTF::IndexedIterator::operator<=):
(WTF::IndexedIterator::operator>):
(WTF::IndexedIterator::operator>=):
(WTF::IndexedIterator::operator const_iterator):
(WTF::IndexedIterator::isSafeToCompare):
(WTF::IndexedIterator::unsafeGet):
(WTF::getPtr):
(WTF::operator-):
(WTF::operator==):
(WTF::operator!=):
(WTF::operator<=):
(WTF::operator>=):
(WTF::operator<):
(WTF::operator>):
(WTF::IndexedIteratorSelector::makeIterator):
(WTF::IndexedIteratorSelector::makeConstIterator):

  • wtf/RefCountedArray.h:

(WTF::RefCountedArray::RefCountedArray):

  • wtf/Vector.h:

(WTF::Vector::Vector):
(WTF::Vector::begin):
(WTF::Vector::end):
(WTF::OverflowHandler>::Vector):
(WTF::=):
(WTF::OverflowHandler>::fill):
(WTF::OverflowHandler>::expandCapacity):
(WTF::OverflowHandler>::tryExpandCapacity):
(WTF::OverflowHandler>::resize):
(WTF::OverflowHandler>::shrink):
(WTF::OverflowHandler>::grow):
(WTF::OverflowHandler>::reserveCapacity):
(WTF::OverflowHandler>::tryReserveCapacity):
(WTF::OverflowHandler>::shrinkCapacity):
(WTF::OverflowHandler>::append):
(WTF::OverflowHandler>::tryAppend):
(WTF::OverflowHandler>::appendSlowCase):
(WTF::OverflowHandler>::uncheckedAppend):
(WTF::OverflowHandler>::appendVector):
(WTF::OverflowHandler>::insert):
(WTF::OverflowHandler>::insertVector):
(WTF::OverflowHandler>::remove):

6:48 AM Changeset in webkit [176591] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

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

It broke the GTK performance tests. (Requested by clopez on
#webkit).

Reverted changeset:

"[GTK] Use GMainLoopSource in WebKitTestRunner"
https://bugs.webkit.org/show_bug.cgi?id=138831
http://trac.webkit.org/changeset/176566

Note: See TracTimeline for information about the timeline view.