Timeline



Jun 18, 2015:

11:55 PM Changeset in webkit [185738] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.35.2.2/Source

Versioning.

11:43 PM Changeset in webkit [185737] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.35.2.2

New tag.

10:59 PM Changeset in webkit [185736] by Carlos Garcia Campos
  • 6 edits in trunk/Source/WebKit2

Do not store configuration parameters twice in WebProcessPool
https://bugs.webkit.org/show_bug.cgi?id=146102

Reviewed by Sam Weinig.

Since we are copying the given WebProcessPoolConfiguration and
keeping it as a member, we don't need to keep an additional copy
of its contents as extra members. This also prevents
inconsistencies between the values in the configuration and the
members when any of them are modified by WebProcessPool API.

  • UIProcess/API/APIProcessPoolConfiguration.h: Return a const

reference instead of a temporary in methods returning a String.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::updateProcessSuppressionState):
(WebKit::WebProcessPool::platformInitializeWebProcess):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::setProcessModel):
(WebKit::WebProcessPool::setMaximumNumberOfProcesses):
(WebKit::WebProcessPool::networkingProcessConnection):
(WebKit::WebProcessPool::languageChanged):
(WebKit::WebProcessPool::setUsesNetworkProcess):
(WebKit::WebProcessPool::usesNetworkProcess):
(WebKit::WebProcessPool::ensureNetworkProcess):
(WebKit::WebProcessPool::ensureDatabaseProcess):
(WebKit::WebProcessPool::ensureSharedWebProcess):
(WebKit::WebProcessPool::createNewWebProcess):
(WebKit::WebProcessPool::warmInitialProcess):
(WebKit::WebProcessPool::disconnectProcess):
(WebKit::WebProcessPool::createNewWebProcessRespectingProcessCountLimit):
(WebKit::WebProcessPool::createWebPage):
(WebKit::WebProcessPool::postMessageToInjectedBundle):
(WebKit::WebProcessPool::setCanHandleHTTPSServerTrustEvaluation):
(WebKit::WebProcessPool::setCacheModel):
(WebKit::WebProcessPool::allowSpecificHTTPSCertificateForHost):
(WebKit::WebProcessPool::requestWebContentStatistics):
(WebKit::WebProcessPool::requestNetworkingStatistics):

  • UIProcess/WebProcessPool.h:

(WebKit::WebProcessPool::sendToNetworkingProcess):
(WebKit::WebProcessPool::sendToNetworkingProcessRelaunchingIfNecessary):
(WebKit::WebProcessPool::sendToAllProcessesRelaunchingThemIfNecessary):
(WebKit::WebProcessPool::sendToOneProcess):

  • UIProcess/gtk/WebProcessPoolGtk.cpp:

(WebKit::WebProcessPool::platformInitializeWebProcess):

10:48 PM Changeset in webkit [185735] by Gyuyoung Kim
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed, gardening on June 19th.

Mark fast/css/named-images.html to Missing. Additionally accessibility/math-multiscript-attributes.html
and accessibility/transformed-element.html are treated as failure.

  • platform/efl/TestExpectations:
9:45 PM Changeset in webkit [185734] by Matt Baker
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Rendering Frames timeline selection should snap to frame boundaries
https://bugs.webkit.org/show_bug.cgi?id=146120

Reviewed by Timothy Hatcher.

  • UserInterface/Views/RenderingFrameTimelineOverview.js:

Enable snapping to frame boundaries.

  • UserInterface/Views/TimelineRecordingContentView.js:

(WebInspector.TimelineRecordingContentView.prototype._updateFrameSelection):
Updated filtering to account for ruler snapping.

  • UserInterface/Views/TimelineRuler.js:

(WebInspector.TimelineRuler.prototype.get snapInterval):
(WebInspector.TimelineRuler.prototype.set snapInterval):
(WebInspector.TimelineRuler.prototype.set selectionStartTime):
(WebInspector.TimelineRuler.prototype.set selectionEndTime):
(WebInspector.TimelineRuler.prototype._snapValue):
(WebInspector.TimelineRuler.prototype._handleMouseMove):
Added support for snapping to a specified interval.

  • UserInterface/Views/TimelineSidebarPanel.js:

Removed unnecessary code.

8:46 PM Changeset in webkit [185733] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Disable UIWindow for fullscreen video for selected clients.
https://bugs.webkit.org/show_bug.cgi?id=145852

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-06-18
Reviewed by Simon Fraser.

Disable UIWindow for fullscreen video doesn't work everywhere (rdar://problem/21315993), so just disable it when creating a UIWindow won't work.
Fix some interface hiding and layout problems that showed up in the non UIWindow code path.

  • platform/RuntimeApplicationChecksIOS.h:
  • platform/RuntimeApplicationChecksIOS.mm: Remove iAD bundle identifier.
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::setupFullscreen): Opt out of UIWindow when hosted in another process. And fix view parenting for non-window case.
(WebVideoFullscreenInterfaceAVKit::exitFullscreen): Fix for AVKit exit fullscreen complaining about -needsLayout.

(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen):
(WebVideoFullscreenInterfaceAVKit::preparedToReturnToInline):
(WebVideoFullscreenInterfaceAVKit::willStartOptimizedFullscreen):
(WebVideoFullscreenInterfaceAVKit::didStartOptimizedFullscreen):
(WebVideoFullscreenInterfaceAVKit::willStopOptimizedFullscreen):
(WebVideoFullscreenInterfaceAVKit::didStopOptimizedFullscreen):
These hide and show the view controller where we hide and show the window.

7:32 PM Changeset in webkit [185732] by commit-queue@webkit.org
  • 8 edits
    1 copy in trunk/Tools

Extend capability of run-benchmark script to support mobile device
https://bugs.webkit.org/show_bug.cgi?id=146125

Patch by Dewei Zhu <Dewei Zhu> on 2015-06-18
Reviewed by Ryosuke Niwa.

Extend capability of run-benchmark to support mobile device, and move majority of run-benchmark script code to
benchmark_runner directory, and make run-benchmark a wrapping script. Also correct a typo.

  • Scripts/run-benchmark:

(main): Deleted.

  • Scripts/webkitpy/benchmark_runner/benchmark_runner.py:

(BenchmarkRunner.init):
(BenchmarkRunner.execute):

  • Scripts/webkitpy/benchmark_runner/browser_driver/browser_driver.py:

(BrowserDriver.prepareEnv):

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:

(OSXBrowserDriver.prepareEnv):

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:

(OSXSafariDriver.prepareEnv):

  • Scripts/webkitpy/benchmark_runner/http_server_driver/http_server_driver.py:

(HTTPServerDriver.getReturnCode):
(HTTPServerDriver):
(HTTPServerDriver.setDeviceID):

  • Scripts/webkitpy/benchmark_runner/run_benchmark.py: Copied from Tools/Scripts/run-benchmark.

(parse_args):
(start):
(main):

  • Scripts/webkitpy/benchmark_runner/utils.py:

(getPathFromProjectRoot):

6:13 PM Changeset in webkit [185731] by dino@apple.com
  • 18 edits
    4 copies
    6 adds in trunk

Provide a way for web developers to draw a Theme-specific Wireless Playback icon
https://bugs.webkit.org/show_bug.cgi?id=146123
<rdar://problem/21119287>

Reviewed by Simon Fraser.

Source/WebCore:

Implement a -webkit-named-image() CSS <image> generator that allows a site to
request artwork by name and get the platform variant. At the moment
we only support "wireless-playback" which returns a generic image everywhere
but Cocoa platforms, where we render the AirPlay icon.

In order to do this I added a ThemeCocoa to share any Theme code between
Mac and iOS.

Test: fast/css/named-icons.html

  • WebCore.xcodeproj/project.pbxproj: Add new files CSSNamedImageValue, NamedImageGeneratedImage and ThemeCocoa.
  • css/CSSImageGeneratorValue.cpp: Handle the new NamedImageClass in the switch statements for downcasting.

(WebCore::CSSImageGeneratorValue::image):
(WebCore::CSSImageGeneratorValue::isFixedSize):
(WebCore::CSSImageGeneratorValue::isPending):
(WebCore::CSSImageGeneratorValue::knownToBeOpaque):

  • css/CSSNamedImageValue.cpp: New class. Just holds a name String.

(WebCore::CSSNamedImageValue::customCSSText):
(WebCore::CSSNamedImageValue::image):
(WebCore::CSSNamedImageValue::equals):

  • css/CSSNamedImageValue.h:

(WebCore::CSSNamedImageValue::create):
(WebCore::CSSNamedImageValue::isFixedSize):
(WebCore::CSSNamedImageValue::isPending):
(WebCore::CSSNamedImageValue::CSSNamedImageValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::isGeneratedImageValue): Allow "-webkit-named-image(".
(WebCore::CSSParser::parseGeneratedImage): Call parseNamedImage if we hit named-icon.
(WebCore::CSSParser::parseNamedImage): Parse the function looking for a CSS ident.

  • css/CSSParser.h:
  • css/CSSValue.cpp: Handle NamedImageClass in the various switch statements.

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

  • css/CSSValue.h:

(WebCore::CSSValue::isNamedImageValue): Helper to detect the correct CSSValue subclass.

  • platform/Theme.cpp:

(WebCore::Theme::drawNamedImage): Draw a generic wireless playback icon.

  • platform/Theme.h: Add drawNamedImage.
  • platform/cocoa/ThemeCocoa.cpp: New shared base class for ThemeMac and ThemeIOS.

(WebCore::fitContextToBox):
(WebCore::ThemeCocoa::drawNamedImage): Draw an AirPlay icon for wireless playback.

  • platform/cocoa/ThemeCocoa.h:
  • platform/graphics/CrossfadeGeneratedImage.h: Drive-by removal of unnecessary forward class definition.
  • platform/graphics/ImageBuffer.h: Add NamedImageGeneratedImage as a friend class.
  • platform/graphics/NamedImageGeneratedImage.cpp: New class. Calls into the Theme to render the artwork.

(WebCore::NamedImageGeneratedImage::NamedImageGeneratedImage):
(WebCore::NamedImageGeneratedImage::draw):
(WebCore::NamedImageGeneratedImage::drawPattern):

  • platform/graphics/NamedImageGeneratedImage.h:
  • platform/ios/ThemeIOS.h: Inherit from ThemeCocoa.
  • platform/mac/ThemeMac.h: Ditto.

LayoutTests:

Test the new -webkit-named-image CSS generator. Only "wireless-playback"
is supported for now, and has platform-specific results for Cocoa.

  • fast/css/named-images-expected.png: Added.
  • fast/css/named-images.html: Added.
  • platform/mac/fast/css/named-images-expected.png: Added.
  • platform/mac/fast/css/named-images-expected.txt: Added.
5:05 PM Changeset in webkit [185730] by bshafiei@apple.com
  • 5 edits in branches/safari-600.7-branch/Source

Versioning.

4:59 PM Changeset in webkit [185729] by mmaxfield@apple.com
  • 9 edits
    2 adds in trunk

[CSS3] Add support for the word-break:keep-all CSS property
https://bugs.webkit.org/show_bug.cgi?id=123782

Reviewed by Darin Adler.

Source/WebCore:

Add support for word-break:keep-all CSS property by CSS3 spec:
http://www.w3.org/TR/2013/WD-css-text-3-20131010/#word-break-property

Test: fast/text/word-break-keep-all.html

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EWordBreak):

  • css/CSSValueKeywords.in:
  • rendering/RenderText.cpp:

(WebCore::RenderText::computePreferredLogicalWidths):

  • rendering/break_lines.h:

(WebCore::nextBreakablePositionKeepingAllWords):
(WebCore::nextBreakablePositionKeepingAllWordsIgnoringNBSP):
(WebCore::isBreakable):

  • rendering/line/BreakingContext.h:

(WebCore::BreakingContext::handleText):
(WebCore::BreakingContext::optimalLineBreakLocationForTrailingWord):

  • rendering/style/RenderStyleConstants.h:

LayoutTests:

  • fast/text/word-break-keep-all.html: Added.
  • platform/mac/fast/text/word-break-keep-all-expected.png: Added.
  • platform/mac/fast/text/word-break-keep-all-expected.txt: Added.
4:45 PM Changeset in webkit [185728] by Yusuke Suzuki
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

[DFG] Avoid OSR exit in the middle of string concatenation
https://bugs.webkit.org/show_bug.cgi?id=145820

Reviewed by Filip Pizlo.

DFG attempt to compile ValueAdd with String type into MakeRope(left, ToString(ToPrimitive(right))).

So when right is speculated as SpecObject, ToPrimitive(SpecObject) is speculated as SpecString.
It leads ToString to become Identity with a speculated type check.

However, ToPrimitive and ToString are originated from the same bytecode. And ToPrimitive may have
an observable side effect when the given parameter is an object (calling object.{toString,valueOf}).

So when object.toString() returns a number (it is allowed in the ES spec), ToPrimitive performs
observable object.toString() calling. But ToString is converted into a speculated type check for
SpecString and it raises OSR exit. And we exit to the original ValueAdd's bytecode position and
it redundantly performs an observable ToPrimitive execution.

To fix this, this patch avoid fixing up for newly introduced ToString node.
Since fix up phase is not iterated repeatedly, by avoiding fixing up when generating the node,
we can avoid conversion from ToString to Check.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::attemptToMakeFastStringAdd):

  • tests/stress/toprimitive-speculated-types.js: Added.

(shouldBe):
(raw):
(Counter):

4:42 PM Changeset in webkit [185727] by jonlee@apple.com
  • 31 edits in trunk/Source

Update AVKit usage of pip
https://bugs.webkit.org/show_bug.cgi?id=146095
<rdar://problem/21386853>

Reviewed by Eric Carlson.

Source/WebCore:

  • Rename enum VideoFullscreenModeOptimized to VideoFullscreenModePictureInPicture
  • Rename MediaElementSession::allowsAlternateFullscreen to allowsPictureInPicture
  • Rename Settings::allowsAlternateFullscreen to allowsPictureInPictureMediaPlayback
  • Update AVKit calls and AVKitSPI.h
  • Rename WebVideoFullscreenInterfaceAVKit delegate functions and member variables
  • html/HTMLMediaElement.cpp:
  • html/HTMLVideoElement.cpp:
  • html/MediaElementSession.cpp:

(WebCore::MediaElementSession::allowsPictureInPicture): Renamed.
(WebCore::MediaElementSession::allowsAlternateFullscreen): Deleted.

  • html/MediaElementSession.h:
  • page/Settings.cpp:
  • page/Settings.in:
  • platform/graphics/MediaPlayerEnums.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • platform/ios/WebVideoFullscreenControllerAVKit.mm:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.h: Remove unused setIsOptimized.
  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
  • platform/spi/cocoa/AVKitSPI.h: Remove unused typedef.
  • platform/spi/mac/AVFoundationSPI.h:

Source/WebKit/mac:

  • Rename preference key
  • Rename shouldAllowAlternateFullscreen to shouldAllowPictureInPictureMediaPlayback
  • WebCoreSupport/WebSystemInterface.mm:
  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(-[WebPreferences allowsAlternateFullscreen]): Call allowsPictureInPictureMediaPlayback.
(-[WebPreferences setAllowsAlternateFullscreen:]):
(-[WebPreferences allowsPictureInPictureMediaPlayback]): Added.
(-[WebPreferences setAllowsPictureInPictureMediaPlayback:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

Source/WebKit2:

  • Rename preference key
  • Rename shouldAllowAlternateFullscreen to shouldAllowPictureInPictureMediaPlayback
  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp: Remove unused preference calls.

(WKPreferencesSetAllowsAlternateFullscreen): Deleted.
(WKPreferencesGetAllowsAlternateFullscreen): Deleted.

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

(-[WKWebView _isShowingVideoPictureInPicture]): Renamed.
(-[WKWebView _isShowingVideoOptimized]): Deleted.
(-[WKWebView _mayAutomaticallyShowVideoPictureInPicture]): Renamed.
(-[WKWebView _mayAutomaticallyShowVideoOptimized]): Deleted.
(shouldAllowPictureInPictureMediaPlayback): Renamed.
(shouldAllowAlternateFullscreen): Deleted.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/ios/PageClientImplIOS.mm:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.h: Rename local variables.
  • UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::mayAutomaticallyShowVideoPictureInPicture): Renamed.
(WebKit::WebVideoFullscreenManagerProxy::mayAutomaticallyShowVideoOptimized): Deleted.

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/ios/WebVideoFullscreenManager.mm:
4:38 PM Changeset in webkit [185726] by commit-queue@webkit.org
  • 5 edits in trunk/Source

Fix crash when entering fullscreen during exit fullscreen animation.
https://bugs.webkit.org/show_bug.cgi?id=146117

Patch by Jeremy Jones <jeremyj@apple.com> on 2015-06-18
Reviewed by Simon Fraser.

Source/WebCore:

Because enterFullscreen can be called during exitFullscreen animation, the exit fullscreen teardown
should not imply a fullscreen state change on video element.

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(WebVideoFullscreenControllerContext::exitFullscreen): May be called from mainThread
(-[WebVideoFullscreenController exitFullscreen]): May be called from mainThread

  • platform/ios/WebVideoFullscreenModelVideoElement.mm:

(WebVideoFullscreenModelVideoElement::setVideoElement):
Changing associated video element does not imply fullscreen mode change.

Source/WebKit2:

A partial teardown left the LayerHostingContext in a bad state when attempting to reuse the model and interface
objects. Instead, complete the teardown and don't reuse the objects.

  • WebProcess/ios/WebVideoFullscreenManager.mm:

(WebKit::WebVideoFullscreenManager::didEnterFullscreen): WebThreadRun is a no-op in WK2. Use dispatch_async.
(WebKit::WebVideoFullscreenManager::didCleanupFullscreen): Do complete teardown before entering fullscreen again.

4:35 PM Changeset in webkit [185725] by ryuan.choi@navercorp.com
  • 2 edits in trunk

[EFL] Use SET_AND_EXPOSE_TO_BUILD instead of definitions
https://bugs.webkit.org/show_bug.cgi?id=146108

Reviewed by Gyuyoung Kim.

  • Source/cmake/OptionsEfl.cmake:
4:19 PM Changeset in webkit [185724] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.7.12

New tag.

3:24 PM Changeset in webkit [185723] by commit-queue@webkit.org
  • 13 edits in trunk/Source/WebInspectorUI

Web Inspector: Add a filter for CSS properties in the Styles sidebar
https://bugs.webkit.org/show_bug.cgi?id=145536

Patch by Devin Rousso <Devin Rousso> on 2015-06-18
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Utilities.js: Added function to Strings that returns an array of all matching indexes of a given string.

(.value):

  • UserInterface/Views/CSSStyleDeclarationSection.js:

(WebInspector.CSSStyleDeclarationSection):
(WebInspector.CSSStyleDeclarationSection.prototype.refresh.appendSelector):
(WebInspector.CSSStyleDeclarationSection.prototype.findMatchingPropertiesAndSelectors): Loops through the property list and selectors of each section to find matches to the filtered text.

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype.findMatchingProperties): Searches through the properties list to find and highlight all matching properties.
(WebInspector.CSSStyleDeclarationTextEditor.prototype.removeNonMatchingProperties): Removes all properties that do not match and highlights the specific matched text in matching properties.
(WebInspector.CSSStyleDeclarationTextEditor.prototype.resetFilteredProperties): Restores all properties to full visibility and removes any highlighting.
(WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded): Classes are added to selections of the text editor of that partiular selection contains text which matches the filter (see CSSStyleDetailsSidebarPanel.css for different classes).
(WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties): If a filter is active, find properties matching the filter instead of all properties.

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.css:

(.sidebar > .panel.details.css-style > .content.has-filter-bar + .filter-bar):
(.sidebar > .panel.details.css-style > .content:not(.has-filter-bar) + .filter-bar):

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.js:

(WebInspector.CSSStyleDetailsSidebarPanel): Added a filter bar to the CSS sidebar.
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels): Switching panels preserves and applies filter bar text.
(WebInspector.CSSStyleDetailsSidebarPanel.prototype._filterDidChange): Function called when the filter bar text changes that calls the current panel's filterDidChange function if it exists.

  • UserInterface/Views/FilterBar.js: Added function and variable to check if the text in the filter bar had changed.
  • UserInterface/Views/MetricsStyleDetailsPanel.js:

(WebInspector.MetricsStyleDetailsPanel.prototype.refresh): Now calls superclass refresh.
(WebInspector.MetricsStyleDetailsPanel): Added delegate variable to constructor.

  • UserInterface/Views/RulesStyleDetailsPanel.css:

(.sidebar > .panel.details.css-style > .content.filter-in-progress .label):
(.sidebar > .panel.details.css-style > .content.filter-in-progress .label ~ .label):
(.sidebar > .panel.details.css-style > .content.filter-in-progress .label.filter-matching-label):
(.sidebar > .panel.details.css-style > .content.filter-in-progress .new-rule):
(.sidebar > .panel.details.css-style > .content.filter-in-progress .style-declaration-section:not(.filter-section-non-matching) ~ .label:not(.filter-section-non-matching)):
(.sidebar > .panel.details.css-style > .content:not(.filter-in-progress) > .rules > .new-rule + .style-declaration-section):
(.sidebar > .panel.details.css-style > .content > .rules:not(.filter-non-matching) > .no-filter-results):
(.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results):
(.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results > .no-filter-results-message):

  • UserInterface/Views/RulesStyleDetailsPanel.js:

(WebInspector.RulesStyleDetailsPanel): Added delegate variable to constructor.
(WebInspector.RulesStyleDetailsPanel.prototype.refresh): Now calls superclass refresh.
(WebInspector.RulesStyleDetailsPanel.prototype.filterDidChange): Function to search through the computed styles list and highlight all matched properties and selectors of the filter bar text, turning all non matching properties slightly opaque (unless a selector for that property is a match).
(WebInspector.StyleDetailsPanel): Added delegate variable to constructor.
(WebInspector.StyleDetailsPanel.prototype.refresh): Added event dispatch for panel refresh.

3:07 PM Changeset in webkit [185722] by Joseph Pecoraro
  • 28 edits in trunk/Source

Web Inspector: improve generated types for objects passed to backend commands
https://bugs.webkit.org/show_bug.cgi?id=146091

Patch by Brian J. Burg <Brian Burg> on 2015-06-18
Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

The main change is that objects passed in will have a type like const T& or const T*,
rather than const RefPtr<T>&&. These protocol objects are owned by the generated dispatcher
methods and only exist to pass data to backend command implementations. So, there is no
reason for callees to add a reference or take ownership of these inputs.

Some small improvements were made in the code generator to standardize how these
expressions are generated for parameters. Optional in parameters are now prefixed with
'opt_in_' to make the generated method signatures and implementations clearer.

  • inspector/InspectorValues.cpp:

(Inspector::InspectorArrayBase::get): Add const qualifier.

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

