Timeline



Oct 22, 2014:

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

Prefix isnan() with std::.
<https://webkit.org/b/137966>.

Patch by Milan Crha <mcrha@redhat.com> on 2014-10-22
Reviewed by Carlos Garcia Campos.

  • profiler/ProfileNode.h:

(JSC::ProfileNode::Call::setStartTime):
(JSC::ProfileNode::Call::setElapsedTime):

11:45 PM Changeset in webkit [175088] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Do not include GraphicsContext3D.h when 3D_GRAPHICS is not used.
<https://webkit.org/b/137969>.

Patch by Milan Crha <mcrha@redhat.com> on 2014-10-22
Reviewed by Carlos Garcia Campos.

  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:
11:41 PM Changeset in webkit [175087] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Do not build WidgetBackingStoreGtkX11 when not used.
<https://webkit.org/b/137972>.

Patch by Milan Crha <mcrha@redhat.com> on 2014-10-22
Reviewed by Carlos Garcia Campos.

  • platform/gtk/WidgetBackingStoreGtkX11.cpp:
  • platform/gtk/WidgetBackingStoreGtkX11.h:
11:37 PM Changeset in webkit [175086] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebCore

Merged r173848. rdar://problem/18427833

11:15 PM Changeset in webkit [175085] by Simon Fraser
  • 3 edits
    5 adds in trunk

[iOS] Toggling overflow:scroll to hidden on element with -webkit-overflow-scrolling:touch can cause children to disappear
https://bugs.webkit.org/show_bug.cgi?id=137999
rdar://problem/18425550

Reviewed by Zalan Bujtas.

Source/WebCore:

When toggling overflow from scroll to hidden on an element with -webkit-overflow-scrolling:touch,
we'd fail to do a compositing layer rebuild, which caused various issues like unparented
descendants, and misplaced and unrepainted content.

This happened because we'd get to RenderLayerBacking::updateConfiguration() via styleChanged
with the view needing layout, so never hit the updateScrollingLayers() code, and the subsequent
updateCompositingLayers() would be a no-op.

Fix by explicitly triggering a layer rebuild when style changes such that the touch-scrollability
of an element changes, as we do for changes in clip.

Test: compositing/scrolling/touch-scroll-to-clip.html

  • rendering/RenderLayerCompositor.cpp:

(WebCore::isScrollableOverflow):
(WebCore::styleHasTouchScrolling):
(WebCore::styleChangeRequiresLayerRebuild):

LayoutTests:

Test that toggles overflow on a touch scrolling div, and dumps layers.

  • compositing/scrolling/touch-scroll-to-clip-expected.txt: Added.
  • compositing/scrolling/touch-scroll-to-clip.html: Added.
  • platform/ios-simulator/compositing/scrolling/touch-scroll-to-clip-expected.txt: Added.
9:32 PM Changeset in webkit [175084] by Chris Dumez
  • 80 edits in trunk/Source/WebCore

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

Reviewed by Darin Adler.

Clean up virtual functions in rendering/ by:

  • Making virtual functions final when possible
  • Making classes final when possible
  • Using 'override' when appropriate
  • Explicitly marking functions / destructors as virtual when they are inherently virtual
  • Dropping virtual destructors when the class does not have subclasses and mark the class as final, to get rid of unnecessary vtables
  • Making isXXX() virtual functions private on XXX classes to avoid unnecessary type checks
  • De-virtualizing some functions that do not need to be virtual
  • Dropping final for virtual functions in classes already marked as final

No new tests, no behavior change.

  • html/shadow/SliderThumbElement.cpp:
  • rendering/AutoTableLayout.h:
  • rendering/ClipPathOperation.h:

(WebCore::ClipPathOperation::type):
(WebCore::ClipPathOperation::isSameType):

  • rendering/EllipsisBox.h:
  • rendering/FixedTableLayout.h:
  • rendering/InlineElementBox.h:
  • rendering/RenderBlockFlow.h:
  • rendering/RenderCombineText.h:
  • rendering/RenderCounter.h:
  • rendering/RenderDeprecatedFlexibleBox.h:
  • rendering/RenderFlexibleBox.h:
  • rendering/RenderFullScreen.h:
  • rendering/RenderGrid.h:
  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.h:
  • rendering/RenderLayerFilterInfo.h:
  • rendering/RenderLineBreak.h:
  • rendering/RenderMarquee.h:
  • rendering/RenderMediaControlElements.h:
  • rendering/RenderMultiColumnFlowThread.h:
  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderMultiColumnSpannerPlaceholder.h:
  • rendering/RenderNamedFlowFragment.h:
  • rendering/RenderNamedFlowThread.h:
  • rendering/RenderQuote.h:
  • rendering/RenderRegion.h:

(WebCore::RenderRegion::renderName): Deleted.

  • rendering/RenderReplica.h:
  • rendering/RenderRubyBase.h:
  • rendering/RenderRubyRun.h:
  • rendering/RenderScrollbar.h:
  • rendering/RenderScrollbarPart.h:
  • rendering/RenderScrollbarTheme.h:

(WebCore::RenderScrollbarTheme::~RenderScrollbarTheme): Deleted.
(WebCore::RenderScrollbarTheme::scrollbarThickness): Deleted.
(WebCore::RenderScrollbarTheme::buttonsPlacement): Deleted.
(WebCore::RenderScrollbarTheme::supportsControlTints): Deleted.
(WebCore::RenderScrollbarTheme::shouldCenterOnThumb): Deleted.
(WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay): Deleted.
(WebCore::RenderScrollbarTheme::autoscrollTimerDelay): Deleted.
(WebCore::RenderScrollbarTheme::registerScrollbar): Deleted.
(WebCore::RenderScrollbarTheme::unregisterScrollbar): Deleted.

  • rendering/RenderSnapshottedPlugIn.h:
  • rendering/RenderTextControlMultiLine.h:
  • rendering/RenderTextFragment.h:
  • rendering/RenderThemeGtk.h:
  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeWin.h:
  • rendering/RenderVideo.h:
  • rendering/TextAutosizer.h:
  • rendering/TrailingFloatsRootInlineBox.h:
  • rendering/mathml/RenderMathMLBlock.h:
  • rendering/mathml/RenderMathMLMenclose.h:
  • rendering/mathml/RenderMathMLOperator.h:
  • rendering/mathml/RenderMathMLRadicalOperator.h:
  • rendering/mathml/RenderMathMLRoot.h:
  • rendering/mathml/RenderMathMLRow.h:
  • rendering/mathml/RenderMathMLScripts.h:
  • rendering/mathml/RenderMathMLToken.h:
  • rendering/mathml/RenderMathMLUnderOver.h:
  • rendering/shapes/BoxShape.h:
  • rendering/shapes/PolygonShape.h:
  • rendering/shapes/RasterShape.h:
  • rendering/shapes/RectangleShape.h:
  • rendering/style/BasicShapes.h:
  • rendering/style/StylePendingImage.h:

(WebCore::StylePendingImage::computeIntrinsicDimensions): Deleted.

  • rendering/svg/RenderSVGBlock.h:
  • rendering/svg/RenderSVGContainer.h:
  • rendering/svg/RenderSVGEllipse.h:
  • rendering/svg/RenderSVGForeignObject.h:
  • rendering/svg/RenderSVGImage.h:
  • rendering/svg/RenderSVGPath.h:
  • rendering/svg/RenderSVGRect.h:
  • rendering/svg/RenderSVGResourceClipper.h:
  • rendering/svg/RenderSVGResourceFilter.h:
  • rendering/svg/RenderSVGResourceFilterPrimitive.h:
  • rendering/svg/RenderSVGResourceLinearGradient.h:
  • rendering/svg/RenderSVGResourceMarker.h:
  • rendering/svg/RenderSVGResourceMasker.h:
  • rendering/svg/RenderSVGResourcePattern.h:
  • rendering/svg/RenderSVGResourceRadialGradient.h:
  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/RenderSVGTSpan.h:
  • rendering/svg/RenderSVGText.h:
  • rendering/svg/RenderSVGTransformableContainer.h:
  • rendering/svg/RenderSVGViewportContainer.h:
  • rendering/svg/SVGInlineTextBox.h:
  • rendering/svg/SVGRootInlineBox.h:
8:49 PM Changeset in webkit [175083] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r175000): Crash in SourceBufferPrivateAVFObjC::destroyParser()
https://bugs.webkit.org/show_bug.cgi?id=137990

Reviewed by Alexey Proskuryakov.

NULL-check m_mediaSource before using.

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

(WebCore::SourceBufferPrivateAVFObjC::destroyParser):

7:54 PM Changeset in webkit [175082] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

commitqueuetask_unittest.py should be made more concise.
https://bugs.webkit.org/show_bug.cgi?id=137985

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-10-22
Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:

Refactors tests to use MockSimpleTestPlanCommitQueue where possible.
(MockCommitQueue.init):
(MockCommitQueue.report_flaky_tests):
(MockCommitQueue):
(MockCommitQueue.get_reported_flaky_tests):
(MockSimpleTestPlanCommitQueue.init):
(MockSimpleTestPlanCommitQueue.run_command):
(MockSimpleTestPlanCommitQueue.did_run_clean_tests):
(CommitQueueTaskTest._run_and_expect_patch_analysis_result):
(test_land_failure):
(test_failed_archive):
(test_double_flaky_test_failure):
(test_test_failure):
(test_red_test_failure):
(test_very_red_tree_retry):
(test_red_tree_patch_rejection):
(test_one_flaky_test):
(test_tree_more_red_than_patch):
(MockCommitQueue.test_results): Deleted.
(test_simple_flaky_test_failure): Deleted.
(_expect_validate): Deleted.
(_expect_validate.MockDelegate): Deleted.
(_expect_validate.MockDelegate.refetch_patch): Deleted.
(_expect_validate.MockDelegate.expected_failures): Deleted.
(_mock_patch): Deleted.
(test_validate): Deleted.

  • Scripts/webkitpy/tool/bot/patchanalysistask.py:

Fixes a bug that slipped through the cracks prior to this change.
(PatchAnalysisTask._test_patch):

7:40 PM Changeset in webkit [175081] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS WK2] Protect WKWebView dynamic viewport change against empty sizes
https://bugs.webkit.org/show_bug.cgi?id=137988
rdar://problem/17785162

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-10-22
Reviewed by Simon Fraser.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _beginAnimatedResizeWithUpdates:]):
The algorithm behind dynamic size update finds the best content area to put in the viewport
after a viewport change. If an initial size or a target size is empty, it is impossible to
compute a reasonable area to keep in the view. We end up handling NaN scales
and/or sizes and CoreAnimation raises an exception when applying that value.

This patch add early exits when that occurs and fallback to the common code.

On Input, things are easy. If any of the initial values is empty, we just execute the updateBlock
without attempting any of the dynamic behaviors.

For the target values, things are trickier. We do not know what the values are going to be before we execute
the block. But once we executed the block, we have already skipped all the setters that call the web process.

To handle that, every value is set manually on WebPageProxy. This is a bit unfortunate because the setters
get yet another entry point.

7:39 PM Changeset in webkit [175080] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Refactoring to simplify some code in DatePrototype.cpp.
<https://webkit.org/b/137997>

Reviewed by Filip Pizlo.

A bunch of functions in DatePrototype.cpp have the pattern of loading a
constant into a local variable only to pass it to a callee function
immediately after. There is no other use for that variable. This adds
additional verbosity with no added benefit.

This patch refactors those functions to just pass the constant arg directly.

  • runtime/DatePrototype.cpp:

(JSC::dateProtoFuncSetMilliSeconds):
(JSC::dateProtoFuncSetUTCMilliseconds):
(JSC::dateProtoFuncSetSeconds):
(JSC::dateProtoFuncSetUTCSeconds):
(JSC::dateProtoFuncSetMinutes):
(JSC::dateProtoFuncSetUTCMinutes):
(JSC::dateProtoFuncSetHours):
(JSC::dateProtoFuncSetUTCHours):
(JSC::dateProtoFuncSetDate):
(JSC::dateProtoFuncSetUTCDate):
(JSC::dateProtoFuncSetMonth):
(JSC::dateProtoFuncSetUTCMonth):
(JSC::dateProtoFuncSetFullYear):
(JSC::dateProtoFuncSetUTCFullYear):

6:37 PM Changeset in webkit [175079] by gyuyoung.kim@samsung.com
  • 8 edits in trunk/Source/WebKit2

EFL and GTK ports have broken since r175075
https://bugs.webkit.org/show_bug.cgi?id=137995

Unreviewed, EFL and GTK ports build fix.

Need to use PLATFORM(MAC) guard for ActionMenuHitTest functions.

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

(WebKit::WebPageProxy::removeNavigationGestureSnapshot):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
6:15 PM Changeset in webkit [175078] by commit-queue@webkit.org
  • 13 edits in trunk

String(new Date(Mar 30 2014 01:00:00)) is wrong in CET
https://bugs.webkit.org/show_bug.cgi?id=130967

Patch by Byungseon Shin <sun.shin@lge.com> on 2014-10-22
Reviewed by Mark Lam.

Source/JavaScriptCore:

By definition of calculateLocalTimeOffset, input time should be UTC time.
But there are many cases when input time is based on local time.
So, it gives erroneous results while calculating offset of DST boundary time.
By adding a argument to distinguish UTC and local time, we can get the correct offset.

(JSC::constructDate):
(JSC::callDate):
(JSC::dateUTC):

  • runtime/DateInstance.cpp:

(JSC::DateInstance::calculateGregorianDateTime):
(JSC::DateInstance::calculateGregorianDateTimeUTC):

  • runtime/DatePrototype.cpp:

(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetMilliSeconds):
(JSC::dateProtoFuncSetUTCMilliseconds):
(JSC::dateProtoFuncSetSeconds):
(JSC::dateProtoFuncSetUTCSeconds):
(JSC::dateProtoFuncSetMinutes):
(JSC::dateProtoFuncSetUTCMinutes):
(JSC::dateProtoFuncSetHours):
(JSC::dateProtoFuncSetUTCHours):
(JSC::dateProtoFuncSetDate):
(JSC::dateProtoFuncSetUTCDate):
(JSC::dateProtoFuncSetMonth):
(JSC::dateProtoFuncSetUTCMonth):
(JSC::dateProtoFuncSetFullYear):
(JSC::dateProtoFuncSetUTCFullYear):
(JSC::dateProtoFuncSetYear):

  • runtime/JSDateMath.cpp:

(JSC::localTimeOffset):
(JSC::gregorianDateTimeToMS):
(JSC::msToGregorianDateTime):
(JSC::parseDateFromNullTerminatedCharacters):

  • runtime/JSDateMath.h:
  • runtime/VM.h:

(JSC::LocalTimeOffsetCache::LocalTimeOffsetCache):
(JSC::LocalTimeOffsetCache::reset):
Passing TimeType argument to distingush UTC time and local time.

Source/WTF:

By definition of calculateLocalTimeOffset, input time should be UTC time.
But there are many cases when input time is based on local time.
So, it gives erroneous results while calculating offset of DST boundary time.
By adding a argument to distinguish UTC and local time, we can get the correct offset.

  • wtf/DateMath.cpp:

(WTF::calculateLocalTimeOffset):
(WTF::parseDateFromNullTerminatedCharacters):
Compensate time offset depends on UTC time or local time.

  • wtf/DateMath.h:

Add argument to differenciate UTC or local time.

LayoutTests:

Set latest DST timezone boundary values on
<http://www.timeanddate.com/time/zone/usa/los-angeles>

  • js/dom/script-tests/date-DST-time-cusps.js:
6:13 PM Changeset in webkit [175077] by Brent Fulgham
  • 28 edits
    55 adds in trunk/LayoutTests

[Win] Rebaseline various tests after switching to Windows rendering for native controls.

  • platform/win/editing/inserting/before-after-input-element-expected.txt: Added.
  • platform/win/editing/pasteboard/4806874-expected.txt: Added.
  • platform/win/editing/pasteboard/pasting-tabs-expected.txt:
  • platform/win/editing/selection/4397952-expected.txt:
  • platform/win/editing/selection/4895428-3-expected.txt: Added.
  • platform/win/editing/selection/select-across-readonly-input-4-expected.txt:
  • platform/win/editing/selection/select-across-readonly-input-5-expected.txt:
  • platform/win/fast/block/basic: Added.
  • platform/win/fast/block/basic/fieldset-stretch-to-legend-expected.txt: Added.
  • platform/win/fast/block/float/032-expected.txt: Added.
  • platform/win/fast/css/text-input-with-webkit-border-radius-expected.txt:
  • platform/win/fast/dom/isindex-001-expected.txt: Added.
  • platform/win/fast/dom/isindex-002-expected.txt: Added.
  • platform/win/fast/forms/007-expected.txt: Added.
  • platform/win/fast/forms/button-align-expected.txt: Added.
  • platform/win/fast/forms/button-cannot-be-nested-expected.txt: Added.
  • platform/win/fast/forms/button-default-title-expected.txt:
  • platform/win/fast/forms/button-table-styles-expected.txt:
  • platform/win/fast/forms/button-white-space-expected.txt: Added.
  • platform/win/fast/forms/encoding-test-expected.txt: Added.
  • platform/win/fast/forms/floating-textfield-relayout-expected.txt: Added.
  • platform/win/fast/forms/input-align-expected.txt: Added.
  • platform/win/fast/forms/input-appearance-bkcolor-expected.txt: Added.
  • platform/win/fast/forms/input-appearance-default-bkcolor-expected.txt: Added.
  • platform/win/fast/forms/input-appearance-disabled-expected.txt: Added.
  • platform/win/fast/forms/input-appearance-preventDefault-expected.txt: Added.
  • platform/win/fast/forms/input-appearance-width-expected.txt: Added.
  • platform/win/fast/forms/input-baseline-expected.txt: Added.
  • platform/win/fast/forms/input-disabled-color-expected.txt: Added.
  • platform/win/fast/forms/input-field-text-truncated-expected.txt: Added.
  • platform/win/fast/forms/input-placeholder-visibility-1-expected.txt: Added.
  • platform/win/fast/forms/input-placeholder-visibility-3-expected.txt: Added.
  • platform/win/fast/forms/input-readonly-empty-expected.txt: Added.
  • platform/win/fast/forms/input-table-expected.txt: Added.
  • platform/win/fast/forms/input-text-click-inside-expected.txt: Added.
  • platform/win/fast/forms/input-text-option-delete-expected.txt: Added.
  • platform/win/fast/forms/input-text-scroll-left-on-blur-expected.txt: Added.
  • platform/win/fast/forms/input-text-self-emptying-click-expected.txt: Added.
  • platform/win/fast/forms/input-text-word-wrap-expected.txt: Added.
  • platform/win/fast/forms/menulist-restrict-line-height-expected.txt: Added.
  • platform/win/fast/forms/menulist-style-color-expected.txt:
  • platform/win/fast/forms/minWidthPercent-expected.txt: Added.
  • platform/win/fast/forms/placeholder-position-expected.txt: Added.
  • platform/win/fast/forms/select-listbox-multiple-no-focusring-expected.txt:
  • platform/win/fast/forms/select-overflow-scroll-expected.txt:
  • platform/win/fast/forms/select-overflow-scroll-inherited-expected.txt:
  • platform/win/fast/forms/text-style-color-expected.txt: Added.
  • platform/win/fast/forms/textfield-focus-ring-expected.txt: Added.
  • platform/win/fast/forms/textfield-outline-expected.txt: Added.
  • platform/win/fast/forms/visual-hebrew-text-field-expected.txt: Added.
  • platform/win/fast/lists/dynamic-marker-crash-expected.txt: Added.
  • platform/win/fast/table/spanOverlapRepaint-expected.txt: Added.
  • platform/win/fast/table/text-field-baseline-expected.txt: Added.
  • platform/win/fast/text/textIteratorNilRenderer-expected.txt:
  • platform/win/svg/custom/inline-svg-in-html-expected.txt: Added.
  • platform/win/svg/hixie/mixed: Added.
  • platform/win/svg/hixie/mixed/003-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/45621-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug138725-expected.txt:
  • platform/win/tables/mozilla/bugs/bug194024-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug24200-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug2479-3-expected.txt:
  • platform/win/tables/mozilla/bugs/bug2479-4-expected.txt:
  • platform/win/tables/mozilla/bugs/bug39209-expected.txt:
  • platform/win/tables/mozilla/bugs/bug4527-expected.txt:
  • platform/win/tables/mozilla/bugs/bug46368-1-expected.txt:
  • platform/win/tables/mozilla/bugs/bug46368-2-expected.txt:
  • platform/win/tables/mozilla/bugs/bug51727-expected.txt:
  • platform/win/tables/mozilla/bugs/bug52505-expected.txt:
  • platform/win/tables/mozilla/bugs/bug52506-expected.txt:
  • platform/win/tables/mozilla/bugs/bug59354-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug60749-expected.txt:
  • platform/win/tables/mozilla/bugs/bug68912-expected.txt: Added.
  • platform/win/tables/mozilla/bugs/bug7342-expected.txt:
  • platform/win/tables/mozilla/bugs/bugs28928-expected.txt: Added.
  • platform/win/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
  • platform/win/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt: Added.
  • platform/win/tables/mozilla_expected_failures/collapsing_borders: Added.
  • platform/win/tables/mozilla_expected_failures/collapsing_borders/bug41262-5-expected.txt: Added.
  • platform/win/tables/mozilla_expected_failures/collapsing_borders/bug41262-6-expected.txt: Added.
  • platform/win/tables/mozilla_expected_failures/core/captions1-expected.txt:
  • platform/win/tables/mozilla_expected_failures/core/captions2-expected.txt:
5:05 PM Changeset in webkit [175076] by ap@apple.com
  • 4 edits in trunk/Tools

Flakiness dashboard should support OS X Yosemite
https://bugs.webkit.org/show_bug.cgi?id=137986

Reviewed by Ryosuke Niwa.

  • TestResultServer/app.yaml:
  • TestResultServer/static-dashboards/builders.jsonp:
  • TestResultServer/static-dashboards/flakiness_dashboard.js:
4:48 PM Changeset in webkit [175075] by timothy_horton@apple.com
  • 17 edits
    6 adds in trunk/Source/WebKit2

Add action menu support for images
https://bugs.webkit.org/show_bug.cgi?id=137987
<rdar://problem/18717767>

Reviewed by Anders Carlsson, Sam Weinig, and Beth Dakin.

  • Resources/AddImageToPhotos.pdf: Added.
  • Resources/CopyImage.pdf: Added.
  • Resources/SaveImageToDownloads.pdf: Added.
  • Resources/ShareImage.pdf: Added.

Add some temporary artwork.

  • Scripts/webkit/messages.py:

(struct_or_class):
ActionMenuHitTestResult is a struct.

  • Shared/API/c/WKActionMenuItemTypes.h:

Add new items for image menus.

  • Shared/mac/ActionMenuHitTestResult.cpp:

(WebKit::ActionMenuHitTestResult::encode):
(WebKit::ActionMenuHitTestResult::decode):
For now, pass the hit image data across to the UI process as a ShareableBitmap.

  • Shared/mac/ActionMenuHitTestResult.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _createActionMenuItemForTag:]):
Refactor action menu item creation into a single function, so that
callers can share code and be much simpler.

(webKitBundleImageNamed):
Add a helper to acquire an image from the WebKit2 bundle.

(-[WKView _copyImage:]):
(-[WKView _saveImageToDownloads:]):
(temporaryPhotosDirectoryPath):
(pathToPhotoOnDisk):
(-[WKView _addImageToPhotos:]):
Add rudimentary implementations of image actions.

(-[WKView _defaultMenuItemsForImage]):
Support the image menu, plus a submenu acquired from NSSharingServicePicker
for the Share menu.

(-[WKView _defaultMenuItems]):
Call _defaultMenuItemsForImage if needed.

(-[WKView _updateActionMenu]):
Refactor _updateActionMenu out of prepareForMenu:withEvent:.

(-[WKView prepareForMenu:withEvent:]):
Ask the Web process to re-hit-test under the location that the menu
will appear. Mark the menu as pending.

(-[WKView _didPerformActionMenuHitTest:]):
When we get the hit test reply, record the result for future use.

(-[WKView willOpenMenu:withEvent:]):
If we got a hit test reply, rebuild the menu immediately. If not, wait
up to 500ms for the reply to come in. This eventually needs to be
cancellable if the menu is rejected in the interim.

(-[WKView didCloseMenu:withEvent:]):
Clear all state when the menu closes.

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::performActionMenuHitTestAtLocation):
(WebKit::WebPageProxy::didPerformActionMenuHitTest):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::didPerformActionMenuHitTest):

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Plumb didPerformActionMenuHitTest back from WebPageProxy to WKView.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::performActionMenuHitTestAtLocation):
Hit test at the given location, recording the image data if there is any,
and return the result to the UI process.

  • WebKit2.xcodeproj/project.pbxproj:

Add the PDFs.

4:43 PM Changeset in webkit [175074] by dbates@webkit.org
  • 3 edits
    9 adds in trunk

SVG loaded through html <img> can't request to load any external resources.
https://bugs.webkit.org/show_bug.cgi?id=137762.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-10-22
Reviewed by Daniel Bates.

Source/WebCore:

SVG images have unique security rules that prevent them from loading any external
resources. This patch enforces these rules in CachedResourceLoader::canRequest for
all non-data-uri resources.

The fix and the tests are ported but modified a little from the chromium fix:
http://src.chromium.org/viewvc/blink?view=rev&rev=176084

Test: http/tests/security/svg-image-with-cached-remote-image.html

http/tests/security/svg-image-with-css-cross-domain.html

For the SVG image, prevent loading any external sub-resource except for data urls.

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::canRequest):

LayoutTests:

Ensure that SVG images, which are loaded through the <img> tag or through the
CSS background image, cannot load any external sub-resource except for data-
URL resources (though this doesn't work at the time of writing, see bug #137941).
Also ensure the same rule is enforced on cached resources.

The tests are ported but modified a little from the chromium fix:
http://src.chromium.org/viewvc/blink?view=rev&rev=176084

Set the circle background to orange

  • http/tests/security/resources/image-with-css-cross-domain-circle.css: Added.

(circle):

Set the circle stroke-width = 2 and the circle stroke = red

  • http/tests/security/resources/image-with-css-cross-domain-circle2.css: Added.

(circle):

This svg references the two css files: one is relative path and the other is absolute path

  • http/tests/security/resources/image-with-css-cross-domain.svg: Added.

This svg references an external image.

  • http/tests/security/resources/image-with-remote-image.svg: Added.

A helper css which sets the formatting style for some html tags

  • http/tests/security/svg-image-with-css-cross-domain.css: Added.

(span):
(span.circle-css-cross-domain):
(embed):
(iframe):

Test the svg which is referenced as a cached image by an <object> tag, does not load
external sub-resource.

  • http/tests/security/svg-image-with-cached-remote-image-expected.html: Added.
  • http/tests/security/svg-image-with-cached-remote-image.html: Added.

Test loading sub-resources for an svg which is included in the html by different ways
and which references external css files.
Ensure the image object does not load any external sub-resources.

  • http/tests/security/svg-image-with-css-cross-domain-expected.html: Added.
  • http/tests/security/svg-image-with-css-cross-domain.html: Added.
4:27 PM Changeset in webkit [175073] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

commitqueuetask should include more tests to ensure that the behavior
of PatchAnalysisTask._test_patch() is well defined
https://bugs.webkit.org/show_bug.cgi?id=137977

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-10-22
Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:

Adds the MockSimpleTestPlanCommitQueue class, which makes it easier
and more readable to define tests that are meant to test the behaviour
of PatchAnalysisTask._test_patch(), and adds several unit tests.
(FailingTestCommitQueue.test_results):
(PatchAnalysisResult):
(MockSimpleTestPlanCommitQueue):
(MockSimpleTestPlanCommitQueue.init):
(MockSimpleTestPlanCommitQueue.run_command):
(MockSimpleTestPlanCommitQueue._mock_test_result):
(MockSimpleTestPlanCommitQueue.test_results):
(CommitQueueTaskTest._run_and_expect_patch_analysis_result):
(test_flaky_test_failure):
(test_failed_archive):
(test_two_flaky_tests):
(test_one_flaky_test):
(test_very_flaky_patch):
(test_very_flaky_patch_with_some_tree_redness):
(test_different_test_failures):
(test_different_test_failures_with_some_tree_redness):
(test_mildly_flaky_patch):
(test_mildly_flaky_patch_with_some_tree_redness):
(test_tree_more_red_than_patch):

4:18 PM Changeset in webkit [175072] by adachan@apple.com
  • 6 edits
    2 adds in trunk

MediaPlayerPrivateAVFoundation::hasAudio() returns false even when there is an audible AVMediaSelectionOption selected
https://bugs.webkit.org/show_bug.cgi?id=137935

Reviewed by Eric Carlson.

Source/WebCore:

Set hasAudio to true if there's a selected audible AVMediaSelectionOption
after the call to updateAudioTracks(). Ditto for video.

Test: http/tests/media/hls/hls-audio-tracks-has-audio.html

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):

  • testing/Internals.cpp:

