Timeline



Oct 28, 2014:

11:33 PM Changeset in webkit [175309] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

11:28 PM Changeset in webkit [175308] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.6

New tag.

9:58 PM Changeset in webkit [175307] by Lucas Forschler
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merged r175183. rdar://problem/18451638

9:55 PM Changeset in webkit [175306] by Lucas Forschler
  • 6 edits
    3 copies in branches/safari-600.3-branch/Source/WebKit

Merged r175182. rdar://problem/18451638

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

Merge r175132. <rdar://problem/18753175>

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

Merge r174841. <rdar://problem/18753175>

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

Merge r174837. <rdar://problem/18753175>

9:24 PM Changeset in webkit [175302] by dburkart@apple.com
  • 21 edits
    2 copies in branches/safari-600.3-branch/Source

Merge r174791. <rdar://problem/18753175>

9:21 PM Changeset in webkit [175301] by benjamin@webkit.org
  • 19 edits
    6 adds in trunk

CSS4 Selectors: Add the pseudo class :any-link
https://bugs.webkit.org/show_bug.cgi?id=138128

Reviewed by Andreas Kling.

Source/WebCore:

Defined here: http://dev.w3.org/csswg/selectors4/#the-any-link-pseudo

After :link and :-webkit-any-link were fixed, :any-link behaves
exactly like :-webkit-any-link. All I had left to do here was
make them synonyms when evaluating selectors.

Defined here: http://dev.w3.org/csswg/selectors4/#the-any-link-pseudo

After :link and :-webkit-any-link were fixed, :any-link behaves
exactly like :-webkit-any-link. All I had left to do here was
make them synonyms when evaluating selectors.

Tests: fast/selectors/any-link-basics-2.html

fast/selectors/any-link-basics.html
fast/selectors/any-link-styling.html

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::selectorText):

  • css/CSSSelector.h:
  • css/RuleSet.cpp:

(WebCore::RuleSet::addRule):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::isCommonPseudoClassSelector):

  • css/SelectorPseudoClassAndCompatibilityElementMap.in:
  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementLinkMatching):

LayoutTests:

Story time: I implement only half of the patch and run
fast/selectors/webkit-any-link.html to make sure it fails...
and the test happily PASS.

I look into it and sure enough, a last minute change in
html-link-type-tests.js made it test nothing but :link.

I update html-link-type-tests.js to actually test the desired selector,
run the test again: PASS.

I debug a bit and I find why my code is not tested: html-link-type-tests.js
uses Element.matches() and that does not use the CSS JIT.

Fair enough, I add a querySelectorAll("#target' + selector + '") to run
through the JIT: PASS.

Since that selector is simple-#id + simple selector, we go through a fast
path for ids and skip the JIT. Arrrrg!

Finally, I added querySelectorAll(".target' + selector + '"), which covers
the CSS JIT.

The nice thing is: all those cases are tested now :)

  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/css-set-selector-text.html:
  • fast/selectors/any-link-basics-2-expected.txt: Added.
  • fast/selectors/any-link-basics-2.html: Added.
  • fast/selectors/any-link-basics-expected.txt: Added.
  • fast/selectors/any-link-basics.html: Added.
  • fast/selectors/any-link-styling-expected.html: Added.
  • fast/selectors/any-link-styling.html: Added.
  • fast/selectors/images-with-usemap-should-not-match-link-expected.txt:
  • fast/selectors/images-with-usemap-should-not-match-link.html:
  • fast/selectors/link-basics-expected.txt:
  • fast/selectors/link-basics-xhtml-expected.txt:
  • fast/selectors/resources/html-link-type-tests.js:

(testHTMLElement):
(testHTMLTagsForLink):

  • fast/selectors/webkit-any-link-basics-expected.txt:
9:11 PM Changeset in webkit [175300] by dburkart@apple.com
  • 7 edits in branches/safari-600.3-branch

Merge r174525. <rdar://problem/18640876>

9:04 PM Changeset in webkit [175299] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Cast std::chrono::duration.count() to int64_t in ArgumentCoder
https://bugs.webkit.org/show_bug.cgi?id=136981

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2014-10-28
Reviewed by Alexey Proskuryakov.

Explicitly cast the return value of std::chrono::duration.count() to
a fixed-size interger type, which prevents compilation error when
the return value type matches neither int32_t nor int64_t.

  • Platform/IPC/ArgumentCoders.h:
8:39 PM Changeset in webkit [175298] by dburkart@apple.com
  • 2 deletes in branches/safari-600.3-branch/Source/WebKit2/WebProcess/WebPage

Forgot to delete a couple files from merging r174524 (rdar://problem/18640868)

8:34 PM Changeset in webkit [175297] by dburkart@apple.com
  • 21 edits
    2 copies in branches/safari-600.3-branch/Source

Merge r174524. <rdar://problem/18640868>

7:26 PM Changeset in webkit [175296] by dburkart@apple.com
  • 54 edits
    6 copies
    4 deletes in branches/safari-600.3-branch/Source

Merged r174231. rdar://problem/18640833

6:28 PM Changeset in webkit [175295] by dbates@webkit.org
  • 2 edits in trunk/Tools

Unify logic in RunTests.run() to run the Python unit tests
https://bugs.webkit.org/show_bug.cgi?id=138160

Reviewed by Martin Robinson.

Unify the interactive and non-interactive code path for running the Python unit tests
in step RunTests so as to remove duplicate code to compute the the path to the script
test-webkitpy and log an informative message ("Running Python unit tests") to the console.

No new tests since no functionality was changed.

  • Scripts/webkitpy/port/base.py:

(Port.python_unittest_results_directory):

  • Scripts/webkitpy/tool/steps/runtests.py:

(RunTests.run):

5:58 PM Changeset in webkit [175294] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Make runtest.py call test-webkitpy with the --json flag when in
non-interactive mode.
https://bugs.webkit.org/show_bug.cgi?id=137667

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-10-28
Reviewed by Daniel Bates.

  • Scripts/webkitpy/port/base.py:

Adds the python_unittest_results_directory method.
(Port.python_unittest_results_directory):

  • Scripts/webkitpy/tool/steps/runtests.py:

Changes RunTests to call test-webkitpy with the --json flag if the
--non-interactive flag is set.
(RunTests):
(RunTests.run):

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

Merge r174541. <rdar://problem/18753175>

5:32 PM Changeset in webkit [175292] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebCore

Merge r174516. <rdar://problem/18640864>

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

Merge r174457. <rdar://problem/18640864>

5:27 PM Changeset in webkit [175290] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebCore

Merge r174456. <rdar://problem/18640864>

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

Merge r174369. <rdar://problem/18640842>

5:18 PM Changeset in webkit [175288] by jer.noble@apple.com
  • 22 edits
    2 adds in trunk/Source/WebKit2

[EME] Pass location for media key storage through from WebKit/WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=137120

Reviewed by Anders Carlsson.

Allow the location for media key storage to be passed into the WebProcess from the UIProcess
through the WebContextConfiguraiton struct.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode): Add mediaKeysStorageDirectory.
(WebKit::WebProcessCreationParameters::decode): Ditto.

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/API/C/WKContextConfigurationRef.cpp:

(WKContextConfigurationCopyMediaKeysStorageDirectory): Added getter.
(WKContextConfigurationSetMediaKeysStorageDirectory): Added setter.

  • UIProcess/API/C/WKContextConfigurationRef.h:
  • UIProcess/API/C/WKOriginDataManager.h:
  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _initWithConfiguration:]): Provide a default location.

  • UIProcess/APIContextConfiguration.cpp:

(API::ContextConfiguration::webContextConfiguration): Set mediaKeysStorageDirectory.

  • UIProcess/APIContextConfiguration.h:

(API::ContextConfiguration::mediaKeysStorageDirectory): Added getter.
(API::ContextConfiguration::setMediaKeysStorageDirectory): Added setter.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::applyPlatformSpecificConfigurationDefaults): Apply mediaKeysStorageDirectory.
(WebKit::WebContext::WebContext): Initialize m_mediaKeysStorageDirectory.
(WebKit::WebContext::createNewWebProcess): Create a sandbox extension handle for mediaKeysStorageDirectory.

  • UIProcess/WebContext.h:
  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::WebContext::platformDefaultMediaKeysStorageDirectory): Return a default location.

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformDefaultMediaKeysStorageDirectory): Ditto.

  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformDefaultMediaKeysStorageDirectory): Return an overridable default location.

  • WebProcess/MediaCache/WebMediaKeyStorageManager.cpp: Added.

(WebKit::WebMediaKeyStorageManager::initialize): Pull the mediaKeysStorageDirectory out of configuration.
(WebKit::WebMediaKeyStorageManager::supplementName): Return a configuration name.
(WebKit::WebMediaKeyStorageManager::mediaKeyStorageDirectoryForOrigin): Return the

correct storage directory based on the SecureOrigin.

(WebKit::WebMediaKeyStorageManager::getMediaKeyOrigins): Return the origins within the

storage directory.

(WebKit::removeAllMediaKeyStorageForOriginPath): Static, remove contents and directory at path.
(WebKit::WebMediaKeyStorageManager::deleteMediaKeyEntriesForOrigin): Use

removeAllMediaKeyStorageForOriginPath to remove origin data.

(WebKit::WebMediaKeyStorageManager::deleteMediaKeyEntriesModifiedBetweenDates): Ditto.
(WebKit::WebMediaKeyStorageManager::deleteAllMediaKeyEntries): Ditto.

  • WebProcess/MediaCache/WebMediaKeyStorageManager.h: Added.

(WebKit::WebMediaKeyStorageManager::WebMediaKeyStorageManager): Default constructor.
(WebKit::WebMediaKeyStorageManager::~WebMediaKeyStorageManager): Default virtual destructor.
(WebKit::WebMediaKeyStorageManager::mediaKeyStorageDirectory): Simple accessor.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess): Add WebMediaKeyStorageManager as a supplement.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess): Create a sandbox extension from the sandbox extension handle.

Add new source files to project(s).

  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:

(WebKit::WebMediaKeyStorageManager::getMediaKeyOrigins):
(WebKit::removeAllMediaKeyStorageForOriginPath):

Drive-by fix: references to VoidCallback are ambiguous, since the same name is re-used in multiple namespaces.
Make references to WebCore::VoidCallback explicit where the entire WebCore (and other) namespaces are pulled in.

  • WebProcess/Notifications/NotificationPermissionRequestManager.cpp:

(WebKit::NotificationPermissionRequestManager::startRequest):
(WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):

  • WebProcess/WebCoreSupport/WebNotificationClient.cpp:

(WebKit::WebNotificationClient::requestPermission):

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

Merge r174368. <rdar://problem/18753175>

4:54 PM Changeset in webkit [175286] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit

Merge r174321. <rdar://problem/18753175>

4:51 PM Changeset in webkit [175285] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit

Merge r174320. <rdar://problem/18753175>

4:51 PM Changeset in webkit [175284] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

[EME][Mac] Adopt new AVStreamSession API: pass storageDirectoryAtURL at creation-time
https://bugs.webkit.org/show_bug.cgi?id=138149

Reviewed by Brent Fulgham.

AVStreamSession now requires its storage location at creation-time, rather than post-creation. This requires
us to move storage location code from CDMSessionMediaSourceAVFObjC to MediaPlayerPrivateMediaSourceAVFObjC.

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

(-[WebAVStreamDataParserListener streamDataParserWillProvideContentKeyRequestInitializationData:forTrackID:]): Renamed.
(WebCore::CDMSessionMediaSourceAVFObjC::update):
(WebCore::sessionStorageDirectory): Deleted.

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

(WebCore::sessionStorageDirectory):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession):

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

All networking crashes on Mac 32bit
https://bugs.webkit.org/show_bug.cgi?id=138157

Reviewed by Andy Estes.

NEFilterSource content filtering is not available on 32bit, so
soft-linking fails at runtime. The simplest solution is just to disable
it at compile time.

  • platform/ContentFilter.h:
4:49 PM Changeset in webkit [175282] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.12-branch/Source

Versioning.

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

Merge r174257. <rdar://problem/18753175>

4:28 PM Changeset in webkit [175280] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.12.3

New tag.

4:14 PM Changeset in webkit [175279] by commit-queue@webkit.org
  • 26 edits in trunk/Source

Add optimized fullscreen mode.
https://bugs.webkit.org/show_bug.cgi?id=138044

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-10-28
Source/WebCore:

Reviewed by Jer Noble.

Enable different types of fullscreen video behavior.
Add an enum parameter to enterVideoFullscreenForVideoElement for alternate types of fullscreen.
Add gesture for alternate fullscreen.

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::enterFullscreenOptimized): added

  • Modules/mediacontrols/MediaControlsHost.h: added enterFullscreenOptimized
  • Modules/mediacontrols/MediaControlsHost.idl: added enterFullscreenOptimized
  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.handleBaseGestureChange): recognize alternate gesture

  • WebCore.exp.in: added parameter to setupFullscreen
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::removedFrom) : replace m_isInVideoFullscreen with m_videoFullscreenType
(WebCore::HTMLMediaElement::stop) : ditto
(WebCore::HTMLMediaElement::isFullscreen) : ditto
(WebCore::HTMLMediaElement::enterFullscreen): add parameter to enterVideoFullscreenForVideoElement
(WebCore::HTMLMediaElement::exitFullscreen): replace m_isInVideoFullscreen with m_videoFullscreenType
(WebCore::HTMLMediaElement::enterFullscreenOptimized): added

  • html/HTMLMediaElement.h: added enterFullscreenOptimized
  • page/ChromeClient.h:

(WebCore::ChromeClient::enterVideoFullscreenForVideoElement): added parameter

  • platform/ios/WebVideoFullscreenControllerAVKit.h: add parameter
  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(-[WebVideoFullscreenController enterFullscreen:type:]): add parameter
(-[WebVideoFullscreenController enterFullscreen:]): Deleted.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h: reorder protected to after public
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVPlayerController player]): this stub is now required
(-[WebAVPlayerController layoutSublayersOfLayer:]): this is a better way to update video frames
(WebVideoFullscreenInterfaceAVKit::setupFullscreen): implement optimized fullscreen interface
(WebVideoFullscreenInterfaceAVKit::enterFullscreen): ditto
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): ditto
(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): ditto

Source/WebKit/mac:

Reviewed by Jer Noble.