(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::parseLocation):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::continueToLocation):

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

(Inspector::InspectorRuntimeAgent::callFunctionOn):
(Inspector::InspectorRuntimeAgent::saveResult):
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/scripts/codegen/cpp_generator.py: Always generate PrimitiveType('array').

(CppGenerator.cpp_type_for_unchecked_formal_in_parameter): Alter the type signature
for an unchecked input to use pointers or references.

  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py:

(CppBackendDispatcherHeaderGenerator._generate_handler_declaration_for_command):
(CppBackendDispatcherHeaderGenerator._generate_async_handler_declaration_for_command):
Local variables for optional parameters now have the 'opt_' prefix.

  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py:

(CppBackendDispatcherImplementationGenerator._generate_async_dispatcher_class_for_domain):
(CppBackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):
Local variables for optional parameters now have the 'opt_' prefix.
Split parameterName and parameterKey into two separate template variables to avoid mixups.

  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:

Source/WebCore:

Update type signatures for backend command implementations. In a few cases, clean
up relevant helper function signatures and copy data out of parameter objects where
the code previously held onto a reference.

No new tests, no behavior changed.

  • inspector/InspectorCSSAgent.cpp:

(WebCore::computePseudoClassMask):
(WebCore::InspectorCSSAgent::setStyleText):
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::forcePseudoState):

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::parseColor):
(WebCore::parseConfigColor):
(WebCore::parseQuad):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::setSearchingForNode):
(WebCore::InspectorDOMAgent::highlightConfigFromInspectorObject):
(WebCore::InspectorDOMAgent::setInspectModeEnabled):
(WebCore::InspectorDOMAgent::highlightRect):
(WebCore::InspectorDOMAgent::highlightQuad):
(WebCore::InspectorDOMAgent::innerHighlightQuad):
(WebCore::InspectorDOMAgent::highlightNode):
(WebCore::InspectorDOMAgent::highlightFrame):

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::findStorageArea):

  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore::InspectorIndexedDBAgent::requestData):

  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorReplayAgent.cpp:

(WebCore::InspectorReplayAgent::replayToPosition):

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

(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
Clean up extraHTTPHeaders to copy header key/values out of the InspectorObject, rather
than retaining the protocol object indefinitely. This matches the ownership scheme used
everywhere else.

  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorCSSId::InspectorCSSId):

  • inspector/InspectorWorkerAgent.cpp:

(WebCore::InspectorWorkerAgent::sendMessageToWorker):

  • inspector/InspectorWorkerAgent.h:
1:59 PM Changeset in webkit [185721] by andersca@apple.com
  • 23 edits in trunk/Source

Remove shouldInterruptJavaScript
https://bugs.webkit.org/show_bug.cgi?id=146118

Reviewed by Antti Koivisto.

Source/WebCore:

The WebKit SPI methods for deciding whether JavaScript execution should be interrupted hasn't been used
for many releases. Furthermore, they don't make sense in the multi-process architecture since it's still possible
to interrupt execution (by closing the browser tab or window) from the UI process.

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::shouldInterruptScript):

  • loader/EmptyClients.h:
  • page/Chrome.cpp:

(WebCore::Chrome::shouldInterruptJavaScript): Deleted.

  • page/Chrome.h:
  • page/ChromeClient.h:

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::shouldInterruptJavaScript): Deleted.

  • WebView/WebUIDelegatePrivate.h:

Source/WebKit/win:

  • Interfaces/IWebUIDelegatePrivate.idl:
  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::shouldInterruptJavaScript): Deleted.

  • WebCoreSupport/WebChromeClient.h:

Source/WebKit2:

  • UIProcess/API/APIUIClient.h:

(API::UIClient::shouldInterruptJavaScript): Deleted.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient): Deleted.

  • UIProcess/API/C/WKPageUIClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::shouldInterruptJavaScript): Deleted.

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

(WebKit::WebChromeClient::shouldInterruptJavaScript): Deleted.

  • WebProcess/WebCoreSupport/WebChromeClient.h:
1:44 PM Changeset in webkit [185720] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Ability to Copy entire CSS Rule from Styles Sidebar
https://bugs.webkit.org/show_bug.cgi?id=138812

Patch by Devin Rousso <Devin Rousso> on 2015-06-18
Reviewed by Timothy Hatcher.

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

(WebInspector.CSSStyleDeclarationSection): Right clicking on the header of a rule will replcae the default context menu to allow copying of the entire rule to the clipboard.
(WebInspector.CSSStyleDeclarationSection.prototype._handleContextMenuEvent): Creates a new context menu to copy the entire CSS rule.
(WebInspector.CSSStyleDeclarationSection.prototype._generateCSSRuleString): Generates a string representing the formatted CSS rule.

1:29 PM Changeset in webkit [185719] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

[CSS JIT][ARMv7] The pseudo element early exit trashes r6
https://bugs.webkit.org/show_bug.cgi?id=146078

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-06-18
Reviewed by Alex Christensen.

The pseudo element early failure runs before we generate the prologue.
The reason is that we can often exit immediately on function entry, before
we even touch any memory.

On ARMv7, we don't have many spare registers so the MacroAssembler
uses r6 as a scratch register and the client code is expected to save
it.

In the early failure case, we were not pushing r6 before using the MacroAssembler
and its value could be trashed.

This patch push the macro assembler registers separately from the prologue.

For restoring the registers, a new function generateFunctionEnding() encapsulate
the pop() and ret().

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::pushMacroAssemblerRegisters):
(WebCore::SelectorCompiler::SelectorCodeGenerator::popMacroAssemblerRegisters):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generatePrologue):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateEpilogue):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):

  • cssjit/StackAllocator.h:

(WebCore::StackAllocator::operator=):
We have a new case for the stack allocator: some stack changes are conditional
at compile time instead of runtime. This is easy to deal with by overriding
the stack if a path is not taken at compile time.

12:38 PM Changeset in webkit [185718] by Conrad Shultz
  • 2 edits in trunk/LayoutTests

REGRESSION: js/dom/navigator-plugins-crash.html asserts a lot
https://bugs.webkit.org/show_bug.cgi?id=144399

Revert change marking navigator-plugins-crash.html as flaky now that the underlying bug has been addressed.

12:32 PM Changeset in webkit [185717] by Conrad Shultz
  • 7 edits in trunk/Source/WebCore

REGRESSION: js/dom/navigator-plugins-crash.html asserts a lot
https://bugs.webkit.org/show_bug.cgi?id=144399

Reviewed by Darin Adler.

Earlier work made the array of web-visible plug-ins dynamic, but allowed DOMPlugin (and, indirectly by extension,
DOMMimeType) to continue keeping a reference to a plug-in in terms of an index into that array. This superficially
appeared correct since DOMPlugin immutably holds onto a PluginData instance, which in turn immutably holds onto a
Page instance. PluginStrategy::getWebVisiblePluginInfo() is passed this Page, which is used to determine the contents
of the plugin array. The expectation was that keeping an index would still be safe since the Page is not changing,
but this is not strictly correct since relevant attributes of the Page and/or the available plugins may still change.

It's not entirely clear why the test failures are intermittent and occur only on certain configurations, but address
them by eliminating the incorrect storage of indexes in favor of keeping copies of the relevant plugin info itself.

  • plugins/DOMMimeType.cpp:

(WebCore::DOMMimeType::DOMMimeType):
Instead of storing the MIME type index, retrieve and store the MIME class info and plugin info.
(WebCore::DOMMimeType::type):
Directly access the m_mimeClassInfo member.
(WebCore::DOMMimeType::suffixes):
Ditto.
(WebCore::DOMMimeType::description):
Ditto.
(WebCore::DOMMimeType::enabledPlugin):
Directly access the m_pluginInfo member.
(WebCore::DOMMimeType::mimeClassInfo): Deleted.

  • plugins/DOMMimeType.h:

Update member variables.

  • plugins/DOMPlugin.cpp:

(WebCore::DOMPlugin::DOMPlugin):
Instead of storing the plugin index, store the plugin info directly.
(WebCore::DOMPlugin::name):
Directly access m_pluginInfo.
(WebCore::DOMPlugin::filename):
Ditto.
(WebCore::DOMPlugin::description):
Ditto.
(WebCore::DOMPlugin::length):
Ditto.
(WebCore::DOMPlugin::item):
Access m_pluginInfo directly; find the matching plug-in based on matching PluginInfo (for which an overloaded
comparator is supplied below).
(WebCore::DOMPlugin::pluginInfo): Deleted.

  • plugins/DOMPlugin.h:

Update member variables.
(WebCore::DOMPlugin::create):
Accept a PluginInfo instead of a plugin index.

  • plugins/DOMPluginArray.cpp:

(WebCore::DOMPluginArray::item):
(WebCore::DOMPluginArray::namedItem):

  • plugins/PluginData.h:

(WebCore::operator==):
Added; compare PluginInfo structs on the basis of member equality.

12:21 PM Changeset in webkit [185716] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Improve a few more node preview types
https://bugs.webkit.org/show_bug.cgi?id=146048

Reviewed by Timothy Hatcher.

  • UserInterface/Views/FormattedValue.js:

(WebInspector.FormattedValue.createElementForNodePreview):

12:16 PM Changeset in webkit [185715] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed. Rollout r185670 as it caused some tests to be flakey.

  • debugger/Debugger.cpp:
11:38 AM Changeset in webkit [185714] by achristensen@apple.com
  • 17 edits in trunk

[Content Extensions] Log blocked loads to the WebInspector console
https://bugs.webkit.org/show_bug.cgi?id=146089

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

  • inspector/ConsoleMessage.cpp:

(Inspector::messageSourceValue):

  • inspector/protocol/Console.json:
  • runtime/ConsoleTypes.h:

Add content blocker message source.

Source/WebCore:

  • contentextensions/ContentExtensionsBackend.cpp:

(WebCore::ContentExtensions::ContentExtensionsBackend::processContentExtensionRulesForLoad):
(WebCore::ContentExtensions::ContentExtensionsBackend::displayNoneCSSRule):
Log which URLs are blocked and the URL of the page they are blocked from.

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.mm:

(stringForMessageSource):
Added content blocker message source.

LayoutTests:

  • http/tests/contentextensions/basic-filter-expected.txt:
  • http/tests/contentextensions/character-set-basic-support-expected.txt:
  • http/tests/contentextensions/domain-rules-expected.txt:
  • http/tests/contentextensions/filters-with-quantifiers-combined-expected.txt:
  • http/tests/contentextensions/main-resource-redirect-blocked-expected.txt:
  • http/tests/contentextensions/media-filtered-expected.txt:
  • http/tests/contentextensions/subresource-redirect-blocked-expected.txt:
  • http/tests/contentextensions/text-track-blocked-expected.txt:

Add new logs.

11:34 AM Changeset in webkit [185713] by jonlee@apple.com
  • 2 edits in trunk/Tools

Unreviewed. Add Matt Daiter as a contributor.

  • Scripts/webkitpy/common/config/contributors.json:
11:16 AM Changeset in webkit [185712] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Crash under WebCore::DOMWindow::dispatchMessageEventWithOriginCheck attempting to log console message
https://bugs.webkit.org/show_bug.cgi?id=146093

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-06-18
Reviewed by Timothy Hatcher.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
The console could be null so null check its use.

11:05 AM Changeset in webkit [185711] by mark.lam@apple.com
  • 2 edits in trunk/Tools

Refactor CheckedArithmeticOperations.cpp to use templates instead of macros.
https://bugs.webkit.org/show_bug.cgi?id=146103

Not reviewed.

Follow up to fix some typos not caught before original patch was landed.

  • TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:

(TestWebKitAPI::CheckedArithmeticTester::run):
(TestWebKitAPI::AllowMixedSignednessTest::run):
(TestWebKitAPI::IgnoreMixedSignednessTest::run):

11:00 AM Changeset in webkit [185710] by dbates@webkit.org
  • 3 edits in trunk/Tools

Make webkitdirs::runGitUpdate() work when invoked in more than one Git checkout
https://bugs.webkit.org/show_bug.cgi?id=146082

Reviewed by Darin Adler.

The function webkitdirs::runGitUpdate may not update the Git checkout in the current
working directory after being invoked in a different Git checkout. In particular,
calling runGitUpdate() inside a Git SVN checkout and subsequently calling it inside
a pure Git checkout g will fail to update g.

Currently webkitdirs::runGitUpdate() calls VCSUtils::isGitSVN() to determine whether
the current working directory is a Git SVN checkout. And isGitSVN() caches its result
to speed up subsequent queries. This prevents runGitUpdate() from being used to update
an arbitrary Git checkout (since isGitSVN() may return a cached result for a directory
different than the current working directory). Instead runGitUpdate() should check
whether the current working directory is a Git SVN checkout on each invocation.

  • Scripts/VCSUtils.pm: Export function isGitSVNDirectory so that it can be used from webkitdirs::runGitUpdate().

(isGitSVNDirectory): Extracted logic to determine whether a directory is a Git
SVN directory from isGitSVN().
(isGitSVN): Implemented in terms of isGitSVNDirectory().

  • Scripts/webkitdirs.pm:

(runGitUpdate): Modified to use isGitSVNDirectory().

10:58 AM Changeset in webkit [185709] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: New Rule button doesn't reveal the newly added rule if not visible upon creation
https://bugs.webkit.org/show_bug.cgi?id=117600

Patch by Devin Rousso <Devin Rousso> on 2015-06-18
Reviewed by Timothy Hatcher.

  • UserInterface/Views/RulesStyleDetailsPanel.js: Made previousFocusedSection into a member variable of the RulesStyleDetailsPanel. This way, when the nodeStyles is refreshed (when a new rule is added), the previousFocusedSection will be scrolled into view.

(WebInspector.RulesStyleDetailsPanel):
(WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
(WebInspector.RulesStyleDetailsPanel.prototype.nodeStylesRefreshed):
(WebInspector.RulesStyleDetailsPanel.prototype.refresh): Deleted.

10:58 AM Changeset in webkit [185708] by mark.lam@apple.com
  • 2 edits in trunk/Tools

Refactor CheckedArithmeticOperations.cpp to use templates instead of macros.
https://bugs.webkit.org/show_bug.cgi?id=146103

Reviewed by Anders Carlsson.

Presently, the tests in CheckedArithmeticOperations.cpp are all implemented as
part of a large macro. This makes them harder to:

  1. write: no editor help with indentations, have to add trailing '\'s, inconvenient to add line breaks and comments.
  1. read: no chroma coding / syntax highlighting.
  1. debug: compile time errors are reported as being on the single line where the macro is used.

Refactoring the tests to use C++ templates solves all these issues.

  • TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:

(TestWebKitAPI::CheckedArithmeticTester::run):
(TestWebKitAPI::AllowMixedSignednessTest::run):
(TestWebKitAPI::IgnoreMixedSignednessTest::run):
(TestWebKitAPI::CoerceLiteralToUnsigned::coerce):
(TestWebKitAPI::CoerceLiteralNop::coerce):

10:55 AM Changeset in webkit [185707] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Suppress null-conversion warnings in ANGLE
https://bugs.webkit.org/show_bug.cgi?id=145125

Reviewed by Alex Christensen.

  • CMakeLists.txt:
10:52 AM Changeset in webkit [185706] by timothy_horton@apple.com
  • 3 edits
    1 add in trunk/Source/WebKit2

Use SFSafariViewController for previews
https://bugs.webkit.org/show_bug.cgi?id=146092

Reviewed by Darin Adler.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView previewViewControllerForPosition:inSourceView:]):
(-[WKContentView commitPreviewViewController:]):

  • WebKit2.xcodeproj/project.pbxproj:
  • Source/WebKit2/Platform/spi/ios/SafariServicesSPI.h:
10:39 AM Changeset in webkit [185705] by bshafiei@apple.com
  • 3 edits in branches/safari-600.7-branch/Source/JavaScriptCore

Roll out patch for r182827.

10:15 AM Changeset in webkit [185704] by Antti Koivisto
  • 6 edits in trunk/Source/WebKit2

~4% Membuster regression after WebKit r185452
https://bugs.webkit.org/show_bug.cgi?id=146112
rdar://problem/21406677

Reviewed by Chris Dumez.

Clear the cache write queue on critical memory pressure. There can be substantial amount of memory there and we
don't know how long writing it out will take. System is often under I/O pressure too in low memory situations.

This also makes sense for process suspension where we send simulated critical memory event.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::lowMemoryHandler):

  • NetworkProcess/cache/NetworkCache.cpp:

(WebKit::NetworkCache::Cache::handleMemoryPressureNotification):

  • NetworkProcess/cache/NetworkCache.h:
  • NetworkProcess/cache/NetworkCacheStorage.cpp:

(WebKit::NetworkCache::Storage::clearWriteQueue):

  • NetworkProcess/cache/NetworkCacheStorage.h:
10:13 AM Changeset in webkit [185703] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

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

Caused frequent flaky failures on profiler tests (Requested by
ap on #webkit).

Reverted changeset:

"Web Inspector: Improve a few more node preview types"
https://bugs.webkit.org/show_bug.cgi?id=146048
http://trac.webkit.org/changeset/185671

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

Mark mathml/very-large-stretchy-operators.html as Slow on newer OS X versions.

  • platform/mac/TestExpectations:
8:25 AM Changeset in webkit [185701] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Use Web Browser cache model in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=112273

Patch by Christophe Dumez <Christophe Dumez> on 2015-06-18
Reviewed by Laszlo Gombos.

Set cache model to EWK_CACHE_MODEL_PRIMARY_WEBBROWSER in EFL's MiniBrowser
instead of leaving the default value (EWK_CACHE_MODEL_DOCUMENT_VIEWER).
This way we have a decent cache capacity and the page cache actually works.

  • MiniBrowser/efl/main.c:

(elm_main):

7:13 AM Changeset in webkit [185700] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

Fix missing braces and deprecated declarations warnings in WebKitNotificationProvider.cpp
https://bugs.webkit.org/show_bug.cgi?id=145921

Reviewed by Carlos Garcia Campos.

  • UIProcess/API/gtk/WebKitNotificationProvider.cpp:

(WebKitNotificationProvider::WebKitNotificationProvider):

5:35 AM Changeset in webkit [185699] by saambarati1@gmail.com
  • 8 edits
    3 adds in trunk

[ES6] support default values in deconstruction parameter nodes
https://bugs.webkit.org/show_bug.cgi?id=142679

Reviewed by Darin Adler.

Source/JavaScriptCore:

ES6 destructuring allows destructuring properties to assign
default values. A link to the spec:
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-destructuring-binding-patterns

This patch implements default values for all places where deconstruction
is allowed besides function parameters. This is because function
parameters are parsed in a separate parser arena than the function
body itself and ExpresionNode's which are default values for
deconstruction parameters will be deallocated by the time we parse the body
of the function. I have opened a bug to address this problem:
https://bugs.webkit.org/show_bug.cgi?id=145995

  • bytecompiler/NodesCodegen.cpp:

(JSC::DeconstructionPatternNode::~DeconstructionPatternNode):
(JSC::assignDefaultValueIfUndefined):
(JSC::ArrayPatternNode::bindValue):
(JSC::ArrayPatternNode::emitDirectBinding):
(JSC::ArrayPatternNode::toString):
(JSC::ArrayPatternNode::collectBoundIdentifiers):
(JSC::ObjectPatternNode::bindValue):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::appendArrayPatternSkipEntry):
(JSC::ASTBuilder::appendArrayPatternEntry):
(JSC::ASTBuilder::createObjectPattern):
(JSC::ASTBuilder::appendObjectPatternEntry):
(JSC::ASTBuilder::createBindingLocation):

  • parser/Nodes.h:

(JSC::ArrayPatternNode::appendIndex):
(JSC::ObjectPatternNode::appendEntry):
(JSC::ObjectPatternNode::Entry::Entry): Deleted.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseDeconstructionPattern):
(JSC::Parser<LexerType>::parseDefaultValueForDeconstructionPattern):
(JSC::Parser<LexerType>::parseConstDeclarationList):

  • parser/Parser.h:
  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::operatorStackPop):

LayoutTests:

  • js/destructuring-assignment-default-values-expected.txt: Added.
  • js/destructuring-assignment-default-values.html: Added.
  • js/script-tests/destructuring-assignment-default-values.js: Added.

(assert):
(test1):
(arr):
(test2):
(test3):
(test4):
(test5):
(test6):
(test7):
(test8):
(shouldThrow):

2:22 AM Changeset in webkit [185698] by Gyuyoung Kim
  • 2 edits in trunk/Tools

Remove redundant Chromium bug keyword
https://bugs.webkit.org/show_bug.cgi?id=146097

Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:

(TestExpectationParser._parse_modifiers): Remove BUGCR for TestExpectations.
(TestExpectationLine._format_line): Deleted.

1:58 AM Changeset in webkit [185697] by calvaris@igalia.com
  • 11 edits in trunk

[Streams API] Implement ReadableStreamReader.releaseLock
https://bugs.webkit.org/show_bug.cgi?id=145299

Reviewed by Darin Adler.

Source/WebCore:

Covered by rebased tests.

  • Modules/streams/ReadableStream.cpp:

(WebCore::ReadableStream::close): Moving some close code to newly added releaseReader.
(WebCore::ReadableStream::releaseReader): Implements reader release and callbacks finalization.
(WebCore::ReadableStream::changeStateToErrored): Calls releaseReader.

  • Modules/streams/ReadableStream.h:

(WebCore::ReadableStream::hasReadPendingRequests): Added to enable reader.releaseLock throwing if read requests are pending.

  • Modules/streams/ReadableStreamReader.cpp:

(WebCore::ReadableStreamReader::releaseLock): Implementation of releaseLock

  • Modules/streams/ReadableStreamReader.h:
  • Modules/streams/ReadableStreamReader.idl:

(WebCore::releaseLock): Deleted.

LayoutTests:

  • streams/reference-implementation/readable-stream-expected.txt: Rebasing expectations.
  • streams/reference-implementation/readable-stream-reader-expected.txt: Ditto.
  • streams/reference-implementation/readable-stream-templated-expected.txt: Ditto.
1:57 AM Changeset in webkit [185696] by Gyuyoung Kim
  • 2 edits in trunk/Source/WebKit2

[EFL] test_ewk2_context has been failed since r185529
https://bugs.webkit.org/show_bug.cgi?id=146046

Reviewed by Csaba Osztrogonác.

ewk_context_network_process_model test has been failed since r185529.
This patch modifies the test which is similar to ewk_context_network_process_model
based on multiple process model to fix the failure. Besides ewk_context_network_process_model
seems to be fixed indirectly. So we enable it again.

  • UIProcess/API/efl/tests/test_ewk2_context.cpp:

(TEST_F):

1:35 AM Changeset in webkit [185695] by calvaris@igalia.com
  • 3 edits in trunk/LayoutTests

[Streams API] Rejected start promise test does not timeout anymore
https://bugs.webkit.org/show_bug.cgi?id=146065