(WebCore::Internals::mediaElementHasCharacteristic):

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

Add internals.mediaElementHasCharacteristic for the new test.

LayoutTests:

  • http/tests/media/hls/hls-audio-tracks-has-audio-expected.txt: Added.
  • http/tests/media/hls/hls-audio-tracks-has-audio.html: Added.
4:03 PM Changeset in webkit [175071] by gyuyoung.kim@samsung.com
  • 8 edits in trunk/Source

Remove WidgetBackingStoreCairo::create() factory function
https://bugs.webkit.org/show_bug.cgi?id=137943

Reviewed by Darin Adler.

WidgetBackingStoreCairo::create() can be replaced by std::make_unique<>.
Thus this patch removes it, then use std::make_unique<>|std::unique_ptr<>.

Source/WebCore:

No new tests, no behavior changes.

  • platform/cairo/WidgetBackingStoreCairo.cpp:

(WebCore::WidgetBackingStoreCairo::create): Deleted.

  • platform/cairo/WidgetBackingStoreCairo.h:
  • platform/gtk/WidgetBackingStoreGtkX11.cpp:

(WebCore::WidgetBackingStoreGtkX11::create): Deleted.

  • platform/gtk/WidgetBackingStoreGtkX11.h:

Source/WebKit2:

  • UIProcess/BackingStore.h:
  • UIProcess/cairo/BackingStoreCairo.cpp:

(WebKit::createBackingStoreForGTK):
(WebKit::BackingStore::incorporateUpdate):

4:01 PM Changeset in webkit [175070] by gyuyoung.kim@samsung.com
  • 7 edits in trunk/Source

Remove TextCheckerEnchant::create() factory function
https://bugs.webkit.org/show_bug.cgi?id=137944

Reviewed by Darin Adler.

TextCheckerEnchant::create() can be replaced by std::make_unique<> and std::unique_ptr<>.

Source/WebCore:

No new tests, no behavior change.

  • platform/text/enchant/TextCheckerEnchant.h:

(WebCore::TextCheckerEnchant::create): Deleted.

Source/WebKit2:

  • UIProcess/API/gtk/WebKitTextChecker.cpp:

(WebKitTextChecker::WebKitTextChecker):

  • UIProcess/API/gtk/WebKitTextChecker.h:
  • UIProcess/efl/TextCheckerClientEfl.cpp:

(TextCheckerClientEfl::TextCheckerClientEfl):

  • UIProcess/efl/TextCheckerClientEfl.h:
3:53 PM Changeset in webkit [175069] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.25-branch/Source

Versioning.

2:45 PM Changeset in webkit [175068] by Chris Dumez
  • 18 edits in trunk/Source/WebCore

Avoid confusion between AccessibilityObject::isTable() / isAccessibilityTable()
https://bugs.webkit.org/show_bug.cgi?id=137899

Reviewed by Darin Adler.

Avoid confusion between AccessibilityObject::isTable() and
isAccessibilityTable(). isTable() is equivalent to
is<AccessibilityTable>(), while isAccessibilityTable() is an
AccessibilityTable that is exposed as an AccessibilityTable to the
platform.

This patch is renaming isAccessibilityTable() to
isExposableThroughAccessibility(), makes it non-virtual and defines it
on AccessibilityTable only, for clarity.

This patch also renames isTableExposableThroughAccessibility() to
computeIisTableExposableThroughAccessibility() as it is called only
once to initialize the m_isExposableThroughAccessibility data member.

No new tests, no behavior change.

  • accessibility/AccessibilityARIAGrid.cpp:

(WebCore::AccessibilityARIAGrid::addChildren):

  • accessibility/AccessibilityARIAGrid.h:
  • accessibility/AccessibilityARIAGridCell.cpp:

(WebCore::AccessibilityARIAGridCell::parentTable):
(WebCore::AccessibilityARIAGridCell::rowIndexRange):
(WebCore::AccessibilityARIAGridCell::columnIndexRange):

  • accessibility/AccessibilityARIAGridRow.cpp:

(WebCore::AccessibilityARIAGridRow::disclosedRows):
(WebCore::AccessibilityARIAGridRow::disclosedByRow):
(WebCore::AccessibilityARIAGridRow::parentTable):

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::shouldUseAccessiblityObjectInnerText):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isAccessibilityObjectSearchMatchAtIndex):
(WebCore::appendChildrenToArray):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isAccessibilityTable): Deleted.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::ariaSelectedRows):

  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::AccessibilityTable):
(WebCore::AccessibilityTable::init):
(WebCore::AccessibilityTable::isExposableThroughAccessibility):
(WebCore::AccessibilityTable::computeIsTableExposableThroughAccessibility):
(WebCore::AccessibilityTable::addChildren):
(WebCore::AccessibilityTable::tableLevel):
(WebCore::AccessibilityTable::roleValue):
(WebCore::AccessibilityTable::computeAccessibilityIsIgnored):
(WebCore::AccessibilityTable::title):
(WebCore::AccessibilityTable::isAccessibilityTable): Deleted.
(WebCore::AccessibilityTable::isTableExposableThroughAccessibility): Deleted.

  • accessibility/AccessibilityTable.h:
  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::isTableCell):

  • accessibility/AccessibilityTableColumn.cpp:

(WebCore::AccessibilityTableColumn::headerObject):
(WebCore::AccessibilityTableColumn::addChildren):

  • accessibility/AccessibilityTableHeaderContainer.cpp:

(WebCore::AccessibilityTableHeaderContainer::addChildren):

  • accessibility/AccessibilityTableRow.cpp:

(WebCore::AccessibilityTableRow::isTableRow):
(WebCore::AccessibilityTableRow::parentTable):

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetNChildren):
(webkitAccessibleRefChild):
(webkitAccessibleGetAttributes):

  • accessibility/mac/AXObjectCacheMac.mm:

(WebCore::AXObjectCache::postPlatformNotification):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

2:16 PM Changeset in webkit [175067] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Avoid repeated is<MutableStyleProperties>() checks in StyleProperties
https://bugs.webkit.org/show_bug.cgi?id=137978

Reviewed by Andreas Kling.

Reduce the amount of is<MutableStyleProperties>() checks in
StyleProperties by:

  • Removing the checks in each method of StyleProperties::PropertyReference, and replace them by a single check in StyleProperties::propertyAt().
  • Providing faster propertyCount() / propertyAt() / isEmpty() methods on MutableStyleProperties / ImmutableStyleProperties as a lot of callers use tight typing.
  • Using tighter typing at call sites whenever possible.

Ideally, we could be able to use iterators instead of propertyCount() /
propertyAt() but this is not trivial to do efficiently as the
representation in memory is fundamentally different for MutableStyleProperties
/ ImmutableStyleProperties. We may be able to do better longer term, but
this is already more efficient short term at least.

No new tests, no behavior change.

  • css/StyleProperties.cpp:

(WebCore::MutableStyleProperties::MutableStyleProperties):
(WebCore::StyleProperties::PropertyReference::cssText):

  • css/StyleProperties.h:

(WebCore::StyleProperties::PropertyReference::PropertyReference):
(WebCore::StyleProperties::PropertyReference::id):
(WebCore::StyleProperties::PropertyReference::shorthandID):
(WebCore::StyleProperties::PropertyReference::isImportant):
(WebCore::StyleProperties::PropertyReference::isInherited):
(WebCore::StyleProperties::PropertyReference::isImplicit):
(WebCore::StyleProperties::PropertyReference::value):
(WebCore::StyleProperties::PropertyReference::toCSSProperty):
(WebCore::StyleProperties::isEmpty):
(WebCore::ImmutableStyleProperties::isEmpty):
(WebCore::MutableStyleProperties::isEmpty):
(WebCore::ImmutableStyleProperties::propertyAt):
(WebCore::MutableStyleProperties::propertyAt):
(WebCore::StyleProperties::propertyAt):
(WebCore::StyleProperties::propertyCount):
(WebCore::StyleProperties::PropertyReference::propertyMetadata): Deleted.
(WebCore::StyleProperties::PropertyReference::propertyValue): Deleted.

  • editing/EditingStyle.cpp:

(WebCore::removePropertiesInStyle):
(WebCore::EditingStyle::removePropertiesInElementDefaultStyle):

2:14 PM Changeset in webkit [175066] by eric.carlson@apple.com
  • 8 edits in trunk/Source/WebCore

[Mac][MediaStream] clean up bit rot
https://bugs.webkit.org/show_bug.cgi?id=137976

Reviewed by Jer Noble.

No new tests, this just gets the Mac port compiling again.

  • Modules/mediastream/MediaStream.h: Add a virtual destructor to Observer since it has

a virtual method.

  • WebCore.exp.in: Export RTCPeerConnectionHandler::create and RTCPeerConnectionHandlerMock::create(WebCore::RTCPeerConnectionHandlerClient*),

they are both use by Internals for testing.

  • WebCore.xcodeproj/project.pbxproj: Add RTC and MediaStream files.
  • html/HTMLMediaElement.h: Forward declare MediaStream instead of including MediaStream.h.
  • platform/mediastream/RTCPeerConnectionHandler.h: EXPORT the create method.
  • platform/mock/MediaConstraintsMock.cpp:

(WebCore::isSupported): Make static.
(WebCore::isValid): Ditto.

  • platform/mock/RTCPeerConnectionHandlerMock.h: EXPORT the create method.
2:11 PM Changeset in webkit [175065] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.25.1

New tag.

1:14 PM Changeset in webkit [175064] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

Revert fix for REGRESSION (r173356): Safari can't install a profile, gets 'Download Failed error
(https://bugs.webkit.org/show_bug.cgi?id=137493)

Turns out the root cause was a bug in MIME type sniffing, https://bugs.webkit.org/show_bug.cgi?id=137855

Remove the workaround.

  • Shared/Downloads/ios/DownloadIOS.mm:

(WebKit::Download::startWithHandle):

  • Shared/Downloads/mac/DownloadMac.mm:

(WebKit::Download::startWithHandle):

1:04 PM Changeset in webkit [175063] by commit-queue@webkit.org
  • 8 edits
    2 deletes in trunk/Tools

PatchAnalysisTask._test_patch() needs refactoring
https://bugs.webkit.org/show_bug.cgi?id=137904

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-10-22
Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:

Fixes several small bugs, and makes minor changes to accomodate the
changes in PatchAnalysisTask.
(MockCommitQueue.refetch_patch):
(MockCommitQueue.test_results):
(test_flaky_test_failure):
(test_failed_archive):
(test_very_red_tree_retry):
(_expect_validate.MockDelegate.refetch_patch):
(MockCommitQueue.expected_failures): Deleted.
(_expect_validate.MockDelegate.expected_failures): Deleted.

  • Scripts/webkitpy/tool/bot/expectedfailures.py: Removed.
  • Scripts/webkitpy/tool/bot/expectedfailures_unittest.py: Removed.
  • Scripts/webkitpy/tool/bot/patchanalysistask.py:

Removes the unexpected_failures member, adds the _clean_tree_results
member, adds a helper function for _test_patch, and refactors
_test_patch to be more readable.
(PatchAnalysisTask.init):
(PatchAnalysisTask._continue_testing_patch_that_exceeded_failure_limit_on_first_or_second_try):
(PatchAnalysisTask._test_patch):
(PatchAnalysisTask.results_from_test_run_without_patch):

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

Removes AbstractEarlyWarningSystem's dependancy on ExpectedFailures.
(AbstractEarlyWarningSystem.begin_work_queue):
(AbstractEarlyWarningSystem._failing_tests_message):
(AbstractEarlyWarningSystem.command_failed):
(AbstractEarlyWarningSystem.expected_failures): Deleted.

  • Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:

Makes changes to accomodate the changes made to PatchAnalysisTask.
(AbstractEarlyWarningSystemTest.test_failing_tests_message):

  • Scripts/webkitpy/tool/commands/perfalizer.py:

Removes Perfalizer's dependancy on ExpectedFailures.
(PerfalizerTask.refetch_patch):
(PerfalizerTask.expected_failures): Deleted.

  • Scripts/webkitpy/tool/commands/queues.py:

Removes CommitQueue's dependancy on ExpectedFailures, and adds an
initializer to allow for mock injection.
(CommitQueue.init):
(CommitQueue.begin_work_queue):
(CommitQueue.process_work_item):
(CommitQueue._failing_tests_message):

  • Scripts/webkitpy/tool/commands/queues_unittest.py:

Removes dependancy on ExpectedFailures, and instead uses mock
injection.
(MockCommitQueueTask):
(MockCommitQueueTask.results_from_patch_test_run):
(MockCommitQueueTask.results_from_test_run_without_patch):
(mock_run_webkit_patch):

12:44 PM Changeset in webkit [175062] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Versioning.

12:13 PM Changeset in webkit [175061] by Beth Dakin
  • 5 edits in trunk/Source/WebKit2

Remove action menu web preference
https://bugs.webkit.org/show_bug.cgi?id=137975

Reviewed by Tim Horton.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetActionMenuSupportEnabled): Deleted.
(WKPreferencesGetActionMenuSupportEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:context:configuration:webView:]):

12:12 PM Changeset in webkit [175060] by matthew_hanson@apple.com
  • 1 copy in branches/safari-600.3-branch

New Branch.

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

Web Inspector: Fix generator importing of protocol type "any", treat as value
https://bugs.webkit.org/show_bug.cgi?id=137931

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-22
Reviewed by Timothy Hatcher.

Treat incoming "any" objects as InspectorValues, which can be any type.
Add the necessary boilerplate to import.

  • inspector/InspectorBackendDispatcher.cpp:

(Inspector::AsMethodBridges::asValue):
(Inspector::InspectorBackendDispatcher::getValue):

  • inspector/InspectorBackendDispatcher.h:
  • inspector/scripts/codegen/generator.py:

(Generator.keyed_get_method_for_type):

  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
11:59 AM Changeset in webkit [175058] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r174996): Broke C_LOOP
https://bugs.webkit.org/show_bug.cgi?id=137971

Reviewed by Mark Lam.

Removed incorrect move to cfr (CallFrameRegister) before we make the call to a native function.
After r174996, the source register for the move contained garbage causing the crash. The move
to cfr before making the call to the native function is wrong and should have been removed
some time ago. This brings the ARM64 / C_LOOP code path inline with the other CPU paths.
Tested on ARM64 as well as a C_LOOP build.

  • llint/LowLevelInterpreter64.asm:
10:50 AM Changeset in webkit [175057] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed EFL gardening.
https://bugs.webkit.org/show_bug.cgi?id=137950

Some tests that are passed in latest build.

Patch by Hunseop Jeong <Hunseop Jeong> on 2014-10-22

  • platform/efl/TestExpectations: Remove passing tests from TestExceptation file.
10:45 AM Changeset in webkit [175056] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Mark a number of tests as failing due to white selected text color.
https://bugs.webkit.org/show_bug.cgi?id=137963

  • platform/win/TestExpectations:
10:43 AM Changeset in webkit [175055] by Chris Dumez
  • 22 edits
    1 copy
    1 add in trunk/Source

[Mac][WK2] Fix applicationIsSafari() detection
https://bugs.webkit.org/show_bug.cgi?id=137893

Reviewed by Alexey Proskuryakov.

Source/WebCore:

I noticed when profiling Safari on Mac that we were exercising a code
path we shouldn't because it is meant for other applications that
Safari.

The detection relies on the applicationIsSafari() function in
RuntimeApplicationChecks.cpp. This was in some cases returning false on
my machine even though I was running Safari so I investigated a bit and
noticed that the check relies on the main bundle identifier string and
is doing:
isSafari = mainBundleIsEqualTo("com.apple.Safari")

mainBundleIsEqualTo("com.apple.WebProcess");

This WebProcess detection is very unreliable because:

  • It matches other apps than Safari's WebProcesses
  • The bundle name for the WebProcess is sometimes

"com.apple.WebKit.WebContent" or
"com.apple.WebKit.WebContent.Development".

The solution used in this patch is to move the applicationIsSafari()
check to the UIProcess so that the check actually succeeds reliably.
The call site for applicationIsSafari() was in
ResourceRequest::useQuickLookResourceCachingQuirks(). This match
removes that logic from ResourceRequest and move it to
FrameLoaderClient as only the FrameLoader is interested in this
information. The logic to determine if we should use QuickLook
resource caching quirks is moved to a new QuickLook class under
platform/ as the code needs to be shared between WebKit and WebKit2.
On WebKit2, we make use that code on the UIProcess side and pass
the flag as a parameter when constructing the WebProcess. The flag
is then stored on the WebProcess and queried by WebFrameLoaderClient.

Previously, we would spend ~1% of the WebProcess cpu time (when loading
apple.com) trying to detect if we should use QuickLook resource caching
quirks even though that check was supposed to be disabled and return
early when running Safari.

No new tests, not easily testable.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/EmptyClients.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::subresourceCachePolicy):

  • loader/FrameLoaderClient.h:
  • platform/RuntimeApplicationChecks.cpp:

(WebCore::applicationIsSafari):
Remove "com.apple.WebProcess" bundle name matching as this causes false
positives (matches other applications than Safari's WebProcesses) and
it is no longer needed now that applicationIsSafari() is always called
from the UIProcess.

  • platform/mac/QuickLookMac.h: Added.
  • platform/mac/QuickLookMac.mm: Copied from Source/WebCore/platform/network/mac/ResourceRequestMac.mm.

(WebCore::QuickLookMac::computeNeedsQuickLookResourceCachingQuirks):

  • platform/network/cf/ResourceRequest.h:
  • platform/network/ios/ResourceRequestIOS.mm:

(WebCore::ResourceRequest::useQuickLookResourceCachingQuirks): Deleted.

  • platform/network/mac/ResourceRequestMac.mm:

(WebCore::initQuickLookResourceCachingQuirks): Deleted.
(WebCore::ResourceRequest::useQuickLookResourceCachingQuirks): Deleted.

Source/WebKit/mac:

Provide an implementation for FrameLoaderClient's new
needsQuickLookResourceCachingQuirks() that returns
a static flag initialized using
QuickLookMac::computeNeedsQuickLookResourceCachingQuirks().

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

Source/WebKit2:

Provide an implementation for FrameLoaderClient's new
needsQuickLookResourceCachingQuirks(), which accesses the flag stored
on the WebProcess, which is initialized upon WebProcess creation.

QuickLookMac::computeNeedsQuickLookResourceCachingQuirks() is called
on UIProcess side so that it works reliably and the flag is passed as
parameter when constructing the WebProcess.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformInitializeWebProcess):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::needsQuickLookResourceCachingQuirks):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::WebProcess):

  • WebProcess/WebProcess.h:

(WebKit::WebProcess::needsQuickLookResourceCachingQuirks):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

10:41 AM Changeset in webkit [175054] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Mark a number of tests as failing due to <select> bug.
https://bugs.webkit.org/show_bug.cgi?id=137962

  • platform/win/TestExpectations:
10:16 AM Changeset in webkit [175053] by commit-queue@webkit.org
  • 5 edits
    8 adds in trunk

XMLHttpRequest should support attribute responseURL as per latest XHR spec.
https://bugs.webkit.org/show_bug.cgi?id=136938

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-10-22
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Tests: http/tests/xmlhttprequest/basic-auth-responseURL.html

http/tests/xmlhttprequest/cross-origin-redirect-responseURL.html
http/tests/xmlhttprequest/redirect-credentials-responseURL.html
http/tests/xmlhttprequest/xmlhttprequest-responseURL.html

XMLHttpRequest should support attribute responseURL

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::responseURL):

  • xml/XMLHttpRequest.h:
  • xml/XMLHttpRequest.idl:

LayoutTests:

Added test to check responseURL attribute in XMLHttpRequest.

  • http/tests/xmlhttprequest/basic-auth-responseURL-expected.txt: Added.
  • http/tests/xmlhttprequest/basic-auth-responseURL.html: Added.
  • http/tests/xmlhttprequest/cross-origin-redirect-responseURL-expected.txt: Added.
  • http/tests/xmlhttprequest/cross-origin-redirect-responseURL.html: Added.
  • http/tests/xmlhttprequest/redirect-credentials-responseURL-expected.txt: Added.
  • http/tests/xmlhttprequest/redirect-credentials-responseURL.html: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-responseURL-expected.txt: Added.
  • http/tests/xmlhttprequest/xmlhttprequest-responseURL.html: Added.
9:56 AM Changeset in webkit [175052] by Chris Dumez
  • 13 edits
    1 add in trunk/Source/WebCore

Add initial support for generating the StyleBuilder from CSSPropertyNames.in
https://bugs.webkit.org/show_bug.cgi?id=137910

Reviewed by Andreas Kling.

Add initial support for generating the StyleBuilder from
CSSPropertyNames.in. This is a first step towards getting rid of the
legacy DeprecatedStyleBuilder class and having everything defined in one
place (CSSPropertyNames.in).

This patch updates makeprop.pl script to generate a StyleBuilder.cpp
file that generate a the StyleBuilder::applyProperty() method
implementation using a huge switch statement for all the CSS
properties. With this patch, we are now generating the new StyleBuilder
code for all the "simple" CSS properties (i.e. those that were using
ApplyPropertyDefault<> in DeprecatedStyleBuilder.cpp). I am using a
"NewStyleBuilder" option in CSSPropertyNames.in for properties that
we generate to help with improving incrementally the generator. Once
we are able to generate all properties, this transition option will
do away and become the default.

By default, the generator will make an educated guess for the type
name, the getter, the setter and the initial function of each property.
For example, for the border-collapse property, it will use:

  • TypeName: EBorderCollapse (i.e. 'E' + PropertyId)
  • Getter: borderCollapse() (i.e. PropertyId with first letter lowercased)
  • Setter: setBorderCollapse() (i.e. 'set' + PropertyId)
  • Initial: initialBorderCollapse() (i.e. 'initial' + PropertyId)

This works for most properties. For properties that need
special-casing, developers can use the following options in
CSSPropertyNames.in:

  • TypeName: Overrides the type name
  • Getter: Overrides the getter name
  • Setter: Overrides the setter name
  • Initial: Overrides the initial function name
  • NameForMethods: Overrides the Getter / Setter / Initial function names. For e.g. "NameForMethods=OverflowWrap" will use "overflowWrap() / setOverflowWrap() / initialOverflowWrap()".

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

No new tests, no behavior change.

  • CMakeLists.txt:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSPropertyNames.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyVerticalAlign::createHandler):
(WebCore::ApplyPropertyDisplay::applyInitialValue):
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • css/StyleBuilder.h: Added.
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle):
(WebCore::StyleResolver::applyProperty):

  • css/makeprop.pl:
  • rendering/style/RenderStyle.h:

Move the initialXXX() methods that were in NonInheritedFlags to
RenderStyle class, with the other initialXXX() methods to facilitate
code generation.

  • rendering/style/StyleMultiColData.cpp:

(WebCore::StyleMultiColData::StyleMultiColData):

  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):

8:56 AM Changeset in webkit [175051] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix GStreamer debug build after r175050.

Explicitly include wtf/MainThread.h.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
8:12 AM Changeset in webkit [175050] by Carlos Garcia Campos
  • 12 edits
    3 adds in trunk

[GStreamer] Do not use CachedResourceLoader, SecurityOrigin, ResourceBuffer and other WebCore types
https://bugs.webkit.org/show_bug.cgi?id=137064

Reviewed by Philippe Normand.

Source/WebCore:

Move the media resource loader to a new class in WebCore/loader
that inherits from a PlatformMediaResourceLoader class defined in
the platform layer. The platform specific behaviour is implemented
using a client also defined in the platform layer, implemented by
every media backend, and used by the WebCore MediaResourceLoader.

  • CMakeLists.txt: Add new files to compilation.
  • WebCore.vcxproj/WebCore.vcxproj: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerCreateResourceLoader):
Create a MediaResourceLoader.
(WebCore::HTMLMediaElement::mediaPlayerCORSMode): Deleted. This is
no longer used.

  • html/HTMLMediaElement.h:
  • loader/MediaResourceLoader.cpp: Added.

(WebCore::MediaResourceLoader::MediaResourceLoader):
(WebCore::MediaResourceLoader::~MediaResourceLoader):
(WebCore::MediaResourceLoader::start): Start a new load for the
given request and load options.
(WebCore::MediaResourceLoader::stop): Stop the load if needed.
(WebCore::MediaResourceLoader::setDefersLoading):
(WebCore::MediaResourceLoader::responseReceived): Handle CORS
access check and notify the client about the response.
(WebCore::MediaResourceLoader::dataReceived): Notify the client.
(WebCore::MediaResourceLoader::notifyFinished): Ditto.
(WebCore::MediaResourceLoader::getOrCreateReadBuffer): Ask the
client to create the read buffer.

  • loader/MediaResourceLoader.h: Added.
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::createResourceLoader): Call
mediaPlayerCreateResourceLoader() if there's a client.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerCreateResourceLoader):
(WebCore::MediaPlayerClient::mediaPlayerCORSMode): Deleted.

  • platform/graphics/PlatformMediaResourceLoader.h: Added.

(WebCore::PlatformMediaResourceLoaderClient::responseReceived):
(WebCore::PlatformMediaResourceLoaderClient::dataReceived):
(WebCore::PlatformMediaResourceLoaderClient::bufferReceived):
(WebCore::PlatformMediaResourceLoaderClient::accessControlCheckFailed):
(WebCore::PlatformMediaResourceLoaderClient::loadFailed):
(WebCore::PlatformMediaResourceLoaderClient::loadFinished):
(WebCore::PlatformMediaResourceLoaderClient::getOrCreateReadBuffer):
(WebCore::PlatformMediaResourceLoader::~PlatformMediaResourceLoader):
(WebCore::PlatformMediaResourceLoader::stop):
(WebCore::PlatformMediaResourceLoader::setDefersLoading):
(WebCore::PlatformMediaResourceLoader::didPassAccessControlCheck):
(WebCore::PlatformMediaResourceLoader::PlatformMediaResourceLoader):

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcStop): Also delete the PlatformMediaResourceLoader.
(webKitWebSrcStart): Create a new resource loader using
MediaPlayer::createResourceLoader() with a new
CachedResourceStreamingClient as client.
(webKitWebSrcNeedDataMainCb): Call setDefersLoading() for the
resource loader if there's one.
(webKitWebSrcEnoughDataMainCb): Ditto.
(webKitSrcPassedCORSAccessCheck): Return didPassAccessControlCheck.
(StreamingClient::handleResponseReceived): Remove the CORS check
result parameter since that's now handled by MediaResourceLoader.
(CachedResourceStreamingClient::CachedResourceStreamingClient):
(CachedResourceStreamingClient::~CachedResourceStreamingClient):
(CachedResourceStreamingClient::getOrCreateReadBuffer):
(CachedResourceStreamingClient::responseReceived): Update didPassAccessControlCheck.
(CachedResourceStreamingClient::dataReceived):
(CachedResourceStreamingClient::accessControlCheckFailed): Log the
error and stop the load.
(CachedResourceStreamingClient::loadFailed): Log the error if it
was not a cancellation.
(CachedResourceStreamingClient::loadFinished):
(ResourceHandleStreamingClient::didReceiveResponse):
(CachedResourceStreamingClient::setDefersLoading): Deleted.
(CachedResourceStreamingClient::notifyFinished): Deleted.