Enable different types of fullscreen video behavior.
Add an enum parameter to enterVideoFullscreenForVideoElement for alternate types of fullscreen.

  • WebCoreSupport/WebChromeClient.h: Add fullscreenType parameter
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::enterVideoFullscreenForVideoElement): ditto

  • WebView/WebView.mm:

(-[WebView _enterVideoFullscreenForVideoElement:type:]): ditto
(-[WebView _enterVideoFullscreenForVideoElement:]): Deleted.

  • WebView/WebViewInternal.h: ditto

Source/WebKit2:

Reviewed by Anders Carlsson.

Enable different types of fullscreen video behavior.
Add an enum parameter to enterVideoFullscreenForVideoElement for alternate types of fullscreen.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h: Add fullscreenType parameter
  • UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in: ditto
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): ditto

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::enterVideoFullscreenForVideoElement): ditto

  • WebProcess/WebCoreSupport/WebChromeClient.h: ditto
  • WebProcess/ios/WebVideoFullscreenManager.h: ditto
  • WebProcess/ios/WebVideoFullscreenManager.mm:

(WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): ditto
(WebKit::WebVideoFullscreenManager::didCleanupFullscreen): ditto

3:42 PM Changeset in webkit [175278] by Chris Dumez
  • 27 edits in trunk/Source/WebCore

Clean up virtual functions in accessibility/
https://bugs.webkit.org/show_bug.cgi?id=138148

Reviewed by Chris Fleizach.

Clean up virtual functions in accessibility/ by:

  • Marking classes as final when suitable
  • Marking virtual functions as final when suitable
  • Dropping final on virtual functions in classes that are already final
  • Make isXXX() virtual type checking functions in XXX classes to avoid useless type checks

No new tests, no behavior change.

  • accessibility/AccessibilityARIAGrid.h:
  • accessibility/AccessibilityARIAGridCell.h:
  • accessibility/AccessibilityARIAGridRow.h:
  • accessibility/AccessibilityImageMapLink.h:
  • accessibility/AccessibilityList.h:
  • accessibility/AccessibilityListBox.h:
  • accessibility/AccessibilityListBoxOption.h:
  • accessibility/AccessibilityMediaControls.h:
  • accessibility/AccessibilityMenuList.h:
  • accessibility/AccessibilityMenuListOption.h:
  • accessibility/AccessibilityMenuListPopup.h:
  • accessibility/AccessibilityMockObject.h:

(WebCore::AccessibilityMockObject::setParent):

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/AccessibilityProgressIndicator.h:
  • accessibility/AccessibilityRenderObject.h:
  • accessibility/AccessibilitySVGRoot.h:
  • accessibility/AccessibilityScrollView.h:
  • accessibility/AccessibilityScrollbar.h:
  • accessibility/AccessibilitySearchFieldButtons.h:
  • accessibility/AccessibilitySlider.h:
  • accessibility/AccessibilitySpinButton.h:
  • accessibility/AccessibilityTable.h:
  • accessibility/AccessibilityTableCell.h:
  • accessibility/AccessibilityTableColumn.h:
  • accessibility/AccessibilityTableHeaderContainer.h:
  • accessibility/AccessibilityTableRow.h:
3:38 PM Changeset in webkit [175277] by jpfau@apple.com
  • 2 edits in trunk/Source/WebCore

FrameProgressTracker expects Page to not have detached
https://bugs.webkit.org/show_bug.cgi?id=138061

Reviewed by Alexey Proskuryakov.

In some cases, a Page may be detached from a Frame before its
FrameLoader is torn down, causing FrameProgressTracker's destructor
to hit a null pointer.

No new tests; it is impossible to reliably simulate the null pointer
case without intrusive code changes.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):

3:36 PM Changeset in webkit [175276] by dburkart@apple.com
  • 8 edits
    2 copies in branches/safari-600.3-branch

Merge r174190. <rdar://problem/18640846>

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

Added a Radar reference to a comment.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<Credential>::encodePlatformData):

3:14 PM Changeset in webkit [175274] by dburkart@apple.com
  • 3 edits
    4 copies in branches/safari-600.3-branch

Merge r173184. <rdar://problem/18428699>

3:00 PM Changeset in webkit [175273] by adachan@apple.com
  • 8 edits
    1 add in trunk/Source/WebCore

Introduce a new abstract class called AudioProducer and keep a set of AudioProducers
rather than the active MediaSessions in Document
https://bugs.webkit.org/show_bug.cgi?id=138107

Reviewed by Eric Carlson.

No new tests, no behavior change.

  • WebCore.xcodeproj/project.pbxproj:

Add AudioProducer.h to the project.

  • dom/Document.cpp:

(WebCore::Document::addAudioProducer):
(WebCore::Document::removeAudioProducer):
(WebCore::Document::updateIsPlayingAudio):
Go through the set of AudioProducers and see if any is playing audio.
Now that this method no longer refers to MediaSessions directly, this code
does not need to be guarded by #if ENABLE(VIDEO).
(WebCore::Document::registerMediaSession): Deleted.
(WebCore::Document::unregisterMediaSession): Deleted.

  • dom/Document.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::registerWithDocument):
(WebCore::HTMLMediaElement::unregisterWithDocument):
(WebCore::HTMLMediaElement::isPlayingAudio):
Return whether this element is playing audio.

  • html/HTMLMediaElement.h:
  • page/AudioProducer.h: Added.

(WebCore::AudioProducer::~AudioProducer):

  • page/Page.cpp:

(WebCore::Page::updateIsPlayingAudio):
This is no longer guarded with #if ENABLE(VIDEO) since the Document methods it calls
are no longer guarded.

  • page/Page.h:
2:42 PM Changeset in webkit [175272] by dburkart@apple.com
  • 4 edits
    2 copies in branches/safari-600.3-branch

Merge r173181. rdar://problem/18428697

1:12 PM Changeset in webkit [175271] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/multicol/multicol-crazy-nesting.html sometimes crashes
https://bugs.webkit.org/show_bug.cgi?id=138145

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

[Cocoa] REGERESSION (r171801): Client certificate authentication is failing
https://bugs.webkit.org/show_bug.cgi?id=138144

Reviewed by Alexey Proskuryakov.

NSURLCredential’s implementation of NSSecureCoding fails to encode identity-based
credentials properly. Work around that by encoding the identity, certificate, and
persistence individually.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<Credential>::encodePlatformData):
(IPC::ArgumentCoder<Credential>::decodePlatformData):

12:57 PM Changeset in webkit [175269] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed comment fix from r175267.

Fix namespace name in comment.

  • css/StyleBuilderCustom.h:
12:37 PM Changeset in webkit [175268] by jer.noble@apple.com
  • 39 edits
    2 copies in trunk

REGRESSION(r171593) [Mac] Media controls create a large (and unnecessary) backing store
https://bugs.webkit.org/show_bug.cgi?id=137757

Reviewed by Eric Carlson.

Source/WebCore:

In r171593, a <div> was added to the media controls which is only ever used on iOS. Instead
of creating and adding this <div> in mediaControlsApple.js (which is used on OS X), this
<div> should be created and added in mediaControlsiOS.js, which requires overloading
Controller.addControls.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-panel.hidden): Drive-by fix: allow the panel itself to be hidden.
(video::-webkit-media-controls-panel-composited-parent): Deleted.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createControls): Remove the composited parent.
(Controller.prototype.addControls): Ditto.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.createControls): Create the composited parent.
(ControllerIOS.prototype.addControls): Copied from (previous) apple.js.

LayoutTests:

  • platform/mac-mavericks/media/audio-controls-rendering-expected.png:
  • platform/mac-mavericks/media/audio-controls-rendering-expected.txt:
  • platform/mac-mavericks/media/controls-strict-expected.txt:
  • platform/mac-mavericks/media/controls-without-preload-expected.txt: Copied from LayoutTests/platform/mac/media/controls-without-preload-expected.txt.
  • platform/mac-mavericks/media/video-controls-rendering-expected.txt:
  • platform/mac-mavericks/media/video-display-toggle-expected.txt:
  • platform/mac-mavericks/media/video-empty-source-expected.txt: Copied from LayoutTests/platform/mac/media/video-empty-source-expected.txt.
  • platform/mac-mavericks/media/video-no-audio-expected.png:
  • platform/mac-mavericks/media/video-no-audio-expected.txt:
  • platform/mac-mavericks/media/video-volume-slider-expected.txt:
  • platform/mac-mavericks/media/video-zoom-controls-expected.png:
  • platform/mac-mavericks/media/video-zoom-controls-expected.txt:
  • platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/mac/fast/layers/video-layer-expected.txt:
  • platform/mac/media/audio-controls-rendering-expected.png:
  • platform/mac/media/audio-controls-rendering-expected.txt:
  • platform/mac/media/controls-after-reload-expected.png:
  • platform/mac/media/controls-after-reload-expected.txt:
  • platform/mac/media/controls-strict-expected.png:
  • platform/mac/media/controls-strict-expected.txt:
  • platform/mac/media/controls-without-preload-expected.png:
  • platform/mac/media/controls-without-preload-expected.txt:
  • platform/mac/media/media-controls-clone-expected.png:
  • platform/mac/media/media-controls-clone-expected.txt:
  • platform/mac/media/video-controls-rendering-expected.png:
  • platform/mac/media/video-controls-rendering-expected.txt:
  • platform/mac/media/video-display-toggle-expected.png:
  • platform/mac/media/video-display-toggle-expected.txt:
  • platform/mac/media/video-empty-source-expected.png:
  • platform/mac/media/video-empty-source-expected.txt:
  • platform/mac/media/video-no-audio-expected.png:
  • platform/mac/media/video-no-audio-expected.txt:
  • platform/mac/media/video-volume-slider-expected.png:
  • platform/mac/media/video-volume-slider-expected.txt:
  • platform/mac/media/video-zoom-controls-expected.png:
  • platform/mac/media/video-zoom-controls-expected.txt:
12:12 PM Changeset in webkit [175267] by Chris Dumez
  • 6 edits
    1 add in trunk/Source/WebCore

Move "Number" CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138125

Reviewed by Antti Koivisto.

Move "Number" CSS properties from DeprecatedStyleBuilder to the new
StyleBuilder:
-webkit-hyphenate-limit-after
-webkit-hyphenate-limit-before
-webkit-shape-image-threshold
-webkit-hyphenate-limit-lines

They are now generated from CSSPropertyNames.in

For -webkit-hyphenate-limit-lines, I used custom code instead of
the Number converter as it required special handling for the id
value. This patch thus adds support for [Custom=Value] to
CSSPropertyNames.in and the custom code goes into
css/StyleBuilderCustom.h.

No new tests, no behavior change.

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSPropertyNames.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyNumber::setValue): Deleted.
(WebCore::ApplyPropertyNumber::applyValue): Deleted.
(WebCore::ApplyPropertyNumber::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertNumber):

  • css/StyleBuilderCustom.h: Added.

(WebCore::StyleBuilderFunctions::applyValueWebkitHyphenateLimitLines):

  • css/makeprop.pl:
12:05 PM Changeset in webkit [175266] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit2

[iOS] iPhone should not allow selecting <optgroup> in <select multiple>
https://bugs.webkit.org/show_bug.cgi?id=137991

Reviewed by Darin Adler.

We seem to be getting the delegate when we are not supposed to.
Workaround the issue as best we can by reseting the styles
for the group's content view and not changing selections.

  • UIProcess/ios/forms/WKFormSelectPicker.mm:

(-[WKMultipleSelectPicker pickerView:row:column:checked:]):

11:46 AM Changeset in webkit [175265] by zandobersek@gmail.com
  • 7 edits in trunk/Source/WebCore

[WebCore] Remove uses of WTF::bind() in the Media Stream module
https://bugs.webkit.org/show_bug.cgi?id=138016

Reviewed by Eric Carlson.

Replace uses of WTF::bind() in the Media Stream module with C++11 lambdas.
Internal helper methods are removed in favor of inlining the code directly
into the lambdas. Range-based for-loops are deployed where appropriate.

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::scheduleEventDispatch):
(WebCore::MediaStreamTrack::dispatchQueuedEvents): Deleted.

  • Modules/mediastream/MediaStreamTrack.h:
  • Modules/mediastream/MediaStreamTrackSourcesRequest.cpp:

(WebCore::MediaStreamTrackSourcesRequest::didCompleteRequest):
(WebCore::MediaStreamTrackSourcesRequest::callCompletionHandler): Deleted.

  • Modules/mediastream/MediaStreamTrackSourcesRequest.h:
  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::constraintsValidated):
(WebCore::UserMediaRequest::userMediaAccessGranted):
(WebCore::UserMediaRequest::didCreateStream):
(WebCore::UserMediaRequest::failedToCreateStreamWithConstraintsError):
(WebCore::UserMediaRequest::failedToCreateStreamWithPermissionError):
(WebCore::UserMediaRequest::requestPermission): Deleted.
(WebCore::UserMediaRequest::createMediaStream): Deleted.
(WebCore::UserMediaRequest::callSuccessHandler): Deleted.
(WebCore::UserMediaRequest::callErrorHandler): Deleted.

  • Modules/mediastream/UserMediaRequest.h:
11:35 AM Changeset in webkit [175264] by ap@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

text-combine needs to center glyphs within the vertical area.
https://bugs.webkit.org/show_bug.cgi?id=138056

Adding pre-Yosemite test results.

  • platform/mac-mavericks/fast/text/tatechuyoko-expected.png: Added.
  • platform/mac-mavericks/fast/text/tatechuyoko-expected.txt: Added.
11:05 AM Changeset in webkit [175263] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Abandoned select option is reselected when shift selecting new options
https://bugs.webkit.org/show_bug.cgi?id=137553

Patch by Pascal Jacquemart <p.jacquemart@samsung.com> on 2014-10-28
Reviewed by Ryosuke Niwa.

Source/WebCore:

Previous active selection is wrongly recorded by HTMLSelectElement after selecting a new item using
typeAhead. Fixed by clearing previously selected options before starting a new active selection.

Test: fast/forms/listbox-selection-after-typeahead.html

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::selectOption): Code re-ordering

LayoutTests:

Test checking a combination of mouse and keyboard selection events
on select-multiple element

  • fast/forms/listbox-selection-after-typeahead-expected.txt: Added.
  • fast/forms/listbox-selection-after-typeahead.html: Added.
11:01 AM Changeset in webkit [175262] by rniwa@webkit.org
  • 4 edits in trunk/Websites/perf.webkit.org

Remove App.PaneController.bugsChangeCount in the new perf dashboard
https://bugs.webkit.org/show_bug.cgi?id=138111