Reviewed by Darin Adler.

  • streams/reference-implementation/readable-stream-expected.txt: Updated expectations to PASS.
  • streams/reference-implementation/readable-stream.html: Removed timeout
12:02 AM Changeset in webkit [185694] by youenn.fablet@crf.canon.fr
  • 7 edits in trunk/Source/WebCore

GObject and ObjC bindings generator should not generate code for promise-based APIs
https://bugs.webkit.org/show_bug.cgi?id=146059

Reviewed by Darin Adler.

Covered by rebased expectations.

  • bindings/scripts/CodeGeneratorGObject.pm:

(SkipFunction): Disabling GObject DOM binding for functions returning promises.

  • bindings/scripts/CodeGeneratorObjC.pm:

(SkipFunction): Disabling ObjC DOM binding for functions returning promises.

  • bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Rebasing expectation.

(webkit_dom_test_obj_get_read_only_long_attr): Deleted.
(webkit_dom_test_obj_get_read_only_string_attr): Deleted.

  • bindings/scripts/test/GObject/WebKitDOMTestObj.h: Rebasing expectation.
  • bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
  • bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.

(core): Deleted.

Jun 17, 2015:

11:30 PM Changeset in webkit [185693] by ryuan.choi@navercorp.com
  • 2 edits in trunk/Source/WebCore

[EFL] test_ewk2_context_url_scheme_register has been crashed since r185553
https://bugs.webkit.org/show_bug.cgi?id=146075

Reviewed by Carlos Garcia Campos.

Since r185553, CustomProtocolManager sends StartLoading message to UIProcess
with request of SoupGenericRequest instead of request itself.
But, request of SoupGenericRequest is nullptr in EFL port because EFL port
does not use m_initiatingPageID.

This patch updates request of SoupGenericRequest although m_initiatingPageID is null.

  • platform/network/soup/ResourceRequestSoup.cpp:

(WebCore::ResourceRequest::updateSoupRequest):

9:38 PM Changeset in webkit [185692] by dbates@webkit.org
  • 5 edits in trunk

Client may receive began editing callback for already focused text field
https://bugs.webkit.org/show_bug.cgi?id=146074
<rdar://problem/21293562>

Reviewed by Darin Adler.

Source/WebCore:

Fixes an issue where the client would be notified that began editing in a text field
for each programmatic DOM focus event dispatched at the text field regardless of
whether the field was focused. The client should only be notified that began editing
exactly once when a text field becomes focused (either programmatically or by user interaction).

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::forwardEvent): Move logic to dispatch editing began callback from here...
(WebCore::TextFieldInputType::handleFocusEvent): to here. This function is called when the
text field becomes newly focused.

  • html/TextFieldInputType.h:

Tools:

Add a unit test to ensure that a client receives exactly one began editing
callback when a text field is newly focused. In particular, dispatching
a DOM focus event at an already focused text field does not dispatch a
began editing callback to the client.

  • TestWebKitAPI/Tests/WebKit2/TextFieldDidBeginAndEndEditing.cpp:

(TestWebKitAPI::TEST_F):

9:11 PM Changeset in webkit [185691] by commit-queue@webkit.org
  • 8 edits in trunk

Source/WebKit/win:
[Win]Implement layoutTestController.dispatchPendingLoadRequests.
https://bugs.webkit.org/show_bug.cgi?id=26481

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-06-17
Reviewed by Darin Adler.

Implement WebView::dispatchPendingLoadRequests() private API for test runner.

  • Interfaces/IWebViewPrivate.idl:
  • WebView.cpp:

(WebView::scaleWebView):
(WebView::dispatchPendingLoadRequests):

  • WebView.h:

Tools:
[Win]Implement layoutTestController.dispatchPendingLoadRequests.
https://bugs.webkit.org/show_bug.cgi?id=26481

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-06-17
Reviewed by Darin Adler.

Implement WebView::dispatchPendingLoadRequests() private API for test runner.

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::dispatchPendingLoadRequests):
(TestRunner::overridePreference):

LayoutTests:
[Win]Implement layoutTestController.dispatchPendingLoadRequests.
https://bugs.webkit.org/show_bug.cgi?id=26481

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-06-17
Reviewed by Darin Adler.

Implement WebView::dispatchPendingLoadRequests() private API for test runner.

  • platform/win/TestExpectations:
9:05 PM Changeset in webkit [185690] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Reading the list of analysis tasks is extremely slow
https://bugs.webkit.org/show_bug.cgi?id=146086

Reviewed by Darin Adler.

The bug was caused by Ember data requesting manifest.js hundreds of times.
Fetch it ahead of time in each route instead.

  • public/v2/app.js:

(App.AnalysisRoute.model):
(App.AnalysisTaskRoute.model):

6:55 PM Changeset in webkit [185689] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.36.1/Source/WebKit2

Merged r185684. rdar://problem/21388784

6:53 PM Changeset in webkit [185688] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.36.1/Source

Versioning.

6:51 PM Changeset in webkit [185687] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.36.1

New tag.

6:16 PM Changeset in webkit [185686] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.36.0.1/Source

Versioning.

6:05 PM Changeset in webkit [185685] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.36.0.1

New tag.

6:05 PM Changeset in webkit [185684] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Also turn off long press on link preview.
https://bugs.webkit.org/show_bug.cgi?id=146084

Also turn off long presss gesture when previewing. Turn that back on when preview is completed.

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2015-06-17
Reviewed by Tim Horton.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView willPresentPreviewViewController:forPosition:inSourceView:]):
(-[WKContentView didDismissPreviewViewController:committing:]):

5:51 PM Changeset in webkit [185683] by achristensen@apple.com
  • 4 edits in trunk

[Content Extensions] Fail to parse invalid arrays
https://bugs.webkit.org/show_bug.cgi?id=146079
rdar://problem/21422649

Reviewed by Benjamin Poulain.

Source/WebCore:

Covered by new and corrected API tests.

  • contentextensions/ContentExtensionParser.cpp:

(WebCore::ContentExtensions::loadTrigger):
Fail to parse invalid arrays for if-domain, unless-domain, resource-type, and load-type arrays.

Tools:

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::TEST_F):
Correct and add parsing tests with invalid arrays.

5:49 PM Changeset in webkit [185682] by jhoneycutt@apple.com
  • 3 edits in trunk/Source/WebCore

Position::findParent() should take a reference
https://bugs.webkit.org/show_bug.cgi?id=146038

Reviewed by Darin Adler.

  • dom/Position.cpp:

(WebCore::Position::containerNode):
(WebCore::Position::parentAnchoredEquivalent):
Pass a reference; there is already a null check.
(WebCore::Position::previous):
Add a missing null check. Code below this expects that node is non-null.
(WebCore::Position::next):
Ditto.
(WebCore::Position::atStartOfTree):
(WebCore::Position::atEndOfTree):
Pass a reference.
(WebCore::Position::findParent):
Changed to take a reference.

  • dom/Position.h:

Ditto.

5:32 PM Changeset in webkit [185681] by Brent Fulgham
  • 9 edits in trunk/Source

Overflow regions with scroll snap points are not reliably rubber banding
https://bugs.webkit.org/show_bug.cgi?id=142522
<rdar://problem/20100726>

Reviewed by Darin Adler.

Source/WebCore:

When computing the target scroll destination, update the nearest snap point index
and other bookkeeping, but keep the original gesture target if it would have taken
us beyond either limit of the scroll container.

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::scrollExtents): Add new method
to support client API.

  • platform/ScrollAnimator.cpp:

(WebCore::ScrollAnimator::scrollExtents): Add new method to support client API.

  • platform/ScrollAnimator.h:
  • platform/cocoa/ScrollController.h:

(WebCore::ScrollControllerClient::scrollExtents): Added new pure virtual method to API.

  • platform/cocoa/ScrollController.mm:

(WebCore::ScrollController::beginScrollSnapAnimation): Hold onto original user gesture
target, and use that instead of our nearest snap point if the gesture takes us past
either extreme of the scroll container.

Source/WebKit2:

Make sure we don't block rubberbanding behavior when a scroll gesture should take us past
the end of the scroll container.

  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(-[WKOverflowScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]): Don't adjust
target point if we were going to scroll past the edges of the scroll container.

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

Would like a way, in the API, to get notified about a web process crash
https://bugs.webkit.org/show_bug.cgi?id=146085
rdar://problem/17358828

Reviewed by Darin Adler.

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

(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::NavigationClient::processDidCrash):

5:03 PM Changeset in webkit [185679] by timothy_horton@apple.com
  • 4 edits
    1 add in trunk/Source

Swipe gesture can get stuck, preventing scrolling and other gestures
https://bugs.webkit.org/show_bug.cgi?id=146088
<rdar://problem/16056087>

Reviewed by Darin Adler.

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::trackSwipeGesture):
Ignore mouse events that come in while we're doing a swipe.
This prevents potentially problematic mouse events (especially context menus)
won't be processed during a swipe, avoiding situations that can cause
the swipe gesture to get stuck.

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

Add an SPI header.

5:01 PM Changeset in webkit [185678] by mrajca@apple.com
  • 8 edits in trunk/Source/WebCore

MediaSession: handle MediaEventTrackNext and MediaEventTrackPrevious events
https://bugs.webkit.org/show_bug.cgi?id=146028

Reviewed by Darin Adler.

  • Modules/mediasession/MediaRemoteControls.idl: Added nexttrack/previoustrack event handlers.
  • Modules/mediasession/MediaSession.cpp: Dispatch the nexttrack/previoustrack events.

(WebCore::MediaSession::skipToNextTrack):
(WebCore::MediaSession::skipToPreviousTrack):

  • Modules/mediasession/MediaSession.h:
  • Modules/mediasession/MediaSessionManager.cpp: Skip to the next/previous track as described in the media session spec.

(WebCore::MediaSessionManager::skipToNextTrack):
(WebCore::MediaSessionManager::skipToPreviousTrack):

  • Modules/mediasession/MediaSessionManager.h:
  • dom/EventNames.h: Added the nexttrack/previoustrack event names.
  • page/Page.cpp: Tell MediaSessionManager to handle the new track-skipping events.

(WebCore::Page::handleMediaEvent):

4:38 PM Changeset in webkit [185677] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

Remove willSendEventToPlugin() from PluginController.h.
https://bugs.webkit.org/show_bug.cgi?id=146054

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2015-06-17
Reviewed by Darin Adler.

PluginController::willSendEventToPlugin() was introduced by http://webkit.org/b/59124.
This method had been used only for WebKit2 on Windows, and no one uses it now.
So we can remove it.

No new tests, no behavior change.

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::willSendEventToPlugin): Deleted.

  • PluginProcess/PluginControllerProxy.h:
  • WebProcess/Plugins/PluginController.h:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::willSendEventToPlugin): Deleted.

  • WebProcess/Plugins/PluginView.h:
4:23 PM Changeset in webkit [185676] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

Update ReadMe.md and Install.md per database changes
https://bugs.webkit.org/show_bug.cgi?id=146076

Reviewed by Darin Adler.

Updated.

  • Install.md:
  • ReadMe.md:
4:20 PM Changeset in webkit [185675] by Chris Fleizach
  • 5 edits in trunk

AX: VoiceOver in iOS not announcing generic WAI-ARIA region, even if labelled properly
https://bugs.webkit.org/show_bug.cgi?id=146066

Reviewed by Darin Adler.

Source/WebCore:

Allow the region role to identify as a landmark type.

Updated test: platform/ios-simulator/accessibility/landmark-types.html

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper _accessibilityIsLandmarkRole:]):

LayoutTests:

  • platform/ios-simulator/accessibility/landmark-type-expected.txt:
  • platform/ios-simulator/accessibility/landmark-type.html:
4:02 PM Changeset in webkit [185674] by mrajca@apple.com
  • 2 edits in trunk/Tools

Unreviewed. Added myself as a committer.

  • Scripts/webkitpy/common/config/contributors.json:
3:47 PM Changeset in webkit [185673] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Repro crash when swiping back from a NY Times article @ WebPageProxy::navigationGestureDidEnd
https://bugs.webkit.org/show_bug.cgi?id=146083
<rdar://problem/20974232>

Reviewed by Darin Adler.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::ViewGestureController::didSameDocumentNavigationForMainFrame):
(WebKit::ViewGestureController::activeLoadMonitoringTimerFired):
It is possible to get didSameDocumentNavigationForMainFrame *before*
endSwipeGesture, while the user is still interactively swiping. We
cannot remove the snapshot in this case, nor should we start the active
load monitoring timer; all of these things should happen only after the
swipe is completed and we've performed the navigation.

This was particularly bad (a crash instead of just a disappearing snapshot)
because removing the snapshot also causes m_webPageProxyForBackForwardListForCurrentSwipe
to be nulled out, but then it is dereferenced during endSwipeGesture.

Make sure that we never call removeSwipeSnapshotIfReady unless we were actually
waiting to remove the swipe snapshot (because the gesture had completed).
Most callers already did ensure this, but these two did not.

2:38 PM Changeset in webkit [185672] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Web Inspector: Improve Full Screen support for Web Inspector windows
https://bugs.webkit.org/show_bug.cgi?id=146036

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-06-17
Reviewed by Timothy Hatcher.

  • UIProcess/WebInspectorProxy.h:
  • UIProcess/mac/WebInspectorProxyMac.mm:

(-[WKWebInspectorProxyObjCAdapter windowDidEnterFullScreen:]):
(-[WKWebInspectorProxyObjCAdapter windowDidExitFullScreen:]):
(WebKit::WebInspectorProxy::platformCanAttach):
(WebKit::WebInspectorProxy::windowFullScreenDidChange):
When entering / leaving full screen update attach availability to
potentially show / hide the frontend's docking buttons.

(WebKit::WebInspectorProxy::createInspectorWindow):
Allow a Web Inspector window to be a full screen auxillary window,
so that if the application with a WebView opens a detached inspector
window it can be shown on the same desktop as the full screen app.
Also, reduce the minimum window size requirements for full screen tiling.

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

Web Inspector: Improve a few more node preview types
https://bugs.webkit.org/show_bug.cgi?id=146048

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-06-17
Reviewed by Timothy Hatcher.

  • UserInterface/Views/FormattedValue.js:

(WebInspector.FormattedValue.createElementForNodePreview):

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

Web Inspector: Do not show JavaScriptCore builtins in inspector
https://bugs.webkit.org/show_bug.cgi?id=146049

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-06-17
Reviewed by Timothy Hatcher.

  • debugger/Debugger.cpp:
2:33 PM Changeset in webkit [185669] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Show/Hide sidebar buttons have inconsistent highlighted state
https://bugs.webkit.org/show_bug.cgi?id=145073

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2015-06-17
Reviewed by Joseph Pecoraro.

  • UserInterface/Views/ContentBrowserTabContentView.js:

(WebInspector.ContentBrowserTabContentView.prototype._detailsSidebarPanelSelected):

2:32 PM Changeset in webkit [185668] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit/mac

<rdar://problem/19034131> Cleaned up the WebDownload.h framework header.

Reviewed by Anders Carlsson.

  • Misc/WebDownload.h: Changed to use USE_APPLE_INTERNAL_SDK instead of has_include.
  • postprocess-headers.sh: Define USE_APPLE_INTERNAL_SDK when postprocessing framework

headers.

2:27 PM Changeset in webkit [185667] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Increase the popup dismissal time from 100ms to 500ms
https://bugs.webkit.org/show_bug.cgi?id=146077

Rubber-stamped by Andreas Kling.

  • public/v2/popup.js:

(App.PopupView.scheduleHiding):

2:08 PM Changeset in webkit [185666] by Simon Fraser
  • 3 edits
    2 adds in trunk

REGRESSION (r173283-r173296): Amazon.com front page has no caret in the search field
https://bugs.webkit.org/show_bug.cgi?id=146073
rdar://problem/21022203

Reviewed by Tim Horton.

Source/WebCore:

Text controls (text inputs and textareas) need backing store even when empty, because
they need to be able to paint a caret.

Test: compositing/backing/form-controls-backing.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):

LayoutTests:

Dump layers for composited text inputs and textareas.

  • compositing/backing/form-controls-backing-expected.txt: Added.
  • compositing/backing/form-controls-backing.html: Added.
2:06 PM Changeset in webkit [185665] by Alan Bujtas
  • 3 edits
    2 adds in trunk

Selection cache produces invalid result when ancestor has float element.
https://bugs.webkit.org/show_bug.cgi?id=146042
rdar://problem/20604592

Reviewed by Ryosuke Niwa.

Selection cache already takes floats into account, however it's not enough to check current
block against floats. Any of the ancestor's float starting from the selection root block
can impact the selection offsets.

Source/WebCore:

Test: fast/block/selection-cache-is-incorrect-when-non-direct-parent-has-float.html

  • rendering/LogicalSelectionOffsetCaches.h:

(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::ContainingBlockInfo):
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::setBlock):
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::block):
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::cache):
(WebCore::LogicalSelectionOffsetCaches::ContainingBlockInfo::hasFloatsOrFlowThreads):
(WebCore::LogicalSelectionOffsetCaches::LogicalSelectionOffsetCaches):

LayoutTests:

  • fast/block/selection-cache-is-incorrect-when-non-direct-parent-has-float-expected.txt: Added.
  • fast/block/selection-cache-is-incorrect-when-non-direct-parent-has-float.html: Added.
1:41 PM Changeset in webkit [185664] by dbates@webkit.org
  • 2 edits in trunk/Tools

Export VCSUtils::gitTreeDirectory()
<rdar://problem/21248901>

Rubber-stamped by Alexey Proskuryakov.

  • Scripts/VCSUtils.pm:
1:27 PM Changeset in webkit [185663] by akling@apple.com
  • 2 edits in trunk/Source/WTF

SegmentedVector should waste less memory.
<https://webkit.org/b/146069>

Reviewed by Anders Carlsson.

We were wasting sizeof(Vector) on every segment in SegmentVector.
The segments were using inline capacity, and would never go beyond it,
so all the size/capacity/out-of-line-buffer metadata was useless.

Change the internal representation to Vector<T[SegmentSize]> instead.
This saves 16 bytes per segment, so lower SegmentSize -> bigger savings!

  • wtf/SegmentedVector.h:

(WTF::SegmentedVectorIterator::operator*):
(WTF::SegmentedVectorIterator::operator->):
(WTF::SegmentedVectorIterator::operator++):
(WTF::SegmentedVectorIterator::operator==):
(WTF::SegmentedVectorIterator::operator!=):
(WTF::SegmentedVectorIterator::SegmentedVectorIterator):
(WTF::SegmentedVector::at):
(WTF::SegmentedVector::append):
(WTF::SegmentedVector::removeLast):
(WTF::SegmentedVector::grow):
(WTF::SegmentedVector::begin):
(WTF::SegmentedVector::end):
(WTF::SegmentedVector::deleteAllSegments):
(WTF::SegmentedVector::ensureSegmentsFor):
(WTF::SegmentedVector::ensureSegment):
(WTF::SegmentedVector::allocateSegment):
(WTF::SegmentedVectorIterator::operator=): Deleted.
(WTF::SegmentedVector::SegmentedVector): Deleted.

1:03 PM Changeset in webkit [185662] by jdiggs@igalia.com
  • 16 edits in trunk

AX: [ATK] Expose element tag name as an object attribute
https://bugs.webkit.org/show_bug.cgi?id=146062

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Expose the element tag name as an object attribute with name "tag" and
value being the lowercase tag name, both being what Gecko does for ATK.

No new tests. We already have sufficient coverage for AtkObject attributes.
These tests have been updated to reflect the addition of the new attribute.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetAttributes):

LayoutTests:

The following tests all include the AtkObject attributes of elements. Now that
tag name is exposed, the expectations needed to be updated to reflect the change.

  • platform/gtk/accessibility/image-link-expected.txt: Updated.
  • platform/gtk/accessibility/image-map2-expected.txt: Updated.
  • platform/gtk/accessibility/lists-expected.txt: Updated.
  • platform/gtk/accessibility/math-multiscript-attributes-expected.txt: Updated.
  • platform/gtk/accessibility/table-attributes-expected.txt: Updated.
  • platform/gtk/accessibility/table-cell-spans-expected.txt: Updated.
  • platform/gtk/accessibility/table-cells-expected.txt: Updated.
  • platform/gtk/accessibility/table-detection-expected.txt: Updated.
  • platform/gtk/accessibility/table-one-cell-expected.txt: Updated.
  • platform/gtk/accessibility/table-sections-expected.txt: Updated.
  • platform/gtk/accessibility/table-with-rules-expected.txt: Updated.
  • platform/gtk/accessibility/transformed-element-expected.txt: Updated.
  • platform/gtk/accessibility/xml-roles-exposed-expected.txt: Updated.
12:23 PM Changeset in webkit [185661] by timothy_horton@apple.com
  • 7 edits
    1 add in trunk

Safari tabs still have shrunken content after coming out of fullscreen
https://bugs.webkit.org/show_bug.cgi?id=146037
<rdar://problem/21105960>

Reviewed by Simon Fraser and Darin Adler.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::useFixedLayoutDidChange):
(WebKit::WebPageProxy::fixedLayoutSizeDidChange):

  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setUseFixedLayout):
(WebKit::WebPage::setFixedLayoutSize):
Keep the UI process up-to-date when fixed layout is enabled or the size changes.
This is important because these things can change from the Web process side too,
and the UI process uses its (potentially stale) version to do some short-circuiting.
This was causing us to fail to turn off fixed layout when it was turned
on from the Web process side (by TiledCoreAnimationDrawingArea).

  • UIProcess/mac/WKViewLayoutStrategy.mm:

(-[WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy willChangeLayoutStrategy]):
Reset the view scale, which WKViewDynamicSizeComputedFromMinimumDocumentSizeLayoutStrategy
makes heavy use of, just like the others.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/ShrinkToFit.mm: Added.

(-[ShrinkToFitNavigationDelegate webView:didFinishNavigation:]):
(TEST):
Add a test that ensures that disabling scale-to-fit mode correctly updates
the page's layout.

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

iOS WebKit1: [LegacyTileLayer drawInContext:] should ensure it has web lock
https://bugs.webkit.org/show_bug.cgi?id=146072
rdar://problem/21149759

Reviewed by Simon Fraser

There are some scenarios where we end up drawing without web lock due to client or system issues.
This can cause crashes.

  • platform/ios/LegacyTileLayer.mm:

(-[LegacyTileLayer setNeedsDisplayInRect:]):
(-[LegacyTileLayer drawInContext:]):

Ensure we have the web lock when called in main thread (even though we should have it already).

11:54 AM Changeset in webkit [185659] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] jsSubstring() should have a fast path for 0..baseLength "substrings."
<https://webkit.org/b/146051>

Reviewed by Anders Carlsson.

If asked to make a substring that actually spans the entire base string,
have jsSubstring() just return the base instead of allocating a new JSString.