LayoutTests:

Update expected results of http/tests/security/video-cross-origin-accessfailure.html, since
now the error is also logged in the console.

  • http/tests/security/video-cross-origin-accessfailure-expected.txt:
8:09 AM Changeset in webkit [175049] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Minibrowser : Add support for mouse middle button to open links in new window
https://bugs.webkit.org/show_bug.cgi?id=136736

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-10-22
Reviewed by Gyuyoung Kim.

  • MiniBrowser/efl/main.c:

(on_navigation_policy_decision): Check whether it's a link clicked with the middle mouse button and load the request in a new window.
(window_create):

7:59 AM Changeset in webkit [175048] by Alan Bujtas
  • 2 edits in trunk/PerformanceTests

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

Reviewed by Antti Koivisto.

Extend simple line layout performance test with a few more cases.
Now we've got:
<div center
<div right
<div justify
<div white-space: pre (new)
<div overflow-wrap: break-word (new)
<pre
<pre white-space: pre-wrap
<pre white-space: pre-line (new)
<pre white-space: nowrap (new)
<pre white-space: pre-wrap overflow-wrap: break-word
<div + embedded <span etc.
<div + br

  • Layout/line-layout-simple.html:
7:03 AM Changeset in webkit [175047] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix GTK+ debug build after r175046.

Remove invalid ASSERT.

  • UIProcess/gtk/InputMethodFilter.cpp:

(WebKit::InputMethodFilter::setCursorRect):

6:00 AM Changeset in webkit [175046] by Carlos Garcia Campos
  • 9 edits
    1 move
    3 adds
    4 deletes in trunk

[GTK] Move GtkInputMethodFilter from Platform to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=137884

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Remove GtkInputMethodFilter.

  • PlatformGTK.cmake:
  • platform/gtk/GtkInputMethodFilter.cpp: Removed.
  • platform/gtk/GtkInputMethodFilter.h: Removed.

Source/WebKit2:

Merge WebViewBaseInputMethodFilter and GtkInputMethodFilter into a
single class InputMethodFilter. The code is mostly the same, but
instead of having a setWebView method only to get the WebPageProxy,
it has a setPage method that passes the WebPageProxy. The GtkIMContext
client window is set by the WebView when it's realized/unrealized.

  • PlatformGTK.cmake:
  • Shared/NativeWebKeyboardEvent.h:
  • Shared/gtk/NativeWebKeyboardEventGtk.cpp:

(WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseRealize):
(webkitWebViewBaseUnrealize):
(webkit_web_view_base_class_init):
(webkitWebViewBaseCreateWebPage):
(webkitWebViewBaseEnterFullScreen): Deleted.

  • UIProcess/API/gtk/WebViewBaseInputMethodFilter.cpp: Removed.
  • UIProcess/API/gtk/WebViewBaseInputMethodFilter.h: Removed.
  • UIProcess/gtk/InputMethodFilter.cpp: Added.

(WebKit::InputMethodFilter::handleCommitCallback):
(WebKit::InputMethodFilter::handlePreeditStartCallback):
(WebKit::InputMethodFilter::handlePreeditChangedCallback):
(WebKit::InputMethodFilter::handlePreeditEndCallback):
(WebKit::InputMethodFilter::InputMethodFilter):
(WebKit::InputMethodFilter::~InputMethodFilter):
(WebKit::InputMethodFilter::setEnabled):
(WebKit::InputMethodFilter::setCursorRect):
(WebKit::InputMethodFilter::handleKeyboardEvent):
(WebKit::InputMethodFilter::handleKeyboardEventWithCompositionResults):
(WebKit::InputMethodFilter::filterKeyEvent):
(WebKit::InputMethodFilter::confirmComposition):
(WebKit::InputMethodFilter::updatePreedit):
(WebKit::InputMethodFilter::notifyFocusedIn):
(WebKit::InputMethodFilter::notifyFocusedOut):
(WebKit::InputMethodFilter::notifyMouseButtonPress):
(WebKit::InputMethodFilter::confirmCurrentComposition):
(WebKit::InputMethodFilter::cancelContextComposition):
(WebKit::InputMethodFilter::sendCompositionAndPreeditWithFakeKeyEvents):
(WebKit::InputMethodFilter::handleCommit):
(WebKit::InputMethodFilter::handlePreeditStart):
(WebKit::InputMethodFilter::handlePreeditChanged):
(WebKit::InputMethodFilter::handlePreeditEnd):
(WebKit::InputMethodFilter::logHandleKeyboardEventForTesting):
(WebKit::InputMethodFilter::logHandleKeyboardEventWithCompositionResultsForTesting):
(WebKit::InputMethodFilter::logConfirmCompositionForTesting):
(WebKit::InputMethodFilter::logSetPreeditForTesting):

  • UIProcess/gtk/InputMethodFilter.h: Added.

(WebKit::InputMethodFilter::context):
(WebKit::InputMethodFilter::setPage):
(WebKit::InputMethodFilter::setTestingMode):
(WebKit::InputMethodFilter::events):

Tools:

Move InputMethodFilter test from WebCore tests to WebKit2 tests
and adapt it to use the new InputMethodFilter WebKit class. Instead
of having virtual methods just for testing, it has a testing mode
that logs the events.

  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/Tests/WebKit2/gtk/InputMethodFilter.cpp: Renamed from Tools/TestWebKitAPI/Tests/WebCore/gtk/InputMethodFilter.cpp.

(TestWebKitAPI::TestInputMethodFilter::TestInputMethodFilter):
(TestWebKitAPI::TestInputMethodFilter::~TestInputMethodFilter):
(TestWebKitAPI::TestInputMethodFilter::sendKeyEventToFilter):
(TestWebKitAPI::TestInputMethodFilter::sendPressAndReleaseKeyEventPairToFilter):
(TestWebKitAPI::TEST):
(TestWebKitAPI::temporaryGetPreeditStringOverride):
(TestWebKitAPI::temporaryResetOverride):
(TestWebKitAPI::verifyCanceledComposition):

5:27 AM Changeset in webkit [175045] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.4.7

WebKitGTK+ 2.4.7

5:22 AM Changeset in webkit [175044] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

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

.:

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

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.4.7.
4:16 AM Changeset in webkit [175043] by commit-queue@webkit.org
  • 4 edits
    4 adds in trunk

Match spec for font-weight: bolder|lighter
https://bugs.webkit.org/show_bug.cgi?id=137919

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-10-22
Reviewed by Andreas Kling.

This patch is a merge of Blink's
Source/WebCore:

https://chromiumcodereview.appspot.com/15994009

Currently, bolder and lighter change font-weight in a non-compliant way.
The spec (http://www.w3.org/TR/css3-fonts/#bolderlighter) defines
exactly what the computed values should be given the inherited weight values,
so we should match those.

The removed FIXME's for selecting the next lightest/heaviest weight from
the used font family seems to refer to behaviour from
CSS1 (http://www.w3.org/TR/CSS1/#font-weight), while this is replaced
with a simpler procedure for resolving bolder and lighter in font weights
in CSS2 (http://www.w3.org/TR/CSS2/fonts.html#propdef-font-weight) and CSS3 (link above).

and https://codereview.chromium.org/137813004

According to http://dev.w3.org/csswg/css-fonts/#font-weight-prop, the computed
weight of 'lighter' and 'bolder' are based on the inherited 'font-weight', so set
that inherited weight before calculating 'lighter' and 'bolder'.

Tests: css3/font-weight-multiple-selectors.html

css3/font-weight.html

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyFontWeight::applyValue):

  • platform/graphics/FontDescription.cpp:

(WebCore::FontDescription::lighterWeight):
(WebCore::FontDescription::bolderWeight):

LayoutTests:

https://chromiumcodereview.appspot.com/15994009 and
https://codereview.chromium.org/137813004

  • css3/font-weight-expected.txt: Added.
  • css3/font-weight-multiple-selectors-expected.txt: Added.
  • css3/font-weight-multiple-selectors.html: Added.
  • css3/font-weight.html: Added.
3:32 AM Changeset in webkit [175042] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r174927 - [SOUP] Disable SSLv3
https://bugs.webkit.org/show_bug.cgi?id=137859

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-10-21
Reviewed by Carlos Garcia Campos.

Set G_TLS_GNUTLS_PRIORITY if unset.

  • NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp:

(main):

  • WebProcess/EntryPoint/unix/WebProcessMain.cpp:

(main):

3:22 AM Changeset in webkit [175041] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r174008 - [GTK] Don't include full path names in WebKitEnumTypes.h
https://bugs.webkit.org/show_bug.cgi?id=137148

Reviewed by Carlos Garcia Campos.

Replace @filename@ with @basename@ in the template, since we don't
want to include the full path name in the generated header.

  • UIProcess/API/gtk/WebKitEnumTypes.h.template:
3:20 AM Changeset in webkit [175040] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

Merge r174394 - [SOUP] TLS errors should take precedence over HTTP authentication
https://bugs.webkit.org/show_bug.cgi?id=137300

Reviewed by Sergio Villar Senin.

Source/WebCore:

Handle TLS errors in got-headers callback to make sure it happens
before starting the authentication process.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::handleUnignoredTLSErrors): Refactored to receive the
soup message.
(WebCore::gotHeadersCallback): Return early and cancel the request in case of TLS errors.
(WebCore::sendRequestCallback): Do not handle TLS errors here, the request should have already been
cancelled at this point in case of TLS errors.

Tools:

Add a test case to check that authenticate signal is not emitted
in case of TLS errors, and the load fails instead.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:

(webViewAuthenticationCallback):
(testTLSErrorsHTTPAuth):
(httpsServerCallback):
(beforeAll):

3:17 AM Changeset in webkit [175039] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r174507 - [X11] Plugin process crashes in NetscapePlugin::platformPostInitialize()
https://bugs.webkit.org/show_bug.cgi?id=137426

Reviewed by Darin Adler.

For some reason flash crashes when NPP_GetValue is called with
NPPVpluginCancelSrcStream, but only in windowed mode. Not calling
NPP_GetValue and unconditionally loading the source URL in the
browser fixes the crash and plugins work normally. We can handle
this particular case with a new quirk.

  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::NetscapePluginModule::determineQuirks): Add
DoNotCancelSrcStreamInWindowedMode quirk if it's flash plugin.

  • Shared/Plugins/PluginQuirks.h: Add

DoNotCancelSrcStreamInWindowedMode quirk.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::shouldLoadSrcURL): Return early if plugin
is windowed and DoNotCancelSrcStreamInWindowedMode quirk is present.

3:12 AM Changeset in webkit [175038] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r174639 - [SOUP] [WK2] WebProcess and NetworkProcess initialization clears cache contents
https://bugs.webkit.org/show_bug.cgi?id=137489

Reviewed by Carlos Garcia Campos.

Temporarily set the SoupCache's maximum size to a huge value
before calling soup_cache_load() so that the cache is not shrinked
to the default value.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformInitializeWebProcess):

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

[GTK]: Fix unused parameter build warnings in WebCore/platform module
https://bugs.webkit.org/show_bug.cgi?id=137921

Patch by Rohit Kumar <kumar.rohit@samsung.com> on 2014-10-22
Reviewed by Carlos Garcia Campos.

  • platform/ScrollAnimatorNone.cpp:

(WebCore::ScrollAnimatorNone::PerAxisData::PerAxisData):
(WebCore::ScrollAnimatorNone::animationTimerFired):

3:10 AM Changeset in webkit [175036] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Tools

Merge r174926 - [GTK] Test TestWebKitAPI/WebKit2Gtk/TestInspectorServer fails
https://bugs.webkit.org/show_bug.cgi?id=132044

Reviewed by Brian Burg.

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp:

(openRemoteDebuggingSession): Remove trailing slash when
concatenating base inspector URL with the page, because the
inspector returns the relative paths with a leading slash.

3:06 AM Changeset in webkit [175035] by Carlos Garcia Campos
  • 10 edits in releases/WebKitGTK/webkit-2.4/Source

Merge r174328 - [GTK] Fix build when DRAG_SUPPORT is disabled
https://bugs.webkit.org/show_bug.cgi?id=137361

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-10-05
Reviewed by Carlos Garcia Campos.

Flag out unbuildable code without DRAG_SUPPORT.

Source/WebCore:

  • platform/gtk/GtkDragAndDropHelper.cpp:
  • platform/gtk/GtkDragAndDropHelper.h:

Source/WebKit2:

  • Shared/gtk/ArgumentCodersGtk.cpp:
  • Shared/gtk/ArgumentCodersGtk.h:
  • UIProcess/API/gtk/PageClientImpl.cpp:
  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseConstructed):

  • UIProcess/PageClient.h:
3:01 AM Changeset in webkit [175034] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r174861 - [GTK] Improve documentation of webkit_web_view_get_tls_info()
https://bugs.webkit.org/show_bug.cgi?id=137852

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-10-18
Reviewed by Martin Robinson.

  • UIProcess/API/gtk/WebKitWebView.cpp:
2:59 AM Changeset in webkit [175033] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r174929 - [GTK] Several labels are white instead of black
https://bugs.webkit.org/show_bug.cgi?id=137803

Reviewed by Martin Robinson.

Recent GTK+ versions require to explicitly set the state before
getting a color.

  • rendering/RenderThemeGtk.cpp:

(WebCore::styleColor): Helper function to get a color from a
GtkStylecontext that explicitly sets the state before getting the color.
(WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor): Use styleColor().
(WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor): Ditto.
(WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor): Ditto.
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor): Ditto.
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::systemColor): Ditto.

2:56 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:50 AM Changeset in webkit [175032] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r172957 - [GTK] Translations are not initialized in the UI process
https://bugs.webkit.org/show_bug.cgi?id=136249

Reviewed by Philippe Normand.

This is breaking things like webkitContextMenuActionGetForContextMenuItem()
for non English locales in the cases where we use the action title to guess the
action, because the action title we get from the web process is translated while
the one in the UI process is in English.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(createDefaultWebContext): Initialize gettext right before
creating the default web context.

2:48 AM Changeset in webkit [175031] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r174502 - [GTK] Netscape plugin API symbol used outside feature guards
https://bugs.webkit.org/show_bug.cgi?id=137385

Patch by Philip Chimento <philip.chimento@gmail.com> on 2014-10-09
Reviewed by Philippe Normand.

  • plugins/PluginPackage.cpp:

(WebCore::PluginPackage::unload): Add guards for Netscape Plugin
API around symbol, so that it compiles OK when the API is not
available.

2:45 AM Changeset in webkit [175030] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r174104 - [GTK] The remote web inspector shows the HTML content as plain text
https://bugs.webkit.org/show_bug.cgi?id=137250

Reviewed by Gustavo Noronha Silva.

Use GResource API directly to get the resource data, instead of
using the GFile API, and use g_content_type_guess() to get the
MIME Type.

  • UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:

(WebKit::WebInspectorServer::platformResourceForPath):

2:39 AM Changeset in webkit [175029] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4

[GTK][Stable] webkitgtk-2.4.6: fails to build with --disable-video
https://bugs.webkit.org/show_bug.cgi?id=137445

Patch by Michael Weber <xmw@gentoo.org> on 2014-10-22
Reviewed by Carlos Garcia Campos.

  • Source/autotools/SetupWebKitFeatures.m4:
2:22 AM Changeset in webkit [175028] by commit-queue@webkit.org
  • 15 edits
    8 adds in trunk

Add relList to the anchor, area and link elements
https://bugs.webkit.org/show_bug.cgi?id=137860

Patch by Dhi Aurrahman <diorahman@rockybars.com> on 2014-10-22
Reviewed by Darin Adler and Chris Dumez.

Source/WebCore:

Add relList to reflect the rel content attribute for anchor[1],
area[2] and link[3] elements.

[1] https://html.spec.whatwg.org/multipage/semantics.html#dom-a-rellist
[2] https://html.spec.whatwg.org/multipage/embedded-content.html#dom-area-rellist
[3] https://html.spec.whatwg.org/multipage/semantics.html#dom-link-rellist

Tests: fast/dom/rel-list-gc.html

fast/dom/rel-list.html
perf/rel-list-remove.html

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/SpaceSplitString.cpp:

(WebCore::SpaceSplitString::set):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):
(WebCore::HTMLAnchorElement::relList):
(WebCore::HTMLAnchorElement::setRel): Deleted.

  • html/HTMLAnchorElement.h:
  • html/HTMLAnchorElement.idl:
  • html/HTMLAreaElement.idl:
  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::parseAttribute):
(WebCore::HTMLLinkElement::relList):

  • html/HTMLLinkElement.h:
  • html/HTMLLinkElement.idl:
  • html/RelList.cpp: Added.

(WebCore::RelList::RelList):
(WebCore::RelList::ref):
(WebCore::RelList::deref):
(WebCore::RelList::length):
(WebCore::RelList::item):
(WebCore::RelList::element):
(WebCore::RelList::updateRelAttribute):
(WebCore::RelList::containsInternal):
(WebCore::RelList::value):
(WebCore::RelList::setValue):

  • html/RelList.h: Added.

LayoutTests:

Tests relList aspects for anchor, area and list elements.
Update dom static property for-in iteration test result to include relList.

  • fast/dom/rel-list-expected.txt: Added.
  • fast/dom/rel-list-gc-expected.txt: Added.
  • fast/dom/rel-list-gc.html: Added.
  • fast/dom/rel-list.html: Added.
  • js/dom/dom-static-property-for-in-iteration-expected.txt: Updated results.
  • perf/rel-list-remove-expected.txt: Added.
  • perf/rel-list-remove.html: Added.
12:29 AM Changeset in webkit [175027] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.6.2

WebKitGTK+ 2.6.2

12:06 AM Changeset in webkit [175026] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6

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

.:

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

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.6.2.

Oct 21, 2014:

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

Versioning.

11:47 PM Changeset in webkit [175024] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.5

New tag.

11:19 PM Changeset in webkit [175023] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.25-branch/Source

Versioning.

11:13 PM Changeset in webkit [175022] by bshafiei@apple.com
  • 1 copy in branches/safari-600.1.25-branch

New Branch.

10:07 PM Changeset in webkit [175021] by ryuan.choi@gmail.com
  • 2 edits in trunk

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

Reviewed by Gyuyoung Kim.

ENABLE_3D_RENDERING is already enabled as WEBKIT_OPTION_DEFAULT_PORT_VALUE since r135813.

  • Source/cmake/OptionsEfl.cmake:
9:47 PM Changeset in webkit [175020] by Brent Fulgham
  • 20 edits
    1 delete in trunk/LayoutTests

[Win] More rebaselines.

  • platform/win/css1/box_properties/acid_test-expected.txt:
  • platform/win/editing/selection/3690719-expected.txt:
  • platform/win/editing/selection/move-left-right-expected.txt:
  • platform/win/fast/css/continuationCrash-expected.txt:
  • platform/win/fast/css/fieldset-display-row-expected.txt:
  • platform/win/fast/css/margin-top-bottom-dynamic-expected.txt:
  • platform/win/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/win/fast/forms/file/file-input-direction-expected.txt:
  • platform/win/fast/forms/file/file-input-disabled-expected.txt:
  • platform/win/fast/forms/file/input-file-re-render-expected.txt:
  • platform/win/fast/forms/formmove-expected.txt:
  • platform/win/fast/forms/formmove2-expected.txt:
  • platform/win/fast/forms/formmove3-expected.txt:
  • platform/win/fast/forms/input-appearance-height-expected.txt:
  • platform/win/fast/forms/input-button-sizes-expected.txt:
  • platform/win/fast/forms/input-step-as-double-expected.txt: Removed.
  • platform/win/fast/forms/input-text-drag-down-expected.txt:
  • platform/win/fast/forms/input-value-expected.txt:
  • platform/win/fast/forms/listbox-bidi-align-expected.txt:
  • platform/win/fast/forms/targeted-frame-submission-expected.txt:
  • platform/win/fast/forms/text-control-intrinsic-widths-expected.txt:
9:33 PM Changeset in webkit [175019] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

One more iOS build fix after r175013.

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::FontCache::createFontPlatformData):

8:28 PM Changeset in webkit [175018] by benjamin@webkit.org
  • 5 edits
    16 adds in trunk

CSS Rule features are ignored for nested CSS Selector lists
https://bugs.webkit.org/show_bug.cgi?id=137908

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

Source/WebCore:

When Rule feature sets were collected, any selector list nested inside an other
selector list was ignored when collecting properties of the CSS Selector.

As a result, style was not invalidated properly when any property listed in
the nested selectors.

This patch fixes the issue by make RuleFeatureSet::collectFeaturesFromSelector()
recursive, evaluating every chain of every selector lists.

Tests: fast/css/class-style-invalidation-optimization.html

fast/css/direct-adjacent-style-sharing-1.html
fast/css/direct-adjacent-style-sharing-2.html
fast/css/direct-adjacent-style-sharing-3.html
fast/css/id-style-invalidation-optimization.html
fast/selectors/class-style-update-with-not.html
fast/selectors/class-style-update-with-nth-child-of.html
fast/selectors/class-style-update.html

  • css/RuleFeature.cpp:

(WebCore::recursivelyCollectFeaturesFromSelector):
(WebCore::RuleFeatureSet::collectFeaturesFromSelector):

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

(WebCore::collectFeaturesFromRuleData):

LayoutTests:

  • fast/selectors/class-style-update-with-not-expected.txt: Added.
  • fast/selectors/class-style-update-with-not.html: Added.

Parts of this test fail due to a bug with specificity. This will be addressed
separately.

  • fast/css/class-style-invalidation-optimization-expected.txt: Added.
  • fast/css/class-style-invalidation-optimization.html: Added.
  • fast/css/direct-adjacent-style-sharing-1-expected.html: Added.
  • fast/css/direct-adjacent-style-sharing-1.html: Added.
  • fast/css/direct-adjacent-style-sharing-2-expected.html: Added.
  • fast/css/direct-adjacent-style-sharing-2.html: Added.
  • fast/css/direct-adjacent-style-sharing-3-expected.html: Added.
  • fast/css/direct-adjacent-style-sharing-3.html: Added.
  • fast/css/id-style-invalidation-optimization-expected.txt: Added.
  • fast/css/id-style-invalidation-optimization.html: Added.
  • fast/selectors/class-style-update-expected.txt: Added.
  • fast/selectors/class-style-update-with-nth-child-of-expected.txt: Added.
  • fast/selectors/class-style-update-with-nth-child-of.html: Added.
  • fast/selectors/class-style-update.html: Added.
7:56 PM Changeset in webkit [175017] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the iOS build after r175013.

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::FontCache::createFontPlatformData):

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

Quick Look preview bubble has unnecessary controls
https://bugs.webkit.org/show_bug.cgi?id=137940
<rdar://problem/18731860>

Reviewed by Simon Fraser.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _quickLookURLFromActionMenu:]):
Temporarily use more SPI to allow us to hide the preview bubble's controls.

7:01 PM Changeset in webkit [175015] by dburkart@apple.com
  • 2 edits in branches/safari-600.2-branch/Source/WebKit2

Merge r174708

6:58 PM Changeset in webkit [175014] by dburkart@apple.com
  • 4 edits in branches/safari-600.2-branch/Source/WebCore

Merged r174703

6:53 PM Changeset in webkit [175013] by gyuyoung.kim@samsung.com
  • 7 edits in trunk/Source/WebCore

Use std::unique_ptr | std::make_unique in FontCacheFoo
https://bugs.webkit.org/show_bug.cgi?id=137905

Reviewed by Darin Adler.

Clean up PassOwnPtr|OwnPtr using std::unique_ptr|std::make_unique.

No new tests, no behavior changes.

  • platform/graphics/FontCache.cpp:

(WebCore::FontCache::getCachedFontPlatformData):

  • platform/graphics/FontCache.h:
  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::FontCache::createFontPlatformData):

  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::FontCache::createFontPlatformData):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::FontCache::createFontPlatformData):

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::FontCache::createFontPlatformData):

6:50 PM Changeset in webkit [175012] by dburkart@apple.com
  • 5 edits in branches/safari-600.2-branch/Source/WebCore

Merged r174414

6:47 PM Changeset in webkit [175011] by dburkart@apple.com
  • 2 edits in branches/safari-600.2-branch/Source/WebKit2

Merge r173888

6:44 PM Changeset in webkit [175010] by dburkart@apple.com
  • 2 edits in branches/safari-600.2-branch/Source/WebCore

Merge r173848

6:40 PM Changeset in webkit [175009] by dburkart@apple.com
  • 3 edits
    2 copies in branches/safari-600.2-branch

Merge r173246

6:35 PM Changeset in webkit [175008] by dburkart@apple.com
  • 2 edits in branches/safari-600.2-branch/Source/JavaScriptCore

Merged r173238

6:17 PM Changeset in webkit [175007] by dburkart@apple.com
  • 2 edits in branches/safari-600.2-branch/Source/WebKit2

Merge r172968

5:53 PM Changeset in webkit [175006] by rniwa@webkit.org
  • 13 edits
    3 adds in trunk/Websites/perf.webkit.org

Perf dashboard should provide a way to associate bugs with a test run
https://bugs.webkit.org/show_bug.cgi?id=137857

Reviewed by Andreas Kling.

Added a "privileged" API, /privileged-api/associate-bug, to associate a bug with a test run.
/privileged-api/ is to be protected by an authentication mechanism such as DigestAuth over https by
the Apache configuration.

The Cross Site Request (CSRF) Forgery prevention for privileged APIs work as follows. When a user is
about to make a privileged API access, the front end code obtains a CSRF token generated by POST'ing
to privileged-api/generate-csrf-token; the page sets a randomly generated salt and an expiration time
via the cookie and returns a token computed from those two values as well as the remote username.

The font end code then POST's the request along with the returned token. The server side code verifies
that the specified token can be generated from the salt and the expiration time set in the cookie, and
the token hasn't expired.

  • init-database.sql: Added bug_url to bug_trackers table, and added bugs table. Each bug tracker will

have zero or exactly one bug associated with a test run.

  • public/admin/bug-trackers.php: Added the support for editing bug_url.
  • public/api/runs.php:

(fetch_runs_for_config): Modified the query to fetch bugs associated with test_runs.
(parse_bugs_array): Added. Parses the aggregated bugs and creates a dictionary that maps a tracker id to
an associated bug if there is one.
(format_run): Calls parse_bugs_array.

  • public/include/json-header.php: Added helper functions to deal for CSRF prevention.

(ensure_privileged_api_data): Added. Dies immediately if the request's method is not POST or doesn't
have a valid JSON payload.
(ensure_privileged_api_data_and_token): Ditto. Also checks that the CSRF prevention token is valid.
(compute_token): Computes a CSRF token using the REMOTE_USER (e.g. set via BasicAuth), the salt, and
the expiration time stored in the cookie.
(verify_token): Returns true iff the specified token matches what compute_token returns from the cookie.

  • public/include/manifest.php:

(ManifestGenerator::bug_trackers): Include bug_url as bugUrl in the manifest. Also use tracker_id instead
of tracker_name as the key in the manifest. This requires changes to both v1 and v2 front end.

  • public/index.html:

(Chart..showTooltipWithResults): Updated for the manifest format changed mentioned above.

  • public/privileged-api/associate-bug.php: Added.