Reviewed by Darin Adler.

  • public/v2/app.js:

(App.PaneController.bugsChangeCount): Removed.
(App.PaneController.actions.associateBug): Call _updateMarkedPoints instead of incrementing bugsChangeCount.
(App.PaneController._updateMarkedPoints): Extracted from App.InteractiveChartComponent._updateDotsWithBugs.
Finds the list of current run's points that are associated with bugs.
(App.InteractiveChartComponent._updateMarkedDots): Renamed from _updateDotsWithBugs.

  • public/v2/chart-pane.css:

(.chart .marked): Renamed from .hasBugs.

  • public/v2/index.html: Specify chartPointRadius and markedPoints.
11:00 AM Changeset in webkit [175261] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Use constants from wtf/MathExtras.h
https://bugs.webkit.org/show_bug.cgi?id=137967

Patch by Milan Crha <mcrha@redhat.com> on 2014-10-28
Reviewed by Darin Adler.

Source/WebCore:

  • platform/graphics/freetype/FontPlatformDataFreeType.cpp:

(WebCore::rotateCairoMatrixForVerticalOrientation):

  • rendering/mathml/RenderMathMLMenclose.cpp:

(WebCore::RenderMathMLMenclose::computePreferredLogicalWidths):
(WebCore::RenderMathMLMenclose::updateLogicalHeight):

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::getDisplayStyleLargeOperator):

Source/WTF:

  • wtf/MathExtras.h:
10:58 AM Changeset in webkit [175260] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

Selection gap painting is ugly for ruby bases.
https://bugs.webkit.org/show_bug.cgi?id=138136

Reviewed by Dean Jackson.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::selectionGaps):
For ruby bases don't fill to the end of the block (in the block direction),
since ideographic baselines push that end below the text baseline.

(WebCore::RenderBlock::blockSelectionGaps):

  • rendering/RenderBlockFlow.cpp:

Skip ruby bases for block selection gap filling.

10:57 AM Changeset in webkit [175259] by Alan Bujtas
  • 142 edits
    4 adds in trunk

Speed up line parsing for simple line layout.
https://bugs.webkit.org/show_bug.cgi?id=137275

Reviewed by Antti Koivisto.
Source/WebCore:

This patch speeds up the line parsing for simple line layout by
reducing the number of text measurement calls.
The parsing logic hasn't changed. We simply walk over
the whitespace/non-whitespace fragments and measure them to
figure out whether they fit.
The performance gain mainly comes from the more efficient line wrapping
so that we don't re-measure the fragment when it is pushed to
the next line.

No change in behaviour. (except the empty line-break run removal.)

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::skipWhitespace):
(WebCore::SimpleLineLayout::computeLineLeft):
(WebCore::SimpleLineLayout::TextFragment::TextFragment):
(WebCore::SimpleLineLayout::TextFragment::isEmpty):
(WebCore::SimpleLineLayout::LineState::LineState):
(WebCore::SimpleLineLayout::LineState::commitAndCreateRun): adds uncommitted text to the line and creates a run out of it.
(WebCore::SimpleLineLayout::LineState::addUncommitted): appends fragment to the uncommitted text.
(WebCore::SimpleLineLayout::LineState::addUncommittedWhitespace): appends whitespace to the uncommitted text.
(WebCore::SimpleLineLayout::LineState::jumpTo): moves line's current position without committing text.
(WebCore::SimpleLineLayout::LineState::width): current width of the line including committed and uncommitted text.
(WebCore::SimpleLineLayout::LineState::fits): checks if committed + uncommitted text fits the line.
(WebCore::SimpleLineLayout::LineState::removeCommittedTrailingWhitespace):
(WebCore::SimpleLineLayout::removeTrailingWhitespace): post processing the trailing whitespace.
(WebCore::SimpleLineLayout::initializeLine):
(WebCore::SimpleLineLayout::splitFragmentToFitLine): breaks the fragments into 2 so that the first (sub)fragment fits the line.
(WebCore::SimpleLineLayout::nextFragment): returns the next valid fragment of the text.
(WebCore::SimpleLineLayout::createLineRuns): creates runs for the current line and returns when we can't fit more text on the line.
(WebCore::SimpleLineLayout::updateLineConstrains): updates left/right constrains for the current line.
(WebCore::SimpleLineLayout::createTextRuns): creates runs for the whole text.
(WebCore::SimpleLineLayout::isWhitespace): Deleted.
(WebCore::SimpleLineLayout::skipWhitespaces): Deleted.
(WebCore::SimpleLineLayout::measureWord): Deleted.
(WebCore::SimpleLineLayout::adjustRunOffsets): Deleted.

  • rendering/SimpleLineLayout.h:

(WebCore::SimpleLineLayout::Run::Run):

LayoutTests:

This patch removes empty line-break runs. Rebaseline.

  • platform/mac-mountainlion/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/mac/css1/basic/containment-expected.txt:
  • platform/mac/css1/basic/contextual_selectors-expected.txt:
  • platform/mac/css1/basic/grouping-expected.txt:
  • platform/mac/css1/basic/id_as_selector-expected.txt:
  • platform/mac/css1/basic/inheritance-expected.txt:
  • platform/mac/css1/box_properties/border-expected.txt:
  • platform/mac/css1/box_properties/border_bottom-expected.txt:
  • platform/mac/css1/box_properties/border_bottom_inline-expected.txt:
  • platform/mac/css1/box_properties/border_bottom_width-expected.txt:
  • platform/mac/css1/box_properties/border_bottom_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_color-expected.txt:
  • platform/mac/css1/box_properties/border_color_inline-expected.txt:
  • platform/mac/css1/box_properties/border_inline-expected.txt:
  • platform/mac/css1/box_properties/border_left-expected.txt:
  • platform/mac/css1/box_properties/border_left_inline-expected.txt:
  • platform/mac/css1/box_properties/border_left_width-expected.txt:
  • platform/mac/css1/box_properties/border_left_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_right-expected.txt:
  • platform/mac/css1/box_properties/border_right_inline-expected.txt:
  • platform/mac/css1/box_properties/border_right_width-expected.txt:
  • platform/mac/css1/box_properties/border_right_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_style-expected.txt:
  • platform/mac/css1/box_properties/border_style_inline-expected.txt:
  • platform/mac/css1/box_properties/border_top-expected.txt:
  • platform/mac/css1/box_properties/border_top_inline-expected.txt:
  • platform/mac/css1/box_properties/border_top_width-expected.txt:
  • platform/mac/css1/box_properties/border_top_width_inline-expected.txt:
  • platform/mac/css1/box_properties/border_width-expected.txt:
  • platform/mac/css1/box_properties/border_width_inline-expected.txt:
  • platform/mac/css1/box_properties/clear-expected.txt:
  • platform/mac/css1/box_properties/clear_float-expected.txt:
  • platform/mac/css1/box_properties/float-expected.txt:
  • platform/mac/css1/box_properties/float_elements_in_series-expected.txt:
  • platform/mac/css1/box_properties/float_margin-expected.txt:
  • platform/mac/css1/box_properties/height-expected.txt:
  • platform/mac/css1/box_properties/margin-expected.txt:
  • platform/mac/css1/box_properties/margin_bottom-expected.txt:
  • platform/mac/css1/box_properties/margin_bottom_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_left-expected.txt:
  • platform/mac/css1/box_properties/margin_left_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_right-expected.txt:
  • platform/mac/css1/box_properties/margin_right_inline-expected.txt:
  • platform/mac/css1/box_properties/margin_top-expected.txt:
  • platform/mac/css1/box_properties/margin_top_inline-expected.txt:
  • platform/mac/css1/box_properties/padding-expected.txt:
  • platform/mac/css1/box_properties/padding_bottom-expected.txt:
  • platform/mac/css1/box_properties/padding_bottom_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_left-expected.txt:
  • platform/mac/css1/box_properties/padding_left_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_right-expected.txt:
  • platform/mac/css1/box_properties/padding_right_inline-expected.txt:
  • platform/mac/css1/box_properties/padding_top-expected.txt:
  • platform/mac/css1/box_properties/padding_top_inline-expected.txt:
  • platform/mac/css1/box_properties/width-expected.txt:
  • platform/mac/css1/cascade/cascade_order-expected.txt:
  • platform/mac/css1/cascade/important-expected.txt:
  • platform/mac/css1/classification/display-expected.txt:
  • platform/mac/css1/classification/list_style-expected.txt:
  • platform/mac/css1/classification/list_style_image-expected.txt:
  • platform/mac/css1/classification/list_style_position-expected.txt:
  • platform/mac/css1/classification/list_style_type-expected.txt:
  • platform/mac/css1/classification/white_space-expected.txt:
  • platform/mac/css1/color_and_background/background-expected.txt:
  • platform/mac/css1/color_and_background/background_attachment-expected.txt:
  • platform/mac/css1/color_and_background/background_color-expected.txt:
  • platform/mac/css1/color_and_background/background_image-expected.txt:
  • platform/mac/css1/color_and_background/background_position-expected.txt:
  • platform/mac/css1/color_and_background/background_repeat-expected.txt:
  • platform/mac/css1/color_and_background/color-expected.txt:
  • platform/mac/css1/conformance/forward_compatible_parsing-expected.txt:
  • platform/mac/css1/font_properties/font-expected.txt:
  • platform/mac/css1/font_properties/font_family-expected.txt:
  • platform/mac/css1/font_properties/font_size-expected.txt:
  • platform/mac/css1/font_properties/font_style-expected.txt:
  • platform/mac/css1/font_properties/font_variant-expected.txt:
  • platform/mac/css1/font_properties/font_weight-expected.txt:
  • platform/mac/css1/formatting_model/canvas-expected.txt:
  • platform/mac/css1/formatting_model/floating_elements-expected.txt:
  • platform/mac/css1/formatting_model/height_of_lines-expected.txt:
  • platform/mac/css1/formatting_model/inline_elements-expected.txt:
  • platform/mac/css1/formatting_model/replaced_elements-expected.txt:
  • platform/mac/css1/formatting_model/vertical_formatting-expected.txt:
  • platform/mac/css1/pseudo/anchor-expected.txt:
  • platform/mac/css1/pseudo/firstletter-expected.txt:
  • platform/mac/css1/pseudo/firstline-expected.txt:
  • platform/mac/css1/pseudo/multiple_pseudo_elements-expected.txt:
  • platform/mac/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
  • platform/mac/css1/text_properties/letter_spacing-expected.txt:
  • platform/mac/css1/text_properties/line_height-expected.txt:
  • platform/mac/css1/text_properties/text_align-expected.txt:
  • platform/mac/css1/text_properties/text_decoration-expected.txt:
  • platform/mac/css1/text_properties/text_indent-expected.txt:
  • platform/mac/css1/text_properties/text_transform-expected.txt:
  • platform/mac/css1/text_properties/vertical_align-expected.txt:
  • platform/mac/css1/text_properties/word_spacing-expected.txt:
  • platform/mac/css1/units/color_units-expected.txt:
  • platform/mac/css1/units/length_units-expected.txt:
  • platform/mac/css1/units/percentage_units-expected.txt:
  • platform/mac/css1/units/urls-expected.txt:
  • platform/mac/css2.1/t100801-c548-ln-ht-00-c-a-expected.txt:
  • platform/mac/css2.1/t1606-c562-white-sp-00-b-ag-expected.txt:
  • platform/mac/editing/selection/designmode-no-caret-expected.txt:
  • platform/mac/fast/css/empty-pseudo-class-expected.txt:
  • platform/mac/fast/css/first-child-pseudo-class-expected.txt:
  • platform/mac/fast/css/last-child-pseudo-class-expected.txt:
  • platform/mac/fast/css/only-child-pseudo-class-expected.txt:
  • platform/mac/fast/forms/targeted-frame-submission-expected.txt:
  • platform/mac/fast/frames/onlyCommentInIFrame-expected.txt:
  • platform/mac/fast/html/listing-expected.txt:
  • platform/mac/fast/invalid/junk-data-expected.txt:
  • platform/mac/fast/invalid/missing-end-tag-expected.txt:
  • platform/mac/fast/loader/text-document-wrapping-expected.txt:
  • platform/mac/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
  • platform/mac/fast/parser/xhtml-alternate-entities-expected.txt:
  • platform/mac/fast/table/border-collapsing/004-expected.txt:
  • platform/mac/fast/table/border-collapsing/004-vertical-expected.txt:
  • platform/mac/fast/text/whitespace/001-expected.txt: Added.
  • platform/mac/fast/text/whitespace/013-expected.txt: Added.
  • platform/mac/fast/text/whitespace/014-expected.txt: Added.
  • platform/mac/fast/text/whitespace/022-expected.txt: Added.
  • platform/mac/fast/text/whitespace/024-expected.txt:
  • platform/mac/fast/text/whitespace/030-expected.txt:
  • platform/mac/fast/xsl/xslt-extra-content-at-end-expected.txt:
  • platform/mac/fast/xsl/xslt-missing-namespace-in-xslt-expected.txt:
  • platform/mac/http/tests/misc/acid3-expected.txt:
  • platform/mac/svg/custom/bug45331-expected.txt:
  • platform/mac/svg/custom/junk-data-expected.txt:
  • platform/mac/svg/custom/missing-xlink-expected.txt:
  • platform/mac/svg/custom/path-bad-data-expected.txt:
  • platform/mac/svg/custom/use-font-face-crash-expected.txt:
  • platform/mac/svg/hixie/error/012-expected.txt:
  • platform/mac/tables/mozilla/bugs/45621-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug139524-2-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug1055-2-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug21518-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug22122-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
  • platform/mac/tables/mozilla_expected_failures/marvin/backgr_fixed-bg-expected.txt:
10:55 AM Changeset in webkit [175258] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

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

Appears to be failing some JS tests (Requested by mlam_ on
#webkit).

Reverted changeset:

"Holes are not copied properly when Arrays change shape to
ArrayStorage type."
https://bugs.webkit.org/show_bug.cgi?id=138118
http://trac.webkit.org/changeset/175249

10:52 AM Changeset in webkit [175257] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

import-w3c-tests should use re.escape() wherever it's handling file paths
https://bugs.webkit.org/show_bug.cgi?id=137934

This patch adds re.escape() to a few places where we're doing string
conversions. This prevents errors when attribute values coincidentally
have character sequences that can be interpreted as regular expressions.

Patch by Rebecca Hauck <rhauck@adobe.com> on 2014-10-28
Reviewed by Bem Jones-Bey.

  • Scripts/webkitpy/w3c/test_converter.py:

(_W3CTestConverter.convert_attributes_if_needed):

10:37 AM Changeset in webkit [175256] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove an inaccurate comment in WKActionMenuController
https://bugs.webkit.org/show_bug.cgi?id=138135

Reviewed by Anders Carlsson.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForLink]):
The comment is wrong; the separator is there for spacing, not just as a workaround.