3% speed-up on Octane/regexp.

  • runtime/JSString.h:

(JSC::jsSubstring):

11:32 AM Changeset in webkit [185658] by Brent Fulgham
  • 16 edits
    2 adds in trunk

CSS scroll snap: defining snap points on axis that does not scroll does not work properly
https://bugs.webkit.org/show_bug.cgi?id=146043
<rdar://problem/20125511>

Reviewed by Simon Fraser.

Source/WebCore:

Tested by css3/scroll-snap/scroll-snap-mismatch.html

We always seed the set of scroll snap points with the start and end of the scroll container. This is not
the right behavior if there are no scroll points defined, because we end up creating a snap for the start
and end of the container, and any scroll gesture just takes us across the entire element.

Instead, when we do not find any scroll snap points, we should clear the snap point state for the container.

  • page/scrolling/AxisScrollSnapOffsets.cpp:

(WebCore::updateFromStyle): If we did not find any snap points (i.e., the snapOffsets container
only holds '0', return an empty Vector.
(WebCore::updateSnapOffsetsForScrollableArea): If the set of snap points produced by 'updateFromStyle' is empty,
clear the horizontal (or vertical) snap offsets for the scroll area.

LayoutTests:

  • css3/scroll-snap/scroll-snap-mismatch-expected.txt: Added.
  • css3/scroll-snap/scroll-snap-mismatch.html: Added.
10:15 AM Changeset in webkit [185657] by commit-queue@webkit.org
  • 11 edits
    2 copies
    1 delete in trunk/Source/WebKit

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

Caused many crashes on Windows (Requested by ap on #webkit).

Reverted changeset:

"[Win] Implement WebViewGroup to support
WebView::addxxxToGroup()."
https://bugs.webkit.org/show_bug.cgi?id=145908
http://trac.webkit.org/changeset/185636

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

New test inspector/console/console-table.html frequently times out in debug.

10:03 AM Changeset in webkit [185655] by ap@apple.com
  • 3 edits
    2 copies in trunk/LayoutTests

Update test results after https://bugs.webkit.org/show_bug.cgi?id=145873

The changes appear expected, however looking at previous pixel results, we seem
to have a (much much earlier) regression, as small caps are rotated incorrectly.

  • platform/mac-mavericks/fast/writing-mode/broken-ideograph-small-caps-expected.png: Copied from LayoutTests/platform/mac/fast/writing-mode/broken-ideograph-small-caps-expected.png.
  • platform/mac-mavericks/fast/writing-mode/broken-ideograph-small-caps-expected.txt: Copied from LayoutTests/platform/mac/fast/writing-mode/broken-ideograph-small-caps-expected.txt.
  • platform/mac/fast/writing-mode/broken-ideograph-small-caps-expected.png:
  • platform/mac/fast/writing-mode/broken-ideograph-small-caps-expected.txt:
9:45 AM Changeset in webkit [185654] by jfernandez@igalia.com
  • 1 edit
    1 add in trunk/PerformanceTests

[CSS Grid Layout] We should add performance tests for stretching logic
https://bugs.webkit.org/show_bug.cgi?id=146063

Reviewed by Sergio Villar Senin.

Added a new performance test for Grid Layout to ensure there are no
regressions in the stretching alignment logic.

  • Layout/fixed-grid-lots-of-stretched-data.html: Added.
9:18 AM Changeset in webkit [185653] by mitz@apple.com
  • 6 edits in trunk

[Cocoa] Expose UIDelegate::UIClient::close via WKUIDelegate
https://bugs.webkit.org/show_bug.cgi?id=145957

Reviewed by Darin Adler.

Source/WebKit2:

  • UIProcess/API/Cocoa/WKUIDelegate.h: Added -webViewDidClose: to the protocol.
  • UIProcess/Cocoa/UIDelegate.h: Added a webViewDidClose boolean to the delegate methods struct.
  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::UIDelegate::setDelegate): Initialize the webViewDidClose boolean.
(WebKit::UIDelegate::UIClient::close): Changed to call the new delegate method. Left behind
code that calls the old private method if it’s implemented.

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/OpenAndCloseWindow.mm:

(-[OpenAndCloseWindowUIDelegate webViewDidClose:]): Renamed from -_webViewClose:.

9:13 AM Changeset in webkit [185652] by jfernandez@igalia.com
  • 3 edits in trunk/PerformanceTests

[CSS Grid Layout] Performance tests are using the old syntax
https://bugs.webkit.org/show_bug.cgi?id=146061

Reviewed by Sergio Villar Senin.

Adapted tests to the new grid tracks definition syntax.

  • Layout/auto-grid-lots-of-data.html:
  • Layout/fixed-grid-lots-of-data.html:
8:32 AM Changeset in webkit [185651] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] WEBKIT_CACHE_MODEL_DOCUMENT_VIEWER doesn't disable memory cache when set before the web process is launched
https://bugs.webkit.org/show_bug.cgi?id=146053

Reviewed by Martin Robinson.

The cache is disabled in WebProcess::platformSetCacheModel() when
the cache model is CacheModelDocumentViewer, but it's enabled
again by WebProcess::setMemoryCacheDisabled() when
memoryCacheDisabled creation parameter is processed. We need to
make sure the cache model and memoryCacheDisabled parameters are consistent.

  • UIProcess/gtk/WebProcessPoolGtk.cpp:

(WebKit::WebProcessPool::platformInitializeWebProcess): Initialize
memoryCacheDisabled parameter to true if memory cache was
explicitly disabled or cache model is CacheModelDocumentViewer.

8:21 AM Changeset in webkit [185650] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

[WK2] valueForKey() shouldn't copy the defaults map
https://bugs.webkit.org/show_bug.cgi?id=146050

Reviewed by Sam Weinig.

  • Shared/WebPreferencesStore.cpp:

(WebKit::valueForKey): Avoid copying the defaults HashMap by binding the return value to a reference.

7:13 AM Changeset in webkit [185649] by Chris Fleizach
  • 2 edits
    2 adds in trunk

AX: input role="spinbutton" gets skipped in voiceover
https://bugs.webkit.org/show_bug.cgi?id=145514

Reviewed by Mario Sanchez Prada.

SpinButton role was added, but left out of iOS.
To prevent this from happening again, explicitly list every role in the switch statement that
determines accessible visibility.

Test: platform/ios-simulator/accessibility/spinbutton.html

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper determineIsAccessibilityElement]):
(-[WebAccessibilityObjectWrapper isAccessibilityElement]):

12:45 AM Changeset in webkit [185648] by youenn.fablet@crf.canon.fr
  • 8 edits in trunk

[Streams API] ReadableJSStream should handle promises returned by JS source pull callback
https://bugs.webkit.org/show_bug.cgi?id=145965

Reviewed by Darin Adler.

Source/WebCore:

Implemented asynchronous pulling.
In particular, ensuring that doPull is not called as long as previous call to doPull is finished.
Storing whether to pull automatically when the current pull is finished.

Covered by rebased tests.

  • Modules/streams/ReadableStream.cpp:

(WebCore::ReadableStream::pull): stores whether to pull again.
(WebCore::ReadableStream::finishPulling): called when pulling finishes.

  • Modules/streams/ReadableStream.h:
  • bindings/js/ReadableJSStream.cpp:

(WebCore::createPullResultFulfilledFunction): The promise resolve callback.
(WebCore::ReadableJSStream::doPull): Handling of promise.

  • bindings/js/ReadableJSStream.h:

LayoutTests:

Rebasing tests and removing timeout: 50 for test that is passing..

  • streams/reference-implementation/readable-stream-expected.txt:
  • streams/reference-implementation/readable-stream.html:
12:20 AM Changeset in webkit [185647] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.35.2.1/Source

Versioning.

12:07 AM Changeset in webkit [185646] by achristensen@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

32-bit build fix after r185640.

  • dfg/DFGIntegerRangeOptimizationPhase.cpp:

Explicitly cast clamped int64_t to an int.

Jun 16, 2015:

11:57 PM Changeset in webkit [185645] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.36

New tag.

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

Versioning.

11:03 PM Changeset in webkit [185643] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

WebProcess crashes after too many redirect error when there's an active NPAPI plugin
https://bugs.webkit.org/show_bug.cgi?id=146019

Reviewed by Darin Adler.

This happens with the GTK+ port after a navigation action ends up
in an infinite redirection and the ResourceHandle fails with too
many redirections error. I should actually happen after any error
is reported by the ResourceHnalder before the load is
committed. But tt only happens if there's an active NPAPI
plugin. The problem is that FrameLoader::receivedMainResourceError()
is called recursively because DocumentLoader::stopLoading() ends up
calling mainReceivedError() that calls FrameLoader::receivedMainResourceError()
again. DocumentLoader::stopLoading() checks if the document is
still loading, which can happen if the main resource is loading,
if there's any subresource loading or if there's a plugin
loading. So, in case of being loading, those cases are handled
individually to cancel the main resource, or set an error in the
document loader and cancel subresources and plugins, except for
this case of plugins, that mainReceivedError is called instead of
setting cancelled error on the document loader.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::stopLoading): If the document is still
loading because there are active plugins, set the cancelled error
on the document instead of calling mainReceivedError again.

11:00 PM Changeset in webkit [185642] by Carlos Garcia Campos
  • 4 edits in trunk/Source

[GTK] Inhibit screen saver when playing full screen video
https://bugs.webkit.org/show_bug.cgi?id=145795

Reviewed by Gustavo Noronha Silva.

Source/WebCore/platform/gtk/po:

  • POTFILES.in: Add WebKitWebViewBase.cpp.

Source/WebKit2:

Use Freedesktop.org DBus API to inhibit/unhinibit the screen saver
when entering/leaving fullscreen.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(screenSaverInhibitedCallback):
(webkitWebViewBaseSendInhibitMessageToScreenSaver):
(screenSaverProxyCreatedCallback):
(webkitWebViewBaseInhibitScreenSaver):
(webkitWebViewBaseUninhibitScreenSaver):
(webkitWebViewBaseEnterFullScreen):
(webkitWebViewBaseExitFullScreen):

11:00 PM Changeset in webkit [185641] by calvaris@igalia.com
  • 8 edits in trunk

[Streams API] Implement ReadableStream locked property
https://bugs.webkit.org/show_bug.cgi?id=146023

Reviewed by Darin Adler.

Source/WebCore:

Covered by rebased tests.

  • Modules/streams/ReadableStream.h:

(WebCore::ReadableStream::locked): Renamed isLocked by locked.

  • Modules/streams/ReadableStream.idl: Adding locked.
  • bindings/js/JSReadableStreamCustom.cpp:

(WebCore::JSReadableStream::getReader): Using isLocked.

  • bindings/js/JSReadableStreamReaderCustom.cpp:

(WebCore::constructJSReadableStreamReader): Using isLocked.

LayoutTests:

Rebasing tests.

  • streams/reference-implementation/readable-stream-expected.txt:
  • streams/reference-implementation/readable-stream-templated-expected.txt:
10:31 PM Changeset in webkit [185640] by fpizlo@apple.com
  • 6 edits
    21 adds in trunk

FTL should eliminate array bounds checks in loops
https://bugs.webkit.org/show_bug.cgi?id=145768

Reviewed by Benjamin Poulain.
Source/JavaScriptCore:


This adds a phase that does forward propagation of integer inequalities. This allows us
to do the algebraic reasoning we need to eliminate array bounds checks in loops. It
also eliminates overflow checks on ArithAdd with a constant.

The phase's analysis produces results that are powerful enough to do speculative bounds
check hoisting, but this phase currently only does elimination. We can implement
hoisting later.

On programs that just loop over an array like:

for (var i = 0; i < array.length; ++i)

thingy += array[i]


This change is a 60% speed-up.

This is also a ~3% speed-up on Kraken, and it shows various speed-ups on individual
tests in Octane.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGIntegerRangeOptimizationPhase.cpp: Added.

(JSC::DFG::performIntegerRangeOptimization):

  • dfg/DFGIntegerRangeOptimizationPhase.h: Added.
  • dfg/DFGPlan.cpp:

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

  • tests/stress/add-overflows-after-not-equal.js: Added.
  • tests/stress/no-abc-skippy-loop.js: Added.
  • tests/stress/no-abc-skippy-paired-loop.js: Added.
  • tests/stress/sub-overflows-after-not-equal.js: Added.

LayoutTests:

  • js/regress/abc-forward-loop-equal-expected.txt: Added.
  • js/regress/abc-forward-loop-equal.html: Added.
  • js/regress/abc-postfix-backward-loop-expected.txt: Added.
  • js/regress/abc-postfix-backward-loop.html: Added.
  • js/regress/abc-skippy-loop-expected.txt: Added.
  • js/regress/abc-skippy-loop.html: Added.
  • js/regress/abc-simple-backward-loop-expected.txt: Added.
  • js/regress/abc-simple-backward-loop.html: Added.
  • js/regress/abc-simple-forward-loop-expected.txt: Added.
  • js/regress/abc-simple-forward-loop.html: Added.
  • js/regress/script-tests/abc-forward-loop-equal.js: Added.
  • js/regress/script-tests/abc-postfix-backward-loop.js: Added.
  • js/regress/script-tests/abc-skippy-loop.js: Added.
  • js/regress/script-tests/abc-simple-backward-loop.js: Added.
  • js/regress/script-tests/abc-simple-forward-loop.js: Added.
10:18 PM Changeset in webkit [185639] by akling@apple.com
  • 5 edits in trunk/Source

Remove unused template parameter InlineCapacity from SegmentedVector.
<https://webkit.org/b/146044>

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

  • bytecode/ArrayProfile.h:
  • dfg/DFGCommonData.h:

Source/WTF:

  • wtf/SegmentedVector.h:

(WTF::SegmentedVectorIterator::operator=):
(WTF::SegmentedVectorIterator::SegmentedVectorIterator):
(WTF::SegmentedVector::at):

10:11 PM Changeset in webkit [185638] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebInspectorUI

Web Inspector: Inspector Scripts evaluated in the page should not be searchable
https://bugs.webkit.org/show_bug.cgi?id=146040

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-06-16
Reviewed by Darin Adler.

Any script with a WebInspector source URL will be hidden by the tools.
There were a number of ways the inspector could evaluate script on the page
without getting the sourceURL and therefore not getting hidden. Audit
all cases of Runtime.evaluate, Runtime.callFunctionOn, and
Debugger.evaluateOnCallFrame, to ensure we have an appropriate source URL.

  • UserInterface/Base/Utilities.js:

(appendWebInspectorSourceURL):
Helper to append a WebInspectorInternal sourceURL to a string that may
be evaluated directly on the inspected context.

  • UserInterface/Controllers/DOMTreeManager.js:

(WebInspector.DOMTreeManager.domNodeResolved):

  • UserInterface/Controllers/JavaScriptLogViewController.js:

(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted): Deleted.

  • UserInterface/Controllers/RuntimeManager.js:
  • UserInterface/Models/DOMTree.js:

(WebInspector.DOMTree.prototype._requestRootDOMNode):

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject.):

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptExpression):
Ensure all cases that evaluate directly on the inspected page / context
have the intenral source URL.

8:33 PM Changeset in webkit [185637] by Gyuyoung Kim
  • 65 edits in trunk/Source/WebKit2

Purge PassRefPtr with Ref or RefPtr
https://bugs.webkit.org/show_bug.cgi?id=146001

Reviewed by Darin Adler.

As step to remove PassRefPtr, this patch reduces use of PassRefPtr in WebKit2.
If function can't return nullptr, PassRefPtr is changed with Ref. If not, the function
returns RefPtr.

  • DatabaseProcess/DatabaseToWebProcessConnection.cpp:

(WebKit::DatabaseToWebProcessConnection::create):

  • DatabaseProcess/DatabaseToWebProcessConnection.h:
  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.h:

(WebKit::DatabaseProcessIDBConnection::create):

  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:

(WebKit::UniqueIDBDatabase::create):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::create):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/RemoteNetworkingContext.h:
  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::create):

  • PluginProcess/WebProcessConnection.h:
  • Shared/API/APINumber.h:

(API::Number::create):

  • Shared/API/APISecurityOrigin.h:

(API::SecurityOrigin::createFromString):
(API::SecurityOrigin::create):

  • Shared/API/APISerializedScriptValue.h:

(API::SerializedScriptValue::create):
(API::SerializedScriptValue::adopt):

  • Shared/APIWebArchive.h:
  • Shared/APIWebArchive.mm:

(API::WebArchive::create):

  • Shared/APIWebArchiveResource.h:
  • Shared/APIWebArchiveResource.mm:

(API::WebArchiveResource::create):

  • Shared/AsyncRequest.h:
  • UIProcess/API/efl/ewk_url_request_private.h:

(EwkUrlRequest::create):

  • UIProcess/API/efl/ewk_url_response_private.h:

(EwkUrlResponse::create):

  • UIProcess/API/efl/ewk_url_scheme_request_private.h:

(EwkUrlSchemeRequest::create):

  • UIProcess/API/efl/ewk_window_features_private.h:

(EwkWindowFeatures::create):

  • UIProcess/API/efl/tests/test_ewk2_object.cpp:

(TestEwkObject1::create):
(TestEwkObject2::create):

  • UIProcess/API/gtk/WebKitBatteryProvider.cpp:

(WebKitBatteryProvider::create):

  • UIProcess/API/gtk/WebKitBatteryProvider.h:
  • UIProcess/API/gtk/WebKitColorChooser.cpp:

(WebKit::WebKitColorChooser::create):

  • UIProcess/API/gtk/WebKitGeolocationProvider.cpp:

(WebKitGeolocationProvider::create):

  • UIProcess/API/gtk/WebKitNotificationProvider.cpp:

(WebKitNotificationProvider::create):

  • UIProcess/API/gtk/WebKitNotificationProvider.h:
  • UIProcess/GeolocationPermissionRequestProxy.h:

(WebKit::GeolocationPermissionRequestProxy::create):

  • UIProcess/InspectorServer/HTTPRequest.h:

(WebKit::HTTPRequest::create):

  • UIProcess/Network/CustomProtocols/soup/WebSoupCustomProtocolRequestManager.cpp:

(WebKit::WebSoupCustomProtocolRequestManager::create):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::create):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Notifications/NotificationPermissionRequest.cpp:

(WebKit::NotificationPermissionRequest::create):

  • UIProcess/Notifications/NotificationPermissionRequest.h:
  • UIProcess/Notifications/WebNotification.h:

(WebKit::WebNotification::create):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::scriptValueCallback):

  • UIProcess/WebVibrationProxy.cpp:

(WebKit::WebVibrationProxy::create):

  • UIProcess/WebVibrationProxy.h:
  • UIProcess/WebViewportAttributes.h:

(WebKit::WebViewportAttributes::create):

  • UIProcess/WebsiteData/WebsiteDataStore.cpp:

(WebKit::WebsiteDataStore::createNonPersistent):
(WebKit::WebsiteDataStore::create):

  • UIProcess/WebsiteData/WebsiteDataStore.h:
  • UIProcess/gtk/WebColorPickerGtk.cpp:

(WebKit::WebColorPickerGtk::create):

  • UIProcess/gtk/WebColorPickerGtk.h:
  • UIProcess/gtk/WebContextMenuProxyGtk.h:

(WebKit::WebContextMenuProxyGtk::create):

  • UIProcess/gtk/WebPopupMenuProxyGtk.h:

(WebKit::WebPopupMenuProxyGtk::create):

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

(WebKit::ViewSnapshot::create):

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

(WebKit::WebColorPickerMac::create):

  • UIProcess/mac/WebContextMenuProxyMac.h:

(WebKit::WebContextMenuProxyMac::create):

  • UIProcess/mac/WebPopupMenuProxyMac.h:

(WebKit::WebPopupMenuProxyMac::create):

  • WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:
  • WebProcess/Databases/WebToDatabaseProcessConnection.h:

(WebKit::WebToDatabaseProcessConnection::create):

  • WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::WebFullScreenManager::create):

  • WebProcess/FullScreen/WebFullScreenManager.h:
  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:

(WebKit::InjectedBundleRangeHandle::create):

  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
  • WebProcess/InjectedBundle/InjectedBundleBackForwardList.h:

(WebKit::InjectedBundleBackForwardList::create):

8:30 PM Changeset in webkit [185636] by commit-queue@webkit.org
  • 11 edits
    2 moves
    1 add in trunk/Source/WebKit

[Win] Implement WebViewGroup to support WebView::addxxxToGroup().
https://bugs.webkit.org/show_bug.cgi?id=145908

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-06-16
Reviewed by Brent Fulgham.

Make WebViewGroup class sharing on Mac and Win port.

Source/WebKit:

  • WebCoreSupport: Added.
  • WebCoreSupport/WebViewGroup.cpp: Copied from Source/WebKit/mac/WebCoreSupport/WebViewGroup.mm.
  • WebCoreSupport/WebViewGroup.h: Copied from Source/WebKit/mac/WebCoreSupport/WebViewGroup.h.
  • WebKit.vcxproj/WebKit/WebKit.vcxproj:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:
  • WebKit.vcxproj/WebKit/WebKitCommon.props:
  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

  • WebCoreSupport/WebViewGroup.h: Removed.
  • WebCoreSupport/WebViewGroup.mm: Removed.

Source/WebKit/win:

  • WebCoreSupport/WebVisitedLinkStore.cpp:

(visitedLinkStores):
(WebVisitedLinkStore::create):
(WebVisitedLinkStore::WebVisitedLinkStore):
(WebVisitedLinkStore::~WebVisitedLinkStore):
(WebVisitedLinkStore::setShouldTrackVisitedLinks):
(WebVisitedLinkStore::removeAllVisitedLinks):
(WebVisitedLinkStore::singleton): Deleted.

  • WebCoreSupport/WebVisitedLinkStore.h:
  • WebView.cpp:

(WebView::~WebView):
(WebView::initWithFrame):
(WebView::setGroupName):
(WebView::addVisitedLinks):

  • WebView.h:
7:54 PM Changeset in webkit [185635] by Gyuyoung Kim
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed, EFL gardening on 17th June.

Follow up gardening since using xvfb on EFL WTR. Unskip passing tests,
mark new crash and failure tests.

  • platform/efl/TestExpectations:
7:18 PM Changeset in webkit [185634] by clopez@igalia.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix after r185615.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkit_web_context_clear_cache): Comment the call to the code
removed and write down the bugzilla link for reimplementation.

7:00 PM Changeset in webkit [185633] by ryuan.choi@navercorp.com
  • 2 edits in trunk

[EFL] Remove duplicated PUBLIC argument in OptionsEfl.cmake
https://bugs.webkit.org/show_bug.cgi?id=146035

Reviewed by Gyuyoung Kim.

  • Source/cmake/OptionsEfl.cmake:
6:26 PM Changeset in webkit [185632] by mmaxfield@apple.com
  • 4 edits
    2 adds in trunk