(main): Added. Associates or dissociates a bug with a test run inside a transaction. It prevent a CSRF
attack via ensure_privileged_api_data_and_token, which calls verify_token.

  • public/privileged-api/generate-csrf-token.php: Added. Generates a CSRF token valid for one hour.
  • public/v2/app.css:

(.disabled .icon-button:hover g): Used by the "bugs" icon when a range of points or no points are
selected in a chart.

  • public/v2/app.js:

(App.PaneController.actions.toggleBugsPane): Added. Toggles the visibility of the bugs pane when exactly
one point is selected in the chart. Also hides the search pane when making the bugs pane visible since
they would overlap on each other if both of them are shown.
(App.PaneController.actions.associateBug): Makes a privileged API request to associate the specified bug
with the currently selected point (test run). Updates the bug information in "details" and colors of dots
in the charts to reflect new states. Because chart data objects aren't real Ember objects for performance
reasons, we have to use a dirty hack of modifying a dummy counter bugsChangeCount.
(App.PaneController.actions.toggleSearchPane): Renamed from toggleSearch. Also hides the bugs pane when
showing the search pane.
(App.PaneController.actions.rangeChanged): Takes all selected points as the second argument instead of
taking start and end points as the second and the third arguments so that _showDetails can enumerate all
bugs in the selected range.

(App.PaneController._detailsChanged): Added. Hide the bugs pane whenever a new point is selected.
Also update singlySelectedPoint, which is used by toggleBugsPane and associateBug.
(App.PaneController._currentItemChanged): Updated for the _showDetails change.
(App.PaneController._showDetails): Takes an array of selected points in place of old arguments.
Simplified the code to compute the revision information. Calls _updateBugs to format the associated bugs.
(App.PaneController._updateBugs): Sets details.bugTrackers to a dictionary that maps a bug tracker id to
a bug tracker proxy with an array of (bugNumber, bugUrl) pairs and also editedBugNumber, which is used by
the bugs pane to associate or dissociate a bug number, if exactly one point is selected.

(App.InteractiveChartComponent._updateDotsWithBugs): Added. Sets hasBugs class on dots as needed.
(App.InteractiveChartComponent._setCurrentSelection): Finds and passes all points in the selected range
to selectionChanged action instead of just finding the first and the last points.

  • public/v2/chart-pane.css: Updated the style.
  • public/v2/data.js:

(PrivilegedAPI): Added. A wrapper for privileged APIs' CSRF tokens.
(PrivilegedAPI.sendRequest): Makes a privileged API call. Fetches a new CSRF token if needed.
(PrivilegedAPI._generateTokenInServerIfNeeded): Makes a request to privileged-api/generate-csrf-token if
we haven't already obtained a CSRF token or if the token has already been expired.
(PrivilegedAPI._post): Makes a single POST request to /privileged-api/* with a JSON payload.

(Measurement.prototype.bugs): Added.
(Measurement.prototype.hasBugs): Returns true iff bugs has more than one bug number.
(Measurement.prototype.associateBug): Associates a bug with a test run via privileged-api/associate-bug.

  • public/v2/index.html: Added the bugs pane. Also added a list of bugs associated with the current run in

the details.

  • public/v2/manifest.js:

(App.BugTracker.bugUrl):
(App.BugTracker.newBugUrl): Added.
(App.BugTracker.repositories): Added. This was a missing back reference to repositories.
(App.MetricSerializer.normalizePayload): Now parses/loads the list of bug trackers from the manifest.
(App.Manifest.repositoriesWithReportedCommits): Now initialized to an empty array instead of null.
(App.Manifest.bugTrackers): Added.
(App.Manifest._fetchedManifest): Sets App.Manifest.bugTrackers. Also sorts the list of repositories by
their respective ids to make the ordering stable.

5:52 PM Changeset in webkit [175005] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove erroneous canUseJIT() in the intrinsics version of JITThunks::hostFunctionStub().
<https://webkit.org/b/137937>

Reviewed by Michael Saboff.

This version of JITThunks::hostFunctionStub() can only be called from the intrinsics
version of VM::getHostFunction() which asserts canUseJIT(). Hence, we can eliminate
the canUseJIT() check in JITThunks::hostFunctionStub(). We don't handle the
!canUseJIT() case properly there anyway.

  • jit/JITThunks.cpp:

(JSC::JITThunks::hostFunctionStub):

5:26 PM Changeset in webkit [175004] by Brent Fulgham
  • 3 edits in trunk/LayoutTests

[Win] Unreviewed test updates after switching to Windows theme for tests.
https://bugs.webkit.org/show_bug.cgi?id=137932

  • platform/win/css1/box_properties/acid_test-expected.txt:
  • platform/win/editing/inserting/4960120-1-expected.txt:
5:17 PM Changeset in webkit [175003] by adachan@apple.com
  • 2 edits in trunk/Source/WebCore

Calling WebCore::Page::setMediaVolume(0) does not mute videos as expected.
https://bugs.webkit.org/show_bug.cgi?id=137305

Reviewed by Darin Adler.

This was broken in http://trac.webkit.org/changeset/154970. To fix this (but not break
GStreamer), remove the "if (m_volumeInitialized)" check before updating the MediaPlayer's
volume to the value multiplied with the Page's mediaVolume. This should not affect GStreamer's
behavior because MediaPlayerPrivateGStreamerBase::setStreamVolumeElement does nothing unless
m_volumeInitialized is true.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateVolume):

4:38 PM Changeset in webkit [175002] by jeffm@apple.com
  • 3 edits in trunk/Source/WebKit2

Remove const from WKURLRequestRef parameter to WKContextDownloadURLRequest()
https://bugs.webkit.org/show_bug.cgi?id=137928

Reviewed by Darin Adler.

  • UIProcess/API/C/WKContext.cpp:

(WKContextDownloadURLRequest):

  • UIProcess/API/C/WKContext.h:
4:32 PM Changeset in webkit [175001] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard: Cannot click on green tester bubbles
https://bugs.webkit.org/show_bug.cgi?id=137909

Reviewed by Darin Adler.

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

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):

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

[EME][Mac] Update to match new AVStreamSession API and requirements.
https://bugs.webkit.org/show_bug.cgi?id=137923

Reviewed by Eric Carlson.

The session identifier has moved from AVStreamDataParser to -[AVStreamSession contentProtectionSessionIdentifier]
and the property is no longer KVObservable. A new notification key has been added in place of KVO.

Additionally, the requirements for using AVStreamDataParser with AVStreamSession have changed. It is now
required that AVStreamDataParsers be added to an AVStreamSession before the
-streamSession:didProvideContentKeyRequestInitializationData:forTrackID delegate method is called. A
-streamParserWillProvideContentKeyRequestInitializationData:forTrackID delegate has been added, and
an AVStreamSession must be created and the AVStreamDataParser added to it during the scope of that delegate
method.

To facilitate this, the MediaPlayerPrivateMediaSourceAVFObjC object will lazily create and own a AVStreamSession
object when requested. The SourceBufferPrivateAVFObjC object will listen for the -willProvide delegate call
and will add its AVStreamDataParser to that AVStreamSession when called.

The CDMSessionMediaSourceAVFObjC object is no longer responsible for creating the AVStreamSession, and because
the session identifier has moved from many AVStreamDataParsers to a single AVStreamSession, the
CDMSessionMediaSourceAVFObjCObserver class can become much simpler, as it only has to observe a single object.

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

(-[CDMSessionMediaSourceAVFObjCObserver dealloc]): Deleted.
(-[CDMSessionMediaSourceAVFObjCObserver beginObserving:]): Deleted.
(-[CDMSessionMediaSourceAVFObjCObserver stopObserving:]): Deleted.
(-[CDMSessionMediaSourceAVFObjCObserver invalidate]): Deleted.
(-[CDMSessionMediaSourceAVFObjCObserver observeValueForKeyPath:ofObject:change:context:]): Deleted.
(-[CDMSessionMediaSourceAVFObjCObserver contentProtectionSessionIdentifierChanged:]): Added.
(WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC): Call setStreamSession(nullptr).
(WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys): The sessionId is now a value in the dictionary, not the key.
(WebCore::CDMSessionMediaSourceAVFObjC::update): No longer create an AVStreamSession.
(WebCore::CDMSessionMediaSourceAVFObjC::setStreamSession): Add and remove observers as appropriate.
(WebCore::CDMSessionMediaSourceAVFObjC::addSourceBuffer): No longer add or remove parsers from AVStreamSessions.
(WebCore::CDMSessionMediaSourceAVFObjC::removeSourceBuffer): Ditto.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasStreamSession): Simple getter.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::streamSession): Lazy initializing getter.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession): Call setStreamSession().

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(-[WebAVStreamDataParserListener streamParserWillProvideContentKeyRequestInitializationData:forTrackID:]): Synchronously pass to SourceBufferPrivateAVFObjC.
(WebCore::SourceBufferPrivateAVFObjC::willProvideContentKeyRequestInitializationDataForTrackID): Add the parser to an AVStreamSession.
(WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID): Check the trackId.

  • platform/mac/SoftLinking.h:
2:37 PM Changeset in webkit [174999] by ljaehun.lim@samsung.com
  • 5 edits in trunk

'true' isn't a valid value for justify-self
https://bugs.webkit.org/show_bug.cgi?id=137913

Reviewed by Andreas Kling.

Merged from Blink (patch by dstockwell):
<https://src.chromium.org/viewvc/blink?view=rev&revision=174638>

CSS Box Alignment Module Level 3:
http://dev.w3.org/csswg/css-align/#justify-self-property

Source/WebCore:

No new tests, modify existing test case.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseJustifySelf):

LayoutTests:

Add a bad case where "justify-self: true"

  • fast/css/parse-justify-self-expected.txt:
  • fast/css/parse-justify-self.html:
2:13 PM Changeset in webkit [174998] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Run DumpRenderTree using native controls, not SafariTheme.dll.
https://bugs.webkit.org/show_bug.cgi?id=137932

Reviewed by Simon Fraser.

This is the first step in moving over to native Windows rendering for our layout tests.
Once this change lands, approximately 300 tests will start failing on Windows. I will
rebaseline these changes against our test hardware and update this bug with the
commits related to that work.

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetDefaultsToConsistentValues): Call 'setShouldPaintNativeControls(TRUE)' so that
we use native Windows drawing style.

1:43 PM Changeset in webkit [174997] by msaboff@apple.com
  • 4 edits in trunk/Source

Add operator==(PropertyName, const char*)
https://bugs.webkit.org/show_bug.cgi?id=137925

Reviewed by Mark Lam.

Source/JavaScriptCore:

  • runtime/PropertyName.h:

(JSC::operator==): Added to simplify comparison with string literals.

Source/WebCore:

Use new == operator to compare a PropertyName with a string literal.

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::getOwnPropertySlot):

1:03 PM Changeset in webkit [174996] by msaboff@apple.com
  • 11 edits in trunk

Change native call frames to use the scope from their Callee instead of their caller's scope
https://bugs.webkit.org/show_bug.cgi?id=137907

Source/JavaScriptCore:

Reviewed by Mark Lam.

Changed setting of scope for native CallFrames to use the scope associated with the
Callee instead of the caller's scope.

  • jit/ThunkGenerators.cpp:

(JSC::nativeForGenerator):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:

LayoutTests:

Updated tests to reflect that the results of changing where a native call frame
and therefore the lexicalGlobalObject came from. Verified that these tests changes
are consistent with the HTML standard. These changes are also closer to the behavior
of other browsers.

Reviewed by Mark Lam.

  • fast/frames/sandboxed-iframe-navigation-parent-expected.txt:
  • fast/frames/sandboxed-iframe-navigation-parent.html:

Changed the test and results to show that a sandboxed iframe can navigate its
ancesters when it is sandbox with both "allow-scripts" and "allow-same-origin".

  • http/tests/security/calling-versus-current.html:

Updated the test to really have a different domain. We do a simple string comparison
to check for that we are part of the same domain. The test expected that 0.0.1 was
from the same domain as 127.0.0.1. Changed the test to try 0.0.2 and expect a
security exception.

  • http/tests/security/frameNavigation/context-for-location-assign-expected.txt:

Updated test results.

  • traversal/node-iterator-prototype-expected.txt:
  • traversal/node-iterator-prototype.html:

Fixed as a result of this change.

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

Unreviewed iOS build fix after r174921.

Export new symbol after function rename.

  • WebCore.exp.in:
  • WebCore.order:
12:47 PM Changeset in webkit [174994] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Unreviewed iOS build fix after r174921.

Remove symbol from export files that no longer exists.

  • WebCore.exp.in:
  • WebCore.order:
12:41 PM Changeset in webkit [174993] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Curl] Optimization; avoid string reallocation.
https://bugs.webkit.org/show_bug.cgi?id=137920

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-10-21
Reviewed by Brent Fulgham.

Profiling reveals that the cookiesForDOM function is spending time on removing a character from a string.

  • platform/network/curl/CookieJarCurl.cpp:

(WebCore::domainMatch):
(WebCore::addMatchingCurlCookie):

11:44 AM Changeset in webkit [174992] by jdiggs@igalia.com
  • 4 edits
    2 adds
    1 delete in trunk

AX: [ATK] CSS-generated text content not exposed to assistive technologies
https://bugs.webkit.org/show_bug.cgi?id=137669

Reviewed by Chris Fleizach.

Source/WebCore:

Do not use a text iterator to get the text for elements which include
pseudo elements.

Test: accessibility/css-content-attribute.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::textUnderElement):

LayoutTests:

Moved the Mac platform test and modified it to dump the accessible tree
and string values rather than a platform-specific hierarchy so that it
could be shared across platforms.

  • accessibility/css-content-attribute.html: Added.
  • platform/gtk/accessibility/css-content-attribute-expected.txt: Added.
  • platform/mac/accessibility/css-content-attribute-expected.txt: Modified to reflect new output.
  • platform/mac/accessibility/css-content-attribute.html: Removed.
11:19 AM Changeset in webkit [174991] by msaboff@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Updated ChangeLog entry to include tests that cover r174985

11:11 AM Changeset in webkit [174990] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.2-branch/Source

Versioning.

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

REGRESSION(r174676): It broke the !ENABLE(VIDEO) build
https://bugs.webkit.org/show_bug.cgi?id=137916

Reviewed by Csaba Osztrogonác.

Fix the !ENABLE(VIDEO) build by adding an #if ENABLE(VIDEO) where
needed.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::isDirectlyCompositedImage):

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

WKRemoteObjectCoder should handle floats
https://bugs.webkit.org/show_bug.cgi?id=137926
<rdar://problem/18695126>

Reviewed by Beth Dakin.

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:

(encodeInvocation):
(-[WKRemoteObjectEncoder encodeFloat:forKey:]):
(decodeInvocationArguments):
(-[WKRemoteObjectDecoder decodeFloatForKey:]):

10:46 AM Changeset in webkit [174987] by jeffm@apple.com
  • 17 edits in trunk/Source/WebKit2

WKContext needs to provide an API to resume a download
https://bugs.webkit.org/show_bug.cgi?id=137507

Reviewed by Darin Adler.

This patch adds WKContextResumeDownload(), which is only supported on the Mac, and requires the
resume data from WKDownloadGetResumeData().

We have to create a sandbox extension for the partially downloaded file in the UI process so the
network or web process can resume writing to it.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::resumeDownload):
Added, calls through to DownloadManager::resumeDownload().

  • NetworkProcess/NetworkProcess.h:

Added resumeDownload().

  • NetworkProcess/NetworkProcess.messages.in:

Added ResumeDownload message.

  • Shared/Downloads/Download.h:

Added resume().

  • Shared/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::resumeDownload):
Added. The URL being downloaded is part of the opaque resumeData, so we can't specify it when the
Download is constructed.

  • Shared/Downloads/DownloadManager.h:

Added resumeDownload().

  • Shared/Downloads/ios/DownloadIOS.mm:

(WebKit::Download::resume):
Added, not implemented on this platform.

  • Shared/Downloads/mac/DownloadMac.mm:

(WebKit::Download::resume):
Added. Consumes the sandbox extension, resumes the download, and sets m_request after the
NSURLDownload has been created. Note that we already have code to revoke the sandbox extension when
the download is finished, canceled, or fails.

  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::Download::resume):
Added, not implemented on this platform.

  • UIProcess/API/C/WKContext.cpp:

(WKContextResumeDownload):
Added.

  • UIProcess/API/C/WKContext.h:

Added WKContextResumeDownload().

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::resumeDownload):
Added. Creates a sandbox extension for the existing file and includes it in the message to the
network or web process.

  • UIProcess/WebContext.h:

Added resumeDownload().

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::resumeDownload):
Added, calls through to DownloadManager::resumeDownload().

  • WebProcess/WebProcess.h:

Added resumeDownload().

  • WebProcess/WebProcess.messages.in:

Added ResumeDownload message.

10:32 AM Changeset in webkit [174986] by Alan Bujtas
  • 4 edits
    2 adds in trunk

REGRESSION: Google Search (mobile) video thumbnails are too large.
https://bugs.webkit.org/show_bug.cgi?id=137895

Reviewed by Simon Fraser.

This patch fixes layer clipping when an ancestor layer has border-radius clipping.

In cases, where the current layer has non-radius cliprect, while an ancestor layer
has border-radius clipping, we only use the border-radius rect to clip.

Source/WebCore:

Test: fast/clip/overflow-hidden-with-border-radius-overflow-clipping-parent.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::clipToRect):
(WebCore::RenderLayer::restoreClip):
(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:

(WebCore::ClipRect::ClipRect):
(WebCore::ClipRect::effectedByRadius):
(WebCore::ClipRect::setEffectedByRadius):
(WebCore::ClipRect::operator==):
(WebCore::ClipRect::operator!=):
(WebCore::ClipRect::intersect):
(WebCore::ClipRect::hasRadius): Deleted.
(WebCore::ClipRect::setHasRadius): Deleted.

LayoutTests:

  • fast/clip/overflow-hidden-with-border-radius-overflow-clipping-parent-expected.html: Added.
  • fast/clip/overflow-hidden-with-border-radius-overflow-clipping-parent.html: Added.
10:19 AM Changeset in webkit [174985] by msaboff@apple.com
  • 3 edits in trunk/Source/WebCore

Don't create cached functions for HTMLDocument.write*()
https://bugs.webkit.org/show_bug.cgi?id=137906

Reviewed by Darin Adler.

Made it so that JSHTMLDocument::write() and ::writeln() are always created for every prototype.
This is similar to the change in r174847.

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::getOwnPropertySlot):

  • html/HTMLDocument.idl:
10:05 AM Changeset in webkit [174984] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r174927 - [SOUP] Disable SSLv3
https://bugs.webkit.org/show_bug.cgi?id=137859

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-10-21
Reviewed by Carlos Garcia Campos.

Set G_TLS_GNUTLS_PRIORITY if unset.

  • NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp:

(main):

  • WebProcess/EntryPoint/unix/WebProcessMain.cpp:

(main):

10:02 AM Changeset in webkit [174983] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6

Merge r174930 - Change the default TLS errors policy to WEBKIT_TLS_ERRORS_POLICY_FAIL
https://bugs.webkit.org/show_bug.cgi?id=137832

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-10-20
Reviewed by Carlos Garcia Campos.

Source/WebKit2:

Too many general-purpose browsers that really need this policy
are not selecting it, so let's do so for them.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(createDefaultWebContext):

Tools:

Ensure each test sets the TLS errors policy that it really needs.
Have each test except testTLSErrorsPolicy stash and restore the original
TLS errors policy. Update testTLSErrorsPolicy to account for the new
default policy.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:

(testSSL):
(testInsecureContent):
(testTLSErrorsPolicy):
(testTLSErrorsRedirect):
(testTLSErrorsHTTPAuth):
(testLoadFailedWithTLSErrors):
(beforeAll):

10:00 AM Changeset in webkit [174982] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r174861 - [GTK] Improve documentation of webkit_web_view_get_tls_info()
https://bugs.webkit.org/show_bug.cgi?id=137852

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-10-18
Reviewed by Martin Robinson.

  • UIProcess/API/gtk/WebKitWebView.cpp:
9:58 AM Changeset in webkit [174981] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174853 - Avoid unnecessary isSVGFont() check in SimpleFontData::applyTransforms()
https://bugs.webkit.org/show_bug.cgi?id=137836

Reviewed by Andreas Kling.

Avoid unnecessary isSVGFont() check in SimpleFontData::applyTransforms().
This function is only called from WidthIterator::applyFontTransforms(),
which already makes sure to call applyTransforms() if isSVGFont()
returns false. This patch replaces the check with a simple assertion.

No new tests, no behavior change.

  • platform/graphics/SimpleFontData.h:
  • svg/SVGFontData.h:
9:50 AM Changeset in webkit [174980] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174807 - REGRESSION (r169024): Undetermined text is not displayed in the search field of Adobe Help Website
https://bugs.webkit.org/show_bug.cgi?id=137679
rdar://problem/18450335

Reviewed by Enrica Casucci.

Source/WebCore:

Test: platform/mac/editing/input/selected-composed-text-painting.html

  • rendering/InlineTextBox.cpp: (WebCore::InlineTextBox::paint): We do not paint

selection beckground for unconfirmed text with underlines, so we should use a regular
style for text painting, as well.

LayoutTests:

  • platform/mac/editing/input/selected-composed-text-painting-expected.html: Added.
  • platform/mac/editing/input/selected-composed-text-painting.html: Added.
9:48 AM Changeset in webkit [174979] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Add missing ENABLE(FTL_NATIVE_CALL_INLINING) guard to BundlePath.cpp after r174940
https://bugs.webkit.org/show_bug.cgi?id=137924

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

  • runtime/BundlePath.cpp:
9:46 AM Changeset in webkit [174978] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

REGRESSION(r174676): It broke the !ENABLE(VIDEO) build
https://bugs.webkit.org/show_bug.cgi?id=137916

Unreviewed build fix. Add missing header include.

  • rendering/RenderLayerBacking.cpp:
9:42 AM Changeset in webkit [174977] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174720 - REGRESSION (r159208): Crash when clicking scrubber after navigating away/back to video
https://bugs.webkit.org/show_bug.cgi?id=137715

Reviewed by Darin Adler.

Simple null-check of m_player in refreshCachedTime.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::refreshCachedTime):

9:41 AM Changeset in webkit [174976] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174716 - REGRESSION (Safari 7.1/8.0): Border-radius and overflow hidden renders incorrectly.
https://bugs.webkit.org/show_bug.cgi?id=137205

Reviewed by Simon Fraser.

Child layer should not reset radius clipping behaviour.

Source/WebCore:

Test: fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

LayoutTests:

  • fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping-expected.html: Added.
  • fast/layers/parent-clipping-overflow-is-overwritten-by-child-clipping.html: Added.
9:38 AM Changeset in webkit [174975] by Carlos Garcia Campos
  • 10 edits in releases/WebKitGTK/webkit-2.6

Merge r174712 - URLs that start with http:/// and https:/// lose two slashes when parsed, causing assertion failure and inconsistent behavior
https://bugs.webkit.org/show_bug.cgi?id=137718

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Added cases to fast/loader/url-parse-1.html.

  • platform/URL.cpp:

(WebCore::URL::parse): In hierarchical schemes other than file:, ignore any additional
slashes after the :, as prescribed by the authority-ignore-slashes state in the current
URL spec.

LayoutTests:

  • fast/loader/url-parse-1-expected.txt: Updated results.
  • fast/loader/url-parse-1.html: Added a few test cases.
  • fast/url/file-http-base-expected.txt: Updated results.
  • fast/url/host-expected.txt: Ditto.
  • fast/url/invalid-urls-utf8-expected.txt: Ditto.
  • fast/url/relative-expected.txt: Ditto.
  • fast/url/standard-url-expected.txt: Ditto.
9:34 AM Changeset in webkit [174974] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r174708 - REGRESSION (r165356): Issues with Japanese text input
https://bugs.webkit.org/show_bug.cgi?id=137719
rdar://problem/18431952
rdar://problem/18483741

Reviewed by Darin Adler.

  • WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didChangeSelection):

In sync code path, ensure consistent message delivery order by adding
a DispatchMessageEvenWhenWaitingForSyncReply flag. This way, delayed
EditorStateChanged messages won't confuse UI process.

9:32 AM Changeset in webkit [174973] by Carlos Garcia Campos
  • 9 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174804 - Leverage the new RenderElement::m_isCSSAnimating flag in more places
https://bugs.webkit.org/show_bug.cgi?id=137786

Reviewed by Simon Fraser.

Leverage the new RenderElement::m_isCSSAnimating flag that was introduced
in r174703 in more places, for performance. This avoids doing extra work
for renderers on which we are not running animations on. This patch also
updates the API a bit to use more references instead of pointers, making
it clear the RenderElement cannot be null and thus avoiding unnecessary
null checks.

No new tests, no behavior change.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::computeRenderStyleForProperty):

  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
(WebCore::AnimationControllerPrivate::clear):
(WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
(WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
(WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
(WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
(WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
(WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
(WebCore::AnimationController::cancelAnimations):
(WebCore::AnimationController::updateAnimations):
(WebCore::AnimationController::getAnimatedStyleForRenderer):
(WebCore::AnimationController::notifyAnimationStarted):
(WebCore::AnimationController::isRunningAnimationOnRenderer):
(WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):

  • page/animation/AnimationController.h:
  • page/animation/AnimationControllerPrivate.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::willBeDestroyed):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::currentTransform):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::notifyAnimationStarted):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
(WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation):

9:28 AM Changeset in webkit [174972] by jer.noble@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION (r170808): Volume slider in built-in media controls only changes volume when thumb is released, not while dragging
https://bugs.webkit.org/show_bug.cgi?id=137805

Reviewed by Dan Bernstein.

Source/WebCore:

Test: media/video-volume-slider-drag.html

Respond to the 'input' event rather than the 'change' event for the volume slider, so that
volume changes are continuous during drag operations.

Also listen for both 'input' and 'change' events for the timeline slider, doing fastSeek()
during 'input' and setting an explicit currentTime during 'change'. This is the same behavior
as current, but using 'change' instead of 'mouseup' to do the final currentTime change.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createControls):
(Controller.prototype.handleTimelineInput):
(Controller.prototype.handleTimelineChange):
(Controller.prototype.handleTimelineMouseUp):
(Controller.prototype.handleVolumeSliderInput):
(Controller.prototype.handlePlayButtonClicked): Deleted.
(Controller.prototype.handleMaxButtonClicked): Deleted.

LayoutTests:

  • media/video-volume-slider-drag-expected.txt: Added.
  • media/video-volume-slider-drag.html: Added.
9:23 AM Changeset in webkit [174971] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174703 - Introduce an isCSSAnimated flag on RenderElement for performance
https://bugs.webkit.org/show_bug.cgi?id=137583

Reviewed by Simon Fraser.

I noticed when profiling the ebay.com page load that isRunningAnimationOnRenderer()
and isRunningAcceleratedAnimationOnRenderer() were called frequently, causing
~4.7 millions m_compositeAnimations HashMap lookups.

This patch introduces an isCSSAnimated flag on RenderElement to return early if
there is no animation on the renderer, thus avoiding HashMap lookups. This reduces
the number of HashMap lookups from ~4.7 millions to ~68k. On my machine, I see
the following performance improvements:

  • isRunning*AnimationOnRenderer() / computeCompositingRequirements()
    • before: ~45ms / ~90ms
    • after: ~4ms / ~30ms

No new tests, no behavior change.

  • page/animation/AnimationController.cpp:

(WebCore::AnimationControllerPrivate::ensureCompositeAnimation):
(WebCore::AnimationControllerPrivate::clear):
(WebCore::AnimationControllerPrivate::isRunningAnimationOnRenderer):
(WebCore::AnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer):
(WebCore::AnimationController::isRunningAnimationOnRenderer):
(WebCore::AnimationController::isRunningAcceleratedAnimationOnRenderer):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::RenderElement):

  • rendering/RenderElement.h:

(WebCore::RenderElement::isCSSAnimating):
(WebCore::RenderElement::setIsCSSAnimating):

9:06 AM Changeset in webkit [174970] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174684 - [XHR] Abort method execution when m_loader->cancel() in internalAbort() caused reentry
https://bugs.webkit.org/show_bug.cgi?id=126975

Patch by Youenn Fablet <youennf@gmail.com> on 2014-10-14
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Merging https://chromium.googlesource.com/chromium/blink/+/0d75daf2053631518606ae15daaece701a25b2c4
Ensuring new test from https://codereview.chromium.org/76133002/ is passing.

Test: http/tests/xmlhttprequest/reentrant-cancel-abort.html

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::open): exit early if internalAbort asks so
(WebCore::XMLHttpRequest::abort): exit early if internalAbort asks so
(WebCore::XMLHttpRequest::internalAbort): ask calling function to exit early if a new loader is created during the cancellation of the loader (potential reentrant case through window.onload callback)
(WebCore::XMLHttpRequest::didTimeout): exit early if internalAbort asks so

  • xml/XMLHttpRequest.h:

LayoutTests:

Adding reentrant-cancel-abort.html (from https://codereview.chromium.org/76133002/)
that crashes without the patch
Updated reentrant-cancel.html test to expect the exception
that is now hit in initSend function (since a XHR open() call is aborted)

  • http/tests/xmlhttprequest/reentrant-cancel-abort-expected.txt: Added.
  • http/tests/xmlhttprequest/reentrant-cancel-abort.html: Added.
  • http/tests/xmlhttprequest/reentrant-cancel.html:
9:03 AM Changeset in webkit [174969] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174543 - Computed style for clip is wrong with respect to auto
https://bugs.webkit.org/show_bug.cgi?id=137567

Reviewed by Simon Fraser.

Source/WebCore:

Make sure that the computed style of clip returns the
correct value when the input is "auto", or in this
case "rect(auto, auto, auto, auto)". Before this
patch it returned "rect(0px, 0px, 0px, 0px)" which
was completely wrong.

Test: fast/css/computed-clip-with-auto-rect.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::autoOrZoomAdjustedValue): Helper function to make the correct keyword or length.
(WebCore::specifiedValueForGridTrackBreadth): It can use the helper too.
(WebCore::ComputedStyleExtractor::propertyValue): If the
top/right/bottom/left is "auto", add that identifier
to the output rectangle.

LayoutTests:

Test that an input of clip: rect(auto, auto, auto, auto)
is the same on the way out.

  • fast/css/computed-clip-with-auto-rect-expected.txt: Added.
  • fast/css/computed-clip-with-auto-rect.html: Added.
8:51 AM Changeset in webkit [174968] by matthew_hanson@apple.com
  • 1 copy in branches/safari-600.2-branch

New branch.

8:42 AM Changeset in webkit [174967] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6

Merge r174515 - [CSS Font Loading] Decrement the font loading count before notifying callbacks
https://bugs.webkit.org/show_bug.cgi?id=137401

Reviewed by Alexey Proskuryakov.

Source/WebCore:

In the callbacks, it should appear that font load has completed. This is
accessed through loading(), which relies on the current number of
fonts loading via JS and CSS.

Unskipping the failing test http/tests/webfont/fontloader-loading-attribute.html
test which tests this.

  • css/FontLoader.cpp:

(WebCore::LoadFontCallback::notifyLoaded):

LayoutTests:

  • platform/mac/TestExpectations: Unskip the test this bug was causing to fail.
8:39 AM Changeset in webkit [174966] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174503 - Ensure that inline assembly Thunk functions don't conflict with the section designations of the compiler
https://bugs.webkit.org/show_bug.cgi?id=137434

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-10-09
Reviewed by Michael Saboff.

The ARM64 version of the defineUnaryDoubleOpWrapper macro in
ThunkGenerators.cpp contains inline assembly with .text assembler
directive followed by a static variable declaration. This macro gets
expanded several times afterwards, however, only during the compilation
of the first expansion does gcc insert a .data assembler directive
before the assembled version of the static variable. Thus, only the
first variable gets allocated in the .data section, all the others
remain in .text. If JavaScriptCore is built as a shared library then
this causes a segmentation fault during dynamic linking.

This patch puts a .previous directive at the end of the inline assembly
to ensure that the assumptions of the compiler about the sections are
not broken and the following variable goes to the right place.

  • jit/ThunkGenerators.cpp:
8:36 AM Changeset in webkit [174965] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174466 - Text drawn with an SVG font has no spaces when word-rounding hacks are enabled
https://bugs.webkit.org/show_bug.cgi?id=137463

Reviewed by Darin Adler.

Source/WebCore:

When rounding hacks are enabled, we use the "adjusted space width" instead of the
regular space width. However, the SVG-font-specific implementation of the
SimpleFontData constructor doesn't initialize this value, so it was getting set
to an undefined value (which happened to be close to 0 in my tests).

Test: svg/text/svg-font-word-rounding-hacks-spaces.html

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::getFontData):
(WebCore::CSSFontFaceSource::ensureFontData):

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::ensureCustomFontData):
(WebCore::CachedFont::getSVGFontById):

  • platform/graphics/SimpleFontData.h:
  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::initializeFontData):

LayoutTests:

Make sure that spaces are present.

  • svg/text/svg-font-word-rounding-hacks-spaces.html:
  • svg/text/svg-font-word-rounding-hacks-spaces-expected.html:
8:27 AM Changeset in webkit [174964] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174451 - ASSERTION FAILED: underlyingStringIsValid()
https://bugs.webkit.org/show_bug.cgi?id=137502

Reviewed by Anders Carlsson.

  • rendering/RenderTreeAsText.cpp:

(WebCore::quoteAndEscapeNonPrintables): Take a StringView instead of a String.
(WebCore::writeTextRun): Ditto.
(WebCore::writeSimpleLine): Ditto.

  • rendering/RenderTreeAsText.h: Removed unneeded include, tweaked formatting,

changed quoteAndEscapeNonPrintables to take a StringView.

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow): Tighten code using a modern for loop.
(WebCore::SimpleLineLayout::showLineLayoutForFlow): Update to work with a
StringView result for SimpleLineLayout::RunResolver::Run::text.

  • rendering/SimpleLineLayoutResolver.h:

(WebCore::SimpleLineLayout::RunResolver::Run::text): Changed return type to
StringView to fix the lifetime bug and also to improve performance by getting
rid of the need to allocate and destroy a StringImpl object.

8:16 AM Changeset in webkit [174963] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174405 - Defer resolution of viewport size.
https://bugs.webkit.org/show_bug.cgi?id=137376
rdar://problem/18558094

Reviewed by Benjamin Poulain.

ViewportConfiguration should resolve the viewport size on configuration update.

  • dom/Document.cpp:

(WebCore::Document::processViewport): Defer resolution of viewport size.

  • dom/ViewportArguments.cpp:

(WebCore::finalizeViewportArguments): Deleted.

  • dom/ViewportArguments.h:
  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::updateConfiguration): Resolve viewport size.
(WebCore::ViewportConfiguration::viewportArgumentsLength): Resolves width or height based on viewport arguments.

  • page/ViewportConfiguration.h:
7:56 AM Changeset in webkit [174962] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174370 - REGRESSION (Simple Line Layout): Inline block baselines computed incorrectly
https://bugs.webkit.org/show_bug.cgi?id=137461

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/inline-block/simple-line-layout.html

  • rendering/SimpleLineLayoutFunctions.h:

(WebCore::SimpleLineLayout::computeFlowFirstLineBaseline):
(WebCore::SimpleLineLayout::computeFlowLastLineBaseline):
Fix the baseline computation functions in simple line layout to
use lineCount rather than runCount.

LayoutTests:

  • fast/inline-block/simple-line-layout-expected.html: Added.
  • fast/inline-block/simple-line-layout.html: Added.
7:49 AM Changeset in webkit [174961] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174361 - Fix cloop build.

7:46 AM Changeset in webkit [174960] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174345 - AX: Performance: Certain Web site causes Safari to hang completely while entering form data
https://bugs.webkit.org/show_bug.cgi?id=137420

Reviewed by Mario Sanchez Prada.

If a website has multiple nested tables that are not "accessibility" tables, the performance of accessibility slows to a crawl because:

1) We are re-computing accessibilityIsIgnored many times.

As a solution, we can enable the isIgnoredCache when updating children.

2) When asking if an object isTableCell, we'd go up the parent chain, asking each of those parents the same question, which exploded into calling this many times.

As a solution, I've changed our determination of isTableCell to instead check if the parent is an accessibiltyTable which should be much faster.

No new functionality. Existing tests cover changes.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::updateChildrenIfNecessary):
(WebCore::AccessibilityObject::accessibilityIsIgnored):

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::parentTable):
(WebCore::AccessibilityTableCell::isTableCell):

7:27 AM Changeset in webkit [174959] by Carlos Garcia Campos
  • 7 edits
    2 adds
    4 deletes in releases/WebKitGTK/webkit-2.6/Source

Merge r174868 - [GTK] Move GtkDragAndDropHelper from Platform to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=137422

Reviewed by Martin Robinson.

Source/WebCore:

Remove ClipboardUtilitiesGtk and GtkDragAndDropHelper.

  • PlatformGTK.cmake:
  • platform/gtk/ClipboardUtilitiesGtk.cpp: Removed.
  • platform/gtk/ClipboardUtilitiesGtk.h: Removed.
  • platform/gtk/GtkDragAndDropHelper.cpp: Removed.
  • platform/gtk/GtkDragAndDropHelper.h: Removed.

Source/WebKit2:

WebKitWebViewBase is currently the only user of
GtkDragAndDropHelper, that was added to share the code with
WebKit1. Move all the drag and drop logic to a new class
DragAndDropHandler.

  • PlatformGTK.cmake: Add new files to compilation.
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::startDrag):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseConstructed):
(webkitWebViewBaseDragDataGet):
(webkitWebViewBaseDragEnd):
(webkitWebViewBaseDragDataReceived):
(webkitWebViewBaseDragMotion):
(webkitWebViewBaseDragLeave):
(webkitWebViewBaseDragDrop):
(webkitWebViewBaseDragAndDropHandler):
(dragExitedCallback): Deleted.
(webkitWebViewBaseStartDrag): Deleted.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/gtk/DragAndDropHandler.cpp: Added.

(WebKit::DragAndDropHandler::create):
(WebKit::DragAndDropHandler::DragAndDropHandler):
(WebKit::DragAndDropHandler::DroppingContext::DroppingContext):
(WebKit::dragOperationToGdkDragActions):
(WebKit::dragOperationToSingleGdkDragAction):
(WebKit::gdkDragActionToDragOperation):
(WebKit::DragAndDropHandler::startDrag):
(WebKit::DragAndDropHandler::fillDragData):
(WebKit::DragAndDropHandler::finishDrag):
(WebKit::DragAndDropHandler::dataObjectForDropData):
(WebKit::DragAndDropHandler::dragEntered):
(WebKit::DragAndDropHandler::requestDragData):
(WebKit::DragAndDropHandler::dragMotion):
(WebKit::DragAndDropHandler::dragLeave):
(WebKit::DragAndDropHandler::drop):

  • UIProcess/gtk/DragAndDropHandler.h: Added.
7:22 AM Changeset in webkit [174958] by Carlos Garcia Campos
  • 10 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r174328 - [GTK] Fix build when DRAG_SUPPORT is disabled
https://bugs.webkit.org/show_bug.cgi?id=137361

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-10-05
Reviewed by Carlos Garcia Campos.

Flag out unbuildable code without DRAG_SUPPORT.

Source/WebCore:

  • platform/gtk/GtkDragAndDropHelper.cpp:
  • platform/gtk/GtkDragAndDropHelper.h:

Source/WebKit2:

  • Shared/gtk/ArgumentCodersGtk.cpp:
  • Shared/gtk/ArgumentCodersGtk.h:
  • UIProcess/API/gtk/PageClientImpl.cpp:
  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseConstructed):

  • UIProcess/PageClient.h:
7:18 AM Changeset in webkit [174957] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174298 - Implement op_profile_type in the 32-bit baseline JIT
https://bugs.webkit.org/show_bug.cgi?id=137181

Reviewed by Michael Saboff.

Generate inline code to write to the TypeProfilerLog inside the 32-bit
baseline JIT instead of unconditionally bailing out to the slow path
for op_profile_type.

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_profile_type):

7:15 AM Changeset in webkit [174956] by Carlos Garcia Campos
  • 8 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174294 - tearoff_arguments should always refer to the unmodified arguments register
https://bugs.webkit.org/show_bug.cgi?id=137406

Reviewed by Michael Saboff.

To simplify subsequent work, and remove unnecessary work from
actual execution this patch simply ensures that tear_off_arguments
refers to the actual unmodified arguments register.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitReturn):

  • dfg/DFGByteCodeParser.cpp:

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

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_tear_off_arguments):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_tear_off_arguments):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
7:12 AM Changeset in webkit [174955] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r174287 - WKWebView snapshot of Daring Fireball has the wrong color in the obscured inset
https://bugs.webkit.org/show_bug.cgi?id=137383
<rdar://problem/18535439>

Reviewed by Sam Weinig.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::snapshotAtSize):
Use documentBackgroundColor instead of baseBackgroundColor if backgroundShouldExtendBeyondPage is set.

  • rendering/RenderView.cpp:

(WebCore::RenderView::paintBoxDecorations):
Use documentBackgroundColor instead of baseBackgroundColor if backgroundShouldExtendBeyondPage is set.

6:33 AM Changeset in webkit [174954] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r174273 - REGRESSION (r173531): Use after free in WebCore::RenderStyle::fontMetrics /
WebCore::CSSPrimitiveValue::computeLengthDouble
https://bugs.webkit.org/show_bug.cgi?id=136864

Reviewed by Andreas Kling.

Source/WebCore:

FontLoader previously called updateDocumentStyleIfNeeded,
which would reset styles currently in use as part of
the tabIndex calculation. The FontLoader should instead
wait for pending stylesheets to load.

Tests: fast/css/fontloader-tab-index.html

  • css/FontLoader.cpp:

(WebCore::FontLoader::notifyWhenFontsReady): Do not immediately
call loadingDone().
(WebCore::FontLoader::loadingDone): Wait for stylesheets to
finish loading rather than updating document styles.

  • css/FontLoader.h:

(WebCore::FontLoader::loading): Include JS font loads when testing
for the loading state.

LayoutTests:

Test that getting the tab index on a body element with
font-relative measurements to a local @font-face do not
cause a crash.

  • fast/css/fontloader-tab-index-expected.html: Added.
  • fast/css/fontloader-tab-index.html: Added.
6:23 AM Changeset in webkit [174953] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174260 - Change how 32-bit JSValues check if they are a Boolean

Rubber stamped by Filip Pizlo.

32-bit JSValue::isBoolean can simply check if its tag corresponds
to the boolean tag instead of checking if it's either true or false.

  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::isBoolean):

6:05 AM Changeset in webkit [174952] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174235 - XMLHttpRequestProgressEventThrottle shouldn't throttle / defer progress events if there are no listeners
https://bugs.webkit.org/show_bug.cgi?id=137346

Reviewed by Alexey Proskuryakov.

Previously XMLHttpRequestProgressEventThrottle would throttle / defer
progress events, which involves queueing events and starting timers,
even if there were no listeners for those events (which is fairly
common case).

This patch updates XMLHttpRequestProgressEventThrottle to make sure
there are actual progress event listeners *before* attempting to
throttle and do extra processing, to avoid doing unnecessary work.

This patch also makes XMLHttpRequestProgressEventThrottle::dispatchEvent()
private as this method is only called from other dispatch methods of
the class and never from the outside.

No new tests, no behavior change.

  • xml/XMLHttpRequestProgressEventThrottle.cpp:

(WebCore::XMLHttpRequestProgressEventThrottle::dispatchThrottledProgressEvent):
(WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent):

6:02 AM Changeset in webkit [174951] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174219 - Use variadic templates for jsMakeNontrivialString
https://bugs.webkit.org/show_bug.cgi?id=137325

Reviewed by Sam Weinig.

  • runtime/JSString.h:

(JSC::jsNontrivialString):
Add an overload that takes an rvalue reference to a String so we can transfer ownership easily.

  • runtime/JSStringBuilder.h:

(JSC::jsMakeNontrivialString):
Make this a variadic function template, with a single-parameter version that can steal the string if it's OK to do so.

5:25 AM Changeset in webkit [174950] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6

Merge r174217 - AX: Default orientation for aria scrollbars should be vertical
https://bugs.webkit.org/show_bug.cgi?id=137341

Reviewed by Chris Fleizach.

Source/WebCore:

Default orientation for aria scrollbars regarding w3c spec should be vertical

No new tests, covering by existing one.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::orientation):

LayoutTests:

Update expectation and test for having new test case.

  • accessibility/aria-scrollbar-role-expected.txt:
  • accessibility/aria-scrollbar-role.html:
5:23 AM Changeset in webkit [174949] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Tools

Merge r174209 - [GTK] [JHBuild] Switch sourceware.org mirror to http.

Unreviewed.

The ftp access is recently failing to work as expected, and the
bots fail to download the file.
The same mirror is available via http and seems to work better.

  • gtk/jhbuild.modules:
5:22 AM Changeset in webkit [174948] by Carlos Garcia Campos
  • 6 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174206 - Fix minimal build warnings
https://bugs.webkit.org/show_bug.cgi?id=137066

Reviewed by Daniel Bates.

No new tests, no behavior change.

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):

  • page/Page.cpp:

(WebCore::Page::setPageScaleFactor):

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::glyphDataForCharacter):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::prepareGraphicsContextForTextPainting):

5:19 AM Changeset in webkit [174947] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r174204 - Minor bug in UIClient::exceededDatabaseQuota()
https://bugs.webkit.org/show_bug.cgi?id=137213

Patch by JinYoung Hur <hurims@gmail.com> on 2014-10-02
Reviewed by Anders Carlsson.

Make sure not to call the completion handler twice if exceededDatabaseQuota is null.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

5:11 AM Changeset in webkit [174946] by Manuel Rego Casasnovas
  • 4 edits
    2 adds in trunk

ASSERTION FAILED: !gridWasPopulated() in WebCore::RenderGrid::placeItemsOnGrid
https://bugs.webkit.org/show_bug.cgi?id=136939

Reviewed by Darin Adler.

Source/WebCore:

In some particular situations computeIntrinsicLogicalWidths() is called
in the middle of layoutGridItems(). In these cases we do not need to
populate the grid again, so we should avoid calling placeItemsOnGrid().
In addition, we do not need to clean the grid either, as that will be
done later by layoutGridItems().

Test: fast/css-grid-layout/grid-was-populated-assert.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeIntrinsicLogicalWidths): Avoid calls to
placeItemsOnGrid() and clearGrid() if the grid was already populated.

  • rendering/RenderGrid.h: Move gridWasPopulated() header out of the

debug ifdefs.

LayoutTests:

Added a test case to reproduce the crash in debug mode.

  • fast/css-grid-layout/grid-was-populated-assert-expected.txt: Added.
  • fast/css-grid-layout/grid-was-populated-assert.html: Added.
4:13 AM Changeset in webkit [174945] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174142 - CSS JIT: Enable multiple stack references allocation by allocateUninitialized
https://bugs.webkit.org/show_bug.cgi?id=135293

Reviewed by Benjamin Poulain.

  • cssjit/StackAllocator.h:

(WebCore::StackAllocator::stackTop):

Add stackTop method to check references are allocated easily.

(WebCore::StackAllocator::allocateUninitialized):

4:11 AM Changeset in webkit [174944] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174122 - Label some asserts as having security implications.
<https://webkit.org/b/137260>

Reviewed by Filip Pizlo.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::handleAssertionFailure):

  • runtime/JSCell.h:

(JSC::jsCast):

  • runtime/StructureIDTable.h:

(JSC::StructureIDTable::get):

3:52 AM Changeset in webkit [174943] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174091 - DFG HasStructureProperty codegen should use one fewer registers
https://bugs.webkit.org/show_bug.cgi?id=137235

Reviewed by Andreas Kling.

This was an obvious source of inefficiency and it was causing us to run out of registers on
x86-32.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

3:46 AM Changeset in webkit [174942] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174090 - Don't use GPRResult unless you're flushing registers and making a runtime function call
https://bugs.webkit.org/show_bug.cgi?id=137234

Rubber stamped by Andreas Kling.

Rename GPRResult to GPRFlushedCallResult, in an attempt to dissuade people from using it for results in the
general case.

Replace GPRResult with GPRTemporary in those places where it was causing bugs: particularly in GetDirectPname it
would cause us to spill the register that has the base, and the code was assuming (rightly) that the base and the
result were in different registers. That's a valid assumption when using GPRTemporary but not with GPRResult.
Also this code wasn't getting any benefit from using GPRResult because it wasn't doing flushRegisters().

I don't know how to test this. A test would require setting up a particularly awkward register allocation state.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileIn):
(JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck):
(JSC::DFG::SpeculativeJIT::compileNewFunctionExpression):
(JSC::DFG::SpeculativeJIT::compileRegExpExec):
(JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileToStringOnCell):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::GPRFlushedCallResult::GPRFlushedCallResult):
(JSC::DFG::GPRFlushedCallResult2::GPRFlushedCallResult2):
(JSC::DFG::GPRResult::GPRResult): Deleted.
(JSC::DFG::GPRResult2::GPRResult2): Deleted.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::speculateDoubleRepMachineInt):

3:30 AM Changeset in webkit [174941] by Carlos Garcia Campos
  • 27 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r174094 - Web Inspector: InspectorValues should use references for out parameters
https://bugs.webkit.org/show_bug.cgi?id=137190

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Use references for out parameters in asType() and getType() methods.
Also convert to references in some miscellaneous code where we don't
expect or handle null values.

Remove variants of asObject() and asArray() that return a nullable RefPtr.
Now, client code is forced to use out parameters and check for cast failure.

Iron out control flow in some functions and fix some style issues.

  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::getFunctionDetails):
(Inspector::InjectedScript::wrapObject):
(Inspector::InjectedScript::wrapTable):

  • inspector/InjectedScriptBase.cpp:

(Inspector::InjectedScriptBase::makeEvalCall):

  • inspector/InjectedScriptManager.cpp:

(Inspector::InjectedScriptManager::injectedScriptForObjectId): Simplify control flow.

  • inspector/InspectorBackendDispatcher.cpp:

(Inspector::InspectorBackendDispatcher::dispatch):
(Inspector::getPropertyValue):
(Inspector::AsMethodBridges::asInteger):
(Inspector::AsMethodBridges::asDouble):
(Inspector::AsMethodBridges::asString):
(Inspector::AsMethodBridges::asBoolean):
(Inspector::AsMethodBridges::asObject):
(Inspector::AsMethodBridges::asArray):

  • inspector/InspectorProtocolTypes.h:

(Inspector::Protocol::BindingTraits<Protocol::Array<T>>::runtimeCast):
(Inspector::Protocol::BindingTraits<Protocol::Array<T>>::assertValueHasExpectedType):

  • inspector/InspectorValues.cpp: Use more by-reference out parameters. Add more spacing.

(Inspector::InspectorValue::asBoolean):
(Inspector::InspectorValue::asDouble):
(Inspector::InspectorValue::asInteger):
(Inspector::InspectorValue::asString):
(Inspector::InspectorValue::asValue):
(Inspector::InspectorValue::asObject):
(Inspector::InspectorValue::asArray):
(Inspector::InspectorValue::parseJSON):
(Inspector::InspectorValue::toJSONString):
(Inspector::InspectorValue::writeJSON):
(Inspector::InspectorBasicValue::asBoolean):
(Inspector::InspectorBasicValue::asDouble):
(Inspector::InspectorBasicValue::asInteger):
(Inspector::InspectorBasicValue::writeJSON):
(Inspector::InspectorString::asString):
(Inspector::InspectorString::writeJSON):
(Inspector::InspectorObjectBase::asObject):
(Inspector::InspectorObjectBase::openAccessors):
(Inspector::InspectorObjectBase::getBoolean):
(Inspector::InspectorObjectBase::getString):
(Inspector::InspectorObjectBase::getObject):
(Inspector::InspectorObjectBase::getArray):
(Inspector::InspectorObjectBase::writeJSON):
(Inspector::InspectorArrayBase::asArray):
(Inspector::InspectorArrayBase::writeJSON):

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

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

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):

  • inspector/scripts/codegen/generate_protocol_types_implementation.py:

(ProtocolTypesImplementationGenerator):
(ProtocolTypesImplementationGenerator._generate_assertion_for_enum):

  • inspector/scripts/codegen/generator_templates.py:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • replay/EncodedValue.cpp:

(JSC::EncodedValue::asObject):
(JSC::EncodedValue::asArray):
(JSC::EncodedValue::convertTo<bool>):
(JSC::EncodedValue::convertTo<double>):
(JSC::EncodedValue::convertTo<float>):
(JSC::EncodedValue::convertTo<int32_t>):
(JSC::EncodedValue::convertTo<int64_t>):
(JSC::EncodedValue::convertTo<uint32_t>):
(JSC::EncodedValue::convertTo<uint64_t>):
(JSC::EncodedValue::convertTo<String>):

Source/WebCore:

Clean up some call sites to explicitly check for cast success, and simplify
some exceptional control flows.

No new tests, no behavior changed.

  • inspector/CommandLineAPIHost.cpp:

(WebCore::CommandLineAPIHost::inspectImpl):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::computePseudoClassMask):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::parseColor):
(WebCore::parseConfigColor):
(WebCore::parseQuad):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::highlightConfigFromInspectorObject):
(WebCore::InspectorDOMAgent::innerHighlightQuad):
(WebCore::InspectorDOMAgent::highlightFrame):

  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::findStorageArea):

  • inspector/InspectorIndexedDBAgent.cpp: Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL.
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::didClearWindowObjectInWorld):

  • inspector/InspectorReplayAgent.cpp:

(WebCore::InspectorReplayAgent::replayToPosition):

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::willSendRequest):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyle::styleWithProperties):

  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorCSSId::InspectorCSSId):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::stopFromConsole):

  • inspector/InspectorWorkerAgent.cpp:
3:18 AM Changeset in webkit [174940] by Dániel Bátyai
  • 13 edits
    4 adds in trunk

Fix FTL Native Inlining for EFL
https://bugs.webkit.org/show_bug.cgi?id=137774

Reviewed by Michael Saboff.

.:

Updated CMake for FTL Native Inlining.

  • CMakeLists.txt:
  • Source/cmake/FindClang.cmake: Added.
  • Source/cmake/OptionsEfl.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

Added required functionality for Native Inlining to EFL, and fixed a bug/typo in the original code,
which caused incorrect memory allocation.

  • CMakeLists.txt:
  • create-llvm-ir-from-source-file.py: Added.
  • create-symbol-table-index.py: Added.
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::getModuleByPathForSymbol):
(JSC::FTL::LowerDFGToLLVM::exitValueForAvailability):
(JSC::FTL::LowerDFGToLLVM::exitValueForNode):

  • runtime/BundlePath.cpp: Added.

(JSC::bundlePath):

  • runtime/JSDataViewPrototype.cpp:

(JSC::getData):
(JSC::setData):

  • runtime/MathObject.cpp:

Source/WTF:

Updated guard definition for Native Inlining, and added an attribute define for marking functions
that should not be left out of the symbol table.

  • wtf/Platform.h:

Tools:

Added Clang as an optional module to jhbuild.

  • efl/jhbuild.modules:
3:07 AM Changeset in webkit [174939] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebInspectorUI

Merge r173792 - Web Inspector: Option+Click on CSS url(...) should jump to resource view
https://bugs.webkit.org/show_bug.cgi?id=136965

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-20
Reviewed by Timothy Hatcher.

  • UserInterface/Views/CodeMirrorAdditions.js:

When parsing CSS url(...) tokens, the contents of url(...)
are a "string" type, not "atom".

3:07 AM Changeset in webkit [174938] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r173805 - Web Inspector: fix TypeSet hierarchy in TypeTokenView
https://bugs.webkit.org/show_bug.cgi?id=136982

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

TypeSet was computing the set of type booleans in the Inspector::Protocol::Runtime::TypeSet
object incorrectly because it was calling TypeSet::doesTypeConformTo(T) which checks if the
type set has only been of type T. It now checks '(m_seenTypes & T) != TypeNothing' to see
if type T is in the set of seen types, but not the entire set itself.

  • runtime/TypeSet.cpp:

(JSC::TypeSet::inspectorTypeSet):

Source/WebInspectorUI:

The protocol object representation of TypeSet was being computed
incorrectly in JSC::TypeSet. This patch fixes that problem
and also asserts that the type information that the Web Inspector
receives is not empty.

  • UserInterface/Models/TypeSet.js:

(WebInspector.TypeSet):

  • UserInterface/Views/TypeTokenView.js:

(WebInspector.TypeTokenView.prototype._displayTypeName):

2:41 AM Changeset in webkit [174937] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6

Merge r174812 - REGRESSION(CMake): [GTK] WebKitSettings:enable-smooth-scrolling does nothing
https://bugs.webkit.org/show_bug.cgi?id=137781

Reviewed by Martin Robinson.

We used to enable smooth scrolling unconditionally in autotools
(via WebKitFeatures.m4), but since the switch to CMake it's
unconditionally disabled, so changing the setting doesn't have any
effect.

  • Source/cmake/OptionsGTK.cmake: Enable smooth scrolling.
2:18 AM Changeset in webkit [174936] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.6/Source

Merge r174818 - [GLIB] Add API to GMainLoopSource to schedule sources after a delay in microseconds
https://bugs.webkit.org/show_bug.cgi?id=137782

Reviewed by Sergio Villar Senin.

Source/WebCore:

  • platform/gtk/SharedTimerGtk.cpp:

(WebCore::setSharedTimerFireInterval): Use microseconds instead of
milliseconds.

Source/WebKit2:

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::layerFlushTimerFired): Use microseconds
instead of milliseconds.

Source/WTF:

In some cases when we have a double with the time in seconds, the
conversion to milliseconds ends up truncating the value to 0, and
the source scheduled immediately.

  • wtf/gobject/GMainLoopSource.cpp:

(WTF::createMicrosecondsTimeoutSource): Use a custom timeout
source that handles the interval in microseconds instead of milliseconds.
(WTF::GMainLoopSource::scheduleAfterDelay): Use MicrosecondsTimeoutSource.
(WTF::GMainLoopSource::scheduleAfterDelayAndDeleteOnDestroy): Ditto.

  • wtf/gobject/GMainLoopSource.h:
2:13 AM Changeset in webkit [174935] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6

Merge r174926 - [GTK] Test TestWebKitAPI/WebKit2Gtk/TestInspectorServer fails
https://bugs.webkit.org/show_bug.cgi?id=132044

Reviewed by Brian Burg.

Source/WebInspectorUI:

Make sure Protocol/InspectorFrontendHostStub.js is loaded before
Base/Platform.js, because Platform uses the InspectorFrontendHost
object.

  • UserInterface/Main.html:

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp:

(openRemoteDebuggingSession): Remove trailing slash when
concatenating base inspector URL with the page, because the
inspector returns the relative paths with a leading slash.

2:08 AM Changeset in webkit [174934] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r174025, r174121, r174749, r174856, r174899 - DFG shouldn't insert store barriers when it has it on good authority that we're not storing a cell
https://bugs.webkit.org/show_bug.cgi?id=137161

Reviewed by Mark Hahnenberg.

This looks like a 1% Octane speed-up.

  • bytecode/SpeculatedType.h:

(JSC::isNotCellSpeculation):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::insertStoreBarrier):
(JSC::DFG::FixupPhase::insertCheck):

  • dfg/DFGNode.h:

(JSC::DFG::Node::shouldSpeculateNotCell):

REGRESSION (r174025): Invalid cast in JSC::asString
https://bugs.webkit.org/show_bug.cgi?id=137224

Reviewed by Geoffrey Garen.

Store barrier elision in fixup depends on checking the type of the value being stored. It's very important that
when we speak of "the value being stored" we are really referring to the right value.

The bug here was that the PutClosureVar case was assuming that child2 is the value being stored. It's actually
child3. So we were incorrectly removing all barriers from PutClosureVar.

  • dfg/DFGFixupPhase.cpp:

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

REGRESSION(r174025): remote inspector crashes frequently when executing inspector frontend's JavaScript
https://bugs.webkit.org/show_bug.cgi?id=137758

Rubber stamped by Filip Pizlo.

Reverted r174025 for just PutByOffset Nodes.

  • dfg/DFGFixupPhase.cpp:

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

Web Process crash when starting the web inspector after r174025.
<https://webkit.org/b/137340>

Reviewed by Filip Pizlo.

After r174025, we can generate a bad graph in the DFG fixup phase like so:

102:<!0:-> StoreBarrier(Check:KnownCell:@19, ..., bc#44)
60:<!0:-> PutStructure(Check:KnownCell:@19, ..., bc#44)
103:<!0:-> Check(Check:NotCell:@54, ..., bc#44)

-- PutByOffset's StoreBarrier has been elided and replaced
with a speculation check which can OSR exit.

61:<!0:-> PutByOffset(Check:KnownCell:@19, ..., bc#44)

As a result, the structure change will get executed even if we end up OSR
exiting before the PutByOffset. In the baseline JIT code, the structure now
erroneously tells the put operation that there is a value in that property
slot when it is actually uninitialized (hence, the crash).

The fix is to insert the Check at the earliest point possible:

  1. If the checked node is in the same bytecode as the PutByOffset, then the earliest point where we can insert the Check is right after the checked node.
  1. If the checked node is from a preceding bytecode (before the PutByOffset), then the earliest point where we can insert the Check is at the start of the current bytecode.

Also reverted the workaround from r174749: https://webkit.org/b/137758.

Benchmark results appear to be a wash on aggregate.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::indexOfNode):
(JSC::DFG::FixupPhase::indexOfFirstNodeOfExitOrigin):
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::insertCheck):

  • dfg/DFGInsertionSet.h:

(JSC::DFG::InsertionSet::insertOutOfOrder):
(JSC::DFG::InsertionSet::insertOutOfOrderNode):

[Follow up] Web Process crash when starting the web inspector after r174025.
<https://webkit.org/b/137340>

Reviewed by Geoffrey Garen.

Applied Geoff's feedback to clean up some code for better clarity after
r174856.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::insertCheck):

  • dfg/DFGInsertionSet.h:

(JSC::DFG::InsertionSet::insertOutOfOrder):

1:57 AM Changeset in webkit [174933] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Move JSC::MacroAssemblerX86Common::s_sse2CheckState definition to MacroAssemblerX86Common.cpp.
<https://webkit.org/b/137807>

Patch by Milan Crha <mcrha@redhat.com> on 2014-10-21
Reviewed by Csaba Osztrogonác.

  • assembler/MacroAssemblerX86Common.cpp:
  • jit/JIT.cpp:
1:35 AM Changeset in webkit [174932] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r174929 - [GTK] Several labels are white instead of black
https://bugs.webkit.org/show_bug.cgi?id=137803

Reviewed by Martin Robinson.

Recent GTK+ versions require to explicitly set the state before
getting a color.

  • rendering/RenderThemeGtk.cpp:

(WebCore::styleColor): Helper function to get a color from a
GtkStylecontext that explicitly sets the state before getting the color.
(WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor): Use styleColor().
(WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor): Ditto.
(WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor): Ditto.
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor): Ditto.
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::systemColor): Ditto.

1:24 AM Changeset in webkit [174931] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[Cairo] Make dashPattern, dotPattern in GraphicsContext::setPlatformStrokeStyle() const
https://bugs.webkit.org/show_bug.cgi?id=137912

Reviewed by Carlos Garcia Campos.

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::setPlatformStrokeStyle): Make the two static variables
constants since their value doesn't change after initialization.

1:05 AM Changeset in webkit [174930] by Carlos Garcia Campos
  • 4 edits in trunk

Change the default TLS errors policy to WEBKIT_TLS_ERRORS_POLICY_FAIL
https://bugs.webkit.org/show_bug.cgi?id=137832

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-10-20
Reviewed by Carlos Garcia Campos.

Source/WebKit2:

Too many general-purpose browsers that really need this policy
are not selecting it, so let's do so for them.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(createDefaultWebContext):

Tools:

Ensure each test sets the TLS errors policy that it really needs.
Have each test except testTLSErrorsPolicy stash and restore the original
TLS errors policy. Update testTLSErrorsPolicy to account for the new
default policy.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:

(testSSL):
(testInsecureContent):
(testTLSErrorsPolicy):
(testTLSErrorsRedirect):
(testTLSErrorsHTTPAuth):
(testLoadFailedWithTLSErrors):
(beforeAll):

12:46 AM Changeset in webkit [174929] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Several labels are white instead of black
https://bugs.webkit.org/show_bug.cgi?id=137803

Reviewed by Martin Robinson.

Recent GTK+ versions require to explicitly set the state before
getting a color.

  • rendering/RenderThemeGtk.cpp:

(WebCore::styleColor): Helper function to get a color from a
GtkStylecontext that explicitly sets the state before getting the color.
(WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor): Use styleColor().
(WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor): Ditto.
(WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor): Ditto.
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor): Ditto.
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor): Ditto.
(WebCore::RenderThemeGtk::systemColor): Ditto.

12:41 AM Changeset in webkit [174928] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Unskip inspector server unit tests.

They should pass now.

  • Scripts/run-gtk-tests:

(TestRunner):

12:35 AM Changeset in webkit [174927] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[SOUP] Disable SSLv3
https://bugs.webkit.org/show_bug.cgi?id=137859

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-10-21
Reviewed by Carlos Garcia Campos.

Set G_TLS_GNUTLS_PRIORITY if unset.

  • NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp:

(main):

  • WebProcess/EntryPoint/unix/WebProcessMain.cpp:

(main):

12:32 AM Changeset in webkit [174926] by Carlos Garcia Campos
  • 4 edits in trunk

[GTK] Test TestWebKitAPI/WebKit2Gtk/TestInspectorServer fails
https://bugs.webkit.org/show_bug.cgi?id=132044

Reviewed by Brian Burg.

Source/WebInspectorUI:

Make sure Protocol/InspectorFrontendHostStub.js is loaded before
Base/Platform.js, because Platform uses the InspectorFrontendHost
object.

  • UserInterface/Main.html:

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspectorServer.cpp:

(openRemoteDebuggingSession): Remove trailing slash when
concatenating base inspector URL with the page, because the
inspector returns the relative paths with a leading slash.

12:04 AM Changeset in webkit [174925] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Minibrowser : Add support for Case sensitive and word start search
https://bugs.webkit.org/show_bug.cgi?id=137023

Patch by Tanay C <tanay.c@samsung.com> on 2014-10-20
Reviewed by Gyuyoung Kim.

  • MiniBrowser/efl/main.c: Added functionality to support case sensitive and word start search

(search_box_show): Modified.
(search_box_hide): Modified.
(on_search_field_activated): Modified.
(on_search_backward_button_clicked): Modified.
(on_search_forward_button_clicked): Modified.
(on_search_case_option_changed): Added.
(on_search_word_start_option_changed): Added.
(window_create): Modified.

Oct 20, 2014:

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

[Coordinated Graphics] '-webkit-mask-image: -webkit-gradient' doesn't work for AC layer.
https://bugs.webkit.org/show_bug.cgi?id=125326

Patch by YongGeol Jung <yg48.jung@samsung.com> on 2014-10-20
Reviewed by Gyuyoung Kim.

Mask layer hasn't requested to synchronize with AC layer in CoordinatedGraphics so far.
That's why the mask layer isn't shown under CoordinatedGraphics.
Thus this patch lets the mask layer synchronize with the AC layer whenever AC layer is updated.

Below layout test case is related to this issue when --pixel test is enabled.
Unfortunately EFL WebKitTestRunner doesn't support AC mode yet.
When EFL test framework supports AC mode, the test will be passed.

Test: compositing/masks/mask-of-clipped-layer.html

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::syncPendingStateChangesIncludingSubLayers):

9:15 PM Changeset in webkit [174923] by dburkart@apple.com
  • 3 edits in branches/safari-600.1-branch/LayoutTests

Update TestExpectations

8:15 PM Changeset in webkit [174922] by jpfau@apple.com
  • 3 edits
    2 adds in trunk

Ensure attached frame count doesn't exceed the maximum allowed frames
https://bugs.webkit.org/show_bug.cgi?id=136457

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: fast/frames/exponential-frames.html

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::isURLAllowed):

LayoutTests:

  • fast/frames/exponential-frames-expected.txt: Added.
  • fast/frames/exponential-frames.html: Added.
7:10 PM Changeset in webkit [174921] by Chris Dumez
  • 15 edits in trunk/Source

ResourceRequest deserialization unnecessarily calls partitionName() on encoded cache partition
https://bugs.webkit.org/show_bug.cgi?id=137797

Reviewed by Darin Adler.

Source/WebCore:

ResourceRequest deserialization was unnecessarily calling partitionName()
on the decoded cache partition. In the deserialization case, we already
know the cache partition is a valid partition name so we can bypass the
call to partitionName() (which is fairly expensive) for performance.

This patch adds a setDomainForCachePartion() method to ResourceRequest
that calls partitionName() on the domain argument, and moves all the
callers of setCachedPartition() to this new setter, except
ArgumentCoder<ResourceRequest>::decode().

This patch updates the setCachedPartition() to merely set the
m_cachePartition member, without calling partitionName() on the
argument. There is also a new assertion in place to make sure the
argument is a valid partition name.

No new tests, no behavior change.

  • html/DOMURL.cpp:

(WebCore::DOMURL::revokeObjectURL):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResource):

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::replayXHR):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadURL):

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::create):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
(WebCore::CachedResourceLoader::requestResource):

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::addImageToCache):
(WebCore::MemoryCache::removeImageFromCache):

  • loader/cache/MemoryCache.h:
  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::domainForCachePartition):
(WebCore::SecurityOrigin::cachePartition): Deleted.
Rename cachePartition() getter to domainForCachePartition() to make it
clear it returns a domain and not a partition name. As such, the caller
should then use ResourceRequest::setDomainForCachePartition(), not
setCachePartition().

  • page/SecurityOrigin.h:
  • platform/network/cf/ResourceRequest.h:

(WebCore::ResourceRequest::setCachePartition):
(WebCore::ResourceRequest::setDomainForCachePartition):

Source/WebKit/mac:

Call ResourceRequest::setDomainForPartitionName() instead of
setPartitionName() as the argument is a domain, not a valid
partition name.

  • Misc/WebCache.mm:

(+[WebCache addImageToCache:forURL:forFrame:]):
(+[WebCache removeImageFromCacheForURL:forFrame:]):

Source/WebKit2:

This patch adds a |needsValidation| argument to
ResourceRequest::setCachePartition() setter so that the caller can
indicate that the partition name is valid (because it was already
processed by partitionName() before). Use this new argument in
ArgumentCoder<ResourceRequest>::decode() to spent a bit less time
deserializing resource requests.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ResourceRequest>::decode):

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

Tighten XMLHttpRequest setRequestHeader value check
https://bugs.webkit.org/show_bug.cgi?id=128593

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-10-20
Reviewed by Darin Adler.

Source/WebCore:

Test: http/tests/xmlhttprequest/set-bad-headervalue.html

  • platform/network/HTTPParsers.cpp:

(WebCore::isValidHTTPHeaderValue): Updated header values check according RFC 7230.
(WebCore::isValidHTTPToken): Renamed variable name and updated RFC related comment.

LayoutTests:

Added a test originating from w3c-test.org to test header values checking.
Testing headers with non ASCII characters and various control characters.

  • http/tests/xmlhttprequest/set-bad-headervalue-expected.txt: Added.
  • http/tests/xmlhttprequest/set-bad-headervalue.html: Added.
6:49 PM Changeset in webkit [174919] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/win

[WinCairo] Crash in ATI display driver in accelerated compositing mode.
https://bugs.webkit.org/show_bug.cgi?id=137879

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-10-20
Reviewed by Darin Adler.

Speculative fix; don't enable antialiasing when drawing textures.

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::initialize):

6:21 PM Changeset in webkit [174918] by msaboff@apple.com
  • 2 edits in trunk/Source/WebCore

Make post checkin suggested changes to r174847
https://bugs.webkit.org/show_bug.cgi?id=137885

Reviewed by Mark Lam.

Eliminated the creation of a temporary Identifier when comparing propertyName to "open".
Made the suggested post checkin change to put the declaration of "entry" into the if.

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::getOwnPropertySlot):

6:19 PM Changeset in webkit [174917] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for SpinButtonElement
https://bugs.webkit.org/show_bug.cgi?id=137896

Reviewed by Gyuyoung Kim.

Use is<>() / downcast<>() for SpinButtonElement instead of
isSpinButtonElement() / static_cast for consistency with the rest of
the code and for safety.

No new tests, no behavior change.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::addTextFieldChildren):

  • html/shadow/SpinButtonElement.h:

(isType):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::isSpinUpButtonPartPressed):
(WebCore::RenderTheme::isHovered):
(WebCore::RenderTheme::isSpinUpButtonPartHovered):

6:16 PM Changeset in webkit [174916] by roger_fong@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Unreviewed. Fix Changelog and add more explanation for r174915

6:07 PM Changeset in webkit [174915] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Use glFinish instead of glFlush when drawing WebGL output to screen.
https://bugs.webkit.org/show_bug.cgi?id=137897.
<rdar://problem/15846550>

Reviewed by Brent Fulgham.

Passes all conformance tests.
Performance tested by http://threejs.org/examples/#webgl_performance and Unity WebGL performance tests.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::prepareTexture):

5:43 PM Changeset in webkit [174914] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Generalize the compilation of :not() to support arbitrary selector lists
https://bugs.webkit.org/show_bug.cgi?id=137843

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

This builds :not() on top of the code created for :nth-child(An+B of selectorList)
to support any selector list.

The tests for the JIT were added previously:
-not-boundaries.html
-not-backtracking.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
Any :not() of a selector is handled through a simple selector list. Cases like
:not(foo, bar) simply generate not([fragmentFoo, bragmentBar]).

Old cases like :not(foo):not(bar) simply add those cases to the selector list,
generating not([fragmentFoo, bragmentBar]).

(WebCore::SelectorCompiler::minimumRegisterRequirements):
Register pressure is now tracked through computeBacktrackingMemoryRequirements.

(WebCore::SelectorCompiler::hasAnyCombinators):
(WebCore::SelectorCompiler::computeBacktrackingMemoryRequirements):
(WebCore::SelectorCompiler::computeBacktrackingInformation):
Abstract the code creating Selector Lists from :nth-child(of). Use that for :not()
and :nth-child(of).

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesNotPseudoClass):

4:25 PM Changeset in webkit [174913] by Beth Dakin
  • 3 edits
    1 add in trunk/Source/WebKit2

Action menu items should have tags
https://bugs.webkit.org/show_bug.cgi?id=137898

Reviewed by Anders Carlsson.

  • Shared/API/c/WKActionMenuItemTypes.h: Added.
  • UIProcess/API/mac/WKView.mm:

(-[WKView _defaultMenuItemsForLink]):

  • WebKit2.xcodeproj/project.pbxproj:
4:22 PM Changeset in webkit [174912] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed add back copyright line that was accidentally removed.

  • inspector/scripts/codegen/generator_templates.py:

(GeneratorTemplates):

4:22 PM Changeset in webkit [174911] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Use std::unique_ptr<>|make_unique<> in PluginView::scheduleRequest()
https://bugs.webkit.org/show_bug.cgi?id=137874

Reviewed by Andreas Kling.

No new tests, no behavior change.

  • plugins/PluginView.cpp:

(WebCore::PluginView::requestTimerFired):
(WebCore::PluginView::scheduleRequest): Replace PassOwnPtr with std::unique_ptr.
(WebCore::PluginView::load): Create PluginRequest using std::make_unique.

  • plugins/PluginView.h:
3:59 PM Changeset in webkit [174910] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.12-branch/Source

Versioning.

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

Speculative build fix.

  • platform/spi/mac/NSViewSPI.h:
2:00 PM Changeset in webkit [174908] by Beth Dakin
  • 12 edits
    3 adds in trunk/Source

Add support for action menus
https://bugs.webkit.org/show_bug.cgi?id=137891
rdar://problem/18451638
rdar://problem/18694470

Reviewed by Anders Carlsson.

Source/WebCore:

New SPI that is needed for this.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/mac: Added.
  • platform/spi/mac/NSViewSPI.h: Added.

Source/WebKit2:

Temporary artwork needed for menu item.

  • Resources/OpenInNewWindowTemplate.pdf: Added.
  • WebKit2.xcodeproj/project.pbxproj:

Add a preference that defaults to false for action menu support.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetActionMenuSupportEnabled):
(WKPreferencesGetActionMenuSupportEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:

New SPI. WebKit clients can implement this method to customize the action menu.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Create the action menu if it is supported.

  • UIProcess/API/mac/WKView.mm:

(-[WKView initWithFrame:context:configuration:webView:]):

Methods to implement the default menu actions.
(-[WKView _openURLFromActionMenu:]):
(-[WKView _addToReadingListFromActionMenu:]):
(-[WKView _quickLookURLFromActionMenu:]):

Add action menus support for links. Populate the menu at the right time.
(-[WKView _defaultMenuItemsForLink]):
(-[WKView _defaultMenuItems]):
(-[WKView prepareForMenu:withEvent:]):
(-[WKView _actionMenuItemsForHitTestResult:defaultActionMenuItems:]):

New member variable caches the HitTestResult on mouse move.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::mouseDidMoveOverElement):

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::activeActionMenuHitTestResult):

1:46 PM Changeset in webkit [174907] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Mark a few tests as no-longer failing.

It looks like Said's work on SVG has fixed a number of things!

  • platform/win/TestExpectations: Remove 'crash' and 'failures' cases

for a few things that are now reliably passing.

1:45 PM Changeset in webkit [174906] by Joseph Pecoraro
  • 29 edits
    2 adds in trunk/Source

Web Inspector: InspectorBackendCommands should include when to activate particular domains
https://bugs.webkit.org/show_bug.cgi?id=137753

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Add an availability property to domains that only activate for
particular debuggable types. If missing, the domain is always
activated. Otherwise it must be a debuggable type string.
When a frontend is opened for that debuggable type, the domain
will be activated.

  • inspector/scripts/codegen/models.py:

(Protocol.parse_domain):
(Domain.init):
(Domains):
Parse and validate the Domain's "availability" property.

  • inspector/scripts/codegen/generate_backend_commands.py:

(BackendCommandsGenerator.generate_domain):
Emit InspectorBackend.activateDomain with debuggable type filter.

  • inspector/protocol/ApplicationCache.json:
  • inspector/protocol/CSS.json:
  • inspector/protocol/DOM.json:
  • inspector/protocol/DOMDebugger.json:
  • inspector/protocol/DOMStorage.json:
  • inspector/protocol/Database.json:
  • inspector/protocol/IndexedDB.json:
  • inspector/protocol/LayerTree.json:
  • inspector/protocol/Network.json:
  • inspector/protocol/Page.json:
  • inspector/protocol/Replay.json:
  • inspector/protocol/Timeline.json:
  • inspector/protocol/Worker.json:

These domains only activate for Web debuggables.

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:

Update existing tests that now have activate output.

  • inspector/scripts/tests/expected/fail-on-domain-availability.json-error: Added.
  • inspector/scripts/tests/fail-on-domain-availability.json: Added.

Add a test for "availability" validation.

Source/WebInspectorUI:

  • UserInterface/Base/Main.js:
  • UserInterface/Base/Test.js:

(WebInspector.loaded):
Activation now happens automatically so remove the hardcoded activations.

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackendClass.prototype.activateDomain):
Given no filter, always activate a domain. Otherwise only activate
if the debuggable type matches the provided filter.

  • UserInterface/Protocol/Legacy/6.0/InspectorBackendCommands.js:
  • UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:

Only web debuggables are supported in iOS 6 and 7. The JSON files do not
need to change, all agents will auto activate.

  • UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
  • Versions/Inspector-iOS-8.0.json:

Specify which are web debuggables in iOS 8 since JS inspection is possible.

1:30 PM Changeset in webkit [174905] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Support "inverted-colors" and "monochrome" media feature.
https://bugs.webkit.org/show_bug.cgi?id=137535
<rdar://problem/18586398>

Rolling out the Windows part of this to fix the build.

  • platform/win/PlatformScreenWin.cpp:

(WebCore::screenHasInvertedColors): Revert to a stub function.

1:17 PM Changeset in webkit [174904] by Brent Fulgham
  • 3 edits in trunk/Source/JavaScriptCore

[Win] Build fix for generated inspector files.

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-20
Rubberstamped by Brent Fulgham.

  • inspector/scripts/codegen/generate_backend_dispatcher_header.py:

(BackendDispatcherHeaderGenerator._generate_async_handler_declaration_for_command):

  • inspector/scripts/codegen/generator_templates.py:

(GeneratorTemplates):

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

Unreviewed EFL / GTK build fix after r174898.

Add missing header include.

  • accessibility/AccessibilityARIAGrid.cpp:
12:37 PM Changeset in webkit [174902] by timothy@apple.com
  • 2 edits in trunk/Source/WebKit2

Web Inspector: Delay and white area when Web Inspector crashes
https://bugs.webkit.org/show_bug.cgi?id=137230

Reviewed by Anders Carlsson.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::processDidCrash): Added.
(WebKit::WebInspectorProxy::eagerlyCreateInspectorPage): Hook up loader client.

12:37 PM Changeset in webkit [174901] by dino@apple.com
  • 12 edits
    4 adds in trunk

[Mac] Support "inverted-colors" and "monochrome" media feature.
https://bugs.webkit.org/show_bug.cgi?id=137535
<rdar://problem/18586398>

Reviewed by Brent Fulgham.

Source/WebCore:

Add a new media query from CSS Level 4, "inverted-colors", and
implement the Apple backends for the "monochrome" media query.

The platform code went into PlatformScreenMac, which already
had a screenIsMonochrome method. This now calls into Core
Graphics via SPI. I added a screenHasInvertedColors
method which tests for inversion. On iOS, there is public API
for both queries. On Windows, we try to use CoreGraphics.

At the moment neither of these media queries re-evaluate
automatically if the user changes their mode. The page will
need to be reloaded. It is possible to detect a change on iOS,
but not OS X.
https://bugs.webkit.org/show_bug.cgi?id=137868

I decided to not add an ENABLE flag for this, mostly because it
is such an isolated feature and seems very unlikely to be
controversial. I don't expect the syntax to change. (I'm sure
this comment will come back to haunt me.)

Testing this automatically is slightly tricky. We'd need
to expose SPI to invert the user's screen, but then we get
inverted images from our testing which could interfere with concurrent
operations. Instead I've included some tests that exercise
the "false" parts of the media query, with explanations as
to why they would fail if the display is inverted.

Tests: fast/media/mq-inverted-colors.html

fast/media/mq-monochrome.html

  • css/CSSValueKeywords.in: Add the "inverted" keyword for "inverted-colors".
  • css/MediaFeatureNames.h: Add the "inverted-colors" feature name.
  • css/MediaQueryEvaluator.cpp:

(WebCore::inverted_colorsMediaFeatureEval): Implementation of the new media query.

  • css/MediaQueryExp.cpp:

(WebCore::featureWithCSSValueID): The new query takes an id...
(WebCore::featureWithoutValue): ... or no value.

  • platform/PlatformScreen.h: Add "screenHasInvertedColors".
  • platform/efl/PlatformScreenEfl.cpp:

(WebCore::screenHasInvertedColors): Stub implementation.

  • platform/gtk/PlatformScreenGtk.cpp:

(WebCore::screenHasInvertedColors): Ditto.

  • platform/ios/PlatformScreenIOS.mm:

(WebCore::screenHasInvertedColors): Call into the platform accessibility API.
(WebCore::screenIsMonochrome): Ditto.

  • platform/mac/PlatformScreenMac.mm:

(WebCore::screenIsMonochrome): Call into the CoreGraphics SPI.
(WebCore::screenHasInvertedColors): Call into the CoreGraphics SPI.

  • platform/win/PlatformScreenWin.cpp:

(WebCore::screenHasInvertedColors): Call into CoreGraphics if we're using it.

LayoutTests:

Add tests for the new "inverted-colors" media feature, and
another test for the "monochrome" feature. Note that these
tests don't actually exercise the positive values of the
query, since that requires the screen to be changed and would
interfere with concurrent tests.

  • fast/media/mq-inverted-colors.html: Added.
  • fast/media/mq-monochrome.html: Added.
  • fast/media/mq-inverted-colors-expected.html: Added.
  • fast/media/mq-monochrome-expected.html: Added.
12:16 PM Changeset in webkit [174900] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

[Win] Unreviewed build fix.

We need to (1) pass the 'windows' argument to our script for checking feature definitions,
and (2) we must use Cwd::realpath on our path input arguments to avoid Cygwin and Windows
getting confused about path separators versus escape characters.

12:13 PM Changeset in webkit [174899] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

[Follow up] Web Process crash when starting the web inspector after r174025.
<https://webkit.org/b/137340>

Reviewed by Geoffrey Garen.

Applied Geoff's feedback to clean up some code for better clarity after
r174856.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::insertCheck):

  • dfg/DFGInsertionSet.h:

(JSC::DFG::InsertionSet::insertOutOfOrder):

12:08 PM Changeset in webkit [174898] by Chris Dumez
  • 54 edits in trunk/Source

Use is<>() / downcast<>() for Accessibility objects
https://bugs.webkit.org/show_bug.cgi?id=137286

Reviewed by Darin Adler.

Source/WebCore:

Use is<>() / downcast<>() for Accessibility objects and clean up the
surrounding code.

No new tests, no behavior change.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::focusedImageMapUIElement):
(WebCore::AXObjectCache::notificationPostTimerFired):

  • accessibility/AccessibilityARIAGrid.cpp:

(WebCore::AccessibilityARIAGrid::addTableCellChild):
(WebCore::AccessibilityARIAGrid::addChildren):

  • accessibility/AccessibilityARIAGridCell.cpp:

(WebCore::AccessibilityARIAGridCell::parentTable):
(WebCore::AccessibilityARIAGridCell::rowIndexRange):

  • accessibility/AccessibilityARIAGridRow.cpp:

(WebCore::AccessibilityARIAGridRow::disclosedRows):
(WebCore::AccessibilityARIAGridRow::disclosedByRow):
(WebCore::AccessibilityARIAGridRow::parentTable):

  • accessibility/AccessibilityARIAGridRow.h:
  • accessibility/AccessibilityImageMapLink.cpp:

(WebCore::AccessibilityImageMapLink::imageMapLinkRenderer):

  • accessibility/AccessibilityImageMapLink.h:
  • accessibility/AccessibilityList.h:
  • accessibility/AccessibilityListBox.cpp:

(WebCore::AccessibilityListBox::setSelectedChildren):
(WebCore::AccessibilityListBox::selectedChildren):
(WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject):

  • accessibility/AccessibilityListBox.h:
  • accessibility/AccessibilityListBoxOption.h:
  • accessibility/AccessibilityMenuList.cpp:

(WebCore::AccessibilityMenuList::addChildren):
(WebCore::AccessibilityMenuList::didUpdateActiveOption):

  • accessibility/AccessibilityMenuList.h:
  • accessibility/AccessibilityMenuListOption.h:
  • accessibility/AccessibilityMenuListPopup.cpp:

(WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):

  • accessibility/AccessibilityMenuListPopup.h:
  • accessibility/AccessibilityMockObject.h:
  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::textUnderElement):

  • accessibility/AccessibilityNodeObject.h:
  • accessibility/AccessibilityObject.cpp:

(WebCore::appendChildrenToArray):
(WebCore::AccessibilityObject::scrollViewAncestor):

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

(WebCore::AccessibilityRenderObject::getDocumentLinks):
(WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
(WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
(WebCore::AccessibilityRenderObject::addImageMapChildren):
(WebCore::AccessibilityRenderObject::addTextFieldChildren):
(WebCore::AccessibilityRenderObject::remoteSVGRootElement):
(WebCore::AccessibilityRenderObject::ariaSelectedRows):

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/AccessibilitySVGRoot.h:
  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::addChildScrollbar):

  • accessibility/AccessibilityScrollView.h:
  • accessibility/AccessibilityScrollbar.h:
  • accessibility/AccessibilitySlider.cpp:

(WebCore::AccessibilitySlider::addChildren):

  • accessibility/AccessibilitySlider.h:
  • accessibility/AccessibilitySpinButton.cpp:

(WebCore::AccessibilitySpinButton::addChildren):
(WebCore::AccessibilitySpinButtonPart::press):

  • accessibility/AccessibilitySpinButton.h:
  • accessibility/AccessibilityTable.cpp:

(WebCore::AccessibilityTable::addChildren):
(WebCore::AccessibilityTable::addChildrenFromSection):
(WebCore::AccessibilityTable::headerContainer):
(WebCore::AccessibilityTable::columnHeaders):
(WebCore::AccessibilityTable::rowHeaders):
(WebCore::AccessibilityTable::cellForColumnAndRow):

  • accessibility/AccessibilityTable.h:

Make isAccessibilityTable() public and mark as final so that callers
can benefit from tighter typing, as isAccessibilityTable() is
stricter than isTable(). isTable() indicates that the object is an
AccessibilityTable and is equivalent to is<AccessibilityTable>(object).
isAccessibilityTable() is equivalent to "isTable() && renderer()".

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::parentTable):

  • accessibility/AccessibilityTableCell.h:
  • accessibility/AccessibilityTableColumn.cpp:

(WebCore::AccessibilityTableColumn::headerObject):
(WebCore::AccessibilityTableColumn::addChildren):

  • accessibility/AccessibilityTableColumn.h:
  • accessibility/AccessibilityTableHeaderContainer.cpp:

(WebCore::AccessibilityTableHeaderContainer::addChildren):

  • accessibility/AccessibilityTableRow.cpp:

(WebCore::AccessibilityTableRow::parentTable):
(WebCore::AccessibilityTableRow::headerObject):

  • accessibility/AccessibilityTableRow.h:
  • accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:

(webkitAccessibleSelectionClearSelection):
(webkitAccessibleSelectionSelectAllSelection):

  • accessibility/atk/WebKitAccessibleInterfaceTable.cpp:

(core):
(cell):
(cellAtIndex):
(webkitAccessibleTableGetIndexAt):
(webkitAccessibleTableGetNColumns):
(webkitAccessibleTableGetNRows):
(webkitAccessibleTableGetColumnHeader):
(webkitAccessibleTableGetRowHeader):

  • accessibility/atk/WebKitAccessibleInterfaceTableCell.cpp:

(webkitAccessibleTableCellGetColumnHeaderCells):
(webkitAccessibleTableCellGetRowHeaderCells):
(webkitAccessibleTableCellGetColumnSpan):
(webkitAccessibleTableCellGetRowSpan):
(webkitAccessibleTableCellGetPosition):

  • accessibility/ios/AccessibilityObjectIOS.mm:

(WebCore::AccessibilityObject::accessibilityPasswordFieldLength):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
(-[WebAccessibilityObjectWrapper convertRectToScreenSpace:]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(AXAttributeStringSetElement):
(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper convertPointToScreenSpace:]):
(-[WebAccessibilityObjectWrapper subrole]):
(-[WebAccessibilityObjectWrapper roleDescription]):
(-[WebAccessibilityObjectWrapper scrollViewParent]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
(-[WebAccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • rendering/RenderMenuList.cpp:

(RenderMenuList::didUpdateActiveOption):

Source/WebKit/win:

Use is<>() / downcast<>() for Accessibility objects.

  • AccessibleBase.cpp:

(AccessibleBase::accSelect):

  • AccessibleImage.cpp:

(AccessibleImage::name):

Source/WTF:

Remove the legacy TYPE_CASTS_BASE() macro now that it is no longer
used.

  • wtf/Assertions.h:
11:52 AM Changeset in webkit [174897] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Factor out JITCode::typeName() for debugging use.
<https://webkit.org/b/137888>

Reviewed by Geoffrey Garen.

JITCode's printInternal() currently decodes the JITType into a string and
prints it. This change factors out the part that decodes the JITType into
JITCode::typeName() so that we can call it from lldb while debugging to
quickly decode a JITType value.

  • jit/JITCode.cpp:

(JSC::JITCode::typeName):
(WTF::printInternal):

  • jit/JITCode.h:
11:41 AM Changeset in webkit [174896] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed Windows Build Fix #2 after r174892.

Define FEATURE_DEFINES for JavaScriptCore's DerivedSources.make.
This uses the same technique as WebCore.

11:29 AM Changeset in webkit [174895] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix placement of a few items in vcxproj ItemGroups.
<https://webkit.org/b/137886>

Reviewed by Geoffrey Garen.

https://webkit.org/b/137873 is likely a cut-and-paste error that manifested
because we had ClCompile and ClInclude entries mixed up in the wrong ItemGroups.
We should fix these so that ClCompile entries are in the ClCompile ItemGroup,
and ClInclude entries in the ClInclude ItemGroup. This will help reduce the
chance of future cut-and-paste errors of this nature.

11:06 AM Changeset in webkit [174894] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed Windows Build Fix after r174892.

Update file name to the new generated file name.

10:59 AM Changeset in webkit [174893] by Joseph Pecoraro
  • 5 edits
    1 move in trunk/Source/JavaScriptCore

Web Inspector: Rename generated Inspector.json to CombinedDomains.json to prevent name collisions
https://bugs.webkit.org/show_bug.cgi?id=137825

Reviewed by Timothy Hatcher.

  • CMakeLists.txt:
  • DerivedSources.make:
  • JavaScriptCore.vcxproj/copy-files.cmd:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • inspector/protocol/Inspector.json: Renamed from Source/JavaScriptCore/inspector/protocol/InspectorDomain.json.
10:59 AM Changeset in webkit [174892] by Joseph Pecoraro
  • 103 edits
    13 copies
    4 moves
    3 adds
    6 deletes in trunk

Web Inspector: Generate all Inspector domains together in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=137748

Reviewed by Brian Burg.

  • Source/PlatformEfl.cmake:

Source/JavaScriptCore:

  • inspector/protocol/ApplicationCache.json: Renamed from Source/WebCore/inspector/protocol/ApplicationCache.json.
  • inspector/protocol/CSS.json: Renamed from Source/WebCore/inspector/protocol/CSS.json.
  • inspector/protocol/DOM.json: Renamed from Source/WebCore/inspector/protocol/DOM.json.
  • inspector/protocol/DOMDebugger.json: Renamed from Source/WebCore/inspector/protocol/DOMDebugger.json.
  • inspector/protocol/DOMStorage.json: Renamed from Source/WebCore/inspector/protocol/DOMStorage.json.
  • inspector/protocol/Database.json: Renamed from Source/WebCore/inspector/protocol/Database.json.
  • inspector/protocol/IndexedDB.json: Renamed from Source/WebCore/inspector/protocol/IndexedDB.json.
  • inspector/protocol/LayerTree.json: Renamed from Source/WebCore/inspector/protocol/LayerTree.json.
  • inspector/protocol/Network.json: Renamed from Source/WebCore/inspector/protocol/Network.json.
  • inspector/protocol/Page.json: Renamed from Source/WebCore/inspector/protocol/Page.json.
  • inspector/protocol/Replay.json: Renamed from Source/WebCore/inspector/protocol/Replay.json.
  • inspector/protocol/Timeline.json: Renamed from Source/WebCore/inspector/protocol/Timeline.json.
  • inspector/protocol/Worker.json: Renamed from Source/WebCore/inspector/protocol/Worker.json.

Move all protocol files into this directory.

  • inspector/InspectorProtocolTypesBase.h: Renamed from Source/JavaScriptCore/inspector/InspectorProtocolTypes.h.

Renamed the base types file to not clash with the generated types file.

Update build phases for new JSON files and new filenames.

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:

Updated names of things now that prefixes are no longer needed.

  • inspector/ConsoleMessage.h:
  • inspector/ContentSearchUtilities.cpp:
  • inspector/ContentSearchUtilities.h:
  • inspector/InjectedScript.h:
  • inspector/InjectedScriptBase.h:
  • inspector/ScriptCallFrame.h:
  • inspector/ScriptCallStack.h:
  • inspector/agents/InspectorAgent.h:
  • inspector/agents/InspectorConsoleAgent.h:
  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::breakpointActionTypeForString):

  • inspector/agents/InspectorDebuggerAgent.h:
  • inspector/agents/InspectorRuntimeAgent.h:
  • runtime/TypeProfiler.cpp:
  • runtime/TypeSet.cpp:

Update includes and update a few function names that are generated.

  • inspector/scripts/codegen/generate_protocol_types_header.py:

(ProtocolTypesHeaderGenerator.output_filename):
(ProtocolTypesHeaderGenerator.generate_output):
Include an export macro for type string constants defined in the implementation file.

  • inspector/scripts/codegen/generate_backend_commands.py:

(BackendCommandsGenerator.output_filename):

  • inspector/scripts/codegen/generate_backend_dispatcher_header.py:

(BackendDispatcherHeaderGenerator.output_filename):
(BackendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_backend_dispatcher_implementation.py:

(BackendDispatcherImplementationGenerator.output_filename):
(BackendDispatcherImplementationGenerator.generate_output):
(BackendDispatcherImplementationGenerator._generate_async_dispatcher_class_for_domain):
(BackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):

  • inspector/scripts/codegen/generate_frontend_dispatcher_header.py:

(FrontendDispatcherHeaderGenerator.output_filename):
(FrontendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_frontend_dispatcher_implementation.py:

(FrontendDispatcherImplementationGenerator.output_filename):
(FrontendDispatcherImplementationGenerator.generate_output):
(FrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):
(_generate_class_for_object_declaration):
(_generate_builder_setter_for_member):
(_generate_unchecked_setter_for_member):

  • inspector/scripts/codegen/generate_protocol_types_implementation.py:

(ProtocolTypesImplementationGenerator.output_filename):
(ProtocolTypesImplementationGenerator.generate_output):
(ProtocolTypesImplementationGenerator._generate_enum_mapping):

  • inspector/scripts/codegen/models.py:

(Framework.fromString):
(Frameworks):

  • inspector/scripts/generate-inspector-protocol-bindings.py:

Simplify generator now that prefixes are no longer needed. This updates
filenames, includes, and the list of supported directories.

Source/WebCore:

After moving the json files into JavaScriptCore update the includes,
and names of functions that were previously prefixed.

  • CMakeLists.txt:
  • DerivedSources.make:
  • ForwardingHeaders/inspector/InspectorBackendDispatchers.h: Added.
  • ForwardingHeaders/inspector/InspectorFrontendDispatchers.h: Added.
  • ForwardingHeaders/inspector/InspectorJSBackendDispatchers.h: Removed.
  • ForwardingHeaders/inspector/InspectorJSFrontendDispatchers.h: Removed.
  • ForwardingHeaders/inspector/InspectorJSProtocolTypes.h: Removed.
  • ForwardingHeaders/inspector/InspectorProtocolTypesBase.h: Added.
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.vcxproj/copyForwardingHeaders.cmd:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/CommandLineAPIHost.cpp:
  • inspector/InspectorApplicationCacheAgent.cpp:
  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.cpp:
  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorController.cpp:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:
  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.cpp:
  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.cpp:
  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDatabaseResource.cpp:
  • inspector/InspectorDatabaseResource.h:
  • inspector/InspectorFrontendClientLocal.cpp:
  • inspector/InspectorIndexedDBAgent.cpp:
  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorLayerTreeAgent.cpp:
  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorPageAgent.cpp:
  • inspector/InspectorPageAgent.h:
  • inspector/InspectorReplayAgent.cpp:
  • inspector/InspectorReplayAgent.h:
  • inspector/InspectorResourceAgent.cpp:
  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorStyleSheet.cpp:
  • inspector/InspectorStyleSheet.h:
  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::addRecordToTimeline):

  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.cpp:
  • inspector/InspectorWorkerAgent.h:
  • inspector/PageRuntimeAgent.h:
  • inspector/TimelineRecordFactory.cpp:
  • inspector/WorkerInspectorController.cpp:

Source/WebInspectorUI:

Change the frontend to always load all agents, but only activate a subset
of the agents depending on the type of the backend.

  • UserInterface/Base/Main.js:

(WebInspector.loaded):

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackendClass.prototype.activateDomains):
(InspectorBackendClass.prototype.activateAllDomains):
(InspectorBackendClass.prototype._agentForDomain):
(InspectorBackendClass.prototype._dispatchEvent):
(InspectorBackend.Agent):
(InspectorBackend.Agent.prototype.get active):
(InspectorBackend.Agent.prototype.activate):

  • UserInterface/Base/Test.js:

Only expose "window.FooAgent" or allow dispatches in the "Foo" domain
when that particular agent is activated. Currently we hardcode the list
of agents to activate for a debuggable type. This should be generated.

  • UserInterface/Protocol/LoadInspectorBackendCommands.js:

Now there should always be a single "InspectorBackendCommands.js" file to load.
We may want to change the RWI path to return a single file instead of an array.

  • Scripts/update-LegacyInspectorBackendCommands.rb:
  • UserInterface/Protocol/Legacy/6.0/InspectorBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js.
  • UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js.
  • UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Protocol/Legacy/8.0/InspectorWebBackendCommands.js.
  • UserInterface/Protocol/Legacy/8.0/InspectorJSBackendCommands.js: Removed.
  • Versions/Inspector-iOS-8.0.json: Renamed from Source/WebInspectorUI/Versions/InspectorWeb-iOS-8.0.json.
  • Versions/InspectorJS-iOS-8.0.json: Removed.

Update Legacy versions to output a single InspectorBackendCommands.js file.
Do a straightforward merge of the iOS 8 JS/Web inputs to a single json file.

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:
  • Configurations/WebInspectorUIFramework.xcconfig:
  • Scripts/copy-user-interface-resources-dryrun.rb:
  • Scripts/copy-user-interface-resources.pl:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
  • WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
  • WebInspectorUI.vcxproj/build-webinspectorui.pl:

We no longer needed WebCore's Private Headers, so simplify build files
and update file names where appropriate.

Source/WebKit2:

  • PlatformGTK.cmake:
10:48 AM Changeset in webkit [174891] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the GTK build.

  • dom/RenderedDocumentMarker.h:
10:30 AM Changeset in webkit [174890] by Csaba Osztrogonác
  • 3 edits in trunk/Source/JavaScriptCore

Remove obsolete comments after r99798
https://bugs.webkit.org/show_bug.cgi?id=137871

Reviewed by Darin Adler.

r99798 removed the comment in MacroAssemblerARMv7::supportsFloatingPointTruncate(),
so we should remove the stale references to this removed comment.

  • assembler/MacroAssemblerX86.h:
  • assembler/MacroAssemblerX86_64.h:
10:17 AM Changeset in webkit [174889] by Antti Koivisto
  • 6 edits in trunk/Source

Avoid unnecessary NSURLResponse construction for QuickLook on iOS
https://bugs.webkit.org/show_bug.cgi?id=137876

Reviewed by Andy Estes.

Source/WebCore:

QuickLook specific code path creates NSURLResponse in the web process for every response.
It is rarely needed so this is unnecessary work.

  • WebCore.exp.in:
  • platform/network/ios/QuickLook.h:
  • platform/network/ios/QuickLook.mm:

(WebCore::isMainResourceLoader):
(WebCore::QuickLookHandle::shouldCreateForMIMEType):

Separate function for testing if QuickLookHandle is needed.

(WebCore::QuickLookHandle::create):

Switch the interface to take ResourceResponse.

Source/WebKit2:

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::didReceiveResponse):

Switch to the modified QuickLookHandle interface that does not need NSURLResponse.

10:03 AM Changeset in webkit [174888] by aestes@apple.com
  • 9 edits in trunk/Source

Fix the iOS build.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:
  • dom/RenderedDocumentMarker.h:
  • page/ios/FrameIOS.mm:

(WebCore::Frame::interpretationsForCurrentRoot):

Source/WebKit/ios:

  • WebCoreSupport/WebFrameIOS.mm:

(-[WebFrame previousUnperturbedDictationResultBoundaryFromPosition:]):
(-[WebFrame nextUnperturbedDictationResultBoundaryFromPosition:]):

  • WebCoreSupport/WebVisiblePosition.mm:

(-[WebVisiblePosition enclosingRangeWithDictationPhraseAlternatives:]):
(-[WebVisiblePosition enclosingRangeWithCorrectionIndicator]):

Source/WebKit/mac:

  • WebView/WebFrame.mm:

(-[WebFrame getDictationResultRanges:andMetadatas:]):
(-[WebFrame dictationResultMetadataForRange:]):

10:03 AM Changeset in webkit [174887] by Csaba Osztrogonác
  • 3 edits in trunk/Source/JavaScriptCore

MacroAssemblerX86Common.cpp should be built on Windows too
https://bugs.webkit.org/show_bug.cgi?id=137873

Reviewed by Brent Fulgham.

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

Eight transitions tests are very flaky, frequently failing all at once
https://bugs.webkit.org/show_bug.cgi?id=137883

Marking them as flaky. Enough is enough.

9:26 AM Changeset in webkit [174885] by aestes@apple.com
  • 9 edits in trunk/Source/WebKit2

[iOS] Capture WKActionSheetAssistant's interaction with WKContentView in a @protocol
https://bugs.webkit.org/show_bug.cgi?id=137792

Reviewed by Tim Horton.

WKPDFView would like to use WKActionSheetAssistant to show an action sheet when long-pressing a link, but it
can't so long as WKActionSheetAssistant is tightly coupled to WKContentView. Resolve this by factoring
WKActionSheetAssistant's interaction with WKContentView into a new protocol called
WKActionSheetAssistantDelegate and having WKContentView conform to this protocol.

  • UIProcess/API/Cocoa/_WKElementAction.mm:

(+[_WKElementAction elementActionWithTitle:actionHandler:]): Changed instances of WKContentView * to id <WKActionSheetAssistantDelegate>.
(+[_WKElementAction elementActionWithType:customTitle:]): Ditto.
(-[_WKElementAction _runActionWithElementInfo:delegate:]): Ditto.
(copyElement): Deleted.
(saveImage): Deleted.
(-[_WKElementAction _runActionWithElementInfo:view:]): Deleted.

  • UIProcess/API/Cocoa/_WKElementActionInternal.h:
  • UIProcess/ios/WKActionSheet.h:
  • UIProcess/ios/WKActionSheet.mm:

(-[WKActionSheet init]): Renamed from initWithView: since WKActionSheet no longer needs to know about a view.
(-[WKActionSheet _didRotateAndLayout]): Called -[WKActionSheetDelegate updatePositionInformation].
(-[WKActionSheet initWithView:]): Deleted.

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

(-[WKActionSheetAssistant delegate]): Added a getter for the delegate property.
(-[WKActionSheetAssistant setDelegate:]): Added a setter for the delegate property.
(-[WKActionSheetAssistant initWithView:]): Changed argument type from WKContentView * to UIView *.
(-[WKActionSheetAssistant initialPresentationRectInHostViewForSheet]): Returned CGRectZero if there is no delegate.
Otherwise, retrieved positionInformation from the delegate.
(-[WKActionSheetAssistant presentationRectInHostViewForSheet]): Ditto.
(-[WKActionSheetAssistant updatePositionInformation]): Called -[WKActionSheetAssistantDelegate updatePositionInformation].
(-[WKActionSheetAssistant _createSheetWithElementActions:showLinkTitle:]): Returned early if there is no delegate.
Otherwise, retrieved positionInformation from the delegate.
(-[WKActionSheetAssistant showImageSheet]): Ditto.
(-[WKActionSheetAssistant showLinkSheet]): Ditto.
(-[WKActionSheetAssistant showDataDetectorsSheet]): Ditto.
(-[WKActionSheetAssistant cleanupSheet]):

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

(-[WKContentView setupInteraction]): Installed self as WKActionSheetAssistant's delegate.
(-[WKContentView updatePositionInformation]): Renamed from _updatePositionInformation.
(-[WKContentView performAction:]): Renamed from _performAction:.
(-[WKContentView openElementAtLocation:]): Called _attemptClickAtLocation:.
(-[WKContentView actionsForElement:defaultActions:]): Called API::UIClient::actionsForElement().
(-[WKContentView startInteractionWithElement:]): Called WebPageProxy::startInteractionWithElementAtPosition().
(-[WKContentView stopInteraction]): Called WebPageProxy::stopInteraction().
(-[WKContentView _updatePositionInformation]): Deleted.
(-[WKContentView _performAction:]): Deleted.

8:46 AM Changeset in webkit [174884] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION(r174823): Two new failing HLS tests
https://bugs.webkit.org/show_bug.cgi?id=137882

Unreviewed gardening; add two expected failures.

  • platform/mac/TestExpectations:
5:09 AM Changeset in webkit [174883] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[cmake] Remove duplicated source files
https://bugs.webkit.org/show_bug.cgi?id=137875

Reviewed by Gyuyoung Kim.

  • CMakeLists.txt:
3:39 AM Changeset in webkit [174882] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebKit2

[GTK] Improve zooming gesture positioning
https://bugs.webkit.org/show_bug.cgi?id=137822

Patch by Carlos Garnacho <carlosg@gnome.org> on 2014-10-20
Reviewed by Carlos Garcia Campos.

  • UIProcess/WebPageProxy.h:
  • UIProcess/gtk/GestureController.cpp:

(WebKit::GestureController::ZoomGesture::center):
(WebKit::GestureController::ZoomGesture::begin):
(WebKit::GestureController::ZoomGesture::handleZoom):
(WebKit::GestureController::ZoomGesture::scaleChanged): Calculate
the proper view coordinates for the current offset/scale, based
on the initial gesture center point in document coordinates, and
the current center/scale.

  • UIProcess/gtk/GestureController.h:
  • UIProcess/gtk/WebPageProxyGtk.cpp:

(WebKit::WebPageProxy::getCenterForZoomGesture): Added. Synchronous
call to retrieve the zoom gesture anchor point, in document coordinates.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in: Added stub.
  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::WebPage::getCenterForZoomGesture): Added. Getter for the
translated coordinates used as the anchor point of the zoom gesture.

2:54 AM Changeset in webkit [174881] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

[GTK] Remove the factory method from DragAndDropHandler
https://bugs.webkit.org/show_bug.cgi?id=137872

Reviewed by Sergio Villar Senin.

Make the constructor public and use std::make_unique instead.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseDragAndDropHandler):

  • UIProcess/gtk/DragAndDropHandler.cpp:

(WebKit::DragAndDropHandler::create): Deleted.

  • UIProcess/gtk/DragAndDropHandler.h:
1:44 AM Changeset in webkit [174880] by Carlos Garcia Campos
  • 8 edits
    2 adds in trunk

[GTK] Add initial gestures support
https://bugs.webkit.org/show_bug.cgi?id=137812

Reviewed by Sergio Villar Senin.

.:

Check if the GTK+ version supports gestures or not.

  • Source/cmake/FindGTK3.cmake:
  • Source/cmake/OptionsGTK.cmake:

Source/WebKit2:

Now that GTK+ has support for gestures, we can use it to handle
touch events and allow to scroll, zoom and tap with the fingers.

  • PlatformGTK.cmake: Add new files to compilation.
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::doneWithTouchEvent): When the touch event
hasn't been handled by the web process pass it to the
GestureController and only fallback to pointer emulation when the
GestureController doesn't handle the event.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseTouchEvent): If the GestureController is
currently processing gestures is because the START touch event was
not handled by the web process, so pass any successive touch
events to the GestureController directly.
(webkitWebViewBaseGestureController): Create the GestureController
on demand and return a reference.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/gtk/GestureController.cpp: Added.

(WebKit::GestureController::create): Create a GestureController.
(WebKit::GestureController::GestureController): Initialize the
Gesture memebers.
(WebKit::GestureController::handleEvent): Pass the event to the gestures.
(WebKit::GestureController::isProcessingGestures): Whether
Gestures are active.
(WebKit::GestureController::Gesture::Gesture): Base class for gestures.
(WebKit::GestureController::Gesture::isActive): Whether the
gesture is active.
(WebKit::GestureController::Gesture::handleEvent): Pass the event
to the GtkGesture to process it.
(WebKit::GestureController::DragGesture::handleDrag): Send a wheel
event corresponding to the drag gesture to the web process.
(WebKit::GestureController::DragGesture::handleTap): Send move,
press and release events corresponding to a tap gesture to the web process.
(WebKit::GestureController::DragGesture::begin): Start a drag
gesture and schedule a timer to discard tap gesture in case of
long press.
(WebKit::GestureController::DragGesture::update): If the actual
drag hasn't started yet, check the drag threshold to decide
whether to start the drag or not. Otherwise call handleDrag() to
send the appropriate events to the web process.
(WebKit::GestureController::DragGesture::end): If the drag gesture
finishes and the drag didn't happen (it wasn't a long press and
drag threshold was not reached), call handleTap() to emulate a
click event.
(WebKit::GestureController::DragGesture::DragGesture): Initialize
the GtkGestureDrag.
(WebKit::GestureController::ZoomGesture::begin): Save the current
page scale factor and the center point of the gesture.
(WebKit::GestureController::ZoomGesture::scaleChanged): Schedule a
page scale change in an idle for the given scale value.
(WebKit::GestureController::ZoomGesture::ZoomGesture): Initialize
the GtkGestureZoom.

  • UIProcess/gtk/GestureController.h: Added.
1:23 AM Changeset in webkit [174879] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK][Minibrowser] Escape key does not hide the search box
https://bugs.webkit.org/show_bug.cgi?id=137734

Patch by Tanay C <tanay.c@samsung.com> on 2014-10-20
Reviewed by Philippe Normand.

  • MiniBrowser/gtk/BrowserWindow.c: Added the check to handle search box hide

(stopPageLoad): Modified.

12:31 AM Changeset in webkit [174878] by benjamin@webkit.org
  • 3 edits
    9 adds in trunk

Update the <link>'s link status
https://bugs.webkit.org/show_bug.cgi?id=137861

Reviewed by Chris Dumez.

Source/WebCore:

In the latest HTML spec, <link> has the link status
if it has a 'href' attribute, exactly like <a> and <area>:

https://html.spec.whatwg.org/multipage/scripting.html#selector-link

This patch updates WebKit accordingly.

Tests: fast/css/link-basics.html

fast/selectors/link-basics-xhtml.xhtml
fast/selectors/link-basics.html
fast/selectors/webkit-any-link-basics.html

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::parseAttribute):

LayoutTests:

  • fast/css/link-basics-expected.html: Added.
  • fast/css/link-basics.html: Added.
  • fast/selectors/link-basics-expected.txt: Added.
  • fast/selectors/link-basics-xhtml-expected.txt: Added.
  • fast/selectors/link-basics-xhtml.xhtml: Added.
  • fast/selectors/link-basics.html: Added.
  • fast/selectors/resources/html-link-type-tests.js: Added.

(testHTMLElement):
(testHTMLTagsForLink):

  • fast/selectors/webkit-any-link-basics-expected.txt: Added.
  • fast/selectors/webkit-any-link-basics.html: Added.
12:09 AM Changeset in webkit [174877] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Optimize cookiesForDOM() by filtering and serializing cookies in a single pass
https://bugs.webkit.org/show_bug.cgi?id=137869

Reviewed by Darin Adler.

Optimize cookiesForDOM() by filtering and serializing in 1 pass instead of 2.

Previously, when accessing document.cookie, we ended up doing the following:

  1. Call wkHTTPCookiesForURL() to get an NSArray of NSHTTPCookies.
  2. Call filterCookies() to filter out cookies that are httpOnly or with an empty name, thus allocating a new NSMutableArray.
  3. Call NSHTTPCookie's requestHeaderFieldsWithCookies() to serialize the cookies
  4. Construct a WTF::String from the NSString*

There were several inefficiencies here:

  1. We needed to pre-filter the cookies and allocate a new NSMutableArray before calling requestHeaderFieldsWithCookies()
  2. requestHeaderFieldsWithCookies() does more things that we actually need. It constructs a Dictionary of header fields, of which we query the "Cookie" field, even though we merely want a ';'-separated string representation of the cookies in "key=value" form.

With this patch, we now take care of the string serialization ourselves,
using a StringBuilder as it is trivial to do. This also allows us to filter
out the httpOnly/invalid cookies as we do the serialization instead of
having a first pass to do so.

When scrolling the http://www.apple.com/iphone/ entire page down, then up,
se were spending ~13.1% of the NetworkProcess time in cookiesForDOM()
(~96ms) on my machine. With the patch, we spend ~23% less time in
cookiesForDOM() (~74ms).

No new tests, no behavior change.

  • platform/network/mac/CookieJarMac.mm:

(WebCore::cookiesForSession):
(WebCore::cookiesForDOM):
(WebCore::cookieRequestHeaderFieldValue):

Oct 19, 2014:

10:17 PM Changeset in webkit [174876] by Chris Dumez
  • 15 edits in trunk/Source

Kill toRenderedDocumentMarker() by using tighter typing
https://bugs.webkit.org/show_bug.cgi?id=137858

Reviewed by Darin Adler.

Source/WebCore:

Kill toRenderedDocumentMarker() by using tighter typing. This method
was doing no type validation, just a static_cast<>().

No new tests, no behavior change.

  • dom/DocumentMarkerController.cpp:

(WebCore::DocumentMarkerController::addTextMatchMarker):
(WebCore::DocumentMarkerController::markersFor):
(WebCore::DocumentMarkerController::markersInRange):
(DocumentMarkerController::hasMarkers):

  • dom/DocumentMarkerController.h:
  • dom/RenderedDocumentMarker.h:

(WebCore::toRenderedDocumentMarker): Deleted.

  • editing/AlternativeTextController.cpp:

(WebCore::markersHaveIdenticalDescription):
(WebCore::AlternativeTextController::respondToChangedSelection):
(WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection):
(WebCore::AlternativeTextController::processMarkersOnTextToBeReplacedByResult):
(WebCore::AlternativeTextController::applyDictationAlternative):

  • editing/CompositeEditCommand.cpp:

(WebCore::copyMarkers):
(WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):

  • editing/Editor.cpp:

(WebCore::Editor::updateMarkersForWordsAffectedByEditing):
(WebCore::Editor::selectionStartHasMarkerFor):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::computeRectForReplacementMarker):
(WebCore::InlineTextBox::paintDocumentMarkers):

  • rendering/InlineTextBox.h:
  • rendering/svg/SVGInlineFlowBox.cpp:

(WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):

  • testing/Internals.cpp:

(WebCore::Internals::markerAt):
(WebCore::Internals::markerRangeForNode):
(WebCore::Internals::markerDescriptionForNode):

  • testing/Internals.h:

Source/WebKit:

Update symbol export for Windows due to argument type change.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
8:42 PM Changeset in webkit [174875] by Chris Dumez
  • 80 edits in trunk/Source

Use is<>() / downcast<>() for all remaining RenderObject subclasses
https://bugs.webkit.org/show_bug.cgi?id=137845

Reviewed by Darin Adler.

Source/WebCore:

Use is<>() / downcast<>() for all remaining RenderObject subclasses and
clean up the surrounding code.

No new tests, no behavior change.

  • accessibility/AccessibilityProgressIndicator.cpp:

(WebCore::AccessibilityProgressIndicator::progressElement):
(WebCore::AccessibilityProgressIndicator::meterElement):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::layoutCount):
(WebCore::AccessibilityRenderObject::widgetForAttachmentView):
(WebCore::AccessibilityRenderObject::visiblePositionForPoint):

  • dom/Document.cpp:

(WebCore::widgetForElement):

  • dom/Position.cpp:

(WebCore::Position::getInlineBoxAndOffset):

  • dom/WebKitNamedFlow.cpp:

(WebCore::WebKitNamedFlow::overset):
(WebCore::WebKitNamedFlow::firstEmptyRegionIndex):
(WebCore::WebKitNamedFlow::getRegionsByContent):
(WebCore::WebKitNamedFlow::getRegions):

  • editing/FrameSelection.cpp:

(WebCore::isFrameElement):

  • html/HTMLEmbedElement.cpp:

(WebCore::findWidgetRenderer):

  • html/HTMLFrameOwnerElement.cpp:

(WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
(WebCore::HTMLFrameOwnerElement::renderWidget):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMeterElement.cpp:

(WebCore::HTMLMeterElement::renderMeter):

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::supportsFocus):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::renderEmbeddedObject):
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn):

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::renderProgress):

  • html/PluginDocument.cpp:

(WebCore::PluginDocument::pluginWidget):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTimelineElement::defaultEventHandler):
(WebCore::MediaControlTextTrackContainerElement::updateSizes):
(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):

  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForElementInfo):

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadSubframe):

  • page/Frame.cpp:

(WebCore::Frame::ownerRenderer):

  • page/FrameView.cpp:

(WebCore::FrameView::layout):

  • page/gtk/EventHandlerGtk.cpp:

(WebCore::EventHandler::passWidgetMouseDownEventToWidget):

  • page/ios/EventHandlerIOS.mm:

(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
(WebCore::EventHandler::passSubframeEventToSubframe):

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
(WebCore::EventHandler::passSubframeEventToSubframe):
(WebCore::widgetForEventTarget):

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::applyEdjeRTLState):

  • rendering/InlineTextBox.cpp:

(WebCore::fontToUse):
(WebCore::InlineTextBox::emphasisMarkExistsAndIsAbove):
(WebCore::InlineTextBox::paint):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::collapseAnonymousBoxChild):
(WebCore::RenderBlock::simplifiedLayout):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::nodeAtPoint):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlock):
(WebCore::RenderBlockFlow::hitTestFloats):
(WebCore::RenderBlockFlow::checkForPaginationLogicalHeightChange):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::scroll):
(WebCore::RenderBox::nodeAtPoint):
(WebCore::RenderBox::repaintLayerRectsForImage):
(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned):

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

(WebCore::RenderElement::adjustStyleDifference):
(WebCore::addLayers):
(WebCore::RenderElement::removeLayers):
(WebCore::RenderElement::moveLayers):
(WebCore::RenderElement::setNeedsPositionedMovementLayout):
(WebCore::RenderElement::renderNamedFlowThreadWrapper):

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

(WebCore::RenderFlowThread::validateRegions):
(WebCore::RenderFlowThread::hasCompositingRegionDescendant):
(WebCore::RenderFlowThread::regionForCompositedLayer):
(WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
(WebCore::RenderFlowThread::initializeRegionsComputedAutoHeight):
(WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
(WebCore::RenderFlowThread::addForcedRegionBreak):
(WebCore::RenderFlowThread::addRegionsOverflowFromChild):

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

(WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
(WebCore::transparencyClipBox):
(WebCore::accumulateOffsetTowardsAncestor):
(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::isFlowThreadCollectingGraphicsLayersUnderRegions):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateAfterWidgetResize):
(WebCore::RenderLayerBacking::updateConfiguration):
(WebCore::isRestartedPlugin):
(WebCore::isCompositedPlugin):
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
(WebCore::RenderLayerBacking::containsPaintedContent):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateBacking):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::requiresCompositingLayer):
(WebCore::RenderLayerCompositor::reasonsForCompositing):
(WebCore::RenderLayerCompositor::requiresCompositingForVideo):
(WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
(WebCore::RenderLayerCompositor::requiresCompositingForFrame):

  • rendering/RenderLayerModelObject.h:
  • rendering/RenderLineBreak.h:
  • rendering/RenderMeter.h:
  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::firstMultiColumnSet):
(WebCore::RenderMultiColumnFlowThread::lastMultiColumnSet):
(WebCore::RenderMultiColumnFlowThread::layout):
(WebCore::RenderMultiColumnFlowThread::addRegionToThread):
(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
(WebCore::RenderMultiColumnFlowThread::flowThreadRelativeWillBeRemoved):
(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantBoxLaidOut):
(WebCore::RenderMultiColumnFlowThread::setPageBreak):
(WebCore::RenderMultiColumnFlowThread::updateMinimumPageHeight):
(WebCore::RenderMultiColumnFlowThread::setRegionRangeForBox):
(WebCore::RenderMultiColumnFlowThread::addForcedRegionBreak):
(WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToRegion):

  • rendering/RenderMultiColumnFlowThread.h:
  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::nextSiblingMultiColumnSet):
(WebCore::RenderMultiColumnSet::previousSiblingMultiColumnSet):

  • rendering/RenderMultiColumnSet.h:
  • rendering/RenderMultiColumnSpannerPlaceholder.h:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::checkRegionStyle):
(WebCore::RenderNamedFlowFragment::namedFlowThread):

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

(WebCore::RenderNamedFlowThread::updateWritingMode):
(WebCore::addFragmentToList):
(WebCore::RenderNamedFlowThread::addRegionToThread):
(WebCore::RenderNamedFlowThread::removeRegionFromThread):
(WebCore::RenderNamedFlowThread::fragmentFromRenderBoxAsRenderBlock):
(WebCore::RenderNamedFlowThread::fragmentFromAbsolutePointAndBox):
(WebCore::RenderNamedFlowThread::checkInvalidRegions):
(WebCore::RenderNamedFlowThread::checkRegionsWithStyling):
(WebCore::RenderNamedFlowThread::clearRenderObjectCustomStyle):

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

(WebCore::scheduleRelayoutForSubtree):
(WebCore::RenderObject::setLayerNeedsFullRepaint):
(WebCore::RenderObject::setLayerNeedsFullRepaintForPositionedMovementLayout):
(WebCore::RenderObject::repaintUsingContainer):
(WebCore::RenderObject::selectionRoot):
(WebCore::RenderObject::shouldUseTransformFromContainer):
(WebCore::RenderObject::getTransformFromContainer):
(WebCore::RenderObject::isRooted):
(WebCore::RenderObject::willBeDestroyed):
(WebCore::RenderObject::isComposited):
(WebCore::RenderObject::currentRenderNamedFlowFragment):

  • rendering/RenderObject.h:
  • rendering/RenderProgress.h:
  • rendering/RenderRuby.cpp:

(WebCore::lastRubyRun):

  • rendering/RenderRubyBase.cpp:

(WebCore::RenderRubyBase::rubyRun):

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::removeChild):

  • rendering/RenderRubyRun.h:
  • rendering/RenderSlider.h:
  • rendering/RenderText.cpp:

(WebCore::RenderText::widthFromCache):

  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::calculateProgressRect):

  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintProgressBar):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintMeter):
(WebCore::RenderThemeMac::paintProgressBar):

  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::paintMeter):

  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::paintMeter):

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeRenderRegionList):
(WebCore::writeLayers):

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

(WebCore::SelectionIterator::checkForSpanner):
(WebCore::isComposited):

  • rendering/RenderView.h:
  • rendering/RenderWidget.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::handleText):

  • rendering/line/LineBreaker.cpp:

(WebCore::LineBreaker::skipLeadingWhitespace):

  • testing/Internals.cpp:

(WebCore::Internals::isPluginUnavailabilityIndicatorObscured):

Source/WebKit/mac:

Use is<>() / downcast<>() for all remaining RenderObject subclasses and
clean up the surrounding code.

  • Plugins/Hosted/WebHostedNetscapePluginView.mm:

(-[WebHostedNetscapePluginView pluginHostDied]):

  • Plugins/WebBaseNetscapePluginView.mm:

(-[WebBaseNetscapePluginView _windowClipRect]):
(-[WebBaseNetscapePluginView actualVisibleRectInWindow]):

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::createPlugin):
(WebFrameLoaderClient::createJavaAppletWidget):

Source/WebKit2:

Use is<>() / downcast<>() for all remaining RenderObject subclasses and
clean up the surrounding code.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::pluginProcessCrashed):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin):

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

Use SPECIALIZE_TYPE_TRAITS_*() macro for RenderScrollbar
https://bugs.webkit.org/show_bug.cgi?id=137854

Reviewed by Darin Adler.

Use SPECIALIZE_TYPE_TRAITS_*() macro for RenderScrollbar instead of a
custom toRenderScrollbar() function, for consistency.

No new tests, no behavior change.

  • rendering/RenderScrollbar.h:

(isType):
(WebCore::toRenderScrollbar): Deleted.

  • rendering/RenderScrollbarTheme.cpp:

(WebCore::RenderScrollbarTheme::minimumThumbLength):
(WebCore::RenderScrollbarTheme::backButtonRect):
(WebCore::RenderScrollbarTheme::forwardButtonRect):
(WebCore::RenderScrollbarTheme::trackRect):
(WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
(WebCore::RenderScrollbarTheme::willPaintScrollbar):
(WebCore::RenderScrollbarTheme::didPaintScrollbar):
(WebCore::RenderScrollbarTheme::paintScrollbarBackground):
(WebCore::RenderScrollbarTheme::paintTrackBackground):
(WebCore::RenderScrollbarTheme::paintTrackPiece):
(WebCore::RenderScrollbarTheme::paintButton):
(WebCore::RenderScrollbarTheme::paintThumb):

11:14 AM Changeset in webkit [174873] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.12.1

New tag.

10:44 AM Changeset in webkit [174872] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.12-branch/Source/WebCore

Merged r174651. <rdar://problem/18576904>

10:40 AM Changeset in webkit [174871] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.12-branch/Source/WebCore

Merged r174073. <rdar://problem/18479051>

9:50 AM Changeset in webkit [174870] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.12-branch/Source

Versioning.

9:46 AM Changeset in webkit [174869] by bshafiei@apple.com
  • 1 copy in branches/safari-600.1.4.12-branch

New Branch.

12:33 AM Changeset in webkit [174868] by Carlos Garcia Campos
  • 7 edits
    2 adds
    4 deletes in trunk/Source

[GTK] Move GtkDragAndDropHelper from Platform to WebKit2
https://bugs.webkit.org/show_bug.cgi?id=137422

Reviewed by Martin Robinson.

Source/WebCore:

Remove ClipboardUtilitiesGtk and GtkDragAndDropHelper.

  • PlatformGTK.cmake:
  • platform/gtk/ClipboardUtilitiesGtk.cpp: Removed.
  • platform/gtk/ClipboardUtilitiesGtk.h: Removed.
  • platform/gtk/GtkDragAndDropHelper.cpp: Removed.
  • platform/gtk/GtkDragAndDropHelper.h: Removed.

Source/WebKit2:

WebKitWebViewBase is currently the only user of
GtkDragAndDropHelper, that was added to share the code with
WebKit1. Move all the drag and drop logic to a new class
DragAndDropHandler.

  • PlatformGTK.cmake: Add new files to compilation.
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::startDrag):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseConstructed):
(webkitWebViewBaseDragDataGet):
(webkitWebViewBaseDragEnd):
(webkitWebViewBaseDragDataReceived):
(webkitWebViewBaseDragMotion):
(webkitWebViewBaseDragLeave):
(webkitWebViewBaseDragDrop):
(webkitWebViewBaseDragAndDropHandler):
(dragExitedCallback): Deleted.
(webkitWebViewBaseStartDrag): Deleted.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/gtk/DragAndDropHandler.cpp: Added.

(WebKit::DragAndDropHandler::create):
(WebKit::DragAndDropHandler::DragAndDropHandler):
(WebKit::DragAndDropHandler::DroppingContext::DroppingContext):
(WebKit::dragOperationToGdkDragActions):
(WebKit::dragOperationToSingleGdkDragAction):
(WebKit::gdkDragActionToDragOperation):
(WebKit::DragAndDropHandler::startDrag):
(WebKit::DragAndDropHandler::fillDragData):
(WebKit::DragAndDropHandler::finishDrag):
(WebKit::DragAndDropHandler::dataObjectForDropData):
(WebKit::DragAndDropHandler::dragEntered):
(WebKit::DragAndDropHandler::requestDragData):
(WebKit::DragAndDropHandler::dragMotion):
(WebKit::DragAndDropHandler::dragLeave):
(WebKit::DragAndDropHandler::drop):

  • UIProcess/gtk/DragAndDropHandler.h: Added.
12:01 AM Changeset in webkit [174867] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Style fix following r174855.

  • platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:

(WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):

Oct 18, 2014:

3:54 PM Changeset in webkit [174866] by Antti Koivisto
  • 7 edits
    3 adds in trunk

REGRESSION (r173356): Safari can't install a profile, gets 'Download Failed error
https://bugs.webkit.org/show_bug.cgi?id=137855

Reviewed by Dan Bernstein.

Source/WebCore:

We lose the sniffed MIME type for the response when synthesizing an NSURLResponse. Sniffing requires
backchannel data that the synthesized response doesn't have.

Test: http/tests/mime/mime-type-sniff.html

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::initNSURLResponse):

When synthesizing NSURLResponse explicitly set the Content-type header to the sniffed type.

Tools:

Test and warn if the dumped response mime type differs from the platform response mime type.

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::didReceiveResponseForResource):
(WTR::InjectedBundlePage::platformResponseMimeType):

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.h:
  • WebKitTestRunner/InjectedBundle/cocoa/InjectedBundlePageCocoa.mm:

(WTR::InjectedBundlePage::platformResponseMimeType):

LayoutTests:

  • http/tests/mime/mime-type-sniff-expected.txt: Added.
  • http/tests/mime/mime-type-sniff.html: Added.
  • http/tests/mime/resources/png-with-text-content-type.cgi: Added.
2:48 PM Changeset in webkit [174865] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/win

[WinCairo] Repaint issues with accelerated compositing.
https://bugs.webkit.org/show_bug.cgi?id=137850

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-10-18
Reviewed by Brent Fulgham.

There is sometimes missing content in accelerated compositing mode.
This is caused by not invalidating the non composited layer,
and not rendering when a flush did not complete.

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::flushAndRenderLayers): Also render when flush did not complete.
(AcceleratedCompositingContext::setNeedsDisplayInRect): Deleted.

  • WebCoreSupport/AcceleratedCompositingContext.h: Ditto.
  • WebView.cpp:

(WebView::addToDirtyRegion): Invalidate non composited layer.
(WebView::flushPendingGraphicsLayerChanges): Flush layers.

12:04 PM Changeset in webkit [174864] by mitz@apple.com
  • 4 edits in trunk/Source

WorkQueue dispatches functions but isn’t a FunctionDispatcher
https://bugs.webkit.org/show_bug.cgi?id=137853

Reviewed by Anders Carlsson.

Source/WebKit2:

  • Platform/WorkQueue.h: Changed to inherit from FunctionDispatcher.

Source/WTF:

  • wtf/FunctionDispatcher.h: Added header guards.
11:13 AM Changeset in webkit [174863] by Brian Burg
  • 10 edits in trunk/Source/JavaScriptCore

Web Replay: code generator shouldn't complain about enums without a storage type if they are in an enclosing scope
https://bugs.webkit.org/show_bug.cgi?id=137084

Reviewed by Joseph Pecoraro.

In order to generate encode/decode method declarations without pulling in lots of headers,
the generator must forward declare enums (for enum classes or enums with explicit sizes).

Change the generator to not require an explicit size if an enum is declared inside a struct
or class definition. In that case, it must pull in headers since scoped enums can't be
forward declared.

This patch also fixes some chained if-statements that should be if-else statements.

Test: updated replay/scripts/tests/generate-enum-encoding-helpers.json to cover the new case.

  • replay/scripts/CodeGeneratorReplayInputs.py:

(InputsModel.parse_type_with_framework_name.is):
(InputsModel.parse_type_with_framework_name.is.must):
(Generator.generate_enum_trait_implementation):
(InputsModel.parse_type_with_framework_name): Deleted.

  • replay/scripts/CodeGeneratorReplayInputsTemplates.py:
  • replay/scripts/tests/expected/fail-on-c-style-enum-no-storage.json-error:
  • replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.cpp:

(JSC::EncodingTraits<WebCore::MouseButton>::decodeValue):

  • replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.cpp:

(JSC::EncodingTraits<WebCore::MouseButton>::decodeValue):
(JSC::EncodingTraits<WebCore::PlatformEvent::Type>::encodeValue):
(JSC::EncodingTraits<WebCore::PlatformEvent::Type>::decodeValue):

  • replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.cpp:

(JSC::EncodingTraits<WebCore::FormData1::Type>::decodeValue):
(JSC::EncodingTraits<PlatformEvent1::Type>::decodeValue):

  • replay/scripts/tests/generate-enum-encoding-helpers.json: Added a new input to cover this case.
10:05 AM Changeset in webkit [174862] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

[Mac] Use Fast enumeration consistently in WebFontCache.mm
https://bugs.webkit.org/show_bug.cgi?id=137791

Reviewed by Darin Adler.

Use fast enumeration consistently in WebFontCache.mm as this results in
more efficient, concise and safer code.

No new tests, no behavior change.

  • platform/mac/WebFontCache.mm:

(+[WebFontCache getTraits:inFamily:]):
Reserve Vector capacity before the loop as we know how many traits we
are going to append. Also use uncheckedAppend() for performance.

(+[WebFontCache internalFontWithFamily:traits:weight:size:]):

8:54 AM Changeset in webkit [174861] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Improve documentation of webkit_web_view_get_tls_info()
https://bugs.webkit.org/show_bug.cgi?id=137852

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-10-18
Reviewed by Martin Robinson.

  • UIProcess/API/gtk/WebKitWebView.cpp:
8:20 AM Changeset in webkit [174860] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: Tables with <colgroups> are not reporting table column headers
https://bugs.webkit.org/show_bug.cgi?id=137846

Reviewed by Mario Sanchez Prada.

Source/WebCore:

The code to search for header objects was getting stuck on anonymous RenderTableSections.
We also need to check more rows for headers, in case the first row or more is not visible or is empty.

Test: accessibility/table-column-headers-with-captions.html

  • accessibility/AccessibilityTableColumn.cpp:

(WebCore::AccessibilityTableColumn::headerObject):
(WebCore::AccessibilityTableColumn::headerObjectForSection):

LayoutTests:

  • accessibility/table-column-headers-with-captions-expected.txt: Added.
  • accessibility/table-column-headers-with-captions.html: Added.
3:16 AM Changeset in webkit [174859] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] build break occurs on webkit efl build.
https://bugs.webkit.org/show_bug.cgi?id=137844

Patch by KwangHyuk Kim <hyuki.kim@samsung.com> on 2014-10-18
Reviewed by Gyuyoung Kim.

As local variable elementAddressRegisterIndex is assigned but not used, there is build break for the webkit efl.

No new tests because it's just to fix build break.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatchesSelectorList):

Note: See TracTimeline for information about the timeline view.