10:17 AM Changeset in webkit [175255] by commit-queue@webkit.org
  • 39 edits
    1 copy
    17 adds in trunk/LayoutTests

Update CSS shapes suite import
https://bugs.webkit.org/show_bug.cgi?id=138045

This patch is a full re-import of the CSS Shapes test suite from the W3C
test repo and an updated TestExpectations file to match the current
results.

Patch by Rebecca Hauck <rhauck@adobe.com> on 2014-10-28
Reviewed by Benjamin Poulain.

  • TestExpectations:
  • css3/shapes/shape-outside/shape-box/w3c-import.log:
  • css3/shapes/shape-outside/shape-image/gradients/w3c-import.log:
  • css3/shapes/shape-outside/shape-image/shape-image-000-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-001-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-002-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-002.html:
  • css3/shapes/shape-outside/shape-image/shape-image-003-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-003.html:
  • css3/shapes/shape-outside/shape-image/shape-image-004-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-005-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-005.html:
  • css3/shapes/shape-outside/shape-image/shape-image-006-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-006.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-007-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-007.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-008-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-008.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-009-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-009.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-010-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-010.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-011-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-011.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-013-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-013.html:
  • css3/shapes/shape-outside/shape-image/shape-image-014-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-014.html:
  • css3/shapes/shape-outside/shape-image/shape-image-015-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-015.html:
  • css3/shapes/shape-outside/shape-image/shape-image-016-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-016.html:
  • css3/shapes/shape-outside/shape-image/shape-image-017-expected.html:
  • css3/shapes/shape-outside/shape-image/shape-image-017.html:
  • css3/shapes/shape-outside/shape-image/shape-image-024-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-024.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-025-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-025.html: Added.
  • css3/shapes/shape-outside/shape-image/support/animated.gif: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle-20.png:
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle-20.png:
  • css3/shapes/shape-outside/shape-image/support/w3c-import.log:
  • css3/shapes/shape-outside/shape-image/w3c-import.log:
  • css3/shapes/shape-outside/supported-shapes/circle/w3c-import.log:
  • css3/shapes/shape-outside/supported-shapes/ellipse/w3c-import.log:
  • css3/shapes/shape-outside/supported-shapes/inset/w3c-import.log:
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html:
  • css3/shapes/shape-outside/supported-shapes/polygon/w3c-import.log:
  • css3/shapes/shape-outside/supported-shapes/support/w3c-import.log: Copied from LayoutTests/css3/shapes/shape-outside/values/support/w3c-import.log.
  • css3/shapes/shape-outside/values/shape-image-threshold-001.html:
  • css3/shapes/shape-outside/values/support/w3c-import.log:
  • css3/shapes/shape-outside/values/w3c-import.log:
  • css3/shapes/spec-examples/shape-outside-019-expected.html:
  • css3/shapes/spec-examples/support/w3c-import.log:
  • css3/shapes/spec-examples/w3c-import.log:
  • css3/shapes/w3c-import.log:
9:44 AM Changeset in webkit [175254] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Windows build fix.

  • platform/network/cf/NetworkStorageSessionCFNet.cpp:

(WebCore::NetworkStorageSession::switchToNewTestingSession): Use a WTF function
for getting current process ID instead of getpid().

9:30 AM Changeset in webkit [175253] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL] Remove unnecessary defines from OptionsEfl.cmake
https://bugs.webkit.org/show_bug.cgi?id=138132

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-10-28
Reviewed by Csaba Osztrogonác.

.:

  • Source/cmake/OptionsEfl.cmake:

Source/WTF:

  • wtf/Platform.h:
9:05 AM Changeset in webkit [175252] by mihnea@adobe.com
  • 6 edits in trunk/Source/WebCore

Clean up subtrees selection code
https://bugs.webkit.org/show_bug.cgi?id=137740

Reviewed by David Hyatt.

Clean up subtrees selection code. Add a new class SelectionSubtreeData
that keeps only the selection data. Have SelectionSubtreeRoot class embed
a SelectionSubtreeData member and keep the business logic methods.
No functionality changed therefore no new layout tests.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::selectionStartEnd):

  • rendering/RenderView.cpp:

(WebCore::RenderView::subtreeSelectionBounds):
(WebCore::RenderView::repaintSubtreeSelection):
(WebCore::RenderView::setSelection):
(WebCore::RenderView::splitSelectionBetweenSubtrees):
(WebCore::RenderView::updateSelectionForSubtrees):
(WebCore::RenderView::clearSubtreeSelection):
(WebCore::RenderView::applySubtreeSelection):

  • rendering/RenderView.h:
  • rendering/SelectionSubtreeRoot.cpp:

(WebCore::SelectionSubtreeRoot::SelectionSubtreeRoot):
(WebCore::SelectionSubtreeRoot::adjustForVisibleSelection):

  • rendering/SelectionSubtreeRoot.h:

(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::SelectionSubtreeData):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStart):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEnd):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionEndPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionClear):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::selectionStartEndPositions):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStart):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionStartPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEnd):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::setSelectionEndPos):
(WebCore::SelectionSubtreeRoot::SelectionSubtreeData::clearSelection):
(WebCore::SelectionSubtreeRoot::selectionData):
(WebCore::SelectionSubtreeRoot::setSelectionData):
(WebCore::SelectionSubtreeRoot::selectionStart): Deleted.
(WebCore::SelectionSubtreeRoot::selectionStartPos): Deleted.
(WebCore::SelectionSubtreeRoot::selectionEnd): Deleted.
(WebCore::SelectionSubtreeRoot::selectionEndPos): Deleted.
(WebCore::SelectionSubtreeRoot::selectionStartEndPositions): Deleted.
(WebCore::SelectionSubtreeRoot::selectionClear): Deleted.
(WebCore::SelectionSubtreeRoot::setSelectionStart): Deleted.
(WebCore::SelectionSubtreeRoot::setSelectionStartPos): Deleted.
(WebCore::SelectionSubtreeRoot::setSelectionEnd): Deleted.
(WebCore::SelectionSubtreeRoot::setSelectionEndPos): Deleted.

9:04 AM Changeset in webkit [175251] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] The first software paint of a <video> element takes up to 2.5s.
https://bugs.webkit.org/show_bug.cgi?id=137754

Reviewed by Brent Fulgham.

It turns out that, if you pass nil to -[AVPlayerItemVideoOutput initWithPixelBufferAttributes:]
the video output will not attempt to conform the resulting pixel buffers into a particular format.
This means that adding such a video output to a AVPlayerItem should have almost no performance
penalty, since the video output does not even copy the resulting buffers, but rather just retains
and returns the ones from the AVPlayerLayer.

Create and attach an AVPlayerItemVideoOutput after creating the AVPlayerItem, but before attaching
the player item to the AVPlayer. This eliminates the reconfigure step which occurs after attaching
a video output to an already attached AVPlayerItem.

When creating the AVPlayerItemVideoOutput, pass in nil for the pixelBufferAttributes parameter.

Instead of blocking waiting for output from the AVPlayerItemVideoOutput during creating, block and
whait when asked to paint with the video output.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):

8:35 AM Changeset in webkit [175250] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move text decoration CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138121

Reviewed by Antti Koivisto.

Move text decoration CSS properties from DeprecatedStyleBuilder to the
new StyleBuilder so that they are generated from CSSPropertyNames.in.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyTextDecoration::applyValue): Deleted.
(WebCore::ApplyPropertyTextDecoration::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertTextDecoration):

8:29 AM Changeset in webkit [175249] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Holes are not copied properly when Arrays change shape to ArrayStorage type.
<https://webkit.org/b/138118>

Reviewed by Mark Hahnenberg.

When we convert non-ArrayStorage typed arrays into ArrayStorage typed arrays,
we skipped the holes. As a result, the slots in the ArrayStorage vector that
corresponds to those holes are uninitialize. This is now fixed.

  • runtime/JSObject.cpp:

(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToArrayStorage):
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):

7:14 AM Changeset in webkit [175248] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Remove an unused include from Tools/WebKitTestRunner/efl/PlatformWebViewEfl.cpp
https://bugs.webkit.org/show_bug.cgi?id=138130

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-10-28
Reviewed by Csaba Osztrogonác.

  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:
6:53 AM Changeset in webkit [175247] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.7.1

WebKitGTK+ 2.7.1

6:52 AM Changeset in webkit [175246] by Carlos Garcia Campos
  • 4 edits in trunk

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.7.1 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.7.1.
5:49 AM Changeset in webkit [175245] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[GTK] Remove GDK dependency from SharedTimerGtk
https://bugs.webkit.org/show_bug.cgi?id=138092

Reviewed by Martin Robinson.

It depends on GDK just to use GDK_PRIORITY_REDRAW constant, we can
use its value directly instead.

  • PlatformGTK.cmake:
  • platform/gtk/SharedTimerGtk.cpp:

(WebCore::setSharedTimerFireInterval):

12:05 AM Changeset in webkit [175244] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] OS X Mavericks build broken with public SDK
https://bugs.webkit.org/show_bug.cgi?id=138108

Reviewed by Mark Rowe.

  • Shared/API/Cocoa/WKFoundation.h: Only define the NSEventModifierFlags type when using a

version of the OS X SDK that doesn’t define it.

Oct 27, 2014:

10:46 PM Changeset in webkit [175243] by mark.lam@apple.com
  • 3 edits
    6 adds in trunk

Crash when attempting to perform array iteration on a non-array with numeric keys not initialized.
<https://webkit.org/b/137814>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

The arrayIteratorNextThunkGenerator() thunk was not checking for the case where
the butterfly may be NULL. This was the source of the crash, and is now fixed.

In addition, it is also not checking for the case where a property named "length"
may have been set on the iterated object. The thunk only checks the butterfly's
publicLength for its iteration operation. Array objects will work fine with this
because it always updates its butterfly's publicLength when its length changes.
In the case of iterable non-Array objects, the "length" property will require a
look up outside of the scope of this thunk. The fix is simply to limit the fast
case checks in this thunk to Array objects.

  • jit/ThunkGenerators.cpp:

(JSC::arrayIteratorNextThunkGenerator):

LayoutTests:

  • js/array-length-shortening-expected.txt: Added.
  • js/array-length-shortening.html: Added.
  • js/for-of-crash-expected.txt: Added.
  • js/for-of-crash.html: Added.
  • js/script-tests/array-length-shortening.js: Added.

(testLengthShortening):
(denseInt32Elements):
(denseDoubleElements):
(denseObjectElements):
(holeyInt32Elements):
(holeyDoubleElements):
(holeyObjectElements):
(arrayStorageInt32Elements):
(arrayStorageDoubleElements):
(arrayStorageObjectElements):
(sparseInt32Elements):
(sparseDoubleElements):
(sparseObjectElements):

  • js/script-tests/for-of-crash.js: Added.

(foo):

10:39 PM Changeset in webkit [175242] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Move RenderBlock::beingDestroyed() to RenderObject.
<https://webkit.org/b/138116>

Reviewed by Antti Koivisto.

Make "is being destroyed" a RenderObject concept instead of restricting
it to RenderBlocks. I'm guessing that this was specific to blocks due to
lack of bitfield space in RenderObject, and that's no longer an issue.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::RenderBlock):
(WebCore::RenderBlock::willBeDestroyed):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::beingDestroyed): Deleted.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::willBeDestroyed):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::destroy):

  • rendering/RenderObject.h:

(WebCore::RenderObject::beingDestroyed):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):

10:38 PM Changeset in webkit [175241] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: input type=hidden is being exposed when aria-hidden=false
https://bugs.webkit.org/show_bug.cgi?id=138106

Reviewed by Benjamin Poulain.

Source/WebCore:

If an input type=hidden was inside an aria-hidden=false, it would appear because
the lack of a RenderObject behind that object was not blocking its adoption into the AX tree.
We should explicity check for whether the type is hidden and then return an appropriate role.

Test: accessibility/input-type-hidden-in-aria-hidden-false.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::computeAccessibilityIsIgnored):

LayoutTests:

  • accessibility/input-type-hidden-in-aria-hidden-false-expected.txt: Added.
  • accessibility/input-type-hidden-in-aria-hidden-false.html: Added.
10:05 PM Changeset in webkit [175240] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Simplified some JSObject methods for converting arrays to ArrayStorage shape.
<https://webkit.org/b/138119>

Reviewed by Filip Pizlo.

Currently, for each Undecided, Int32, Double, and Contiguous array shapes,
there are 3 JSObject methods to convert them to ArrayStorage shape:

ArrayStorage* convert<shape>ToArrayStorage(VM&, NonPropertyTransition, unsigned neededLength);
ArrayStorage* convert<shape>ToArrayStorage(VM&, NonPropertyTransition);
ArrayStorage* convert<shape>ToArrayStorage(VM&);

However, the neededLength that is passed is always m_butterfly->vectorLength().
Hence, the method that takes a neededLength is really not needed. This patch
removes this unneeded verbosity.

  • runtime/JSObject.cpp:

(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToArrayStorage):

  • Also reordered the placement of the DeferGC statement so this Int32 function will look more similar to the others.

(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):

  • runtime/JSObject.h:
8:46 PM Changeset in webkit [175239] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175235. rdar://problem/18787412

8:05 PM Changeset in webkit [175238] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

NSSharingService protocol conformance should be internal to WKActionMenuController
https://bugs.webkit.org/show_bug.cgi?id=138112

Patch by Conrad Shultz <Conrad Shultz> on 2014-10-27
Reviewed by Tim Horton.

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

Move protocol conformance from the interface to a class extension.

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

https://trac.webkit.org/changeset/175233 broke many tests, fixing an incorrect '!'.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

6:00 PM Changeset in webkit [175236] by hyatt@apple.com
  • 4 edits
    3 adds in trunk

text-combine needs to center text within the vertical space using glyph bounds
https://bugs.webkit.org/show_bug.cgi?id=138056
<rdar://problem/15403667>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/text/tatechuyoko.html

  • rendering/RenderCombineText.cpp:

(WebCore::RenderCombineText::RenderCombineText):
(WebCore::RenderCombineText::adjustTextOrigin):
(WebCore::RenderCombineText::combineText):

  • rendering/RenderCombineText.h:

LayoutTests:

  • fast/text/tatechuyoko.html: Added.
  • platform/mac/fast/text/tatechuyoko-expected.png: Added.
  • platform/mac/fast/text/tatechuyoko-expected.txt: Added.
5:36 PM Changeset in webkit [175235] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

WebContent crash in WebKit::WebPage::expandedRangeFromHandle.
https://bugs.webkit.org/show_bug.cgi?id=138023
rdar://problem/18787412

Reviewed by Ryosuke Niwa.

We must change that we have a valid currentRange before trying
to expand or contract.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::changeBlockSelection):

4:13 PM Changeset in webkit [175234] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

REGRESSION: commit logs are not shown sometimes on the new dashboard UI
https://bugs.webkit.org/show_bug.cgi?id=138099

Reviewed by Benjamin Poulain.

The bug was caused by _currentItemChanged not passing the previous point in the list of points and also
_showDetails inverting the order of the current and old measurements.

  • public/v2/app.js:

(App.PaneController._currentItemChanged): Pass in the previous point to _showDetails when there is one.
(App.PaneController._showDetails): Since points are ordered chronologically, the last point is the
current (latest) measurement and the first point is the oldest measurement.
(App.CommitsViewerComponent.commitsChanged): Don't show a single measurement as a range for clarity.

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

Cleanup after r175213: fastGetAttribute().isNull() should be fastHasAttribute()

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
Darin spotted this mistake.

2:59 PM Changeset in webkit [175232] by ap@apple.com
  • 7 edits in trunk

http/tests/cookies/third-party-cookie-relaxing.html is flaky on bots
https://bugs.webkit.org/show_bug.cgi?id=138098

Reviewed by Anders Carlsson.

Source/WebCore:

  • platform/network/cf/NetworkStorageSessionCFNet.cpp:

(WebCore::NetworkStorageSession::switchToNewTestingSession):
Create a separate session for each WKTR/DRT process when testing.

Source/WebKit2:

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:

Update for the new name of testing session. Memory regions are now of the form
"WebKit Test-<pid>-0".

LayoutTests:

  • platform/mac-wk1/TestExpectations: Removed the test from expectations. It's still

skipped on WK2, because we don't yet implement the necessary WKTR functionality.

2:08 PM Changeset in webkit [175231] by Chris Dumez
  • 13 edits in trunk/Source

Use separate HashMaps for common and uncommon headers in HTTPHeaderMap
https://bugs.webkit.org/show_bug.cgi?id=138079

Reviewed by Anders Carlsson.

Source/WebCore:

Use separate HashMaps for common and uncommon headers in HTTPHeaderMap:

  • a (faster) HashMap<HTTPHeaderMap, String> for common HTTP headers
  • a HashMap<String, String, CaseFoldingHash> for uncommon ones

This avoids having to construct Strings from HTTPHeaderMap values for
storing. This also means we have less isolated String copies to do when
creating cross-thread data. The common headers HashMap should also be
a bit more efficient due to faster hashing and faster key comparison in
case of collision.

Some calls sites can also benefit from having direct access to common
headers of the request in HTTPHeaderName type.

This patch adds a new HTTPHeaderMapConstIterator iterator type for
HTTPHeaderMap so that call sites that do not need / want to distinguish
common / uncommon headers still do not need to. They can keep using
modern C++ loops over HTTPHeaderMap objects and get <String, String>
key/value pairs.

No new tests, no behavior change.

  • loader/CrossOriginAccessControl.cpp:

(WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
Have isOnAccessControlSimpleRequestHeaderWhitelist() take a
HTTPHeaderName in argument instead of a String as only common headers
are in the whitelist.

(WebCore::isSimpleCrossOriginAccessRequest):
Call isOnAccessControlSimpleRequestHeaderWhitelist() only for common
HTTP headers.

  • loader/CrossOriginAccessControl.h:

Have isOnAccessControlSimpleRequestHeaderWhitelist() take a
HTTPHeaderName in argument instead of a String as only common headers
are in the whitelist.

  • loader/CrossOriginPreflightResultCache.cpp:

(WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
Call isOnAccessControlSimpleRequestHeaderWhitelist() only for common
HTTP headers.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::responseReceived):
Call httpHeaderFields().commonHeaders().find() instead of
httpHeaderFields().find() as we are looking for a common header.
HTTPHeaderMap::find(HTTPHeaderName) was removed now that we have a
HashMap dedicated to common headers.

  • loader/cache/CachedRawResource.cpp:

(WebCore::shouldIgnoreHeaderForCacheReuse):
Update argument type to be a HTTPHeaderName instead of a String as
only common HTTP headers can be ignored for cache reuse. The
implementation already dealt with HTTPHeaderName type and had to
call findHTTPHeaderName(). This is no longer needed now that the
call site now has direct access to common headers in HTTPHeaderName
type.

(WebCore::CachedRawResource::canReuse):

  • Only call shouldIgnoreHeaderForCacheReuse() for common HTTP headers.
  • Slightly optimize the second loop (the one over oldHeaderMap) to only check that the key is present in newHeaderMap, without actually comparing the String values. If the String values were different, the first loop would have seen it already and we would have returned early.

Source/WebKit2:

Update the WK2 IPC HTTPHeaderMap serialization / deserialization code
to leverage the fact that HTTPHeaderMap now stores common HTTP headers
and uncommon one in separate HashMaps. This speeds up deserialization
as we no longer need to call findHTTPHeaderName() for every decoded
header. We already know if the header is a common one or not, and if
it is then we already have a HTTPHeaderName type instead of a String.

I see that we spend ~40% less time in HTTPHeaderMap decoding when
loading http://flickr.com/explore, while the encoding takes about
the same amount of time as before.

  • Shared/WebCoreArgumentCoders.cpp:

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

Source/WTF:

Add HashTraits for C++11 strong enum types. Using integer HashTraits for
strong enums would be inconvenient as it would require casting between
integer and strong enum types.

  • wtf/HashTraits.h:

(WTF::StrongEnumHashTraits::emptyValue):
(WTF::StrongEnumHashTraits::constructDeletedValue):
(WTF::StrongEnumHashTraits::isDeletedValue):

1:42 PM Changeset in webkit [175230] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Devirtualize RenderDeprecatedFlexibleBox::isStretchingChildren().
<https://webkit.org/b/138096>

Reviewed by Chris Dumez.

This function is only ever called on a renderer after we've checked
that it's a RenderDeprecatedFlexibleBox, so make it non-virtual.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeLogicalHeight):

  • rendering/RenderDeprecatedFlexibleBox.h:
  • rendering/RenderObject.h:
1:08 PM Changeset in webkit [175229] by Beth Dakin
  • 4 edits in trunk/Source/WebKit/mac

Provide a way for WebKit1 clients to override default action menu items
https://bugs.webkit.org/show_bug.cgi?id=138066
-and corresponding-
rdar://problem/18451638

Reviewed by Anders Carlsson.

WebActionMenuController now has an ivar for the WebActionMenuType so that it can
send that along to clients customizing the menu.

  • WebView/WebActionMenuController.h:
  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):

New enum and new SPI to customize menus.

  • WebView/WebUIDelegatePrivate.h:
1:06 PM Changeset in webkit [175228] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Reintroduce null check removed in r175222
https://bugs.webkit.org/show_bug.cgi?id=138087

Reviewed by Andreas Kling.

Reintroduce null check removed in r175222 as several layout tests are
crashing on the bots without them. At least the Pair pointer can be
null according to the assertion hits on the bots.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertRadius):

12:43 PM Changeset in webkit [175227] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Add [ Yosemite ] modifier to a couple of tests in section 7.

These two tests fail with PPT, so they are expected to pass on 10.8. Our current
approach is a have separate sections for Mavericks and Yosemite, even for PPT
specific failures that affect both.

  • platform/mac-wk2/TestExpectations:
12:31 PM Changeset in webkit [175226] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebCore

Merged r175158. rdar://problem/18571212

12:03 PM Changeset in webkit [175225] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175157. rdar://problem/18739335

12:01 PM Changeset in webkit [175224] by bshafiei@apple.com
  • 4 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175153. rdar://problem/18739335

11:31 AM Changeset in webkit [175223] by Stephanie Lewis
  • 2 edits in trunk/LayoutTests

http/tests/cookies/third-party-cookie-relaxing.html is flaky on bots.
https://bugs.webkit.org/show_bug.cgi?id=138098.

Updated Expectations.

  • platform/mac-wk1/TestExpectations:
11:26 AM Changeset in webkit [175222] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move radius CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138087

Reviewed by Andreas Kling.

Move radius CSS properties from DeprecatedStyleBuilder to the new
StyleBuilder so that they are now generated from CSSPropertyNames.in.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyBorderRadius::setValue): Deleted.
(WebCore::ApplyPropertyBorderRadius::applyValue): Deleted.
(WebCore::ApplyPropertyBorderRadius::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertRadius):

11:06 AM Changeset in webkit [175221] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

Shrink MathMLOperatorDictionary::dictionary table
https://bugs.webkit.org/show_bug.cgi?id=137914

Reviewed by Darin Adler.

Improve packing of the Entry structure that's used for elements
of the MathMLOperatorDictionary::dictionary table. This drops the
size of the struct from 16 bytes to just 4 bytes, and shrinks the
size of the dictionary table from rougly 16 kB down to 4 kB.

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::MathMLOperatorDictionary::ExtractKey):
(WebCore::RenderMathMLOperator::setOperatorProperties):

  • rendering/mathml/RenderMathMLOperator.h:
10:33 AM Changeset in webkit [175220] by commit-queue@webkit.org
  • 1 edit
    54 deletes in trunk/LayoutTests

Some test for multicol were redundant.
https://bugs.webkit.org/show_bug.cgi?id=133084

Patch by Piotr Grad <p.grad@samsung.com> on 2014-10-27
Reviewed by Andreas Kling.

  • fast/multicol/newmulticol/compare-with-old-impl/anonymous-block-split-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/anonymous-block-split-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-before-after-content-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-before-after-content-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-block-children-inline-mismatch-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-block-children-inline-mismatch-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-flexbox-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/clone-flexbox.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/continuation-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/continuation-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/double-merge-anonymous-block-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/double-merge-anonymous-block-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/empty-anonymous-block-split-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/empty-anonymous-block-split-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/float-not-removed-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/float-not-removed-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-float-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-float.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/list-multi-column-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/list-multi-column-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input-expected.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/multicol-with-child-renderLayer-for-input.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/positioned-child-not-removed-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/positioned-child-not-removed-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/positioned-objects-not-removed-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/positioned-objects-not-removed-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/recursive-split-flow-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/recursive-split-flow-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/removal-of-multicol-span-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/removal-of-multicol-span-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/remove-child-split-flow-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/remove-child-split-flow-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/split-flow-anonymous-wrapper-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/split-flow-anonymous-wrapper-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/split-inline-wrong-post-block-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/split-inline-wrong-post-block-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/table-multi-column-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/table-multi-column-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/textbox-not-removed-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/textbox-not-removed-crash.html: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/update-after-content-before-child-crash-expected.txt: Removed.
  • fast/multicol/newmulticol/compare-with-old-impl/update-after-content-before-child-crash.html: Removed.
10:20 AM Changeset in webkit [175219] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Move canContainFixedPositionObjects() to RenderElement.
<https://webkit.org/b/138088>

Reviewed by Mihnea Ovidenie.

Only RenderElement can contain other renderers, so it's not really
natural to answer this question on RenderObject anyway.

Moving it to RenderElement lets it access more efficient getters
that don't have to handle the RenderText case.

  • rendering/RenderElement.h:

(WebCore::RenderElement::canContainFixedPositionObjects):

  • rendering/RenderObject.h:

(WebCore::RenderObject::canContainFixedPositionObjects): Deleted.

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

media/track/audio-track.html is flaky on Yosemite
https://bugs.webkit.org/show_bug.cgi?id=137882

  • platform/mac/TestExpectations: Marking it as such.
9:31 AM Changeset in webkit [175217] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175145. rdar://problem/18376333

1:09 AM Changeset in webkit [175216] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebKit2

Merged r175143. rdar://problem/18692335

Oct 26, 2014:

11:51 PM Changeset in webkit [175215] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6

Merge r173999 - [GTK] Enable CSS_IMAGE_SET in production builds
https://bugs.webkit.org/show_bug.cgi?id=137142

Reviewed by Alejandro G. Castro.

This is required by the inspector to show some of the icons that
has a HiDPI variant.

  • Source/cmake/OptionsGTK.cmake:
11:29 PM Changeset in webkit [175214] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.12-branch/Source

Versioning.

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

Images with usemap should not have a link state
https://bugs.webkit.org/show_bug.cgi?id=138071

Reviewed by Andreas Kling.

Source/WebCore:

Image tags were incorrectly getting a link state if a usemap is defined.
The <area> of the usemap is supposed to get the link state, but never the image.

Unfortunately, the Accessibility code was relying on the wrong behavior
to set the ImageMapRole, most of the patch is updating that code to get
the correct role without the link state.

Test: fast/selectors/images-with-usemap-should-not-match-link.html

The accessibility code is covered by a few tests in accessibility/.
The test accessibility/aria-used-on-image-maps.html ensure the <area>
elements also get the correct role.

  • dom/Node.h:

(WebCore::Node::setIsLink):
(WebCore::Node::clearIsLink): Deleted.
Unused code.

(WebCore::Node::isLink):
Move with its setter for clarity.

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute):
This is the bug.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):
Here the branches for the role ImageMap where behind isLink() which would
never be valid after the fix.

My fix here was to use the same definition previously set by HTMLImageElement::parseAttribute(),
any usemap attribute qualifies the node for ImageMapRole.

(WebCore::AccessibilityRenderObject::anchorElement):
(WebCore::AccessibilityRenderObject::linkedUIElements):
(WebCore::AccessibilityRenderObject::url):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isAnchor): Deleted.
Something funny I discovered is the Accessibility code worked around the bug
by defining isAnchor() that exclude images from isLink().

Since isLink() will no longer be true for images, the hack can be removed.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::anchorElement):
(WebCore::AccessibilityNodeObject::isAnchor): Deleted.

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):

LayoutTests:

  • fast/selectors/images-with-usemap-should-not-match-link-expected.txt: Added.
  • fast/selectors/images-with-usemap-should-not-match-link.html: Added.
9:20 PM Changeset in webkit [175212] by benjamin@webkit.org
  • 11 edits in trunk/Source/WebCore