Source/WebCore:
REGRESSION(r184899): [Cocoa] font-variant: small-caps is not honored with web fonts
https://bugs.webkit.org/show_bug.cgi?id=145873
<rdar://problem/21314282>

Reviewed by Dean Jackson.

When font-variant: small-caps is applied, we create a smaller version of the original font
and draw capital characters in that smaller font. CGFontRefs do not have an intrinsic size,
and web fonts historically only had a CGFontRef, which means that there was no need to
convert the CGFontRef to be smaller (as opposed to regular fonts, which had a CTFontRef and
therefore needed the conversion). Instead, we just changed m_size, which represents
the size that the text should be drawn in.

However, r184899 gave CTFontRefs to web fonts. This means that now the FontPlatformData's
m_size variable disagreed with the CTFontRef member. The solution here is to unify the web
font and regular font codepaths, and treat them the same throughout.

Note that this patch removes the last use of the m_isCustomFont variable. As soon as we
entirely migrate to CORETEXT_WEB_FONTS, we should delete this variable.

Test: fast/text/small-caps-web-font.html

  • platform/graphics/cocoa/FontCocoa.mm:

(WebCore::Font::platformCreateScaledFont): Treat web fonts the same as regular fonts.

  • platform/text/TextFlags.h: Add a comment regarding teh deletion of m_isCustomFont.

LayoutTests:
font-variant: small-caps is not honored with web fonts
https://bugs.webkit.org/show_bug.cgi?id=145873
<rdar://problem/21314282>

Reviewed by Dean Jackson.

  • fast/text/small-caps-web-font-expected.html: Added.
  • fast/text/small-caps-web-font.html: Added.
6:06 PM Changeset in webkit [185631] by andersca@apple.com
  • 10 edits in trunk/Source/WebKit2

Get rid of performAPICallbackWithSecurityOriginDataVector
https://bugs.webkit.org/show_bug.cgi?id=146039

Reviewed by Andreas Kling.

Get rid of performAPICallbackWithSecurityOriginDataVector since it's now no longer used
and add a bunch of includes to make up for SecurityOriginData.h no longer including GenericCallback.h.

  • DatabaseProcess/DatabaseProcess.cpp:
  • DatabaseProcess/DatabaseProcess.h:
  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:
  • DatabaseProcess/IndexedDB/UniqueIDBDatabase.h:
  • Shared/SecurityOriginData.cpp:

(WebKit::performAPICallbackWithSecurityOriginDataVector): Deleted.

  • Shared/SecurityOriginData.h:
  • Shared/WebsiteData/WebsiteData.cpp:
  • WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp:
  • WebProcess/MediaCache/WebMediaKeyStorageManager.cpp:
5:59 PM Changeset in webkit [185630] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.35.2.1

New tag.

5:33 PM Changeset in webkit [185629] by Matt Baker
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION (r171645): up/down key navigation of timeline sidebar tree elements is broken when scope bar filters are applied
https://bugs.webkit.org/show_bug.cgi?id=142315

Reviewed by Timothy Hatcher.

TreeOutline's element traversal algorithms have been rewritten to correctly skip over unrevealed tree elements.
Previously traversal would halt after encountering a hidden element. We now use an iterative approach, with
each iteration producing the next (or previous) element, with respect to the last candidate element. Iteration
begins with the current node, and halts once a valid element is found or candidate elements are exhausted.

  • UserInterface/Views/TreeOutline.js:

(WebInspector.TreeElement.prototype.traverseNextTreeElement.shouldSkip):
(WebInspector.TreeElement.prototype.traverseNextTreeElement):
(WebInspector.TreeElement.prototype.traversePreviousTreeElement.shouldSkip):
(WebInspector.TreeElement.prototype.traversePreviousTreeElement):

5:12 PM Changeset in webkit [185628] by ryuan.choi@navercorp.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix attempt on CMake based port after r185623.

  • CMakeLists.txt:
5:06 PM Changeset in webkit [185627] by msaboff@apple.com
  • 3 edits
    3 adds in trunk

Inlining in the DFG trashes ByteCodeParser::m_currentInstruction for the calling function
https://bugs.webkit.org/show_bug.cgi?id=146029

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Save and restore m_currentInstruction around call to ByteCodeParser::inlineCall() as it will
use m_currentInstruction during its own parsing. This happens because inlineCall() parses the
inlined callee's bytecodes by calling parseCodeBlock() which calls parseBlock() on each block.
It is in parseBlock() that we set m_currentInstruction to an instruction before we parse it.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::attemptToInlineCall):
(JSC::DFG::ByteCodeParser::parseBlock): Added an ASSERT to catch this issue.

LayoutTests:

New regression test.

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

(myPush):
(myPop):
(foo):
(test):

4:43 PM Changeset in webkit [185626] by ap@apple.com
  • 2 edits in branches/safari-600.7-branch/LayoutTests

Add expectations for a couple flaky tests:

  • fast/canvas/image-potential-subsample.html
  • platform/mac/fast/text/vertical-no-sideways.html
  • platform/mac/TestExpectations:
4:30 PM Changeset in webkit [185625] by andersca@apple.com
  • 7 edits
    1 delete in trunk/Source/WebKit2

Move LocalStorageDetails into the local storage database tracker
https://bugs.webkit.org/show_bug.cgi?id=146034

Reviewed by Andreas Kling.

  • UIProcess/API/C/WKKeyValueStorageManager.cpp:

(WKKeyValueStorageManagerGetStorageDetailsByOrigin):
(WKKeyValueStorageManagerDeleteAllEntries):

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

(WebKit::LocalStorageDatabaseTracker::originDetails):
(WebKit::LocalStorageDatabaseTracker::details): Deleted.

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

(WebKit::StorageManager::getLocalStorageOriginDetails):
(WebKit::StorageManager::getLocalStorageDetailsByOrigin): Deleted.
(WebKit::StorageManager::deleteAllLocalStorageEntries): Deleted.

  • UIProcess/Storage/StorageManager.h:
  • WebKit2.xcodeproj/project.pbxproj:
3:56 PM Changeset in webkit [185624] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Removed the WebKit2SandboxProfiles target.

Rubber-stamped by Anders Carlsson.

WebKit2SandboxProfiles was just an alias for the Sandbox Profiles target, and it’s not
needed anymore.

  • WebKit2.xcodeproj/project.pbxproj:
3:53 PM Changeset in webkit [185623] by andersca@apple.com
  • 6 edits
    2 deletes in trunk/Source/WebKit2

Fold WebKeyValueStorageManager into WKKeyValueStorageManager
https://bugs.webkit.org/show_bug.cgi?id=146030

Reviewed by Andreas Kling.

  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKContext.cpp:

(WKContextGetKeyValueStorageManager):

  • UIProcess/API/C/WKKeyValueStorageManager.cpp:

(WKKeyValueStorageManagerGetTypeID):
(WKKeyValueStorageManagerGetOriginKey):
(WKKeyValueStorageManagerGetCreationTimeKey):
(WKKeyValueStorageManagerGetModificationTimeKey):
(WKKeyValueStorageManagerGetKeyValueStorageOrigins):
(WKKeyValueStorageManagerGetStorageDetailsByOrigin):
(WKKeyValueStorageManagerDeleteEntriesForOrigin):
(WKKeyValueStorageManagerDeleteAllEntries):

  • UIProcess/WebKeyValueStorageManager.cpp: Removed.

(WebKit::WebKeyValueStorageManager::supplementName): Deleted.
(WebKit::WebKeyValueStorageManager::originKey): Deleted.
(WebKit::WebKeyValueStorageManager::creationTimeKey): Deleted.
(WebKit::WebKeyValueStorageManager::modificationTimeKey): Deleted.
(WebKit::WebKeyValueStorageManager::create): Deleted.
(WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager): Deleted.
(WebKit::WebKeyValueStorageManager::~WebKeyValueStorageManager): Deleted.
(WebKit::WebKeyValueStorageManager::refWebContextSupplement): Deleted.
(WebKit::WebKeyValueStorageManager::derefWebContextSupplement): Deleted.
(WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins): Deleted.
(WebKit::WebKeyValueStorageManager::getStorageDetailsByOrigin): Deleted.
(WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin): Deleted.
(WebKit::WebKeyValueStorageManager::deleteAllEntries): Deleted.

  • UIProcess/WebKeyValueStorageManager.h: Removed.
  • UIProcess/WebProcessPool.cpp:
  • WebKit2.xcodeproj/project.pbxproj:
3:39 PM Changeset in webkit [185622] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit2

CMake build fix after r185615.

  • CMakeLists.txt:

Remove WebResourceCacheManager from CMake build system.

3:29 PM Changeset in webkit [185621] by commit-queue@webkit.org
  • 9 edits in trunk/Source

[Content Extensions] Implement branch compaction for DFA bytecode.
https://bugs.webkit.org/show_bug.cgi?id=145619

Patch by Alex Christensen <achristensen@webkit.org> on 2015-06-16
Reviewed by Benjamin Poulain.

Source/WebCore:

This patch adds another pass to the DFABytecodeCompiler which finds where the bytecode from each node
would be if it were compiled with no branch compaction, then uses that as a worst-case value to determine
how many bytes are needed to store the relative jump distance. Then when linking, it will fill in the
value as it already did, but with a variable size jump. The jumps are also now signed distances relative to
where the jump is stored.

This patch is covered by existing tests, which have many jumps that are near the -128/127 byte boundary,
and the switch from 16-bit jumps to 32-bit jumps near the -65536/65535 byte boundary is analogous.

  • contentextensions/ContentExtensionCompiler.cpp:

(WebCore::ContentExtensions::compileRuleList):

  • contentextensions/DFABytecode.h:

(WebCore::ContentExtensions::smallestPossibleJumpSize):
(WebCore::ContentExtensions::instructionSizeWithArguments):

  • contentextensions/DFABytecodeCompiler.cpp:

(WebCore::ContentExtensions::append):
(WebCore::ContentExtensions::appendZeroes):
(WebCore::ContentExtensions::setBits):
(WebCore::ContentExtensions::appendActionBytecodeSize):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitAppendAction):
(WebCore::ContentExtensions::DFABytecodeCompiler::longestPossibleJump):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitJump):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitCheckValue):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitCheckValueRange):
(WebCore::ContentExtensions::DFABytecodeCompiler::emitTerminate):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileNode):
(WebCore::ContentExtensions::DFABytecodeCompiler::compiledNodeMaxBytecodeSize):
(WebCore::ContentExtensions::DFABytecodeCompiler::ranges):
(WebCore::ContentExtensions::DFABytecodeCompiler::checkForRangeMaxBytecodeSize):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileCheckForRange):
(WebCore::ContentExtensions::DFABytecodeCompiler::nodeTransitionsMaxBytecodeSize):
(WebCore::ContentExtensions::DFABytecodeCompiler::compileNodeTransitions):
(WebCore::ContentExtensions::DFABytecodeCompiler::compile):
(WebCore::ContentExtensions::set32Bits): Deleted.

  • contentextensions/DFABytecodeCompiler.h:
  • contentextensions/DFABytecodeInterpreter.cpp:

(WebCore::ContentExtensions::getBits):
(WebCore::ContentExtensions::getInstruction):
(WebCore::ContentExtensions::jumpSizeInBytes):
(WebCore::ContentExtensions::getJumpSize):
(WebCore::ContentExtensions::getJumpDistance):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpretAppendAction):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpretTestFlagsAndAppendAction):
(WebCore::ContentExtensions::DFABytecodeInterpreter::actionsForDefaultStylesheetFromDFARoot):
(WebCore::ContentExtensions::DFABytecodeInterpreter::interpret):

  • loader/ResourceLoadInfo.h:

Source/WebKit2:

  • UIProcess/API/APIUserContentExtensionStore.h:

Increment version number to reflect changes to bytecode.

3:18 PM Changeset in webkit [185620] by clopez@igalia.com
  • 5 edits in trunk

[GTK] [Wayland] Should be possible to build with support for both X11 and Wayland.
https://bugs.webkit.org/show_bug.cgi?id=145701

Reviewed by Darin Adler.

.:

  • Source/cmake/OptionsGTK.cmake: Remove conflicting options.

Source/WebCore:

No new tests, no behavior changes.

When building both targets, we have to include the wayland-egl
headers in order to build the Wayland target. This causes that
EGLNativePixmapType and EGLNativeWindowType get defined as
different types than when building only the X11 target.

By type casting them to the ones that are expected, we are able
to build both targets at the same time.

I have done tests (building each target alone as also both targets
at the same time), and everything seems to works as expected.

Once built for both targets, if you try to launch the MiniBrowser
from inside a Wayland compositor (Weston on top of X for example),
it will trigger the X11 target if the DISPLAY environment variable
is set and the environment variable GDK_BACKEND is not set to wayland,
otherwise it will trigger the Wayland target.

  • platform/graphics/GLContext.cpp:

(WebCore::GLContext::createContextForWindow): Add type casts. We have
to consider here two different type casts depending on the type of
GLNativeWindowType to avoid a build failure on 32-bits platforms.
The static_cast one was already beeing done as an implicit cast
(from uint64_t to XID), the reinterpret_cast is the new one that
we need to do only when building on both platforms.

  • platform/graphics/egl/GLContextEGL.cpp: Add missing include when

building both targets that is required for defining DefaultRootWindow().
(WebCore::GLContextEGL::createPixmapContext): Add type cast.

3:17 PM Changeset in webkit [185619] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.35.2/Source/WebKit2

Merged r185599. rdar://problem/17357002

3:13 PM Changeset in webkit [185618] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Unreviewed, roll out unintended JSC change from https://trac.webkit.org/changeset/185425.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::hasExitSite):
(JSC::CodeBlock::exitProfile):
(JSC::CodeBlock::numberOfExitSites): Deleted.

  • bytecode/DFGExitProfile.cpp:

(JSC::DFG::ExitProfile::add):

  • bytecode/DFGExitProfile.h:

(JSC::DFG::ExitProfile::hasExitSite):
(JSC::DFG::ExitProfile::size): Deleted.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::inliningCost):

  • runtime/Options.h:
3:08 PM Changeset in webkit [185617] by Brent Fulgham
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed test update: Add multiple scroll-snap-coordinate test.
https://bugs.webkit.org/show_bug.cgi?id=145843

Add a test that confirms that we properly understand scroll-snap-coordinate
declarations with sets of points on a single element.

  • css3/scroll-snap/scroll-snap-coordinate.html: Added.
  • css3/scroll-snap/scroll-snap-coordinate-expected.txt: Added.
3:06 PM Changeset in webkit [185616] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Tweak results for fast/canvas/canvas-too-large-to-draw.html

  • platform/mac/TestExpectations:
2:55 PM Changeset in webkit [185615] by andersca@apple.com
  • 7 edits
    4 deletes in trunk/Source/WebKit2

WebResourceCacheManager is unused, get rid of it
https://bugs.webkit.org/show_bug.cgi?id=146027

Reviewed by Sam Weinig.

  • DerivedSources.make:
  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKContext.cpp:
  • UIProcess/WebProcessPool.cpp:
  • UIProcess/WebResourceCacheManagerProxy.cpp: Removed.

(WebKit::WebResourceCacheManagerProxy::supplementName): Deleted.
(WebKit::WebResourceCacheManagerProxy::create): Deleted.
(WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy): Deleted.
(WebKit::WebResourceCacheManagerProxy::~WebResourceCacheManagerProxy): Deleted.
(WebKit::WebResourceCacheManagerProxy::processPoolDestroyed): Deleted.
(WebKit::WebResourceCacheManagerProxy::processDidClose): Deleted.
(WebKit::WebResourceCacheManagerProxy::shouldTerminate): Deleted.
(WebKit::WebResourceCacheManagerProxy::refWebContextSupplement): Deleted.
(WebKit::WebResourceCacheManagerProxy::derefWebContextSupplement): Deleted.
(WebKit::WebResourceCacheManagerProxy::getCacheOrigins): Deleted.
(WebKit::WebResourceCacheManagerProxy::didGetCacheOrigins): Deleted.
(WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin): Deleted.
(WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins): Deleted.

  • UIProcess/WebResourceCacheManagerProxy.h: Removed.
  • UIProcess/WebResourceCacheManagerProxy.messages.in: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/ResourceCache/WebResourceCacheManager.cpp: Removed.

(WebKit::WebResourceCacheManager::supplementName): Deleted.
(WebKit::WebResourceCacheManager::WebResourceCacheManager): Deleted.
(WebKit::WebResourceCacheManager::getCacheOrigins): Deleted.
(WebKit::WebResourceCacheManager::returnCacheOrigins): Deleted.
(WebKit::WebResourceCacheManager::clearCacheForOrigin): Deleted.
(WebKit::WebResourceCacheManager::clearCacheForAllOrigins): Deleted.

  • WebProcess/ResourceCache/WebResourceCacheManager.h: Removed.
  • WebProcess/ResourceCache/WebResourceCacheManager.messages.in: Removed.
  • WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.mm: Removed.

(WebKit::partitionName): Deleted.
(WebKit::WebResourceCacheManager::cfURLCacheHostNamesWithCallback): Deleted.
(WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames): Deleted.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess): Deleted.

2:40 PM Changeset in webkit [185614] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.35.2/Source

Versioning.

2:39 PM Changeset in webkit [185613] by jhoneycutt@apple.com
  • 3 edits
    1 add in trunk

[iOS] Crash long pressing on <input type=file>
https://bugs.webkit.org/show_bug.cgi?id=146009
<rdar://problem/21234453>

Reviewed by Ryosuke Niwa.

.:

  • ManualTests/ios/long-press-input-type-file-crash.html: Added.

Source/WebCore:

  • dom/Position.cpp:

(WebCore::Position::atStartOfTree):
(WebCore::Position::atEndOfTree):
Null check the container node before passing it to findParent().

2:21 PM Changeset in webkit [185612] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.35.2

New tag.

2:21 PM Changeset in webkit [185611] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Skip the new test, fast/canvas/canvas-too-large-to-draw.html

  • platform/mac/TestExpectations:
2:11 PM Changeset in webkit [185610] by Brent Fulgham
  • 2 edits in trunk

Rollout accidental Xcode project change.

  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme:
1:58 PM Changeset in webkit [185609] by Chris Fleizach
  • 73 edits
    1 copy in trunk

AX: iOS accessibility tests are not running because we need WKTR support
https://bugs.webkit.org/show_bug.cgi?id=145991

Reviewed by Daniel Bates.

Source/WebCore:

Make some minor modifications to support notification handling in WKTR.

  • accessibility/ios/AXObjectCacheIOS.mm:

(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityClickPoint]):
(-[WebAccessibilityObjectWrapper description]):
(-[WebAccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:withContext:]): Deleted.
(-[WebAccessibilityObjectWrapper accessibilityPostedNotification:]): Deleted.

Tools:

Add support for WKTR iOS accessibility.
Utilize the notification handling mechanisms that Mac already uses.
Rename iphone* DRT methods to either use existing methods that are similar, or rename to more generic names.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(stringForSelectionCallback):
(getIdentifierCallback):
(getTraitsCallback):
(getElementTextPositionCallback):
(getElementTextLengthCallback):
(AccessibilityUIElement::getJSClass):
(getIPhoneLabelCallback): Deleted.
(getIPhoneHintCallback): Deleted.
(getIPhoneValueCallback): Deleted.
(getIPhoneIdentifierCallback): Deleted.
(getIPhoneTraitsCallback): Deleted.
(getIPhoneIsElementCallback): Deleted.
(getIPhoneElementTextPositionCallback): Deleted.
(getIPhoneElementTextLengthCallback): Deleted.

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/ios/AccessibilityUIElementIOS.mm:

(AccessibilityUIElement::identifier):
(AccessibilityUIElement::traits):
(AccessibilityUIElement::elementTextPosition):
(AccessibilityUIElement::elementTextLength):
(AccessibilityUIElement::description):
(AccessibilityUIElement::orientation):
(AccessibilityUIElement::stringValue):
(AccessibilityUIElement::language):
(AccessibilityUIElement::helpText):
(AccessibilityUIElement::intValue):
(AccessibilityUIElement::isSelected):
(AccessibilityUIElement::isExpanded):
(AccessibilityUIElement::documentURI):
(AccessibilityUIElement::addNotificationListener):
(AccessibilityUIElement::removeNotificationListener):
(AccessibilityUIElement::isFocusable):
(AccessibilityUIElement::isIgnored):
(AccessibilityUIElement::hasPopup):
(AccessibilityUIElement::iphoneLabel): Deleted.
(AccessibilityUIElement::iphoneHint): Deleted.
(AccessibilityUIElement::iphoneValue): Deleted.
(AccessibilityUIElement::iphoneIdentifier): Deleted.
(AccessibilityUIElement::iphoneTraits): Deleted.
(AccessibilityUIElement::iphoneIsElement): Deleted.
(AccessibilityUIElement::iphoneElementTextPosition): Deleted.
(AccessibilityUIElement::iphoneElementTextLength): Deleted.
(_accessibilityNotificationCallback): Deleted.

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::isValid):
(WTR::AccessibilityUIElement::identifier):
(WTR::AccessibilityUIElement::traits):
(WTR::AccessibilityUIElement::elementTextPosition):
(WTR::AccessibilityUIElement::elementTextLength):
(WTR::AccessibilityUIElement::stringForSelection):
(WTR::AccessibilityUIElement::elementsForRange):
(WTR::AccessibilityUIElement::increaseTextSelection):
(WTR::AccessibilityUIElement::decreaseTextSelection):
(WTR::AccessibilityUIElement::linkedElement):
(WTR::AccessibilityUIElement::headerElementAtIndex):
(WTR::AccessibilityUIElement::assistiveTechnologySimulatedFocus):
(WTR::AccessibilityUIElement::characterAtOffset):

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/ios/AccessibilityControllerIOS.mm:

(WTR::findAccessibleObjectById):
(WTR::AccessibilityController::accessibleElementById):

  • WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:

(+[NSString stringWithJSStringRef:]):
(-[NSString createJSStringRef]):
(WTR::convertNSArrayToVector):
(WTR::concatenateAttributeAndValue):
(WTR::AccessibilityUIElement::AccessibilityUIElement):
(WTR::AccessibilityUIElement::isEqual):
(WTR::AccessibilityUIElement::headerElementAtIndex):
(WTR::AccessibilityUIElement::linkedElement):
(WTR::AccessibilityUIElement::getLinkedUIElements):
(WTR::AccessibilityUIElement::elementAtPoint):
(WTR::convertElementsToObjectArray):
(WTR::AccessibilityUIElement::elementsForRange):
(WTR::AccessibilityUIElement::indexOfChild):
(WTR::AccessibilityUIElement::stringAttributeValue):
(WTR::AccessibilityUIElement::description):
(WTR::AccessibilityUIElement::orientation):
(WTR::AccessibilityUIElement::stringValue):
(WTR::AccessibilityUIElement::language):
(WTR::AccessibilityUIElement::helpText):
(WTR::AccessibilityUIElement::x):
(WTR::AccessibilityUIElement::clickPointX):
(WTR::AccessibilityUIElement::clickPointY):
(WTR::AccessibilityUIElement::intValue):
(WTR::AccessibilityUIElement::minValue):
(WTR::AccessibilityUIElement::maxValue):
(WTR::AccessibilityUIElement::valueDescription):
(WTR::AccessibilityUIElement::isSelected):
(WTR::AccessibilityUIElement::isSelectedOptionActive):
(WTR::AccessibilityUIElement::stringForRange):
(WTR::AccessibilityUIElement::attributedStringForRange):
(WTR::AccessibilityUIElement::attributesOfHeader):
(WTR::AccessibilityUIElement::traits):
(WTR::AccessibilityUIElement::identifier):
(WTR::AccessibilityUIElement::rowCount):
(WTR::AccessibilityUIElement::rowIndexRange):
(WTR::AccessibilityUIElement::columnIndexRange):
(WTR::AccessibilityUIElement::cellForColumnAndRow):
(WTR::AccessibilityUIElement::horizontalScrollbar):
(WTR::AccessibilityUIElement::documentURI):
(WTR::AccessibilityUIElement::assistiveTechnologySimulatedFocus):
(WTR::AccessibilityUIElement::increaseTextSelection):
(WTR::AccessibilityUIElement::decreaseTextSelection):
(WTR::AccessibilityUIElement::stringForSelection):
(WTR::AccessibilityUIElement::elementTextPosition):
(WTR::AccessibilityUIElement::elementTextLength):
(WTR::AccessibilityUIElement::url):
(WTR::AccessibilityUIElement::addNotificationListener):
(WTR::AccessibilityUIElement::removeNotificationListener):
(WTR::AccessibilityUIElement::isFocusable):
(WTR::AccessibilityUIElement::isIgnored):
(WTR::AccessibilityUIElement::hasPopup):
(WTR::AccessibilityUIElement::mathPrescriptsDescription):
(WTR::_CGPathEnumerationIteration):
(WTR::AccessibilityUIElement::pathDescription):
(WTR::AccessibilityUIElement::supportedActions):

LayoutTests:

Alter tests so that it addresses:

1) Utilize the new AX methods which created new expectations.
2) There were some expectations checked in with failures that are now fixed.
3) Remove failing test expectations from TestExpectations.

  • platform/ios-simulator-wk1/TestExpectations:
  • platform/ios-simulator-wk2/TestExpectations:
  • platform/ios-simulator/TestExpectations:
  • platform/ios-simulator/accessibility: Replaced with LayoutTests/platform/ios-simulator/accessibility.
  • platform/ios-simulator/accessibility/accessibility-crash-in-axcontainer-expected.txt:
  • platform/ios-simulator/accessibility/accessibility-crash-in-axcontainer.html:
  • platform/ios-simulator/accessibility/accessibility-hint-expected.txt:
  • platform/ios-simulator/accessibility/accessibility-hint.html:
  • platform/ios-simulator/accessibility/aria-label-with-internal-text-expected.txt:
  • platform/ios-simulator/accessibility/aria-label-with-internal-text.html:
  • platform/ios-simulator/accessibility/disabled-states-expected.txt:
  • platform/ios-simulator/accessibility/disabled-states.html:
  • platform/ios-simulator/accessibility/dom-focus-fires-on-correct-element-expected.txt:
  • platform/ios-simulator/accessibility/dom-focus-fires-on-correct-element.html:
  • platform/ios-simulator/accessibility/file-upload-button-expected.txt:
  • platform/ios-simulator/accessibility/file-upload-button.html:
  • platform/ios-simulator/accessibility/focus-change-notifications.html:
  • platform/ios-simulator/accessibility/identifier-expected.txt:
  • platform/ios-simulator/accessibility/identifier.html:
  • platform/ios-simulator/accessibility/internal-link-expected.txt:
  • platform/ios-simulator/accessibility/internal-link.html:
  • platform/ios-simulator/accessibility/landmark-type-expected.txt:
  • platform/ios-simulator/accessibility/landmark-type.html:
  • platform/ios-simulator/accessibility/link-with-images-text-expected.txt:
  • platform/ios-simulator/accessibility/link-with-images-text.html:
  • platform/ios-simulator/accessibility/link-with-only-image-expected.txt:
  • platform/ios-simulator/accessibility/link-with-only-image.html:
  • platform/ios-simulator/accessibility/math-expected.txt:
  • platform/ios-simulator/accessibility/math.html:
  • platform/ios-simulator/accessibility/mixed-checkboxes-expected.txt:
  • platform/ios-simulator/accessibility/mixed-checkboxes.html:
  • platform/ios-simulator/accessibility/no-child-link-header.html:
  • platform/ios-simulator/accessibility/non-contiguous-link-expected.txt:
  • platform/ios-simulator/accessibility/non-contiguous-link.html:
  • platform/ios-simulator/accessibility/password-value-expected.txt:
  • platform/ios-simulator/accessibility/password-value.html:
  • platform/ios-simulator/accessibility/placeholder-value-expected.txt:
  • platform/ios-simulator/accessibility/placeholder-value.html:
  • platform/ios-simulator/accessibility/popup-button-value-label-expected.txt:
  • platform/ios-simulator/accessibility/popup-button-value-label.html:
  • platform/ios-simulator/accessibility/progressbar-expected.txt:
  • platform/ios-simulator/accessibility/progressbar.html:
  • platform/ios-simulator/accessibility/radio-button-expected.txt:
  • platform/ios-simulator/accessibility/radio-button.html:
  • platform/ios-simulator/accessibility/secure-text-field.html:
  • platform/ios-simulator/accessibility/selected-buttons-expected.txt:
  • platform/ios-simulator/accessibility/svg-group-element-with-title-expected.txt:
  • platform/ios-simulator/accessibility/svg-group-element-with-title.html:
  • platform/ios-simulator/accessibility/tab-role-expected.txt:
  • platform/ios-simulator/accessibility/tab-role.html:
  • platform/ios-simulator/accessibility/tables-lists-expected.txt:
  • platform/ios-simulator/accessibility/tables-lists.html:
  • platform/ios-simulator/accessibility/text-marker-list-item-expected.txt:
  • platform/ios-simulator/accessibility/text-marker-list-item.html:
  • platform/ios-simulator/accessibility/text-marker-validation.html:
  • platform/ios-simulator/accessibility/text-role-expected.txt:
  • platform/ios-simulator/accessibility/text-role.html:
  • platform/ios-simulator/accessibility/textfield-in-axvalue-expected.txt:
  • platform/ios-simulator/accessibility/textfield-in-axvalue.html:
  • platform/ios-simulator/accessibility/toggle-button.html:
  • platform/ios-simulator/accessibility/url-test.html:
1:51 PM Changeset in webkit [185608] by mark.lam@apple.com
  • 40 edits
    2 adds in trunk

Use NakedPtr<Exception>& to return exception results.
https://bugs.webkit.org/show_bug.cgi?id=145870

Reviewed by Anders Carlsson and Filip Pizlo.

Source/JavaScriptCore:

Before r185259, calls into the VM takes a JSValue* exception result argument for
returning any uncaught exception that may have been thrown while executing JS code.
As a result, clients of the VM functions will declare a local JSValue exception
result which is automatically initialized to a null value (i.e. the empty value,
not the JS null value).

With r185259, the VM functions were changed to take an Exception*& exception result
instead, and the VM functions are responsible for initializing the exception result
to null if no exception is thrown.

This introduces 2 issues:

  1. the VM functions are vulnerable to modifications that may add early returns before the exception result is nullified. This can result in the exception result being used without initialization.
  1. Previously, a client could technically use the same exception result for more than one calls into the VM functions. If an earlier call sets it to a thrown value, the thrown value will stick unless a subsequent call throws a different exception.

With the new Exception*& exception result, the VM functions will always clear
the exception result before proceeding. As a result, the client's exception
result will be null after the second call even though the first call saw an
exception thrown. This is a change in the expected behavior.

To fix these issues, we'll introduce a NakedPtr smart pointer whose sole purpose
is to guarantee that the pointer is initialized. The VM functions will now take
a NakedPtr<Exception>& instead of the Exception*&. This ensures that the
exception result is initialized.

The VM functions be also reverted to only set the exception result if a new
exception is thrown.

  • API/JSBase.cpp:

(JSEvaluateScript):

  • API/JSScriptRef.cpp:
  • bindings/ScriptFunctionCall.cpp:

(Deprecated::ScriptFunctionCall::call):

  • bindings/ScriptFunctionCall.h:
  • debugger/Debugger.cpp:

(JSC::Debugger::hasBreakpoint):

  • debugger/Debugger.h:
  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::thisValue):
(JSC::DebuggerCallFrame::evaluate):

  • debugger/DebuggerCallFrame.h:

(JSC::DebuggerCallFrame::isValid):

  • inspector/InjectedScriptManager.cpp:

(Inspector::InjectedScriptManager::createInjectedScript):

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

(Inspector::JSJavaScriptCallFrame::evaluate):

  • inspector/JavaScriptCallFrame.h:

(Inspector::JavaScriptCallFrame::vmEntryGlobalObject):
(Inspector::JavaScriptCallFrame::thisValue):
(Inspector::JavaScriptCallFrame::evaluate):

  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::evaluateBreakpointAction):

  • jsc.cpp:

(functionRun):
(functionLoad):
(runWithScripts):
(runInteractive):

  • runtime/CallData.cpp:

(JSC::call):

  • runtime/CallData.h:
  • runtime/Completion.cpp:

(JSC::checkSyntax):
(JSC::evaluate):

  • runtime/Completion.h:

(JSC::evaluate):

Source/WebCore:

No new WebCore tests because this functionality is already covered by existing tests.
API tests added for WTF::NakedPtr.

  • bindings/js/JSCallbackData.cpp:

(WebCore::JSCallbackData::invokeCallback):

  • bindings/js/JSCustomXPathNSResolver.cpp:

(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):

  • bindings/js/JSErrorHandler.cpp:

(WebCore::JSErrorHandler::handleEvent):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/JSMainThreadExecState.cpp:

(WebCore::JSMainThreadExecState::didLeaveScriptContext):
(WebCore::functionCallHandlerFromAnyThread):
(WebCore::evaluateHandlerFromAnyThread):

  • bindings/js/JSMainThreadExecState.h:

(WebCore::JSMainThreadExecState::currentState):
(WebCore::JSMainThreadExecState::call):
(WebCore::JSMainThreadExecState::evaluate):

  • bindings/js/JSMutationCallback.cpp:

(WebCore::JSMutationCallback::call):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::executeFunctionInContext):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::evaluateInWorld):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::setException):

  • bindings/js/WorkerScriptController.h:

(WebCore::WorkerScriptController::workerGlobalScopeWrapper):

  • bindings/objc/WebScriptObject.mm:

(-[WebScriptObject callWebScriptMethod:withArguments:]):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::importScripts):

Source/WTF:

Introducing the NakedPtr class.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/NakedPtr.h: Added.

(WTF::NakedPtr::NakedPtr):
(WTF::NakedPtr::get):
(WTF::NakedPtr::clear):
(WTF::NakedPtr::operator*):
(WTF::NakedPtr::operator->):
(WTF::NakedPtr::operator T*):
(WTF::NakedPtr::operator!):
(WTF::NakedPtr::operator bool):
(WTF::=):
(WTF::NakedPtr<T>::swap):
(WTF::swap):

Tools:

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj:
  • TestWebKitAPI/TestWebKitAPI.vcxproj/TestWebKitAPI.vcxproj.filters:
  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/NakedPtr.cpp: Added.

(TestWebKitAPI::TEST):
(TestWebKitAPI::nakedPtrFoo):

1:50 PM Changeset in webkit [185607] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit2

CMake build fix after r185601.

  • CMakeLists.txt:

Remove application cache manager classes.

1:44 PM Changeset in webkit [185606] by Brent Fulgham
  • 10 edits
    2 adds in trunk

CSS Scroll Snap - support snapping to nested elements
https://bugs.webkit.org/show_bug.cgi?id=145843
<rdar://problem/21339581>

Reviewed by Darin Adler.

Source/WebCore:

Tested by css3/scroll-snap/nested-elements.html

The Scroll Snap Point implementation was not properly handling nested elements.
This could be resolved by recursively calling 'appendChildSnapOffsets', but this
seemed like an inefficient approach, especially considering how often this method
is called during various scaling and other operations.

Instead, do the following:
(1) Add a new HashSet to RenderView that holds a collection of RenderElements that

have scroll-snap-coordinates.

(2) During RenderElement::styleWillChange, register all elements that have the

scroll-snap-coordinates style with the RenderView.

(3) When performing 'appendChildSnapOffsets', refer to the HashSet of elements, select the

subset of these entries relevant to the current scrolling container, and build up the
set of scroll-snap-coordinates needed for the current scrolling container.

  • page/scrolling/AxisScrollSnapOffsets.cpp:

(WebCore::appendChildSnapOffsets): Check the scroll-snap-coordinate RenderElement HashSet
for the RenderView to find all elements that are children of the current scrolling container.
Add the scroll-snap-coordinates for these RenderElements to the current set of snap points.

  • rendering/RenderElement.cpp:

(WebCore::findEnclosingScrollableContainer): New helper function.
(WebCore::RenderElement::styleWillChange): If the current element has scroll-snap-coordinate
defined, remember it for later so we can use it with the relevant scrolling container
after layout completes.
(WebCore::RenderElement::willBeRemovedFromTree): Unregister the current element from the
RenderView.
(WebCore::RenderElement::findEnclosingScrollableContainer): Added. Locate the relevant
scrolling container for the current object.

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

(WebCore::Document::registerRenderElementWithScrollSnapCoordinates): Added.
(WebCore::Document::unregisterRenderElementWithScrollSnapCoordinates): Added.

  • rendering/RenderView.h:

LayoutTests:

  • css3/scroll-snap/nested-elements-expected.txt: Added.
  • css3/scroll-snap/nested-elements.html: Added.
  • css3/scroll-snap/scroll-snap-offsets-expected.txt: Updated to account for 50%/50% scroll-snap-coordinates.
1:27 PM Changeset in webkit [185605] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Stop calling into WebResourceCacheManager
https://bugs.webkit.org/show_bug.cgi?id=146026

Reviewed by Andreas Kling.

Copy the cache clearing code into NetworkProcessCocoa in preparation of getting rid of
the WebResourceCacheManager code.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::fetchDiskCacheEntries):
(WebKit::clearDiskCacheEntries):
(WebKit::cfURLCacheOrigins): Deleted.

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::partitionName):
(WebKit::NetworkProcess::cfURLCacheOrigins):
(WebKit::NetworkProcess::clearCFURLCacheForOrigins):

1:24 PM Changeset in webkit [185604] by beidson@apple.com
  • 6 edits in trunk

[IndexedDB] array index keys are concatenated across cursor lifetime
<rdar://problem/19684902> and https://bugs.webkit.org/show_bug.cgi?id=138504

Reviewed by Brady Eidson, patch by Mark Dixon <mark@lowla.io>

Source/WebCore:

Tested by:
storage/indexeddb/keypath-arrays.html

IDBKeyData and IDBKeyPath need to clear any existing array values before calling
decodeObjects to update the value of an existing object.

  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::decode):

  • Modules/indexeddb/IDBKeyPath.cpp:

(WebCore::IDBKeyPath::decode):

LayoutTests:

  • storage/indexeddb/keypath-arrays-expected.txt:
  • storage/indexeddb/resources/keypath-arrays.js:

Verify that iterating cursors with array keypaths returns correct keys for all
records, not just the first.

12:50 PM Changeset in webkit [185603] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

Canvas dimensions should be limited to 4096x4096 pixels on iOS devices.
https://bugs.webkit.org/show_bug.cgi?id=145998

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2015-06-16
Reviewed by Darin Adler.

Source/WebCore:

The value of MaxCanvasArea should depend on the platform. If the platform
is iOS, the limit should be 64M. Otherwise the limit should be 1G.

Test: fast/canvas/pattern-too-large-to-create-2.html

  • html/HTMLCanvasElement.cpp: Change MaxCanvasArea value based on the platform.
  • rendering/svg/RenderSVGShape.h:

(WebCore::RenderSVGShape::graphicsElement): Remove un-implemented constructor.

LayoutTests:

  • fast/canvas/canvas-toDataURL-crash-expected.txt:
  • fast/canvas/pattern-too-large-to-create-expected.txt: Change the expected

results due to changing the type of MaxCanvasArea from float to unsigned.

  • fast/canvas/canvas-too-large-to-draw-expected.txt: Added.
  • fast/canvas/canvas-too-large-to-draw.html: Added.
12:47 PM Changeset in webkit [185602] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

REGRESSION(r185012): chat frame in Gmail now says "Something's not right"
https://bugs.webkit.org/show_bug.cgi?id=146025
<rdar://problem/21391412>

Reviewed by Darin Adler.

Only throttle timers in non-visible iframes once they've reached the
max nesting level to avoid throttling critical one-shot timers. This is
consistent with the default DOMTimer throttling behavior that is
defined in the specification.

Power-wise, we are mostly interested in DOMTimers that fire frequently
and cause high CPU usage over an extended period of time anyway.

  • dom/Document.cpp:

(WebCore::Document::setTimerThrottlingEnabled):
(WebCore::Document::timerAlignmentInterval):

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

(WebCore::ScriptExecutionContext::timerAlignmentInterval):

  • dom/ScriptExecutionContext.h:
  • page/DOMTimer.cpp:

(WebCore::DOMTimer::alignedFireTime):

12:43 PM Changeset in webkit [185601] by andersca@apple.com
  • 8 edits
    4 deletes in trunk/Source/WebKit2

Get rid of the application cache manager classes, they are no longer used
https://bugs.webkit.org/show_bug.cgi?id=146024

Reviewed by Sam Weinig.

  • DerivedSources.make:
  • UIProcess/API/C/WKAPICast.h:
  • UIProcess/API/C/WKContext.cpp:
  • UIProcess/WebApplicationCacheManagerProxy.cpp: Removed.

(WebKit::WebApplicationCacheManagerProxy::supplementName): Deleted.
(WebKit::WebApplicationCacheManagerProxy::create): Deleted.
(WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy): Deleted.
(WebKit::WebApplicationCacheManagerProxy::~WebApplicationCacheManagerProxy): Deleted.
(WebKit::WebApplicationCacheManagerProxy::processPoolDestroyed): Deleted.
(WebKit::WebApplicationCacheManagerProxy::processDidClose): Deleted.
(WebKit::WebApplicationCacheManagerProxy::shouldTerminate): Deleted.
(WebKit::WebApplicationCacheManagerProxy::refWebContextSupplement): Deleted.
(WebKit::WebApplicationCacheManagerProxy::derefWebContextSupplement): Deleted.
(WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins): Deleted.
(WebKit::WebApplicationCacheManagerProxy::didGetApplicationCacheOrigins): Deleted.
(WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin): Deleted.
(WebKit::WebApplicationCacheManagerProxy::deleteAllEntries): Deleted.

  • UIProcess/WebApplicationCacheManagerProxy.h: Removed.
  • UIProcess/WebApplicationCacheManagerProxy.messages.in: Removed.
  • UIProcess/WebProcessPool.cpp:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: Removed.

(WebKit::WebApplicationCacheManager::supplementName): Deleted.
(WebKit::WebApplicationCacheManager::WebApplicationCacheManager): Deleted.
(WebKit::WebApplicationCacheManager::getApplicationCacheOrigins): Deleted.
(WebKit::WebApplicationCacheManager::deleteEntriesForOrigin): Deleted.
(WebKit::WebApplicationCacheManager::deleteAllEntries): Deleted.
(WebKit::WebApplicationCacheManager::setAppCacheMaximumSize): Deleted.

  • WebProcess/ApplicationCache/WebApplicationCacheManager.h: Removed.
  • WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in: Removed.
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::clearApplicationCache):
(WebKit::InjectedBundle::setAppCacheMaximumSize):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess): Deleted.

12:17 PM Changeset in webkit [185600] by fpizlo@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

FTL boolify() UntypedUse is wrong in the masquerades-as-undefined case
https://bugs.webkit.org/show_bug.cgi?id=146002

Reviewed by Darin Adler.

  • ftl/FTLLowerDFGToLLVM.cpp: Put this in an anonymous namespace. We should have done that all along. It makes it easier to add debug code.

(JSC::FTL::DFG::LowerDFGToLLVM::boolify): Fix the bug.

  • tests/stress/logical-not-masquerades.js: Added. This test creates a masquerader so that the watchpoint is invalid. Previously this would fail for the normal object cases.

(foo):

11:41 AM Changeset in webkit [185599] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

IDB: Records table migration doesn't work with all versions of SQLite.
https://bugs.webkit.org/show_bug.cgi?id=145993

Reviewed by Darin Adler, provisionally reviewed by Jon Lee.

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::v1RecordsTableSchema):
(WebKit::v1RecordsTableSchemaAlternate):
(WebKit::v2RecordsTableSchema):
(WebKit::v2RecordsTableSchemaAlternate):
(WebKit::createOrMigrateRecordsTableIfNecessary): Check both v1 and v1 Alternate whenever we check for the v1 schema.

Ditto for the v2 schema. Crash all builds if the current schema is none of these.

11:39 AM Changeset in webkit [185598] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION: js/dom/navigator-plugins-crash.html asserts a lot
https://bugs.webkit.org/show_bug.cgi?id=144399

11:38 AM Changeset in webkit [185597] by akling@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

[JSC] Pre-bake final Structure for RegExp matches arrays.
<https://webkit.org/b/146006>

Reviewed by Darin Adler.

Since we always add the "index" and "input" fields to RegExp matches arrays,
cache a finished structure on the global object so we can create these arrays without
starting from scratch with a bare array every time.

10% progression on Octane/regexp (on my MBP.)

  • runtime/JSArray.h:

(JSC::JSArray::create):
(JSC::JSArray::tryCreateUninitialized):
(JSC::JSArray::createWithButterfly): Factored out JSArray construction into a helper
so we can call this from RegExpMatchesArray.cpp.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::regExpMatchesArrayStructure): Add a cached Structure for RegExp
subpattern matches arrays.

  • runtime/JSObject.h:

(JSC::JSNonFinalObject::finishCreation): Tweak assertion that used to check that
JSNonFinalObjects always start out with zero capacity. Since RegExp matches arrays now
start out with capacity for 2 properties, that won't work. Change it to check that we
don't have inline storage instead, since that should only be used by final objects.

  • runtime/RegExpMatchesArray.h:
  • runtime/RegExpMatchesArray.cpp:

(JSC::tryCreateUninitializedRegExpMatchesArray): Helper to construct a JSArray with
the cached Structure and a Butterfly with 2 slots of property storage.