Replace Element::didAffectSelector() by setNeedsStyleRecalc()
https://bugs.webkit.org/show_bug.cgi?id=138080

Reviewed by Andreas Kling.

Element::didAffectSelector() was probably an optimization at some point,
with the current code is does nothing more than setNeedsStyleRecalc().

  • dom/Document.cpp:

(WebCore::Document::setCSSTarget):

  • dom/Element.cpp:

(WebCore::Element::didAffectSelector): Deleted.

  • dom/Element.h:
  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::disabledStateChanged):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::setIndeterminate):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::parseAttribute):

  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::parseAttribute):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::parseAttribute):
(WebCore::HTMLOptionElement::setSelectedState):

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::didElementStateChange):

3:25 PM Changeset in webkit [175211] by akling@apple.com
  • 10 edits in trunk/Source/WebCore

Move some RenderObject member functions to RenderElement.
<https://webkit.org/b/138085>

Reviewed by Chris Dumez.

Move these two functions to RenderElement:

  • handleDynamicFloatPositionChange()
  • removeAnonymousWrappersForInlinesIfNecessary()

Also make childBecameNonInline() take a RenderElement& since
that's all we ever pass to it.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::childBecameNonInline):

  • rendering/RenderBlock.h:
  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::childBecameNonInline):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::handleDynamicFloatPositionChange):
(WebCore::RenderElement::removeAnonymousWrappersForInlinesIfNecessary):

  • rendering/RenderElement.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::childBecameNonInline):

  • rendering/RenderInline.h:
  • rendering/RenderObject.cpp:

(WebCore::RenderObject::handleDynamicFloatPositionChange): Deleted.
(WebCore::RenderObject::removeAnonymousWrappersForInlinesIfNecessary): Deleted.

  • rendering/RenderObject.h:
1:20 PM Changeset in webkit [175210] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

Move continuation teardown from subclasses to RenderBoxModelObject.
<https://webkit.org/b/138081>

Reviewed by Antti Koivisto.

Let RenderBoxModelObject::willBeDestroyed() tear down any continuation
instead of having every subclass do this themselves.

Also added a RenderElement bit tracking whether the renderer has a
continuation. This avoids a hash lookup every time we destroy a
RenderBoxModelObject that didn't have a continuation.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::willBeDestroyed):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::willBeDestroyed):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::continuationMap):
(WebCore::RenderBoxModelObject::willBeDestroyed):
(WebCore::RenderBoxModelObject::continuation):
(WebCore::RenderBoxModelObject::setContinuation):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):

  • rendering/RenderElement.h:

(WebCore::RenderElement::setHasContinuation):
(WebCore::RenderElement::hasContinuation):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::willBeDestroyed):

Oct 25, 2014:

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

Remove a useless variable from SelectorCodeGenerator::generateElementMatchesSelectorList()
https://bugs.webkit.org/show_bug.cgi?id=138076

Reviewed by Alexey Proskuryakov.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList):
The variable elementAddressRegisterIndex was just needed for debugging, it is useless now.

9:47 PM WebKitGTK/KeepingTheTreeGreen edited by yoon@igalia.com
(diff)
9:44 PM Changeset in webkit [175208] by yoon@igalia.com
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed GTK gardening after r174685.

  • platform/gtk/TestExpectations: Report new failures and update expectations.
9:12 PM Changeset in webkit [175207] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Fix link to Arch Linux Wiki
https://bugs.webkit.org/show_bug.cgi?id=138010

Patch by Raniere Silva <raniere@ime.unicamp.br> on 2014-10-25
Reviewed by Benjamin Poulain.

  • gtk/install-dependencies:
8:52 PM Changeset in webkit [175206] by Brian Burg
  • 4 edits in trunk/Source

Web Inspector: timelines should not count time elapsed while paused in the debugger
https://bugs.webkit.org/show_bug.cgi?id=136351

Unreviewed, follow-up fix after r175203. The debugger agent should not assume
that the inspector environment's stopwatch has already been started.

Source/JavaScriptCore:

  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::didPause): Check if the stopwatch isActive() before stopping.

Source/WTF:

  • wtf/Stopwatch.h:

(WTF::Stopwatch::isActive): Added. Allow peeking at the stopwatch state.

8:25 PM Changeset in webkit [175205] by ap@apple.com
  • 7 edits
    6 copies
    6 adds in trunk/LayoutTests

Land Yosemite results for six editing/selection/vertical* tests.

These failures used to be mostly hidden because of bug 138070, now they are visible.
The change is due to different fonts.

  • platform/mac-mavericks/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt.
  • platform/mac-mavericks/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt.
  • platform/mac-mavericks/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt.
  • platform/mac-mavericks/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt.
  • platform/mac-mavericks/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt.
  • platform/mac-mavericks/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt: Copied from LayoutTests/platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt.
  • platform/mac/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.png: Added.
  • platform/mac/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.txt:
  • platform/mac/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.png: Added.
  • platform/mac/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.png: Added.
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.png: Added.
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.txt:
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.png: Added.
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.png: Added.
  • platform/mac/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.txt:
4:29 PM Changeset in webkit [175204] by ap@apple.com
  • 5 edits in trunk/Tools

Test regressions are not detected when image result is missing
https://bugs.webkit.org/show_bug.cgi?id=138070

Reviewed by Simon Fraser.

  • Scripts/webkitpy/layout_tests/models/test_run_results.py:
  • Scripts/webkitpy/layout_tests/views/buildbot_results.py:

Count these as regressions, not as flaky tests.

  • Scripts/webkitpy/port/test.py:
  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

Test it.

3:05 PM Changeset in webkit [175203] by Brian Burg
  • 39 edits
    1 add in trunk/Source

Web Inspector: timelines should not count time elapsed while paused in the debugger
https://bugs.webkit.org/show_bug.cgi?id=136351

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Now that we have a stopwatch to provide pause-aware timing data, we can remove the
profiler's handling of debugger pause/continue callbacks. The debugger agent accounts
for suspended execution by pausing and resuming the stopwatch.

  • API/JSProfilerPrivate.cpp:

(JSStartProfiling): Use a fresh stopwatch when profiling from the JSC API.

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

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::executionStopwatch):

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

(Inspector::ScriptDebugServer::handlePause):

  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::didPause):
(Inspector::InspectorDebuggerAgent::breakpointActionProbe):
(Inspector::InspectorDebuggerAgent::didContinue):

  • inspector/agents/InspectorDebuggerAgent.h:
  • profiler/LegacyProfiler.cpp:

(JSC::LegacyProfiler::profiler): Use nullptr.
(JSC::LegacyProfiler::startProfiling): Hand off a stopwatch to the profile generator.
(JSC::LegacyProfiler::stopProfiling): Use nullptr.
(JSC::LegacyProfiler::didPause): Deleted.
(JSC::LegacyProfiler::didContinue): Deleted.

  • profiler/LegacyProfiler.h:
  • profiler/Profile.cpp: The root node should always have a start time of 0.0.

(JSC::Profile::Profile):

  • profiler/ProfileGenerator.cpp: Remove debugger pause/continue callbacks and the

timestamp member that was used to track time elapsed by the debugger. Just use the
stopwatch's elapsed times to generate start/elapsed times for function calls.

(JSC::ProfileGenerator::create):
(JSC::ProfileGenerator::ProfileGenerator):
(JSC::AddParentForConsoleStartFunctor::operator()): The parent node of |console.profile|
should have a start time of 0.0, since it represents the starting node of profiling.

(JSC::ProfileGenerator::beginCallEntry):
(JSC::ProfileGenerator::endCallEntry):
(JSC::ProfileGenerator::didPause): Deleted.
(JSC::ProfileGenerator::didContinue): Deleted.

  • profiler/ProfileGenerator.h:

Source/WebCore:

To avoid counting time elapsed while the debugger is paused, timeline records should
keep track of time elapsed since the start of timeline capturing, rather than wall clock
timestamps. We can easily compute elapsed time by sharing a Stopwatch instance through the
inspector environment. The stopwatch runs with timelines and is paused with the debugger,
so subsequent time measurements will not include time elapsed while the debugger is paused.

This refactoring is safe because start and end times are only used to graph records; the
timestamp's actual value is irrelevant and is not displayed in the user interface. Date
timestamps are still included with network-related records as part of their header data.

No new tests, because we cannot reliably test timing changes induced by debugger pauses.
It is possible for records to accrue time before the debugger pauses or after it resumes.

  • inspector/InspectorCSSAgent.cpp: Remove unnecessary include.
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::executionStopwatch): Add a shared stopwatch.

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

(WebCore::InspectorPageAgent::timestamp): Redirect to the shared stopwatch.
(WebCore::InspectorPageAgent::domContentEventFired):
(WebCore::InspectorPageAgent::loadEventFired):

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

(WebCore::InspectorResourceAgent::timestamp): Redirect to the shared stopwatch.
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didReceiveData):
(WebCore::InspectorResourceAgent::didFinishLoading):
(WebCore::InspectorResourceAgent::didFailLoading):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didCloseWebSocket):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrameError):

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

(WebCore::InspectorTimelineAgent::internalStart): Start and stop the stopwatch with timelines.
(WebCore::InspectorTimelineAgent::internalStop):
(WebCore::InspectorTimelineAgent::timestamp): Redirect to the shared stopwatch.
(WebCore::startProfiling):
(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::willCallFunction):
(WebCore::InspectorTimelineAgent::willEvaluateScript):
(WebCore::TimelineTimeConverter::reset): Deleted.

  • inspector/InspectorTimelineAgent.h:

(WebCore::TimelineTimeConverter::TimelineTimeConverter): Deleted.
(WebCore::TimelineTimeConverter::fromMonotonicallyIncreasingTime): Deleted.
(WebCore::InspectorTimelineAgent::timeConverter): Deleted.

  • inspector/TimelineRecordFactory.cpp:
  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::WorkerInspectorController):
(WebCore::WorkerInspectorController::executionStopwatch): Add a shared stopwatch.

  • inspector/WorkerInspectorController.h:

Source/WebInspectorUI:

Don't update the timeline's current time when the debugger is paused.

Start and end times for timeline records are now in seconds elapsed since timeline
recording started, rather than milliseconds since the epoch. Also convert code that
tracks page/resource load timings to use elapsed times rather than timestamps.

Add a workaround to preserve compatibility with old backends. Convert legacy timestamps
in multiple agents to elapsed times.

  • UserInterface/Controllers/FrameResourceManager.js:

(WebInspector.FrameResourceManager.prototype.resourceRequestWillBeSent):
(WebInspector.FrameResourceManager.prototype.resourceRequestWasServedFromMemoryCache):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveResponse):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidReceiveData):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidFinishLoading):
(WebInspector.FrameResourceManager.prototype.resourceRequestDidFailLoading):
(WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):

  • UserInterface/Controllers/ProbeManager.js:
  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.prototype.computeElapsedTime): Forward to the active TimelineRecording.
(WebInspector.TimelineManager.prototype.eventRecorded.processRecord):
(WebInspector.TimelineManager.prototype.eventRecorded):
(WebInspector.TimelineManager.prototype.pageDidLoad):
(WebInspector.TimelineManager.prototype._loadNewRecording):

  • UserInterface/Models/Probe.js:

(WebInspector.ProbeSample):

  • UserInterface/Models/Resource.js:

(WebInspector.Resource.prototype.updateForRedirectResponse):
(WebInspector.Resource.prototype.updateForResponse):
(WebInspector.Resource.prototype.increaseSize):
(WebInspector.Resource.prototype.markAsFinished):
(WebInspector.Resource.prototype.markAsFailed):
(WebInspector.Resource.prototype.revertMarkAsFinished):

  • UserInterface/Models/TimelineRecording.js:

(WebInspector.TimelineRecording.prototype.computeElapsedTime):

  • UserInterface/Views/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype._debuggerPaused):
(WebInspector.TimelineContentView.prototype._debuggerResumed):

Source/WTF:

  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/Stopwatch.h: Added. This implements a refcounted monotonic stopwatch.

(WTF::Stopwatch::create):
(WTF::Stopwatch::Stopwatch):
(WTF::Stopwatch::reset):
(WTF::Stopwatch::start):
(WTF::Stopwatch::stop):
(WTF::Stopwatch::elapsedTime):

12:58 PM Changeset in webkit [175202] by ap@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Add Mavericks results for platform/mac/editing/spelling/delete-autocorrected-word-2.html, too.

Yosemite, Mavericks and Mountain Lion all have different results.

  • platform/mac-mavericks/platform/mac/editing/spelling/delete-autocorrected-word-2-expected.txt: Added.
12:25 PM Changeset in webkit [175201] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Update Yosemite results for platform/mac/editing/spelling/delete-autocorrected-word-2.html.

Looks like this got confused during Yosemite tests landing.

This test is currently marked as failing on WK2, but it passed for me, so maybe we
can mark it as passing there too. Tracked as bug 105616.

  • platform/mac/editing/spelling/delete-autocorrected-word-2-expected.png:
  • platform/mac/editing/spelling/delete-autocorrected-word-2-expected.txt:
12:21 PM Changeset in webkit [175200] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Fix builds using the public SDK.

  • platform/spi/cocoa/NSExtensionSPI.h:
12:10 PM Changeset in webkit [175199] by ap@apple.com
  • 2 edits
    1 copy
    2 deletes in trunk/LayoutTests

Update results for compositing/rtl/rtl-fixed-overflow-scrolled.html.

Prior to Yosemite results landing, this test was marked as failing on WK2, and its
results matched WK1. It got changed several times during the merge, so it ended
up being marked as failing on WK1, but with WK1 results landed.

Let's land WK2 results and keep testing on WK2. Also, Mavericks results were no different
from Yosemite.

  • platform/mac-mavericks/compositing/rtl/rtl-fixed-overflow-scrolled-expected.png: Removed.
  • platform/mac-mavericks/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt: Removed.
  • platform/mac/compositing/rtl/rtl-fixed-overflow-scrolled-expected.png: Copied from LayoutTests/compositing/rtl/rtl-fixed-overflow-scrolled-expected.png.
  • platform/mac/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
2:42 AM WebKitGTK/KeepingTheTreeGreen edited by yoon@igalia.com
(diff)

Oct 24, 2014:

8:18 PM Changeset in webkit [175198] by Lucas Forschler
  • 5 edits in branches/safari-600.3-branch/Source

Versioning.

7:37 PM Changeset in webkit [175197] by Alan Bujtas
  • 5 edits
    2 adds in trunk

Clamp wordSpacing percentage value.
https://bugs.webkit.org/show_bug.cgi?id=129350.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-10-24
Reviewed by Zalan Bujtas.

Source/WebCore:

When the CSS wordSpacing property is percentage, its value has to be within the
pre-defined min/max values for the CSS length type. This is done the same way
the wordSpacing of type <length> is handled.

Tests: css3/infinite-word-spacing.html.

Move the definitions of minValueForCssLength and maxValueForCssLength from the
.cpp file to the .h file.

  • css/CSSPrimitiveValue.cpp:
  • css/CSSPrimitiveValue.h:

Clamp the wordSpacing value to minValueForCssLength and maxValueForCssLength when
its type is percentage.

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyWordSpacing::applyValue):

LayoutTests:

Make sure that setting the CSS style wordSpacing property to very huge percentage
value and blending this value with other values for animating key frames does
not assert or crash. The expectation is to have this huge value to be clamped to
the pre-defined min/max values for the CSS length type. So when blending the clamped
value with other wordSpacing values, the result can't be NaN. This should be very
similar to the case when it is set to a huge <length> value.

  • css3/infinite-word-spacing-expected.txt: Added.
  • css3/infinite-word-spacing.html: Added.
7:15 PM Changeset in webkit [175196] by benjamin@webkit.org
  • 5 edits in trunk/Source

Fix the iOS build

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-10-24

Source/WebKit/mac:

  • Configurations/WebKitLegacy.xcconfig:
  • WebView/WebView.mm:

Source/WebKit2:

  • Configurations/WebKit.xcconfig:
5:50 PM Changeset in webkit [175195] by Lucas Forschler
  • 1 copy in tags/Safari-600.3.1

New Tag.

5:12 PM Changeset in webkit [175194] by ap@apple.com
  • 2 edits
    2 copies
    1 add in trunk/LayoutTests

Update Yosemite results for fast/block/float/overhanging-tall-block.html for
font size differences.

The test fails pixel results, filed bug 138065 to track that.

  • platform/mac-mavericks/fast/block/float: Added.
  • platform/mac-mavericks/fast/block/float/overhanging-tall-block-expected.png: Copied from LayoutTests/platform/mac/fast/block/float/overhanging-tall-block-expected.png.
  • platform/mac-mavericks/fast/block/float/overhanging-tall-block-expected.txt: Copied from LayoutTests/platform/mac/fast/block/float/overhanging-tall-block-expected.txt.
  • platform/mac/fast/block/float/overhanging-tall-block-expected.txt:
4:51 PM Changeset in webkit [175193] by Beth Dakin
  • 6 edits
    1 add in trunk/Source/WebKit2

_actionMenuItemsForHitTestResult should also take a type indicating what the menu
was built for
https://bugs.webkit.org/show_bug.cgi?id=138063

Reviewed by Dan Bernstein.

New type enum that can be used by clients.

  • Shared/API/c/WKActionMenuTypes.h: Added.

Remove the old SPI and add the new.

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

(-[WKView _actionMenuItemsForHitTestResult:withType:defaultActionMenuItems:]):
(-[WKView _actionMenuItemsForHitTestResult:defaultActionMenuItems:]): Deleted.

Now keep an ivar for the type.

  • UIProcess/mac/WKActionMenuController.h:

Create a category for the old SPI so that we can still call it if clients have
implemented it.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController initWithPage:view:]):
(-[WKActionMenuController didCloseMenu:withEvent:]):
(imageForResource:name::if):
(-[WKActionMenuController _updateActionMenuItems]):

  • WebKit2.xcodeproj/project.pbxproj:
4:51 PM Changeset in webkit [175192] by ap@apple.com
  • 5 edits
    4 copies in trunk/LayoutTests

Update media test results for Yosemite.

media/controls-styling.html appears to actually fail, filed bug 138064 about that.
media/video-zoom-controls.html results are not great; Dean reportedly has a fix for that.

  • platform/mac-mavericks/media/controls-styling-expected.png: Copied from LayoutTests/platform/mac/media/controls-styling-expected.png.
  • platform/mac-mavericks/media/controls-styling-expected.txt: Copied from LayoutTests/platform/mac/media/controls-styling-expected.txt.
  • platform/mac-mavericks/media/video-zoom-controls-expected.png: Copied from LayoutTests/platform/mac/media/video-zoom-controls-expected.png.
  • platform/mac-mavericks/media/video-zoom-controls-expected.txt: Copied from LayoutTests/platform/mac/media/video-zoom-controls-expected.txt.
  • platform/mac/media/controls-styling-expected.png:
  • platform/mac/media/controls-styling-expected.txt:
  • platform/mac/media/video-zoom-controls-expected.png:
  • platform/mac/media/video-zoom-controls-expected.txt:
4:13 PM Changeset in webkit [175191] by ap@apple.com
  • 1 edit
    2 deletes in trunk/LayoutTests

Remove MountainLion results that I incorrectly copied. These are the same as Mavericks.

  • platform/mac-mountainlion/fast/writing-mode: Removed.
  • platform/mac-mountainlion/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Removed.
  • platform/mac-mountainlion/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Removed.
  • platform/mac-mountainlion/mathml: Removed.
  • platform/mac-mountainlion/mathml/opentype: Removed.
  • platform/mac-mountainlion/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Removed.
4:10 PM Changeset in webkit [175190] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Share sheet doesn't attach to the window
https://bugs.webkit.org/show_bug.cgi?id=138062
<rdar://problem/18767397>

Reviewed by Beth Dakin.

  • UIProcess/mac/WKActionMenuController.h:

WKActionMenuController is now a NSSharingService{Picker}Delegate.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForImage]):
Set us up as the NSSharingServicePicker delegate.

(-[WKActionMenuController sharingServicePicker:delegateForSharingService:]):
Set us up as the NSSharingService delegate.

(-[WKActionMenuController sharingService:sourceWindowForShareItems:sharingContentScope:]):
Return the appropriate window to attach to.

4:03 PM Changeset in webkit [175189] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Add Conrad Shultz to the contributors list.

  • Scripts/webkitpy/common/config/contributors.json:
4:01 PM Changeset in webkit [175188] by jer.noble@apple.com
  • 7 edits
    1 add in trunk/Source/WebKit2

Abstractify WebOriginDataManager to support arbitrary ChildProcess supplements.
https://bugs.webkit.org/show_bug.cgi?id=137993

Reviewed by Brady Eidson.

To allow different ChildProcess subclasses to handle listing and deletion of origin
data, make WebOriginDataManager more generic by having a supplement implement the
details, leaving WebOriginDataManager to deal with cross-process messaging.

De-virtualize AsyncTask, allowing a task to be created by passing in a
function<void()>, rather than an object, method, and arguments.

  • Shared/AsyncTask.h:

(WebKit::AsyncTask::AsyncTask):
(WebKit::AsyncTask::performTask):
(WebKit::AsyncTask::~AsyncTask): Deleted.

Add a new virtual base class, to be implemented by various ChildProcesses, which
WebOriginDataManager will use to implement listing and deletion requests.

  • WebProcess/OriginData/WebOriginDataManager.h:
  • WebProcess/OriginData/WebOriginDataManagerSupplement.h: Added.

(WebKit::WebOriginDataManagerSupplement::WebOriginDataManagerSupplement):
(WebKit::WebOriginDataManagerSupplement::~WebOriginDataManagerSupplement):
(WebKit::WebOriginDataManagerSupplement::getOrigins):
(WebKit::WebOriginDataManagerSupplement::deleteEntriesForOrigin):
(WebKit::WebOriginDataManagerSupplement::deleteEntriesModifiedBetweenDates):
(WebKit::WebOriginDataManagerSupplement::deleteAllEntries):

  • WebKit2.xcodeproj/project.pbxproj:

WebOriginDataManager doesn't need to be a ChildSupplement. Remove the DatabaseProcess-
specific implementations for its message handlers and replace with clean, generic calls
to its supplement. Because these supplements may want to respond to the request
asynchronously, pass a completion function in to be called by the supplement once its
work is complete.

  • WebProcess/OriginData/WebOriginDataManager.cpp:

(WebKit::WebOriginDataManager::WebOriginDataManager):
(WebKit::WebOriginDataManager::getOrigins):
(WebKit::WebOriginDataManager::deleteEntriesForOrigin):
(WebKit::WebOriginDataManager::deleteEntriesModifiedBetweenDates):
(WebKit::WebOriginDataManager::deleteAllEntries):
(WebKit::WebOriginDataManager::supplementName): Deleted.

DatabaseProcess already uses WebOriginDataManager, so it will be the first process
to fall under the heel of the new regime. DatabaseProcess will subclass
WebOriginDataManagerSupplement, and pass itself in twice to the WebOriginDataManager
constructor. Create a lambda-based AsyncTask for each request, and call the completion
function when each request is complete.

  • DatabaseProcess/DatabaseProcess.cpp:

(WebKit::DatabaseProcess::DatabaseProcess):
(WebKit::DatabaseProcess::getIndexedDatabaseOrigins):
(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesForOrigin):
(WebKit::DatabaseProcess::deleteIndexedDatabaseEntriesModifiedBetweenDates):
(WebKit::DatabaseProcess::deleteAllIndexedDatabaseEntries):
(WebKit::DatabaseProcess::getOrigins):
(WebKit::DatabaseProcess::deleteEntriesForOrigin):
(WebKit::DatabaseProcess::deleteEntriesModifiedBetweenDates):
(WebKit::DatabaseProcess::deleteAllEntries):
(WebKit::DatabaseProcess::doGetIndexedDatabaseOrigins): Deleted.
(WebKit::DatabaseProcess::doDeleteIndexedDatabaseEntriesForOrigin): Deleted.
(WebKit::DatabaseProcess::doDeleteIndexedDatabaseEntriesModifiedBetweenDates): Deleted.
(WebKit::DatabaseProcess::doDeleteAllIndexedDatabaseEntries): Deleted.

  • DatabaseProcess/DatabaseProcess.h:
3:27 PM Changeset in webkit [175187] by Beth Dakin
  • 3 edits in trunk/Source/WebKit2

Very large images crash in action menu code
https://bugs.webkit.org/show_bug.cgi?id=138059
-and corresponding-
rdar://problem/18767859

Reviewed by Tim Horton.

If the HitTestResult failed to create and image, then don’t go for the image
action menu.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItems]):

ShareableBitmap::createShareable() can fail. The result needs to be null-checked.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::performActionMenuHitTestAtLocation):

3:24 PM Changeset in webkit [175186] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Use modern loops in ResourceRequestCocoa.mm
https://bugs.webkit.org/show_bug.cgi?id=138052

Reviewed by Darin Adler.

Use modern loops in ResourceRequestCocoa.mm and leverage Objective-C's
fast enumeration.

No new tests, no behavior change.

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::doUpdateResourceRequest):

  • Use NSDictionary's block-based enumeration as we enumerate both keys and values and this is faster than using fast enumeration of the keys then calling [NSDictionary objectForKey:]
  • Use Objective C's fast enumeration for contentDispositionEncodingFallbackArray as this is faster and shorter than index based access. Also use reserveCapacity() / uncheckedAppend() for m_responseContentDispositionEncodingFallbackArray as we know how many elements were are going to append in the common case.

(WebCore::ResourceRequest::doUpdatePlatformRequest):

  • Use fast enumeration for [nsRequest allHTTPHeaderFields] dictionary keys instead of calling [NSDictionary allKeys] and then doing index-based iteration, to avoid copying the keys to a new array. Also do a forward enumeration instead of a reverse one. I don't see why a backward enumeration would be necessary here. We are not modifying the NSDictionary we are iterating over as [nsRequest allHTTPHeaderFields] makes a copy.
  • Use a modern C++ loop for m_responseContentDispositionEncodingFallbackArray.
3:01 PM Changeset in webkit [175185] by Beth Dakin
  • 3 edits in trunk/Source/WebKit2

Build fix.

  • UIProcess/mac/WKActionMenuController.h:
  • UIProcess/mac/WKActionMenuController.mm:
2:51 PM Changeset in webkit [175184] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Blindly try to fix all the builds.

  • UIProcess/mac/WKActionMenuController.h:
  • UIProcess/mac/WKActionMenuController.mm:
2:49 PM Changeset in webkit [175183] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

Build fix.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _openURLFromActionMenu:]):
(-[WebActionMenuController _addToReadingListFromActionMenu:]):
(-[WebActionMenuController _quickLookURLFromActionMenu:]):

2:45 PM Changeset in webkit [175182] by Beth Dakin
  • 6 edits
    6 adds in trunk/Source/WebKit

WebKit1 should support action menus
https://bugs.webkit.org/show_bug.cgi?id=138032

Reviewed by Tim Horton.

This patch adds basic support for action menus and adds actions for links.

Helper class takes care of all of the action menu work. WebView will forward the
prepareForMenu: message, and then the helper class takes it from there.

  • WebView/WebActionMenuController.h: Added.
  • WebView/WebActionMenuController.mm: Added.

(-[WebActionMenuController webViewClosed]):
(-[WebActionMenuController prepareForMenu:withEvent:]):

Selectors for link actions.
(-[WebActionMenuController _openURLFromActionMenu:]):
(-[WebActionMenuController _addToReadingListFromActionMenu:]):
(-[WebActionMenuController _elementBoundingBoxFromDOMElement:]):
(-[WebActionMenuController _quickLookURLFromActionMenu:]):
(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]):
(webKitBundleImageNamed):
(-[WebActionMenuController _defaultMenuItemsForLink:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):

Tags for the action menu items.

  • WebView/WebUIDelegatePrivate.h:
  • WebView/WebView.mm:

Set the action menu if possible and create the controller.
(-[WebView _initWithFrame:frameName:groupName:]):
(-[WebView _close]):
(-[WebView prepareForMenu:withEvent:]):

WebViewData stores the WebActionMenuHelper

  • WebView/WebViewData.h:
  • WebView/WebViewData.mm:

(-[WebViewPrivate dealloc]):

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

Blindly try to fix all the builds.

  • UIProcess/mac/WKActionMenuController.h:
2:39 PM Changeset in webkit [175180] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Blindly try to fix the 32-bit build.

  • UIProcess/mac/WKActionMenuController.h:
  • UIProcess/mac/WKActionMenuController.mm:
2:13 PM Changeset in webkit [175179] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac][WebKit2] Move action menu code into its own file
https://bugs.webkit.org/show_bug.cgi?id=138034
<rdar://problem/18758758>

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController prepareForMenu:withEvent:]):
(-[WKActionMenuController _addImageToPhotos:]):
Review comments that were not previously addressed.