(JSC::createRegExpMatchesArray):
(JSC::createRegExpMatchesArrayStructure): Creates the array Structure that gets cached
by the JSGlobalObject.

11:34 AM Changeset in webkit [185596] by saambarati1@gmail.com
  • 3 edits in trunk/Source/JavaScriptCore

LLInt's code path for get_from_scope with case GlobalVarWithVarInjectionChecks has dead code
https://bugs.webkit.org/show_bug.cgi?id=144268

Reviewed by Darin Adler.

The call to loadVariable(.) both for 32bit and 64bit is unnecessary.
It grabs a value that is immediately overwritten by a call to getGlobalVar().

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
10:58 AM Changeset in webkit [185595] by commit-queue@webkit.org
  • 8 edits in trunk

Incorrect order of arguments in initial-letter property
https://bugs.webkit.org/show_bug.cgi?id=139667

Patch by sylvain-galineau <galineau@adobe.com> on 2015-06-16
Reviewed by Sam Weinig.

Source/WebCore:

The CSS specification swapped the order of the initial-letters numeric values.
The drop cap's height now comes first, followed by its optional vertical position.
See http://www.w3.org/TR/css-inline/#sizing-drop-initials.

No new tests. Existing tests updated.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue): swap arguments to reflect new spec order.

LayoutTests:

Update initial-letter tests to reflect the value's new ordering, per CSS Inline Layout module.

  • fast/css-generated-content/initial-letter-border-padding.html:
  • fast/css-generated-content/initial-letter-clearance.html:
  • fast/css-generated-content/initial-letter-descender.html:
  • fast/css-generated-content/initial-letter-raised.html:
  • fast/css-generated-content/initial-letter-sunken.html:
10:48 AM Changeset in webkit [185594] by rniwa@webkit.org
  • 5 edits in trunk/Websites/perf.webkit.org

v2 UI should have buttons to breakdown a test
https://bugs.webkit.org/show_bug.cgi?id=146010

Reviewed by Chris Dumez.

Added buttons beneath each chart pane to add "alternative panes". By default, it shows every platform
as well as "Breakdown" to add all subtests' metrics.

Also removed the metric submenu from tests that had exactly one metric. When a test only measures Time
for example, we make the test itself clickable instead of showing a submenu that only contains one item.

  • public/v2/app.js:

(App.ChartsController.addAlternativePanes): Added.
(App.TestProxyForPopup.children): Calls _updateChildren and returns this._children.
(App.TestProxyForPopup.actionName): Added.
(App.TestProxyForPopup.actionArgument): Added.
(App.TestProxyForPopup._updateChildren): Extracted from children. Now also sets _actionName and
_actionArgument in the case there was exactly one metric so that showing submenu is unnecessary.
(App.PaneController.alternativePanes): Added. Returns the list of alternative panes. The platform list
excludes ones that don't have this metric (e.g. iOS doesn't have desktop PLT results) as well as ones
that are already present in the list of panes.

  • public/v2/chart-pane.css: Added CSS rules for alternative pane buttons beneath the chart panes.
  • public/v2/index.html:
  • public/v2/manifest.js:

(App.Metric.childMetrics): Added.

10:45 AM Changeset in webkit [185593] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

Remove some unused values.
https://bugs.webkit.org/show_bug.cgi?id=145997

Patch by Alex Christensen <achristensen@webkit.org> on 2015-06-16
Reviewed by Gyuyoung Kim.

This patch should have no change in behavior.

  • accessibility/AccessibilityObject.cpp:

(WebCore::computeBestScrollOffset):
(WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
(WebCore::AccessibilityObject::scrollToGlobalPoint):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

  • html/canvas/WebGL2RenderingContext.cpp:

(WebCore::WebGL2RenderingContext::validateTexFuncData):

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::validateTexFuncData):

  • platform/graphics/StringTruncator.cpp:

(WebCore::leftTruncateToBuffer):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::paintCurrentFrameInContext):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::localSelectionRect):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::anchorRect):

  • rendering/SimpleLineLayoutTextFragmentIterator.cpp:

(WebCore::SimpleLineLayout::TextFragmentIterator::skipToNextPosition):

  • rendering/svg/SVGTextQuery.cpp:

(WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):
Remove unused values.

10:36 AM Changeset in webkit [185592] by calvaris@igalia.com
  • 8 edits in trunk

[Streams API] Calling controller.error() should trigger storing an undefined error
https://bugs.webkit.org/show_bug.cgi?id=145976

Reviewed by Darin Adler.

Source/WebCore:

Covered by rebased test.

  • bindings/js/JSReadableStreamControllerCustom.cpp:

(WebCore::JSReadableStreamController::error): Storing undefined if no error value passed.

  • bindings/js/ReadableJSStream.cpp: Removed storeError(ExecState*).

(WebCore::ReadableJSStream::ReadableJSStream):

LayoutTests:

  • streams/readable-stream-controller-error-expected.txt: Rebasing expectation as test is passing now.
  • streams/readable-stream-reader-read-expected.txt:
  • streams/readable-stream-reader-read.html: Adding test for promise rejection without any parameter.
8:45 AM Changeset in webkit [185591] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Purge StyledElement's presentation attribute cache on memory pressure
https://bugs.webkit.org/show_bug.cgi?id=145999
<rdar://problem/21359252>

Reviewed by Andreas Kling.

Purge StyledElement's presentation attribute cache on memory pressure.

  • dom/StyledElement.cpp:

(WebCore::presentationAttributeCache):
(WebCore::presentationAttributeCacheCleaner):
(WebCore::StyledElement::clearPresentationAttributeCache):

  • dom/StyledElement.h:
  • platform/MemoryPressureHandler.cpp:

(WebCore::MemoryPressureHandler::releaseNoncriticalMemory):

7:19 AM Changeset in webkit [185590] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix.

  • mac/postprocess-framework-headers.sh:
6:06 AM Changeset in webkit [185589] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

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

It broke some WK2 API tests on EFL bots (Requested by

gyuyoung on #webkit).

Reverted changeset:

"[EFL] Make send/receive messages to communicate the Web and
UI Processes using Injected Bundle."
https://bugs.webkit.org/show_bug.cgi?id=145685
http://trac.webkit.org/changeset/185552

4:11 AM Changeset in webkit [185588] by ryuan.choi@navercorp.com
  • 3 edits
    1 add in trunk/Source/WebKit2

[EFL] Add API tests for ewk_page
https://bugs.webkit.org/show_bug.cgi?id=146004

Reviewed by Gyuyoung Kim.

Add unit test for load_started/load_finished callbacks of ewk_page.

  • PlatformEfl.cmake:
  • UIProcess/API/efl/tests/extensions/extension_sample.cpp:
  • UIProcess/API/efl/tests/test_ewk2_page.cpp: Added.

(EWK2PageTest::messageReceivedCallback):
(EWK2PageTest::EWK2PageTest):
(TEST_F):

2:43 AM Changeset in webkit [185587] by tobi+webkit@basecode.de
  • 2 edits in trunk/Tools

Unreviewed. Adding myself as a committer.

1:19 AM Changeset in webkit [185586] by calvaris@igalia.com
  • 23 edits
    6 adds
    4 deletes in trunk/LayoutTests

[Streams API] Sync tests with spec
https://bugs.webkit.org/show_bug.cgi?id=145839

Reviewed by Darin Adler.

Considered all changes in the spec tests and brought them to WebKit.

Some of those changes were related to spec changes, like the strategy or some of the algorithms. Some like the
tee ones were newly added as they will be implemented soon. There are also some tests that shuffled around
because they were just moved at the spec or integrated from the changes we submitted, which was substantially
important as it allowed us to remove some of our custom tests that are now covered by the spec ones.

  • resources/gc.js: Added warning about using gcRec, results might not be reliable.
  • streams/readable-stream-controller-error-expected.txt:
  • streams/readable-stream-controller-error.html: New failing test due to discrepancies with the reference

implementation. Something we will address.

  • streams/readable-stream-expected.txt: Removed.
  • streams/readable-stream-gc.html: Renumbered.
  • streams/readable-stream-reader-expected.txt: Removed.
  • streams/readable-stream-reader-read.html: Renumbered.
  • streams/readable-stream-reader.html: Removed.
  • streams/readable-stream.html: Removed.
  • streams/reference-implementation/bad-strategies-expected.txt: Added.
  • streams/reference-implementation/bad-strategies.html: Added.
  • streams/reference-implementation/bad-underlying-sources-expected.txt:
  • streams/reference-implementation/bad-underlying-sources.html: Updated from spec and expectations.
  • streams/reference-implementation/brand-checks-expected.txt:
  • streams/reference-implementation/brand-checks.html: Updated from spec and expectations.
  • streams/reference-implementation/byte-length-queuing-strategy-expected.txt: Added.
  • streams/reference-implementation/byte-length-queuing-strategy.html: Added.
  • streams/reference-implementation/count-queuing-strategy-expected.txt:
  • streams/reference-implementation/count-queuing-strategy.html: Updated from spec and expectations.
  • streams/reference-implementation/readable-stream-cancel-expected.txt:
  • streams/reference-implementation/readable-stream-cancel.html: Updated from spec and expectations and corrected

timeouts to try to overcome problems in slower bots.

  • streams/reference-implementation/readable-stream-expected.txt:
  • streams/reference-implementation/readable-stream-reader-expected.txt:
  • streams/reference-implementation/readable-stream-reader.html: Updated from spec and expectations.
  • streams/reference-implementation/readable-stream-tee-expected.txt: Added.
  • streams/reference-implementation/readable-stream-tee.html: Added.
  • streams/reference-implementation/readable-stream-templated-expected.txt:
  • streams/reference-implementation/readable-stream-templated.html: Updated from spec and expectations.
  • streams/reference-implementation/readable-stream.html: Updated from spec and expectations.
  • streams/reference-implementation/resources/byte-length-queuing-strategy.js:

(ByteLengthQueuingStrategy): Updated from spec.
(typeIsObject): Deleted.
(ByteLengthQueuingStrategy.prototype.shouldApplyBackpressure): Deleted.

  • streams/reference-implementation/resources/count-queuing-strategy.js:

(CountQueuingStrategy): Updated from spec.
(typeIsObject): Deleted.
(CountQueuingStrategy.prototype.shouldApplyBackpressure): Deleted.

  • streams/reference-implementation/resources/streams-utils.js:

(RandomPushSource.prototype.readStart.writeChunk):
(RandomPushSource.prototype.readStart): Renamed stream as source
(.stream.new.ReadableStream):
(sequentialReadableStream): Updated from spec.
(typeIsObject): Added.
(createDataProperty): Added.

12:40 AM Changeset in webkit [185585] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Fix a lint error by removing an obsolete expectation - this test doesn't fail
on Yosemite and below.

  • platform/mac/TestExpectations:

Jun 15, 2015:

11:47 PM Changeset in webkit [185584] by Gyuyoung Kim
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed, following gardening of r185583.

  • platform/efl/TestExpectations: Unskip passing tests, mark new failure tests since disabling USE_NATIVE_XDISPLAY.
11:16 PM Changeset in webkit [185583] by Gyuyoung Kim
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed, gardening on Jun 16th.

Too many flaky tests happens on efl bot when enabling USE_NATIVE_XDISPLAY and DISPLAY.
Those options were enabled for removing TextureMapperImageBuffer. However now EFL Layout Test
can be run without enabling the options. To remove many flaky tests, EFL buildbot disables
the env variables.

Thanks to disable it, many tests can be unskipped which were marked to failure, imageonlyfailure
and so on since r183540.

  • platform/efl/TestExpectations: Unskip passing tests, mark failure tests after disabling USE_NATIVE_XDISPLAY.
10:55 PM Changeset in webkit [185582] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Build fix after r185574.

  • public/v2/app.js:

(set get App.Pane.Ember.Object.extend.):

10:47 PM Changeset in webkit [185581] by ap@apple.com
  • 38 edits
    23 copies
    20 adds in trunk

Add test expectations for El Capitan
https://bugs.webkit.org/show_bug.cgi?id=146005

Rubber-stamped by Dan Bernstein.

Tools:

Add appropriate tools code.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/ElCapitan.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/ElCapitan@2x.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

Added dashboard support.

  • BuildSlaveSupport/build.webkit.org-config/wkbuild.py:
  • BuildSlaveSupport/build.webkit.org-config/wkbuild_unittest.py:

Trigger the right build queues on check-in.

  • Scripts/webkitpy/common/system/platforminfo.py:
  • Scripts/webkitpy/common/system/platforminfo_unittest.py:
  • Scripts/webkitpy/layout_tests/models/test_expectations.py:
  • Scripts/webkitpy/port/mac.py:
  • Scripts/webkitpy/port/mac_unittest.py:
  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
  • TestResultServer/static-dashboards/flakiness_dashboard.js:

Added cases for El Capitan, and updated tests for new baseline search paths.

LayoutTests:

  • platform/mac-wk1/TestExpectations:
  • platform/mac-yosemite: Added.
  • platform/mac-yosemite/fast: Added.
  • platform/mac-yosemite/fast/dom: Added.
  • platform/mac-yosemite/fast/dom/52776-expected.txt: Copied from LayoutTests/platform/mac/fast/dom/52776-expected.txt.
  • platform/mac-yosemite/fast/text: Added.
  • platform/mac-yosemite/fast/text/complex-text-opacity-expected.txt: Copied from LayoutTests/platform/mac/fast/text/complex-text-opacity-expected.txt.
  • platform/mac-yosemite/fast/text/hyphenate-locale-expected.txt: Copied from LayoutTests/platform/mac/fast/text/hyphenate-locale-expected.txt.
  • platform/mac-yosemite/fast/text/international: Added.
  • platform/mac-yosemite/fast/text/international/arabic-justify-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/arabic-justify-expected.txt.
  • platform/mac-yosemite/fast/text/international/bidi-AN-after-L-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/bidi-AN-after-L-expected.txt.
  • platform/mac-yosemite/fast/text/international/bidi-mirror-he-ar-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/bidi-mirror-he-ar-expected.txt.
  • platform/mac-yosemite/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt.
  • platform/mac-yosemite/fast/text/international/bidi-neutral-run-expected.txt: Copied from LayoutTests/platform/mac/fast/text/international/bidi-neutral-run-expected.txt.
  • platform/mac-yosemite/fast/text/line-initial-and-final-swashes-expected.txt: Copied from LayoutTests/platform/mac/fast/text/line-initial-and-final-swashes-expected.txt.
  • platform/mac-yosemite/js: Added.
  • platform/mac-yosemite/js/dom: Added.
  • platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt: Copied from LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt.
  • platform/mac-yosemite/platform: Added.
  • platform/mac-yosemite/platform/mac: Added.
  • platform/mac-yosemite/platform/mac/editing: Added.
  • platform/mac-yosemite/platform/mac/editing/attributed-string: Added.
  • platform/mac-yosemite/platform/mac/editing/attributed-string/anchor-element-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/anchor-element-expected.txt.
  • platform/mac-yosemite/platform/mac/editing/attributed-string/basic-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/basic-expected.txt.
  • platform/mac-yosemite/platform/mac/editing/attributed-string/font-size-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/font-size-expected.txt.
  • platform/mac-yosemite/platform/mac/editing/attributed-string/font-style-variant-effect-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/font-style-variant-effect-expected.txt.
  • platform/mac-yosemite/platform/mac/editing/attributed-string/font-weight-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/font-weight-expected.txt.
  • platform/mac-yosemite/platform/mac/editing/attributed-string/letter-spacing-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/letter-spacing-expected.txt.
  • platform/mac-yosemite/platform/mac/editing/attributed-string/text-decorations-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/text-decorations-expected.txt.
  • platform/mac-yosemite/platform/mac/editing/attributed-string/vertical-align-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/vertical-align-expected.txt.
  • platform/mac-yosemite/platform/mac/fast: Added.
  • platform/mac-yosemite/platform/mac/fast/text: Added.
  • platform/mac-yosemite/platform/mac/fast/text/ligature-subdivision-expected.txt: Copied from LayoutTests/platform/mac/fast/text/ligature-subdivision-expected.txt.
  • platform/mac-yosemite/svg: Added.
  • platform/mac-yosemite/svg/W3C-SVG-1.1: Added.
  • platform/mac-yosemite/svg/W3C-SVG-1.1-SE: Added.
  • platform/mac-yosemite/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.png: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.png.
  • platform/mac-yosemite/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt.
  • platform/mac-yosemite/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt: Copied from LayoutTests/platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt.
  • platform/mac-yosemite/svg/text: Added.
  • platform/mac-yosemite/svg/text-intro-05-t-expected.txt: Copied from LayoutTests/platform/mac/svg/text/text-intro-05-t-expected.txt.
  • platform/mac-yosemite/svg/text/text-intro-05-t-expected.txt: Added.
  • platform/mac/TestExpectations:
  • platform/mac/editing/attributed-string/anchor-element-expected.txt:
  • platform/mac/editing/attributed-string/basic-expected.txt:
  • platform/mac/editing/attributed-string/font-size-expected.txt:
  • platform/mac/editing/attributed-string/font-style-variant-effect-expected.txt:
  • platform/mac/editing/attributed-string/font-weight-expected.txt:
  • platform/mac/editing/attributed-string/letter-spacing-expected.txt:
  • platform/mac/editing/attributed-string/text-decorations-expected.txt:
  • platform/mac/editing/attributed-string/vertical-align-expected.txt:
  • platform/mac/fast/dom/52776-expected.txt:
  • platform/mac/fast/text/complex-text-opacity-expected.txt:
  • platform/mac/fast/text/hyphenate-locale-expected.txt:
  • platform/mac/fast/text/international/arabic-justify-expected.txt:
  • platform/mac/fast/text/international/bidi-AN-after-L-expected.txt:
  • platform/mac/fast/text/international/bidi-mirror-he-ar-expected.txt:
  • platform/mac/fast/text/international/bidi-neutral-directionality-paragraph-start-expected.txt:
  • platform/mac/fast/text/international/bidi-neutral-run-expected.txt:
  • platform/mac/fast/text/ligature-subdivision-expected.txt:
  • platform/mac/fast/text/line-initial-and-final-swashes-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.png:
  • platform/mac/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt:
  • platform/mac/svg/text/text-intro-05-t-expected.txt:
10:05 PM Changeset in webkit [185580] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

REGRESSION(r175251, Mavericks Only): Playback may stall
https://bugs.webkit.org/show_bug.cgi?id=145989
<rdar://problem/21271919>

Unreviewed post-review correction.

Dave Kilzer pointed out that the macro around the waitForVideoOutputMediaDataWillChange
call was incorrect. This patch corrects this error.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput): Correct the
macro definition.

9:57 PM Changeset in webkit [185579] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Fix a typo.

  • tools/pull-os-versions.py:

(main):

9:49 PM Changeset in webkit [185578] by rniwa@webkit.org
  • 1 edit
    1 move in trunk/Websites/perf.webkit.org

Perf dashboard should be able to list iOS versions as well as OS X versions
https://bugs.webkit.org/show_bug.cgi?id=146003

Reviewed by Stephanie Lewis.

Generalized pull-osx.py so that it can run an arbitrary shell command to fetch OS versions based on
information specified in config.json.

  • tools/pull-os-versions.py: Renamed from pull-osx.py.

(main): Use available_builds_from_command when 'customCommands' is specified.
(available_builds_from_command): Added. Executes a shell command to fetch a list of available builds.
(fetch_available_builds): Now takes the repository name.

7:11 PM Changeset in webkit [185577] by Yusuke Suzuki
  • 13 edits
    3 moves
    1 add
    5 deletes in trunk/Source/JavaScriptCore

[ES6] Introduce %IteratorPrototype% and drop all XXXIteratorConstructor
https://bugs.webkit.org/show_bug.cgi?id=145963

Reviewed by Darin Adler.

ES6 iterators inherit %IteratorPrototype%.
And these prototype objects of derived iterators don't have @@iterator methods.
Instead they use the %IteratorPrototype%[@@iterator] method.

To encourage inlining in for-of statement, we define this method in JS builtins.

And these iterator prototype objects don't have any constructor function.
This patch drops them (like StringIteratorConstructor).

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • builtins/Iterator.prototype.js: Renamed from Source/JavaScriptCore/runtime/StringIteratorConstructor.cpp.

(SymbolIterator):

  • runtime/ArrayIteratorConstructor.cpp:

(JSC::ArrayIteratorConstructor::finishCreation): Deleted.

  • runtime/ArrayIteratorConstructor.h: Removed.

(JSC::ArrayIteratorConstructor::create): Deleted.
(JSC::ArrayIteratorConstructor::createStructure): Deleted.
(JSC::ArrayIteratorConstructor::ArrayIteratorConstructor): Deleted.

  • runtime/ArrayIteratorPrototype.cpp:

(JSC::ArrayIteratorPrototype::finishCreation):
(JSC::arrayIteratorProtoFuncIterator): Deleted.

  • runtime/IteratorPrototype.cpp: Renamed from Source/JavaScriptCore/runtime/ArrayIteratorConstructor.cpp.

(JSC::IteratorPrototype::finishCreation):

  • runtime/IteratorPrototype.h: Renamed from Source/JavaScriptCore/runtime/SetIteratorConstructor.h.

(JSC::IteratorPrototype::create):
(JSC::IteratorPrototype::createStructure):
(JSC::IteratorPrototype::IteratorPrototype):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::createBuiltinFunction):

  • runtime/JSFunction.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::iteratorPrototype):

  • runtime/MapIteratorConstructor.cpp: Removed.

(JSC::MapIteratorConstructor::finishCreation): Deleted.

  • runtime/MapIteratorConstructor.h: Removed.

(JSC::MapIteratorConstructor::create): Deleted.
(JSC::MapIteratorConstructor::createStructure): Deleted.
(JSC::MapIteratorConstructor::MapIteratorConstructor): Deleted.

  • runtime/MapIteratorPrototype.cpp:

(JSC::MapIteratorPrototype::finishCreation): Deleted.
(JSC::MapIteratorPrototypeFuncIterator): Deleted.

  • runtime/SetIteratorConstructor.cpp: Removed.

(JSC::SetIteratorConstructor::finishCreation): Deleted.

  • runtime/SetIteratorConstructor.h:

(JSC::SetIteratorConstructor::create): Deleted.
(JSC::SetIteratorConstructor::createStructure): Deleted.
(JSC::SetIteratorConstructor::SetIteratorConstructor): Deleted.

  • runtime/SetIteratorPrototype.cpp:

(JSC::SetIteratorPrototype::finishCreation): Deleted.
(JSC::SetIteratorPrototypeFuncIterator): Deleted.

  • runtime/StringIteratorConstructor.cpp:

(JSC::StringIteratorConstructor::finishCreation): Deleted.

  • runtime/StringIteratorConstructor.h: Removed.