2:08 PM Changeset in webkit [175178] by timothy_horton@apple.com
  • 3 edits
    2 adds in trunk/Source/WebKit2

[Mac][WebKit2] Move action menu code into its own file
https://bugs.webkit.org/show_bug.cgi?id=138034
<rdar://problem/18758758>

Reviewed by Dan Bernstein.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:context:configuration:webView:]):
Make a WKActionMenuController if needed.

(-[WKView prepareForMenu:withEvent:]):
(-[WKView willOpenMenu:withEvent:]):
(-[WKView didCloseMenu:withEvent:]):
(-[WKView _didPerformActionMenuHitTest:]):
Forward these to WKActionMenuController.

(-[WKView _openURLFromActionMenu:]): Deleted.
(-[WKView _addToReadingListFromActionMenu:]): Deleted.
(-[WKView _quickLookURLFromActionMenu:]): Deleted.
(-[WKView _createActionMenuItemForTag:]): Deleted.
(webKitBundleImageNamed): Deleted.
(-[WKView _copyImage:]): Deleted.
(-[WKView _saveImageToDownloads:]): Deleted.
(temporaryPhotosDirectoryPath): Deleted.
(pathToPhotoOnDisk): Deleted.
(-[WKView _addImageToPhotos:]): Deleted.
(-[WKView _defaultMenuItemsForImage]): Deleted.
(-[WKView _defaultMenuItems]): Deleted.
(-[WKView _updateActionMenu]): Deleted.
Moved to WKActionMenuController.

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

(-[WKActionMenuController initWithPage:view:]):
(-[WKActionMenuController prepareForMenu:withEvent:]):
(-[WKActionMenuController willOpenMenu:withEvent:]):
(-[WKActionMenuController didCloseMenu:withEvent:]):
(-[WKActionMenuController didPerformActionMenuHitTest:]):
(-[WKActionMenuController _defaultMenuItemsForLink]):
(-[WKActionMenuController _openURLFromActionMenu:]):
(-[WKActionMenuController _addToReadingListFromActionMenu:]):
(-[WKActionMenuController _quickLookURLFromActionMenu:]):
(-[WKActionMenuController _defaultMenuItemsForImage]):
(-[WKActionMenuController _copyImage:]):
(-[WKActionMenuController _saveImageToDownloads:]):
(temporaryPhotosDirectoryPath):
(pathToPhotoOnDisk):
(-[WKActionMenuController _addImageToPhotos:]):
(-[WKActionMenuController _createActionMenuItemForTag:]):
(webKitBundleImageNamed):
(imageForResource:name::if):
(-[WKActionMenuController _updateActionMenuItems]):
Moved from WKView.

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

Replace INT_MIN/MAX / kFixedPointDenominator with intMin/MaxForLayoutUnit.
https://bugs.webkit.org/show_bug.cgi?id=138047

Reviewed by Andreas Kling.

No change in functionality.

  • css/CSSPrimitiveValue.cpp:
1:26 PM Changeset in webkit [175176] by roger_fong@apple.com
  • 4 edits
    8 adds in trunk/LayoutTests

[Win] More unreviewed gardening/rebaselining of Windows tests.

  • platform/win/TestExpectations:
  • platform/win/fast/repaint/select-option-background-color-expected.txt:
  • platform/win/fast/repaint/slider-thumb-drag-release-expected.txt: Added.
  • platform/win/fast/repaint/slider-thumb-float-expected.txt: Added.
  • platform/win/fast/replaced/table-percent-height-expected.txt: Added.
  • platform/win/fast/replaced/three-selects-break-expected.txt: Added.
  • platform/win/fast/table/remove-td-display-none-expected.txt:
  • platform/win/fast/transforms: Added.
  • platform/win/fast/transforms/transformed-focused-text-input-expected.txt: Added.
  • platform/win/platform/win/accessibility: Added.
  • platform/win/platform/win/accessibility/option-element-position-and-size-expected.txt: Added.
1:23 PM Changeset in webkit [175175] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r174877): WebProcess sends an empty Cookies HTTP header
https://bugs.webkit.org/show_bug.cgi?id=138053

Reviewed by Chris Dumez.

Fixes existing tests.

  • platform/network/mac/CookieJarMac.mm: (WebCore::cookiesForSession): Restore the

behavior of returning a null string when there are no cookies.

1:12 PM Changeset in webkit [175174] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Use NSString API in QuickLookMac::computeNeedsQuickLookResourceCachingQuirks()
https://bugs.webkit.org/show_bug.cgi?id=138039

Reviewed by Darin Adler.

Use NSString API in QuickLookMac::computeNeedsQuickLookResourceCachingQuirks()
for case-insensitive string comparison instead of converting to UTF-8 and then
using strcasecmp().

No new tests, no behavior change.

  • platform/mac/QuickLookMac.mm:

(WebCore::QuickLookMac::computeNeedsQuickLookResourceCachingQuirks):

12:28 PM Changeset in webkit [175173] by ap@apple.com
  • 6 edits
    7 copies
    4 adds
    1 delete in trunk/LayoutTests

Update some results that were incorrect for Yosemite.

  • platform/mac-mavericks/fast/text/international/hindi-spacing-expected.png: Copied from LayoutTests/platform/mac/fast/text/international/hindi-spacing-expected.png.
  • platform/mac-mavericks/fast/text/international/hindi-spacing-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/hindi-spacing-expected.txt.
  • platform/mac-mavericks/fast/writing-mode: Added.
  • platform/mac-mavericks/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Copied from LayoutTests/platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.png.
  • platform/mac-mavericks/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Copied from LayoutTests/platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt.
  • platform/mac-mountainlion/fast/writing-mode: Added.
  • platform/mac-mountainlion/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Copied from LayoutTests/platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.png.
  • platform/mac-mountainlion/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Copied from LayoutTests/platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt.
  • platform/mac-mountainlion/mathml: Added.
  • platform/mac-mountainlion/mathml/opentype: Added.
  • platform/mac-mountainlion/mathml/opentype/opentype-stretchy-horizontal-expected.txt: Copied from LayoutTests/platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt.
  • platform/mac-wk2/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: Removed.
  • platform/mac/fast/text/international/hindi-spacing-expected.png:
  • platform/mac/fast/text/international/hindi-spacing-expected.txt:
  • platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.png:
  • platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:
  • platform/mac/mathml/opentype/opentype-stretchy-horizontal-expected.txt:
12:16 PM Changeset in webkit [175172] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Simplified IndexingType's hasAnyArrayStorage().
<https://webkit.org/b/138051>

Reviewed by Michael Saboff.

IndexingType's hasAnyArrayStorage() currently does subtraction of ArrayStorageShape
with the purpose of making non-ArrayStorage types underflow (with that subtraction)
and have a result that exceeds SlowPutArrayStorageShape. What it is doing is
basically checking for a shape value that is greater equal to ArrayStorageShape.
We can just simplify the code as such.

Also added a comment to describe the structure of the bits in IndexingType.

  • runtime/IndexingType.h:

(JSC::hasAnyArrayStorage):

12:13 PM Changeset in webkit [175171] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Avoid unnecessary NSURLRequest copies in ResourceRequest::doUpdatePlatformRequest() / doUpdatePlatformHTTPBody()
https://bugs.webkit.org/show_bug.cgi?id=138049

Reviewed by Alexey Proskuryakov.

Avoid unnecessary NSURLRequest copies in ResourceRequest::doUpdatePlatformRequest()
/ doUpdatePlatformHTTPBody(). It turns out that about half the time, the
m_nsRequest member is already mutable so it is unnecessary to call
[NSURLRequest mutableCopy], we can just cast it to an NSMutableURLRequest* and
avoid copying.

This patch also moves the code to a new ensureMutableNSURLRequest() method to
avoid duplicating the logic.

I see that we spend ~21% less time in these 2 functions when loading
http://flickr.com/explore/ (39.6ms -> 31.2ms).

No new tests, no behavior change.

  • platform/network/cf/ResourceRequest.h:
  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::ensureMutableNSURLRequest):
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):

12:11 PM Changeset in webkit [175170] by ap@apple.com
  • 3 edits in trunk/LayoutTests

fast/multicol/fixed-stack.html failing since introduction.
https://bugs.webkit.org/show_bug.cgi?id=132421

  • platform/mac-wk1/TestExpectations: As of Yosemite, it's failing on mac-wk1 too.
  • platform/gtk/TestExpectations: [ Pass ] is no longer needed, because we don't have

an entry in global TestExpectations now.

11:32 AM Changeset in webkit [175169] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move ComputeLength CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138036

Reviewed by Andreas Kling.

Move ComputeLength CSS properties from DeprecatedStyleBuilder to the
new StyleBuilder so that they are now generated. 3 Converters are
provided for these properties: ComputedLength / LineWidth / Spacing.

This is inspired by the following Blink revision by
<timloh@chromium.org>:
https://src.chromium.org/viewvc/blink?view=rev&revision=154012

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyComputeLength::setValue): Deleted.
(WebCore::ApplyPropertyComputeLength::applyValue): Deleted.
(WebCore::ApplyPropertyComputeLength::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertComputedLength):
(WebCore::StyleBuilderConverter::convertLineWidth):
(WebCore::StyleBuilderConverter::convertSpacing):

11:13 AM Changeset in webkit [175168] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Make ScriptWrappable's destructor protected instead of public
https://bugs.webkit.org/show_bug.cgi?id=138037

Reviewed by Andreas Kling.

Make ScriptWrappable's destructor protected instead of public as it is
not virtual and this class is subclassed a lot.

No new tests, no behavior change.

  • bindings/js/ScriptWrappable.h:

(WebCore::ScriptWrappable::~ScriptWrappable):

10:25 AM Changeset in webkit [175167] by ap@apple.com
  • 2 edits in trunk/Source/WebKit

All plug-in tests fail on Yosemite WK1
https://bugs.webkit.org/show_bug.cgi?id=138040

Reviewed by Dan Bernstein.

Fix a symlink for WebKitPluginHost.app. There is also a broken symlink for WebKitPluginAgent,
which I don't know what to do about, but that seems harmless.

  • WebKit.xcodeproj/project.pbxproj:
10:03 AM Changeset in webkit [175166] by mitz@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard immediately retries a request to buildbot when the response is 404
https://bugs.webkit.org/show_bug.cgi?id=138046

Reviewed by Alexey Proskuryakov.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:

(BuildbotQueue.prototype._load): Only consider retrying immediately if the error code was

  1. Otherwise, we’ll retry normally in 45 seconds.
2:12 AM Changeset in webkit [175165] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[Windows] Skip tests after removing SafariTheme that fail because background renders too dark.
https://bugs.webkit.org/show_bug.cgi?id=138042.

  • platform/win/TestExpectations:

24 Roger Fong <roger_fong@apple.com>

2:04 AM Changeset in webkit [175164] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[Windows] Skip tests after removing SafariTheme that fail because borders now render too dark.
https://bugs.webkit.org/show_bug.cgi?id=138041.

  • platform/win/TestExpectations:
1:59 AM Changeset in webkit [175163] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[Windows] More unreviewed gardening after getting rid of SafariTheme.

  • platform/win/TestExpectations: Skip a handful of tests that were failing

on the Windows bots after removing SafariTheme for miscellaneous reasons.

1:51 AM Changeset in webkit [175162] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[Windows] More unreviewed gardening after getting rid of SafariTheme.
https://bugs.webkit.org/show_bug.cgi?id=138025

  • platform/win/TestExpectations: These tests fail seemingly due to text size difference,

which consequently cause the text containers to be too larger as well.

1:43 AM Changeset in webkit [175161] by roger_fong@apple.com
  • 9 edits
    9 adds in trunk/LayoutTests

[Windows] More rebaselining of Windows tests after removing SafariTheme.

  • platform/win/editing/selection/select-across-readonly-input-1-expected.txt:
  • platform/win/editing/selection/select-across-readonly-input-2-expected.txt:
  • platform/win/editing/selection/select-across-readonly-input-3-expected.txt:
  • platform/win/fast/block/positioning/inline-block-relposition-expected.txt:
  • platform/win/fast/canvas/fallback-content-expected.txt: Added.
  • platform/win/fast/css/button-height-expected.txt:
  • platform/win/fast/dom/HTMLInputElement: Added.
  • platform/win/fast/dom/HTMLInputElement/input-slider-update-expected.txt: Added.
  • platform/win/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Added.
  • platform/win/fast/dom/tabindex-clamp-expected.txt: Added.
  • platform/win/fast/dynamic/positioned-movement-with-positioned-children-expected.txt:
  • platform/win/fast/html/details-no-summary4-expected.txt: Added.
  • platform/win/fast/html/details-open-javascript-expected.txt: Added.
  • platform/win/fast/html/details-open2-expected.txt: Added.
  • platform/win/fast/html/details-open4-expected.txt: Added.
  • platform/win/fast/html/details-replace-summary-child-expected.txt:
  • platform/win/fast/html/details-replace-text-expected.txt:
12:09 AM Changeset in webkit [175160] by commit-queue@webkit.org
  • 10 edits in trunk

[GTK] Implement is_selected method on WebKitHitTestResult
https://bugs.webkit.org/show_bug.cgi?id=137110

Patch by Marcos Chavarría Teijeiro <chavarria1991@gmail.com> on 2014-10-24
Reviewed by Tim Horton.

Source/WebKit2:

Expose CONTEXT_SELECTION for WebKitHitTestResult.

  • Shared/WebHitTestResult.cpp: Add is_selected field and getter for this field.

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

  • Shared/WebHitTestResult.h:

(WebKit::WebHitTestResult::isSelected):

  • UIProcess/API/gtk/WebKitHitTestResult.cpp: Add WEBKIT_HIT_TEST_RESULT_CONTEXT_SELECTION context and method to check it.

(webkitHitTestResultCreate):
(webkitHitTestResultCompare):
(webkit_hit_test_result_context_is_selection):

  • UIProcess/API/gtk/WebKitHitTestResult.h:
  • UIProcess/API/gtk/WebKitWebView.cpp: Modify context-menu callback to set the new context option.

(webkitWebViewPopulateContextMenu):

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add documentation about new function.

Tools:

Add tests for new context SELECTION on WebKitHitTestResult.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:

(testContextMenuDefaultMenu):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:

(testWebViewMouseTarget):

Note: See TracTimeline for information about the timeline view.