(JSC::StringIteratorConstructor::create): Deleted.
(JSC::StringIteratorConstructor::createStructure): Deleted.
(JSC::StringIteratorConstructor::StringIteratorConstructor): Deleted.

  • runtime/StringIteratorPrototype.cpp:

(JSC::StringIteratorPrototype::finishCreation):
(JSC::stringIteratorPrototypeIterator): Deleted.

  • tests/stress/iterator-prototype.js: Added.

(shouldBe):
(inheritIteratorPrototype):
(testChain):

7:10 PM Changeset in webkit [185576] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

[iOS WK2] position:fixed elements sometimes truncated on scroll view bouncing
https://bugs.webkit.org/show_bug.cgi?id=146000
rdar://problem/19448439

Reviewed by Benjamin Poulain.

When in the middle of a rubber-band (UIScrollView bounce), we could send a bad
fixed position rect down to WebCore, causing 100% height elements to get laid out
at the wrong height, possible too short. This occurred when -_updateVisibleContentRects
said we were in a stable state, but the rubber-band offset caused WebPageProxy::computeCustomFixedPositionRect()
to compute a bad rect via constrainedUnobscuredRect.intersect(documentRect).

Fix by not claiming to be in a stable state during rubber-banding. Added _scrollViewIsRubberBanding
to compute that, taking care with floating point comparisons for 3x devices.

  • UIProcess/API/Cocoa/WKWebView.mm:

(isGreaterInDevicePixels):
(-[WKWebView _scrollViewIsRubberBanding]):
(-[WKWebView _updateVisibleContentRects]):

6:57 PM Changeset in webkit [185575] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Removed a superfluous console.log per Chris's comment.

  • public/v2/app.js:
6:40 PM Changeset in webkit [185574] by rniwa@webkit.org
  • 5 edits in trunk/Websites/perf.webkit.org

Analysis task should show all possible revisions for A/B testing
https://bugs.webkit.org/show_bug.cgi?id=145996

Reviewed by Chris Dumez.

  • public/api/commits.php:

(fetch_commits_between): When the time stamp is not available for commits, use revision numbers
to find revisions between two ranges. This is necessary for OS X and iOS versions since they don't
have a "commit time".

  • public/v2/app.js:

(App.AnalysisTaskController.updateRootConfigurations): Fetch commits between two end points.
(App.AnalysisTaskController._createConfiguration): Extracted from updateRootConfigurations. List
the fetched list of commits if available.
(App.AnalysisTaskController._serializeNumbersSkippingConsecutiveEntries): Added. Serializes an list
of numbers intelligently. For example, [1, 2, 4, 5] turns into "1-2, 4-5". Without this, some lists
of points shown in the A/B testing configurations become too long.

  • public/v2/commits-viewer.js:

(App.CommitsViewerComponent.commitsChanged):

  • public/v2/data.js:

(CommitLogs.fetchCommits): Renamed from fetchForTimeRange.

5:40 PM Changeset in webkit [185573] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AX: Changing state of radio buttons causes VoiceOver to go busy for a short time.
https://bugs.webkit.org/show_bug.cgi?id=145933

Reviewed by Dean Jackson.

When radio buttons animate the new focus selection state, the thread activity looks a lot like short burst of
activity to draw, then wait on CoreAnimation to apply those changes.

Since those periods of activity during animation are so short, VoiceOver is not able to query for all the
attributes it needs, and gets stuck in the queue behind rendering.

The fix here is to turn off button state animations while VoiceOver is running.

  • platform/mac/ThemeMac.mm:

(WebCore::updateStates):

4:56 PM Changeset in webkit [185572] by Alan Bujtas
  • 4 edits
    2 adds in trunk

RootInlineBox::m_lineBreakObj becomes invalid when a child renderer is removed and the line does not get marked dirty.
https://bugs.webkit.org/show_bug.cgi?id=145988
rdar://problem/20959137

Reviewed by David Hyatt.

This patch ensures that we find the right first inline box so that we can dirty the
the appropriate line boxes.
With marking the right line boxes dirty, now we can update RootInlineBox::m_lineBreakObj at the next layout.

Source/WebCore:

Test: fast/inline/crash-when-child-renderer-is-removed-and-line-stays-clean.html

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::culledInlineFirstLineBox):
(WebCore::RenderInline::culledInlineLastLineBox):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::setLineBreakInfo): Deleted. Remove misleading assert and comment.

LayoutTests:

  • fast/inline/crash-when-child-renderer-is-removed-and-line-stays-clean-expected.txt: Added.
  • fast/inline/crash-when-child-renderer-is-removed-and-line-stays-clean.html: Added.
4:32 PM Changeset in webkit [185571] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Stylize Node Previews
https://bugs.webkit.org/show_bug.cgi?id=145990

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-06-15
Reviewed by Timothy Hatcher.

  • UserInterface/Views/FormattedValue.js:

(WebInspector.FormattedValue.createElementForNodePreview):
Style a node preview like a DOMNode. It is a simple small snippet.

  • UserInterface/Views/ObjectPreviewView.js:

(WebInspector.ObjectPreviewView.prototype._appendPropertyPreviews):
Use node previews in ObjectPreviewViews.

4:06 PM Changeset in webkit [185570] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Media Session: Improve the safety of playback toggling
https://bugs.webkit.org/show_bug.cgi?id=145986

Patch by Matt Rajca <mrajca@apple.com> on 2015-06-15
Reviewed by Darin Adler.

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::togglePlayback): Improved the safety of the loop so that we don't re-visit elements that

may have been deleted underneath us.

  • Modules/mediasession/MediaSession.h: Added a pointer to the set of iterated active participating elements so we can remove any elements that are deleted from the underlying "real" set.
3:48 PM Changeset in webkit [185569] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

REGRESSION(r175251, Mavericks Only): Playback may stall
https://bugs.webkit.org/show_bug.cgi?id=145989
<rdar://problem/21271919>

Reviewed by Dean Jackson.

Revert r175251 for Mavericks build targets.

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

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

3:27 PM Changeset in webkit [185568] by ryuan.choi@navercorp.com
  • 2 edits in trunk/Source/WebKit2

Fix build break when ENABLE_SECCOMP_FILTERS is ON
https://bugs.webkit.org/show_bug.cgi?id=145967

Reviewed by Carlos Garcia Campos.

Since r183189, ArgumentEncoder::addAttachment requires rvalue reference.

  • Shared/linux/SeccompFilters/OpenSyscall.cpp:

(WebKit::OpenSyscallResult::encode): Use WTF::move().

3:01 PM Changeset in webkit [185567] by Darin Adler
  • 3 edits
    3 adds in trunk

REGRESSION (r182215): Reproducible crash at drawsvg.org due to reentrant layout
https://bugs.webkit.org/show_bug.cgi?id=145964

Reviewed by Simon Fraser.

Source/WebCore:

Test: svg/as-object/mutate-on-load.html

  • page/FrameView.cpp:

(WebCore::FrameView::forceLayoutParentViewIfNeeded): Don't do a synchronous layout here,
because it can lead indirectly to unwanted layout reentrancy. Instead schedule a layout.

LayoutTests:

  • svg/as-object/mutate-on-load-expected.html: Added.
  • svg/as-object/mutate-on-load.html: Added.
  • svg/as-object/resources/embedded-mutates-on-load.svg: Added.
2:26 PM Changeset in webkit [185566] by msaboff@apple.com
  • 3 edits
    3 adds in trunk

JIT bug - fails when inspector closed, works when open
https://bugs.webkit.org/show_bug.cgi?id=145243

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

We need to provide the Arguments object as the base when creating the HeapLocation for
GetFromArguments and PutToArguments. Otherwise we endup creating a HeapLocation for
any arguments object, not the one we need.

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

LayoutTests:

New regression test.

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

(bar):
(foo):
(test):

12:47 PM Changeset in webkit [185565] by matthew_hanson@apple.com
  • 5 edits in tags/Safari-601.1.35.1/Source

Versioning.

12:36 PM Changeset in webkit [185564] by matthew_hanson@apple.com
  • 18 edits in tags/Safari-601.1.35.1

Merge r185487. rdar://problem/21277462

12:29 PM Changeset in webkit [185563] by Chris Dumez
  • 5 edits in trunk/Source/WebKit2

[WK2] BrowsingContextController.loadData API is leaking Navigation objects
https://bugs.webkit.org/show_bug.cgi?id=145977
<rdar://problem/21305706>

Reviewed by Darin Adler.

BrowsingContextController.loadData API was leaking Navigation objects.
The issue was due to WebPageProxy::loadData() creating a Navigation
object but not passing along the navigationID to the WebProcess when
sending the Messages::WebPage::LoadData IPC. As a result, the
WebProcess would use 0 as navigationID and we would end up creating a
new Navigation object later on for the same navigation.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadData):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadData):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
12:16 PM Changeset in webkit [185562] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Improve some cases of "Object?" Type Annotations
https://bugs.webkit.org/show_bug.cgi?id=145954

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2015-06-15
Reviewed by Timothy Hatcher.

  • UserInterface/Views/TypeTokenView.js:

(WebInspector.TypeTokenView.prototype._displayTypeName):
The TypeSet inclusions cover all types, so we can use the leastCommonAncestor
name as long as the type set is just object or object and null/undefined.
If the typeset includes other primitives then it will gracefully go down
below to become something like Object or (many).

12:07 PM Changeset in webkit [185561] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-601.1.35.1

New Tag.

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

Media Session: Active participating elements can change while being iterated
https://bugs.webkit.org/show_bug.cgi?id=145978

Patch by Matt Rajca <mrajca@apple.com> on 2015-06-15
Reviewed by Alex Christensen.

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::togglePlayback): Iterate through a copy of m_activeParticipatingElements since its contents

can be modified in the loop.

11:50 AM Changeset in webkit [185559] by Joseph Pecoraro
  • 2 edits in trunk/LayoutTests

Unreviewed, gardening for Windows.

  • platform/win/TestExpectations:
11:39 AM Changeset in webkit [185558] by Chris Fleizach
  • 9 edits
    2 adds in trunk

AX: no accessibility support for details element
https://bugs.webkit.org/show_bug.cgi?id=131111

Reviewed by Darin Adler.

Source/WebCore:

Add accessibility support for Mac for details element by:

1) Returning new subroles for <details> and <summary>
2) Exposing isExpanded property for <details> element.

Test: platform/mac/accessibility/details-summary.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::supportsARIAPressed):
(WebCore::AccessibilityObject::supportsExpanded):
(WebCore::AccessibilityObject::isExpanded):
(WebCore::AccessibilityObject::supportsARIAExpanded): Deleted.

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::canvasHasFallbackContent):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):
(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilitySupportsARIAExpanded]):
(-[WebAccessibilityObjectWrapper accessibilityIsExpanded]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
(createAccessibilityRoleMap):
(-[WebAccessibilityObjectWrapper subrole]):

  • html/HTMLDetailsElement.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

LayoutTests:

  • platform/mac/accessibility/details-summary-expected.txt: Added.
  • platform/mac/accessibility/details-summary.html: Added.
11:08 AM Changeset in webkit [185557] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r185298): Databases service has Web Content service’s entitlements
https://bugs.webkit.org/show_bug.cgi?id=145980

Reviewed by Darin Adler.

  • Configurations/DatabaseService.xcconfig: Set WK_XPC_SERVICE_IOS_ENTITLEMENTS_BASE to

Databases-iOS.

11:07 AM Changeset in webkit [185556] by jonlee@apple.com
  • 5 edits in trunk/Source/WebKit2

[WK2] Add allowsPictureInPictureMediaPlayback
https://bugs.webkit.org/show_bug.cgi?id=145901
rdar://problem/21349851

Reviewed by Anders Carlsson.

Replace _allowsAlternateFullscreen with allowsPictureInPictureMediaPlayback.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.h: Add allowsPictureInPictureMediaPlayback.
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]): Remove _allowsAlternateFullscreen.
(-[WKWebViewConfiguration copyWithZone:]): Replace the variable.
(-[WKWebViewConfiguration _allowsAlternateFullscreen]): Deleted.
(-[WKWebViewConfiguration _setAllowsAlternateFullscreen:]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Remove the SPI.
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]): Update to use the new API.

10:23 AM Changeset in webkit [185555] by commit-queue@webkit.org
  • 6 edits in trunk

Source/WebCore:
[Content Extensions] Limit number of rules.
https://bugs.webkit.org/show_bug.cgi?id=145663

Patch by Alex Christensen <achristensen@webkit.org> on 2015-06-15
Reviewed by Benjamin Poulain.

Added an API test to make sure that parsing fails when there are too many rules.

  • contentextensions/ContentExtensionError.cpp:

(WebCore::ContentExtensions::contentExtensionErrorCategory):

  • contentextensions/ContentExtensionError.h:
  • contentextensions/ContentExtensionParser.cpp:

(WebCore::ContentExtensions::loadEncodedRules):
Fail to parse a content extension with more than 50000 rules.

Tools:
[Content Extensions] Make max NFA size and max rule count user defaults.
https://bugs.webkit.org/show_bug.cgi?id=145663

Patch by Alex Christensen <achristensen@webkit.org> on 2015-06-15
Reviewed by Benjamin Poulain.

  • TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:

(TestWebKitAPI::TEST_F):

9:57 AM Changeset in webkit [185554] by ap@apple.com
  • 14 edits in trunk

-[WKWebView evaluateJavaScript] provides a misleading error when the return cannot be serialized
https://bugs.webkit.org/show_bug.cgi?id=145900

Reviewed by Sam Weinig.

Source/WebCore:

  • English.lproj/Localizable.strings:

Source/WebKit2:

We used to conflate to cases: (1) when there was a JavaScript exception, and
(2) when the result could not be serialized for IPC. Turns out that it was quite
misleading!

  • UIProcess/API/C/WKPage.cpp:

(WKPageRunJavaScriptInMainFrame):

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

(localizedDescriptionForErrorCode):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView evaluateJavaScript:completionHandler:]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::runJavaScriptInMainFrame):
(WebKit::WebPageProxy::scriptValueCallback):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScriptInMainFrame):

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_run_javascript):
(resourcesStreamReadCallback):

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/WKWebViewEvaluateJavaScript.mm:

(TEST): Added tests.

9:36 AM Changeset in webkit [185553] by Carlos Garcia Campos
  • 8 edits in trunk

[SOUP] Custom URI schemes don't work for requests containing a fragment identifier
https://bugs.webkit.org/show_bug.cgi?id=145969

Reviewed by Sergio Villar Senin.

Source/WebCore:

For URIs like foo:bar#baz, what the custom protocol manager
receives in the UI process is foo:bar, so the user can't handle fragments.

  • platform/network/soup/ResourceRequestSoup.cpp:

(WebCore::ResourceRequest::updateSoupRequest): If the SoupRequest
is a WebKitSoupRequestGeneric, call
webkitSoupRequestGenericSetRequest with the ResourceRequest.

  • platform/network/soup/WebKitSoupRequestGeneric.cpp:

(webkitSoupRequestGenericSetRequest):
(webkitSoupRequestGenericGetRequest):

  • platform/network/soup/WebKitSoupRequestGeneric.h:

Source/WebKit2:

Use the WebKitSoupRequestGeneric request instead of creating a new one
from the SoupRequest URI, since that is the network one and doesn't
contain the fragment identifier part.

  • Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:

(WebKit::CustomProtocolManagerImpl::start):

Tools:

Add a test case to the custom URI schemes unit test.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:

(testWebContextURIScheme):

8:43 AM Changeset in webkit [185552] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[EFL] Make send/receive messages to communicate the Web and UI Processes using Injected Bundle.
https://bugs.webkit.org/show_bug.cgi?id=145685

Patch by Hyungwook Lee <hyungwook.lee@navercorp.com> on 2015-06-15
Reviewed by Gyuyoung Kim.

To have extensible port specific API facility using Injected Bundle,
we need to load libewebkit_extension_manager.so in default that is same as what gtk port does.

  • UIProcess/API/efl/ewk_context.cpp:

(EwkContext::EwkContext):
(EwkContext::~EwkContext):
(EwkContext::findOrCreateWrapper):
(bundlePathForExtension):
(EwkContext::create): Deleted.

  • UIProcess/API/efl/ewk_context_private.h:
  • WebProcess/efl/ExtensionManagerEfl.cpp:

(WebKit::ExtensionManagerEfl::initialize):

8:34 AM Changeset in webkit [185551] by Carlos Garcia Campos
  • 8 edits
    3 moves in trunk/Source

[SOUP] Move WebKitSoupRequestGeneric to platform layer
https://bugs.webkit.org/show_bug.cgi?id=145968

Reviewed by Sergio Villar Senin.

Source/WebCore:

  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • platform/network/soup/WebKitSoupRequestGeneric.cpp: Renamed from Source/WebKit2/WebProcess/soup/WebKitSoupRequestGeneric.cpp.

(webkitSoupRequestGenericFinalize):
(webkit_soup_request_generic_init):
(webkitSoupRequestGenericSendAsync):
(webkitSoupRequestGenericSendFinish):
(webkitSoupRequestGenericGetContentLength):
(webkitSoupRequestGenericGetContentType):
(webkit_soup_request_generic_class_init):
(webkitSoupRequestGenericSetContentLength):
(webkitSoupRequestGenericSetContentType):

  • platform/network/soup/WebKitSoupRequestGeneric.h: Renamed from Source/WebKit2/WebProcess/soup/WebKitSoupRequestGeneric.h.
  • platform/network/soup/WebKitSoupRequestGenericClient.h: Renamed from Source/WebKit2/WebProcess/soup/WebKitSoupRequestGenericClient.h.

Source/WebKit2:

  • PlatformEfl.cmake: Remove WebKitSoupRequestGeneric.
  • PlatformGTK.cmake: Ditto.
  • Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:
  • Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h:
6:09 AM Changeset in webkit [185550] by Csaba Osztrogonác
  • 2 edits
    1 add in trunk/Tools

[GTK] Fix deprecated-register warning in the generated WebKitMarshal.cpp
https://bugs.webkit.org/show_bug.cgi?id=145922

Reviewed by Carlos Garcia Campos.

  • gtk/jhbuild.modules:
  • gtk/patches/glib-warning-fix.patch: Added.
4:20 AM Changeset in webkit [185549] by Csaba Osztrogonác
  • 4 edits in trunk/Source/WebKit2

Fix unused private field warning in PageBanner.h
https://bugs.webkit.org/show_bug.cgi?id=145925

Reviewed by Darin Adler.

  • WebProcess/WebPage/PageBanner.cpp:

(WebKit::PageBanner::~PageBanner):

  • WebProcess/WebPage/PageBanner.h: Initialize m_type, m_webPage, m_mouseDownInBanner, and m_isHidden here instead of in the constructor.
  • WebProcess/WebPage/mac/PageBannerMac.mm: Use PLATFORM(MAC) instead of !PLATFORM(IOS), they are same in objc files.
4:09 AM Changeset in webkit [185548] by Carlos Garcia Campos
  • 5 edits
    1 add in trunk/Source/WebKit2

[SOUP] Make WebKitSoupRequestGeneric independent from CustomProtocolManagerImpl
https://bugs.webkit.org/show_bug.cgi?id=145966

Reviewed by Sergio Villar Senin.

Add WebKitSoupRequestGenericClient with start and finish methods,
that are implemented by WebKitSoupRequestGeneric.
This allows us to move WebKitSoupRequestGeneric to platform layer.

  • Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.cpp:

(WebKit::CustomProtocolManagerImpl::registerScheme):
(WebKit::CustomProtocolManagerImpl::start):

  • Shared/Network/CustomProtocols/soup/CustomProtocolManagerImpl.h:
  • WebProcess/soup/WebKitSoupRequestGeneric.cpp:

(webkitSoupRequestGenericSendAsync):
(webkitSoupRequestGenericSendFinish):

  • WebProcess/soup/WebKitSoupRequestGeneric.h:
  • WebProcess/soup/WebKitSoupRequestGenericClient.h: Added.

Jun 14, 2015:

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

Fixed the build.

  • mac/postprocess-framework-headers.sh:
2:10 PM Changeset in webkit [185546] by Michael Catanzaro
  • 3 edits in trunk/Source/WebKit2

Format string misuse in DatabaseProcessIDBConnection.cpp and UniqueIDBDatabaseBackingStoreSQLite.cpp
https://bugs.webkit.org/show_bug.cgi?id=145960

Reviewed by Darin Adler.

Use PRIu64 and PRIi64 to print uint64_t and int64_t, respectively. These things are
different types on x86_64 Linux (unsigned long) and on Mac (unsigned long long).

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::getOrEstablishIDBDatabaseMetadata):
(WebKit::DatabaseProcessIDBConnection::deleteDatabase):
(WebKit::DatabaseProcessIDBConnection::openTransaction):
(WebKit::DatabaseProcessIDBConnection::beginTransaction):
(WebKit::DatabaseProcessIDBConnection::commitTransaction):
(WebKit::DatabaseProcessIDBConnection::resetTransaction):
(WebKit::DatabaseProcessIDBConnection::rollbackTransaction):
(WebKit::DatabaseProcessIDBConnection::changeDatabaseVersion):
(WebKit::DatabaseProcessIDBConnection::createObjectStore):
(WebKit::DatabaseProcessIDBConnection::deleteObjectStore):
(WebKit::DatabaseProcessIDBConnection::clearObjectStore):
(WebKit::DatabaseProcessIDBConnection::createIndex):
(WebKit::DatabaseProcessIDBConnection::deleteIndex):
(WebKit::DatabaseProcessIDBConnection::putRecord):
(WebKit::DatabaseProcessIDBConnection::getRecord):
(WebKit::DatabaseProcessIDBConnection::count):
(WebKit::DatabaseProcessIDBConnection::deleteRange):
(WebKit::DatabaseProcessIDBConnection::openCursor):
(WebKit::DatabaseProcessIDBConnection::cursorAdvance):
(WebKit::DatabaseProcessIDBConnection::cursorIterate):

  • DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:

(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::clearObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteIndex):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::generateKeyNumber):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::keyExistsInObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::putRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::uncheckedPutIndexRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::deleteRecord):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRecordFromObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getKeyRangeRecordFromObjectStore):
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::advanceCursor):

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

[Cocoa] Clean up postprocess-framework-headers.sh
https://bugs.webkit.org/show_bug.cgi?id=145962

Reviewed by Darin Adler.

  • mac/postprocess-framework-headers.sh: Gather all the sed options in a variable, and then

run sed only once on each header. Also, correctly exit with the sed return value if it
fails.

1:37 AM Changeset in webkit [185544] by Andres Gomez
  • 2 edits in trunk/Source/WebInspectorUI

[GTK] Web Inspector: Update icon so Rendering Frames timeline distinguish between layout and painting
https://bugs.webkit.org/show_bug.cgi?id=145956

Reviewed by Carlos Garcia Campos.

  • UserInterface/Images/gtk/TimelineRecordPaint.svg:

Changed to use green color.

Note: See TracTimeline for information about the timeline view.