WebKit-https.git
4 years agoMinor fixes for B3 IR documentation
fpizlo@apple.com [Tue, 2 Feb 2016 16:58:41 +0000 (16:58 +0000)]
Minor fixes for B3 IR documentation
https://bugs.webkit.org/show_bug.cgi?id=153782

Reviewed by Michael Saboff.

Fix minor issues that Geoff found.

* docs/b3/intermediate-representation.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@196011 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAllow ports to disable automatic text track selection
eric.carlson@apple.com [Tue, 2 Feb 2016 16:38:02 +0000 (16:38 +0000)]
Allow ports to disable automatic text track selection
https://bugs.webkit.org/show_bug.cgi?id=153761
<rdar://problem/24416768>

Reviewed by Darin Adler.

Source/WebCore:

Test: media/track/track-manual-mode.html

* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::manualKeyword): New.
(WebCore::MediaControlsHost::captionDisplayMode): Support 'manual' mode.
* Modules/mediacontrols/MediaControlsHost.h:

* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.buildCaptionMenu): Check the 'off' item when in manual mode.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::addTextTrack): Update m_captionDisplayMode when called for the first
  time so it is always correct. Set the track's manual selection mode as appropriate.
(WebCore::HTMLMediaElement::captionPreferencesChanged): Set each track's manual selection
  mode as appropriate.

* html/track/TextTrack.cpp:
(WebCore::TextTrack::kind): Return 'subtitles' for forced tracks when in manual mode.
* html/track/TextTrack.h:

* html/track/TrackBase.h:
(WebCore::TrackBase::kind): Make virtual.

* page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::beginBlockingNotifications): New.
(WebCore::CaptionUserPreferences::endBlockingNotifications): Ditto.
(WebCore::CaptionUserPreferences::notify): Don't notify when blocked.
* page/CaptionUserPreferences.h:

* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF): Set manual mode
  when appropriate.
(WebCore::CaptionUserPreferencesMediaAF::captionDisplayMode): Check manual mode.
(WebCore::CaptionUserPreferencesMediaAF::setCaptionDisplayMode): Ditto.
(WebCore::CaptionUserPreferencesMediaAF::setPreferredLanguage): Ditto.
(WebCore::CaptionUserPreferencesMediaAF::textTrackSelectionScore): Return zero when in manual mode.
(WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu): Consider manual mode. Fix
  typos in logging.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::mediaDescriptionForKind): Return 'auxiliary' when in manual mode.

* testing/Internals.cpp:
(WebCore::Internals::setCaptionDisplayMode): Support manual mode.

LayoutTests:

* media/track/track-manual-mode-expected.txt: Added.
* media/track/track-manual-mode.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@196010 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoREGRESSION(r195899): ASSERTION FAILED: is<Target>(source) in EventPath::retargetTouch...
commit-queue@webkit.org [Tue, 2 Feb 2016 16:16:32 +0000 (16:16 +0000)]
REGRESSION(r195899): ASSERTION FAILED: is<Target>(source) in EventPath::retargetTouch() since r195899
https://bugs.webkit.org/show_bug.cgi?id=153741

Patch by Adrien Plazas <aplazas@igalia.com> on 2016-02-02
Reviewed by Ryosuke Niwa.

* dom/EventDispatcher.cpp:
(WebCore::EventPath::retargetTouch):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@196009 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Win] gardening after r195740. (more to follow)
zalan@apple.com [Tue, 2 Feb 2016 16:11:23 +0000 (16:11 +0000)]
[Win] gardening after r195740. (more to follow)

Unreviewed.

* platform/win/tables/mozilla/bugs/bug101201-expected.txt:
* platform/win/tables/mozilla/bugs/bug101674-expected.txt:
* platform/win/tables/mozilla/bugs/bug103533-expected.txt:
* platform/win/tables/mozilla/bugs/bug106158-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug106795-expected.txt:
* platform/win/tables/mozilla/bugs/bug106816-expected.txt:
* platform/win/tables/mozilla/bugs/bug108340-expected.txt:
* platform/win/tables/mozilla/bugs/bug110566-expected.txt:
* platform/win/tables/mozilla/bugs/bug113235-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug113235-3-expected.txt:
* platform/win/tables/mozilla/bugs/bug113424-expected.txt:
* platform/win/tables/mozilla/bugs/bug119786-expected.txt:
* platform/win/tables/mozilla/bugs/bug120107-expected.txt:
* platform/win/tables/mozilla/bugs/bug120364-expected.txt:
* platform/win/tables/mozilla/bugs/bug133756-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug133756-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug137388-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug137388-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug137388-3-expected.txt:
* platform/win/tables/mozilla/bugs/bug138725-expected.txt:
* platform/win/tables/mozilla/bugs/bug139524-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug139524-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug139524-3-expected.txt:
* platform/win/tables/mozilla/bugs/bug139524-4-expected.txt:
* platform/win/tables/mozilla/bugs/bug149275-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug154780-expected.txt:
* platform/win/tables/mozilla/bugs/bug159108-expected.txt:
* platform/win/tables/mozilla/bugs/bug175455-4-expected.txt:
* platform/win/tables/mozilla/bugs/bug20579-expected.txt:
* platform/win/tables/mozilla/bugs/bug20804-expected.txt:
* platform/win/tables/mozilla/bugs/bug21299-expected.txt:
* platform/win/tables/mozilla/bugs/bug215629-expected.txt:
* platform/win/tables/mozilla/bugs/bug21918-expected.txt:
* platform/win/tables/mozilla/bugs/bug219693-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug219693-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug22019-expected.txt:
* platform/win/tables/mozilla/bugs/bug220536-expected.txt:
* platform/win/tables/mozilla/bugs/bug221784-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug221784-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug222336-expected.txt:
* platform/win/tables/mozilla/bugs/bug22246-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug22246-2a-expected.txt:
* platform/win/tables/mozilla/bugs/bug22246-3-expected.txt:
* platform/win/tables/mozilla/bugs/bug22246-3a-expected.txt:
* platform/win/tables/mozilla/bugs/bug22513-expected.txt:
* platform/win/tables/mozilla/bugs/bug23072-expected.txt:
* platform/win/tables/mozilla/bugs/bug23151-expected.txt:
* platform/win/tables/mozilla/bugs/bug23235-expected.txt:
* platform/win/tables/mozilla/bugs/bug23299-expected.txt:
* platform/win/tables/mozilla/bugs/bug24200-expected.txt:
* platform/win/tables/mozilla/bugs/bug24503-expected.txt:
* platform/win/tables/mozilla/bugs/bug24627-expected.txt:
* platform/win/tables/mozilla/bugs/bug24880-expected.txt:
* platform/win/tables/mozilla/bugs/bug25004-expected.txt:
* platform/win/tables/mozilla/bugs/bug25074-expected.txt:
* platform/win/tables/mozilla/bugs/bug25086-expected.txt:
* platform/win/tables/mozilla/bugs/bug25367-expected.txt:
* platform/win/tables/mozilla/bugs/bug25663-expected.txt:
* platform/win/tables/mozilla/bugs/bug26178-expected.txt:
* platform/win/tables/mozilla/bugs/bug26553-expected.txt:
* platform/win/tables/mozilla/bugs/bug269566-expected.txt:
* platform/win/tables/mozilla/bugs/bug27038-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug27038-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug275625-expected.txt:
* platform/win/tables/mozilla/bugs/bug277062-expected.txt:
* platform/win/tables/mozilla/bugs/bug278266-expected.txt:
* platform/win/tables/mozilla/bugs/bug278385-expected.txt:
* platform/win/tables/mozilla/bugs/bug27993-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug28928-expected.txt:
* platform/win/tables/mozilla/bugs/bug28933-expected.txt:
* platform/win/tables/mozilla/bugs/bug29058-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug29157-expected.txt:
* platform/win/tables/mozilla/bugs/bug29314-expected.txt:
* platform/win/tables/mozilla/bugs/bug29429-expected.txt:
* platform/win/tables/mozilla/bugs/bug30273-expected.txt:
* platform/win/tables/mozilla/bugs/bug30418-expected.txt:
* platform/win/tables/mozilla/bugs/bug30559-expected.txt:
* platform/win/tables/mozilla/bugs/bug30985-expected.txt:
* platform/win/tables/mozilla/bugs/bug32205-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug32205-3-expected.txt:
* platform/win/tables/mozilla/bugs/bug32205-5-expected.txt:
* platform/win/tables/mozilla/bugs/bug32447-expected.txt:
* platform/win/tables/mozilla/bugs/bug33137-expected.txt:
* platform/win/tables/mozilla/bugs/bug33855-expected.txt:
* platform/win/tables/mozilla/bugs/bug34538-expected.txt:
* platform/win/tables/mozilla/bugs/bug35662-expected.txt:
* platform/win/tables/mozilla/bugs/bug38916-expected.txt:
* platform/win/tables/mozilla/bugs/bug39209-expected.txt:
* platform/win/tables/mozilla/bugs/bug40828-expected.txt:
* platform/win/tables/mozilla/bugs/bug42187-expected.txt:
* platform/win/tables/mozilla/bugs/bug44505-expected.txt:
* platform/win/tables/mozilla/bugs/bug44523-expected.txt:
* platform/win/tables/mozilla/bugs/bug45055-expected.txt:
* platform/win/tables/mozilla/bugs/bug45350-expected.txt:
* platform/win/tables/mozilla/bugs/bug45486-expected.txt:
* platform/win/tables/mozilla/bugs/bug46268-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug46268-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug46268-3-expected.txt:
* platform/win/tables/mozilla/bugs/bug46268-5-expected.txt:
* platform/win/tables/mozilla/bugs/bug46268-expected.txt:
* platform/win/tables/mozilla/bugs/bug46368-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug46480-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug46480-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug46623-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug46623-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug47432-expected.txt:
* platform/win/tables/mozilla/bugs/bug48028-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug48028-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug51037-expected.txt:
* platform/win/tables/mozilla/bugs/bug51140-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/bug53690-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug53690-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug53891-expected.txt:
* platform/win/tables/mozilla/bugs/bug55545-expected.txt:
* platform/win/tables/mozilla/bugs/bug55694-expected.txt:
* platform/win/tables/mozilla/bugs/bug55789-expected.txt:
* platform/win/tables/mozilla/bugs/bug56201-expected.txt:
* platform/win/tables/mozilla/bugs/bug56405-expected.txt:
* platform/win/tables/mozilla/bugs/bug57300-expected.txt:
* platform/win/tables/mozilla/bugs/bug57378-expected.txt:
* platform/win/tables/mozilla/bugs/bug57828-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug57828-expected.txt:
* platform/win/tables/mozilla/bugs/bug58402-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug59354-expected.txt:
* platform/win/tables/mozilla/bugs/bug60013-expected.txt:
* platform/win/tables/mozilla/bugs/bug60749-expected.txt:
* platform/win/tables/mozilla/bugs/bug60804-expected.txt:
* platform/win/tables/mozilla/bugs/bug60807-expected.txt:
* platform/win/tables/mozilla/bugs/bug60992-expected.txt:
* platform/win/tables/mozilla/bugs/bug63785-expected.txt:
* platform/win/tables/mozilla/bugs/bug67864-expected.txt:
* platform/win/tables/mozilla/bugs/bug67915-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug68998-expected.txt:
* platform/win/tables/mozilla/bugs/bug69187-expected.txt:
* platform/win/tables/mozilla/bugs/bug69382-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug69382-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug72359-expected.txt:
* platform/win/tables/mozilla/bugs/bug75250-expected.txt:
* platform/win/tables/mozilla/bugs/bug78162-expected.txt:
* platform/win/tables/mozilla/bugs/bug82946-1-expected.txt:
* platform/win/tables/mozilla/bugs/bug82946-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug83786-expected.txt:
* platform/win/tables/mozilla/bugs/bug86708-expected.txt:
* platform/win/tables/mozilla/bugs/bug92143-expected.txt:
* platform/win/tables/mozilla/bugs/bug92647-2-expected.txt:
* platform/win/tables/mozilla/bugs/bug93363-expected.txt:
* platform/win/tables/mozilla/bugs/bug96334-expected.txt:
* platform/win/tables/mozilla/bugs/bug96343-expected.txt:
* platform/win/tables/mozilla/bugs/bug97138-expected.txt:
* platform/win/tables/mozilla/bugs/bug97383-expected.txt:
* platform/win/tables/mozilla/bugs/bug99923-expected.txt:
* platform/win/tables/mozilla/bugs/bug99948-expected.txt:
* platform/win/tables/mozilla/collapsing_borders/bug127040-expected.txt:
* platform/win/tables/mozilla/collapsing_borders/bug41262-3-expected.txt:
* platform/win/tables/mozilla/collapsing_borders/bug41262-4-expected.txt:
* platform/win/tables/mozilla/core/bloomberg-expected.txt:
* platform/win/tables/mozilla/core/borders-expected.txt:
* platform/win/tables/mozilla/core/captions-expected.txt:
* platform/win/tables/mozilla/core/cell_heights-expected.txt:
* platform/win/tables/mozilla/core/col_span-expected.txt:
* platform/win/tables/mozilla/core/col_widths_auto_auto-expected.txt:
* platform/win/tables/mozilla/core/col_widths_auto_autoFix-expected.txt:
* platform/win/tables/mozilla/core/col_widths_auto_autoFixPer-expected.txt:
* platform/win/tables/mozilla/core/col_widths_auto_autoPer-expected.txt:
* platform/win/tables/mozilla/core/col_widths_auto_fix-expected.txt:
* platform/win/tables/mozilla/core/col_widths_auto_fixPer-expected.txt:
* platform/win/tables/mozilla/core/col_widths_auto_per-expected.txt:
* platform/win/tables/mozilla/core/col_widths_fix_autoFix-expected.txt:
* platform/win/tables/mozilla/core/col_widths_fix_autoPer-expected.txt:
* platform/win/tables/mozilla/core/col_widths_fix_fix-expected.txt:
* platform/win/tables/mozilla/core/col_widths_fix_fixPer-expected.txt:
* platform/win/tables/mozilla/core/col_widths_fix_per-expected.txt:
* platform/win/tables/mozilla/core/margins-expected.txt:
* platform/win/tables/mozilla/core/misc-expected.txt:
* platform/win/tables/mozilla/core/nested1-expected.txt:
* platform/win/tables/mozilla/core/one_row-expected.txt:
* platform/win/tables/mozilla/core/row_span-expected.txt:
* platform/win/tables/mozilla/core/table_frame-expected.txt:
* platform/win/tables/mozilla/core/table_heights-expected.txt:
* platform/win/tables/mozilla/core/table_rules-expected.txt:
* platform/win/tables/mozilla/core/table_widths-expected.txt:
* platform/win/tables/mozilla/dom/appendCol2-expected.txt:
* platform/win/tables/mozilla/dom/appendRowsExpand1-expected.txt:
* platform/win/tables/mozilla/dom/appendTbodyExpand1-expected.txt:
* platform/win/tables/mozilla/dom/deleteCellsRebuild1-expected.txt:
* platform/win/tables/mozilla/dom/deleteCellsShrink1-expected.txt:
* platform/win/tables/mozilla/dom/deleteCellsShrink2-expected.txt:
* platform/win/tables/mozilla/dom/deleteCol1-expected.txt:
* platform/win/tables/mozilla/dom/deleteCol2-expected.txt:
* platform/win/tables/mozilla/dom/deleteCol3-expected.txt:
* platform/win/tables/mozilla/dom/deleteColGroup1-expected.txt:
* platform/win/tables/mozilla/dom/deleteColGroup2-expected.txt:
* platform/win/tables/mozilla/dom/deleteRowsRebuild1-expected.txt:
* platform/win/tables/mozilla/dom/deleteRowsShrink1-expected.txt:
* platform/win/tables/mozilla/dom/deleteTbodyExpand1-expected.txt:
* platform/win/tables/mozilla/dom/deleteTbodyRebuild1-expected.txt:
* platform/win/tables/mozilla/dom/insertCellsExpand1-expected.txt:
* platform/win/tables/mozilla/dom/insertCellsExpand2-expected.txt:
* platform/win/tables/mozilla/dom/insertCellsRebuild1-expected.txt:
* platform/win/tables/mozilla/dom/insertCellsRebuild2-expected.txt:
* platform/win/tables/mozilla/dom/insertColGroups1-expected.txt:
* platform/win/tables/mozilla/dom/insertColGroups2-expected.txt:
* platform/win/tables/mozilla/dom/insertCols1-expected.txt:
* platform/win/tables/mozilla/dom/insertCols2-expected.txt:
* platform/win/tables/mozilla/dom/insertCols3-expected.txt:
* platform/win/tables/mozilla/dom/insertCols4-expected.txt:
* platform/win/tables/mozilla/dom/insertCols5-expected.txt:
* platform/win/tables/mozilla/dom/insertRowsExpand1-expected.txt:
* platform/win/tables/mozilla/dom/insertRowsRebuild1-expected.txt:
* platform/win/tables/mozilla/dom/tableDom-expected.txt:
* platform/win/tables/mozilla/marvin/backgr_layers-opacity-expected.txt:
* platform/win/tables/mozilla/marvin/backgr_position-table-expected.txt:
* platform/win/tables/mozilla/marvin/backgr_simple-table-cell-expected.txt:
* platform/win/tables/mozilla/marvin/backgr_simple-table-column-expected.txt:
* platform/win/tables/mozilla/marvin/backgr_simple-table-column-group-expected.txt:
* platform/win/tables/mozilla/marvin/backgr_simple-table-expected.txt:
* platform/win/tables/mozilla/marvin/backgr_simple-table-row-expected.txt:
* platform/win/tables/mozilla/marvin/backgr_simple-table-row-group-expected.txt:
* platform/win/tables/mozilla/marvin/body_col-expected.txt:
* platform/win/tables/mozilla/marvin/body_tbody-expected.txt:
* platform/win/tables/mozilla/marvin/body_tfoot-expected.txt:
* platform/win/tables/mozilla/marvin/body_thead-expected.txt:
* platform/win/tables/mozilla/marvin/col_span-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_align_justify-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_span-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_width_pct-expected.txt:
* platform/win/tables/mozilla/marvin/colgroup_width_px-expected.txt:
* platform/win/tables/mozilla/marvin/table_frame_border-expected.txt:
* platform/win/tables/mozilla/marvin/table_frame_box-expected.txt:
* platform/win/tables/mozilla/marvin/table_overflow_hidden_td-expected.txt:
* platform/win/tables/mozilla/marvin/table_overflow_td_dynamic_deactivate-expected.txt:
* platform/win/tables/mozilla/marvin/table_row_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/table_row_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/table_row_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/table_rules_all-expected.txt:
* platform/win/tables/mozilla/marvin/table_rules_groups-expected.txt:
* platform/win/tables/mozilla/marvin/table_rules_none-expected.txt:
* platform/win/tables/mozilla/marvin/tables_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/tables_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/tables_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_aqua-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_aqua_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_black-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_black_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_blue-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_blue_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_fuchsia-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_fuchsia_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_gray-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_gray_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_green-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_green_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_lime-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_lime_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_maroon-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_maroon_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_navy-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_navy_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_olive-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_olive_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_purple-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_purple_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_red-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_red_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_silver-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_silver_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_teal-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_teal_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_white-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_white_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_yellow-expected.txt:
* platform/win/tables/mozilla/marvin/tables_bgcolor_yellow_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tables_border_0-expected.txt:
* platform/win/tables/mozilla/marvin/tables_border_1-expected.txt:
* platform/win/tables/mozilla/marvin/tables_border_2-expected.txt:
* platform/win/tables/mozilla/marvin/tables_border_3-expected.txt:
* platform/win/tables/mozilla/marvin/tables_caption_align_bot-expected.txt:
* platform/win/tables/mozilla/marvin/tables_caption_align_top-expected.txt:
* platform/win/tables/mozilla/marvin/tables_cellpadding-expected.txt:
* platform/win/tables/mozilla/marvin/tables_cellpadding_pct-expected.txt:
* platform/win/tables/mozilla/marvin/tables_cellspacing-expected.txt:
* platform/win/tables/mozilla/marvin/tables_default-expected.txt:
* platform/win/tables/mozilla/marvin/tables_id-expected.txt:
* platform/win/tables/mozilla/marvin/tables_row_th_nowrap-expected.txt:
* platform/win/tables/mozilla/marvin/tables_td_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/tables_td_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/tables_td_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/tables_td_colspan-expected.txt:
* platform/win/tables/mozilla/marvin/tables_td_height-expected.txt:
* platform/win/tables/mozilla/marvin/tables_td_nowrap-expected.txt:
* platform/win/tables/mozilla/marvin/tables_td_rowspan-expected.txt:
* platform/win/tables/mozilla/marvin/tables_td_width-expected.txt:
* platform/win/tables/mozilla/marvin/tables_th_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/tables_th_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/tables_th_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/tables_th_colspan-expected.txt:
* platform/win/tables/mozilla/marvin/tables_th_height-expected.txt:
* platform/win/tables/mozilla/marvin/tables_th_rowspan-expected.txt:
* platform/win/tables/mozilla/marvin/tables_th_width-expected.txt:
* platform/win/tables/mozilla/marvin/tables_width_percent-expected.txt:
* platform/win/tables/mozilla/marvin/tables_width_px-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_align_char-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_align_justify-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_char-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/tbody_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/td_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/td_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/td_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/td_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_align_char-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_align_justify-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_char-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/tfoot_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/th_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/th_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/th_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/th_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/thead_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/thead_align_char-expected.txt:
* platform/win/tables/mozilla/marvin/thead_align_justify-expected.txt:
* platform/win/tables/mozilla/marvin/thead_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/thead_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/thead_char-expected.txt:
* platform/win/tables/mozilla/marvin/thead_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/thead_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/thead_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/thead_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_aqua_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_black-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_black_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_blue-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_blue_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_fuchsia-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_fuchsia_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_gray-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_gray_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_green-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_green_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_lime-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_lime_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_maroon-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_maroon_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_navy-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_navy_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_olive-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_olive_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_purple-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_purple_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_red-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_red_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_silver-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_silver_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_teal-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_teal_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_white-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_white_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_yellow-expected.txt:
* platform/win/tables/mozilla/marvin/tr_bgcolor_yellow_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/tr_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/tr_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/tr_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/tr_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/x_caption_align_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/x_caption_align_top-expected.txt:
* platform/win/tables/mozilla/marvin/x_col_align_char-expected.txt:
* platform/win/tables/mozilla/marvin/x_col_span-expected.txt:
* platform/win/tables/mozilla/marvin/x_col_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/x_col_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/x_col_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/x_col_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/x_col_width_px-expected.txt:
* platform/win/tables/mozilla/marvin/x_col_width_rel-expected.txt:
* platform/win/tables/mozilla/marvin/x_colgroup_align_char-expected.txt:
* platform/win/tables/mozilla/marvin/x_colgroup_span-expected.txt:
* platform/win/tables/mozilla/marvin/x_colgroup_valign_baseline-expected.txt:
* platform/win/tables/mozilla/marvin/x_colgroup_valign_bottom-expected.txt:
* platform/win/tables/mozilla/marvin/x_colgroup_valign_middle-expected.txt:
* platform/win/tables/mozilla/marvin/x_colgroup_valign_top-expected.txt:
* platform/win/tables/mozilla/marvin/x_colgroup_width_rel-expected.txt:
* platform/win/tables/mozilla/marvin/x_table-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_align_left-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_align_right-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_bgcolor_name-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_bgcolor_rgb-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_border-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_border_none-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_border_px-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_cellpadding-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_cellpadding_pct-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_cellspacing-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_cellspacing_pct-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_frame_void-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_rules_groups-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_rules_none-expected.txt:
* platform/win/tables/mozilla/marvin/x_table_style-expected.txt:
* platform/win/tables/mozilla/marvin/x_tbody_align_center-expected.txt:
* platform/win/tables/mozilla/marvin/x_tbody_align_char-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@196008 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[EFL] Virtual Keyboard overlaps MiniBrowser's WebView
g.czajkowski@samsung.com [Tue, 2 Feb 2016 12:26:38 +0000 (12:26 +0000)]
[EFL] Virtual Keyboard overlaps MiniBrowser's WebView
https://bugs.webkit.org/show_bug.cgi?id=153009

Reviewed by Gyuyoung Kim.

On mobile, virtual keyboard represented by ecore_imf module appears on
the top of application layer usually covering bottom part of the screen.
If the web page contains the editable content on the bottom of the page
it will be overlapped by keyboard which prevents user from seeing the
typed text.

Pack MiniBrowser layout into conformant widget to allow EFL to guess
the space that will be required by the keyboard, finally resizing it
to the desired size. As a result, webview gets resized and scrolled
into focused elements which makes the editable elements visible while
typing.

More details about elm_conformant widger can be found at:
https://docs.enlightenment.org/elementary/1.15.0/group__Conformant.html
https://docs.enlightenment.org/elementary/1.15.0/conformant_example.html

* MiniBrowser/efl/main.c:
(window_create): pack a box into conformant widget.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@196007 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[GTK][EFL] Upgrade OpenWebRTC dependency
alex@webkit.org [Tue, 2 Feb 2016 11:35:33 +0000 (11:35 +0000)]
[GTK][EFL] Upgrade OpenWebRTC dependency
https://bugs.webkit.org/show_bug.cgi?id=153489

Reviewed by Philippe Normand.

.:

* Source/cmake/FindOpenWebRTC.cmake: Bump OpenWebRTC dependency,
required to make the mediastream work.

Tools:

* Scripts/run-gtk-tests:
(TestRunner): Avoid running the mediastream API test.
* Scripts/webkitperl/FeatureList.pm: Stop compiling mediastream by
default for gtk and efl.
* gtk/jhbuild-webrtc.modules: Added modules files with
dependencies required to compile and test the mediastream.

LayoutTests:

Skiped the mediastream tests by default, until we have the code
ready and gstreamer dependency is bumped.

* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@196006 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[GTK] Several tests fail due to assert not reached in DrawingArea::dispatchAfterEnsur...
commit-queue@webkit.org [Tue, 2 Feb 2016 11:00:41 +0000 (11:00 +0000)]
[GTK] Several tests fail due to assert not reached in DrawingArea::dispatchAfterEnsuringDrawing()
https://bugs.webkit.org/show_bug.cgi?id=153785

Patch by Adrien Plazas <aplazas@igalia.com> on 2016-02-02
Reviewed by Carlos Garcia Campos.

* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::dispatchAfterEnsuringDrawing):
* UIProcess/DrawingAreaProxyImpl.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@196005 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoobject.__lookupGetter__() / object.__lookupSetter__() does not work for native bindings
cdumez@apple.com [Tue, 2 Feb 2016 06:35:09 +0000 (06:35 +0000)]
object.__lookupGetter__() / object.__lookupSetter__() does not work for native bindings
https://bugs.webkit.org/show_bug.cgi?id=153765
<rdar://problem/24439699>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Add support for CustomAccessor slots to objectProtoFuncLookupGetter() and
objectProtoFuncLookupSetter() by return getOwnPropertyDescriptor().get / set.
getOwnPropertyDescriptor() now correctly deals with CustomAccessors since
r196001.

* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):

LayoutTests:

Add layout tests to test that object.__lookupGetter__() / object.__lookupSetter__()
works for native bindings.

* js/lookupGetterGetter-native-bindings-expected.txt: Added.
* js/lookupGetterGetter-native-bindings.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@196004 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: Option+Up/Down should not move cursor outside of number
commit-queue@webkit.org [Tue, 2 Feb 2016 06:15:59 +0000 (06:15 +0000)]
Web Inspector: Option+Up/Down should not move cursor outside of number
https://bugs.webkit.org/show_bug.cgi?id=153784
<rdar://problem/24453133>

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2016-02-01
Reviewed by Timothy Hatcher.

* UserInterface/Views/CodeMirrorAdditions.js:
When selectionStart === selectionEnd we were duplicating the
movement mutation by performing it twice on the same object.
After much experimentation, I left in the existing code path
for handling mutation with a selection. It is not perfect,
but it is better then just applying the ch diff.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@196003 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, fix http/tests/security/cross-origin-window-property-access.html
cdumez@apple.com [Tue, 2 Feb 2016 06:12:38 +0000 (06:12 +0000)]
Unreviewed, fix http/tests/security/cross-origin-window-property-access.html

Update http/tests/security/cross-origin-window-property-access.html that was
introduced in r196001 so that it does not assert on Mac DRT. Mac DRT asserts
that testRunner.waitUntilDone() must be called *BEFORE* calling window.open().

* http/tests/security/cross-origin-window-property-access.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@196002 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoNative Bindings Descriptors are Incomplete
cdumez@apple.com [Tue, 2 Feb 2016 03:47:51 +0000 (03:47 +0000)]
Native Bindings Descriptors are Incomplete
https://bugs.webkit.org/show_bug.cgi?id=140575
<rdar://problem/19506502>

Reviewed by Oliver Hunt.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that a lot more checks are passing.

* web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/html/dom/interfaces-expected.txt:

Source/JavaScriptCore:

This patch is based on initial work by Joe Pecoraro and Matthew Mirman.

This patch was initially rolled out for breaking chromeexperiments.com,
presumably because our IDL attributes were not marked as [configurable]
at the time. However, since r190104, our IDL attributes are now
configurable. Based on local testing, chromeexperiments.com seems to be
working fine now.

* JavaScriptCore.xcodeproj/project.pbxproj:
* inspector/InjectedScriptSource.js:
(endsWith):
(InjectedScript.prototype.processProperties):
* runtime/JSBoundSlotBaseFunction.cpp: Added.
(JSC::boundSlotBaseFunctionCall):
(JSC::JSBoundSlotBaseFunction::JSBoundSlotBaseFunction):
(JSC::JSBoundSlotBaseFunction::create):
(JSC::JSBoundSlotBaseFunction::visitChildren):
(JSC::JSBoundSlotBaseFunction::finishCreation):
* runtime/JSBoundSlotBaseFunction.h: Added.
(JSC::JSBoundSlotBaseFunction::createStructure):
(JSC::JSBoundSlotBaseFunction::boundSlotBase):
(JSC::JSBoundSlotBaseFunction::customGetterSetter):
(JSC::JSBoundSlotBaseFunction::isSetter):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::boundSlotBaseFunctionStructure):
* runtime/JSObject.cpp:
(JSC::getBoundSlotBaseFunctionForGetterSetter):
(JSC::JSObject::getOwnPropertyDescriptor):
* runtime/VM.cpp:
(JSC::VM::VM):
* runtime/VM.h:

LayoutTests:

Add test coverage.

* http/tests/security/cross-origin-window-property-access-expected.txt: Added.
* http/tests/security/cross-origin-window-property-access.html: Added.
* inspector/runtime/getProperties-expected.txt:
* js/dom/native-bindings-descriptors-expected.txt: Added.
* js/dom/native-bindings-descriptors.html: Added.
* js/dom/native-bindings-descriptors2-expected.txt: Added.
* js/dom/native-bindings-descriptors2.html: Added.
* js/dom/native-bindings-descriptors3-expected.txt: Added.
* js/dom/native-bindings-descriptors3.html: Added.
* js/dom/native-bindings-descriptors4-expected.txt: Added.
* js/dom/native-bindings-descriptors4.html: Added.
* js/dom/native-bindings-descriptors5-expected.txt: Added.
* js/dom/native-bindings-descriptors5.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@196001 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[GTK] [EFL] [AppleWin] Layout Test fast/shadow-dom/slot-removal-crash-2.html timeouts
rniwa@webkit.org [Tue, 2 Feb 2016 02:35:12 +0000 (02:35 +0000)]
[GTK] [EFL] [AppleWin] Layout Test fast/shadow-dom/slot-removal-crash-2.html timeouts
https://bugs.webkit.org/show_bug.cgi?id=153772

Reviewed by Michael Catanzaro.

Don't call wait untilDone if attachShadow is not available.

* fast/shadow-dom/slot-removal-crash-2.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@196000 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: High Level Memory Overview Instrument
joepeck@webkit.org [Tue, 2 Feb 2016 01:52:16 +0000 (01:52 +0000)]
Web Inspector: High Level Memory Overview Instrument
https://bugs.webkit.org/show_bug.cgi?id=153516
<rdar://problem/24356378>

Reviewed by Brian Burg.

Source/JavaScriptCore:

* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* DerivedSources.make:
* inspector/protocol/Memory.json: Added.
* inspector/scripts/codegen/generator.py:
New Memory domain guarded by ENABLE(RESOURCE_USAGE).
This feature flag was already used in WebCore.

Source/WebCore:

Add a new agent that gathers data from the ResourceUsageThread
and sends to the frontend.

Test: inspector/memory/tracking.html

* CMakeLists.txt:
* Configurations/FeatureDefines.xcconfig:
* WebCore.xcodeproj/project.pbxproj:
New files.

* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
Add the new agent.

* inspector/InspectorMemoryAgent.h: Added.
* inspector/InspectorMemoryAgent.cpp: Added.
(WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
(WebCore::InspectorMemoryAgent::didCreateFrontendAndBackend):
(WebCore::InspectorMemoryAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorMemoryAgent::startTracking):
(WebCore::InspectorMemoryAgent::stopTracking):
(WebCore::InspectorMemoryAgent::collectSample):
Implement the agent by adding / removing it as a ResourceUsage
observer. When receiving the data forward it to the frontend.

Source/WebInspectorUI:

Use the new "Memory" domain to track page memory size over time.
This allows the timeline to help visualize total process memory
broken down into a few different categories. The timeline graph
allows seeing the total size over time, and you can drill in to
a specific section and get a better breakdown and comparison
of the different categories of memory that we currently track.

* Localizations/en.lproj/localizedStrings.js:
New UI strings.

* UserInterface/Main.html:
New files.

* UserInterface/Base/Main.js:
(WebInspector.loaded):
* UserInterface/Protocol/MemoryObserver.js:
(WebInspector.MemoryObserver.prototype.trackingStart):
(WebInspector.MemoryObserver.prototype.trackingUpdate):
(WebInspector.MemoryObserver.prototype.trackingComplete):
Add a memory observer.

* UserInterface/Controllers/TimelineManager.js:
(WebInspector.TimelineManager.defaultInstruments):
(WebInspector.TimelineManager.prototype.memoryTrackingStart):
(WebInspector.TimelineManager.prototype.memoryTrackingUpdate):
(WebInspector.TimelineManager.prototype.memoryTrackingComplete):
Create Memory timeline records from Memory tracking updates.

* UserInterface/Models/MemoryCategory.js:
(WebInspector.MemoryCategory):
Consolidate some of the raw data of categories we get from the backend
into a set of 4 user-facing categories.

* UserInterface/Models/MemoryTimelineRecord.js: Added.
(WebInspector.MemoryTimelineRecord):
(WebInspector.MemoryTimelineRecord.memoryCategoriesFromProtocol):
(WebInspector.MemoryTimelineRecord.prototype.get timestamp):
(WebInspector.MemoryTimelineRecord.prototype.get categories):
(WebInspector.MemoryTimelineRecord.prototype.get totalSize):
(WebInspector.MemoryTimelineRecord.prototype.get startTime):
(WebInspector.MemoryTimelineRecord.prototype.get endTime):
Memory timeline record for the event data.

* UserInterface/Models/MemoryInstrument.js:
(WebInspector.MemoryInstrument):
(WebInspector.MemoryInstrument.supported):
(WebInspector.MemoryInstrument.prototype.get timelineRecordType):
(WebInspector.MemoryInstrument.prototype.startInstrumentation):
(WebInspector.MemoryInstrument.prototype.stopInstrumentation):
Instrument to start / stop memory tracking.

* UserInterface/Models/TimelineRecord.js:
Add a new "Memory" Timeline type.

* UserInterface/Views/ContentView.js:
(WebInspector.ContentView.createFromRepresentedObject):
* UserInterface/Models/TimelineRecording.js:
(WebInspector.TimelineRecording):
Add the new "Memory" Timeline.

(WebInspector.TimelineRecording.prototype.addRecord):
Memory timeline records do not show in the SourceCode Timelines Overview.

* UserInterface/Views/CircleChart.css:
(.circle-chart):
(.circle-chart > svg > path.background):
(.circle-chart > .center):
* UserInterface/Views/CircleChart.js: Added.
(WebInspector.CircleChart):
(WebInspector.CircleChart.prototype.get element):
(WebInspector.CircleChart.prototype.get points):
(WebInspector.CircleChart.prototype.get size):
(WebInspector.CircleChart.prototype.get centerElement):
(WebInspector.CircleChart.prototype.get segments):
(WebInspector.CircleChart.prototype.set segments):
(WebInspector.CircleChart.prototype.get values):
(WebInspector.CircleChart.prototype.set values):
(WebInspector.CircleChart.prototype.clear):
(WebInspector.CircleChart.prototype.needsLayout):
(WebInspector.CircleChart.prototype.updateLayout):
(WebInspector.CircleChart.prototype._needsLayout):
(WebInspector.CircleChart.prototype._createCompleteCirclePathData):
(WebInspector.CircleChart.prototype._createSegmentPathData):
(WebInspector.CircleChart.prototype._updateLayout):
Standalone circle "donut" chart, copied mostly from Rendering Frames Timeline.
Initialize the chart's segments, then feed it a set of ([v1, v2, ...]) values
corresponding to each of the segments.

* UserInterface/Views/LineChart.js: Added.
(WebInspector.LineChart):
(WebInspector.LineChart.prototype.get element):
(WebInspector.LineChart.prototype.get points):
(WebInspector.LineChart.prototype.get size):
(WebInspector.LineChart.prototype.set size):
(WebInspector.LineChart.prototype.addPoint):
(WebInspector.LineChart.prototype.clear):
(WebInspector.LineChart.prototype.needsLayout):
(WebInspector.LineChart.prototype.updateLayout):
(WebInspector.LineChart.prototype._needsLayout):
(WebInspector.LineChart.prototype._updateLayout):
Standalone line chart. Uses a single SVG path, given a set of (x, y) points.

* UserInterface/Views/StackedLineChart.js: Added.
(WebInspector.StackedLineChart):
(WebInspector.StackedLineChart.prototype.get element):
(WebInspector.StackedLineChart.prototype.get points):
(WebInspector.StackedLineChart.prototype.get size):
(WebInspector.StackedLineChart.prototype.set size):
(WebInspector.StackedLineChart.prototype.initializeSections):
(WebInspector.StackedLineChart.prototype.addPointSet):
(WebInspector.StackedLineChart.prototype.clear):
(WebInspector.StackedLineChart.prototype.needsLayout):
(WebInspector.StackedLineChart.prototype.updateLayout):
(WebInspector.StackedLineChart.prototype._needsLayout):
(WebInspector.StackedLineChart.prototype._updateLayout):
Standalone stacked line chart. Initialize the chart's sections,
then feed it a set of (x, [y1, y2 ...]) points where the y
values correspond to each of the sections.

* UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview.prototype.get scrollContainerWidth):
Add a way to get this value without forcing layout all the time.

* UserInterface/Views/TimelineTabContentView.js:
(WebInspector.TimelineTabContentView.displayNameForTimeline):
(WebInspector.TimelineTabContentView.iconClassNameForTimeline):
(WebInspector.TimelineTabContentView.genericClassNameForTimeline):
(WebInspector.TimelineTabContentView.iconClassNameForRecord):
(WebInspector.TimelineTabContentView.displayNameForRecord):
Add placeholders for the new Memory Timeline Type.

* UserInterface/Views/MemoryCategoryView.css:
(.memory-category-view):
(.memory-category-view > .details):
(.memory-category-view > .details > .name):
(.memory-category-view > .graph):
* UserInterface/Views/MemoryCategoryView.js: Added.
(WebInspector.MemoryCategoryView):
(WebInspector.MemoryCategoryView.prototype.get element):
(WebInspector.MemoryCategoryView.prototype.get category):
(WebInspector.MemoryCategoryView.prototype.clear):
(WebInspector.MemoryCategoryView.prototype.layoutWithDataPoints):
(WebInspector.MemoryCategoryView.prototype._updateDetails):
* UserInterface/Views/MemoryTimelineOverviewGraph.css:
(body .timeline-overview > .graphs-container > .timeline-overview-graph.memory):
(.timeline-overview-graph.memory):
(.timeline-overview-graph.memory > .legend):
(.timeline-overview-graph.memory > .stacked-line-chart > svg > path.javascript):
(.timeline-overview-graph.memory > .stacked-line-chart > svg > path.images):
(.timeline-overview-graph.memory > .stacked-line-chart > svg > path.layers):
(.timeline-overview-graph.memory > .stacked-line-chart > svg > path.page):
* UserInterface/Views/MemoryTimelineOverviewGraph.js: Added.
(WebInspector.MemoryTimelineOverviewGraph):
(WebInspector.MemoryTimelineOverviewGraph.prototype.get height):
(WebInspector.MemoryTimelineOverviewGraph.prototype.reset):
(WebInspector.MemoryTimelineOverviewGraph.prototype.layout.timeToX):
(WebInspector.MemoryTimelineOverviewGraph.prototype.layout.sizeToY):
(WebInspector.MemoryTimelineOverviewGraph.prototype.layout.sizesToYs):
(WebInspector.MemoryTimelineOverviewGraph.prototype.layout.ysForRecord):
(WebInspector.MemoryTimelineOverviewGraph.prototype.layout):
(WebInspector.MemoryTimelineOverviewGraph.prototype._updateLegend):
(WebInspector.MemoryTimelineOverviewGraph.prototype._visibleRecords):
(WebInspector.MemoryTimelineOverviewGraph.prototype._memoryTimelineRecordAdded):
* UserInterface/Views/MemoryTimelineView.css: Added.
(.timeline-view.memory):
(.timeline-view.memory > .content):
(.timeline-view.memory > .content > .overview):
(.timeline-view.memory > .content .title):
(.timeline-view.memory > .content .subtitle):
(.timeline-view.memory > .content > .details > .timeline-ruler):
(.timeline-view.memory > .content > .details > .subtitle):
(.timeline-view.memory > .content > .overview > .chart):
(.timeline-view.memory > .content > .overview > .chart > .subtitle):
(.timeline-view.memory > .content > .overview > .chart > .container):
(.timeline-view.memory > .content > .overview > .divider):
(.timeline-view.memory > .content > .overview .max-percentage):
(.timeline-view.memory .legend):
(.timeline-view.memory .legend > .row):
(.timeline-view.memory .legend > .row > .swatch):
(.timeline-view.memory .legend > .row > p):
(.timeline-view.memory .legend > .row > .label):
(.timeline-view.memory .legend > .row > .size):
(.timeline-view.memory .legend > .row > .swatch.javascript):
(.timeline-view.memory .legend > .row > .swatch.images):
(.timeline-view.memory .legend > .row > .swatch.layers):
(.timeline-view.memory .legend > .row > .swatch.page):
(.memory-category-view.javascript .line-chart > svg > path):
(.memory-category-view.images .line-chart > svg > path):
(.memory-category-view.layers .line-chart > svg > path):
(.memory-category-view.page .line-chart > svg > path):
(.timeline-view.memory .legend > .row > .swatch.current):
(.timeline-view.memory .circle-chart > svg > path.current):
(.timeline-view.memory .circle-chart > svg > path.remainder):
* UserInterface/Views/MemoryTimelineView.js: Added.
(WebInspector.MemoryTimelineView):
(WebInspector.MemoryTimelineView.displayNameForCategory):
(WebInspector.MemoryTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
(WebInspector.MemoryTimelineView.prototype.shown):
(WebInspector.MemoryTimelineView.prototype.hidden):
(WebInspector.MemoryTimelineView.prototype.closed):
(WebInspector.MemoryTimelineView.prototype.reset):
(WebInspector.MemoryTimelineView.prototype.treeElementPathComponentSelected):
(WebInspector.MemoryTimelineView.prototype.layout.timeToX):
(WebInspector.MemoryTimelineView.prototype.layout.sizeToY):
(WebInspector.MemoryTimelineView.prototype.layout.layoutCategoryView):
(WebInspector.MemoryTimelineView.prototype.layout):
(WebInspector.MemoryTimelineView.prototype._clearUsageLegend):
(WebInspector.MemoryTimelineView.prototype._updateUsageLegend):
(WebInspector.MemoryTimelineView.prototype._clearMaxComparisonLegend):
(WebInspector.MemoryTimelineView.prototype._updateMaxComparisonLegend):
(WebInspector.MemoryTimelineView.prototype._visibleRecords):
(WebInspector.MemoryTimelineView.prototype._initializeCategoryViews.appendLegendRow):
(WebInspector.MemoryTimelineView.prototype._initializeCategoryViews):
(WebInspector.MemoryTimelineView.prototype._memoryTimelineRecordAdded):
* UserInterface/Views/Variables.css:
(:root):
Memory timeline view styles.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

LayoutTests:

* inspector/memory/tracking-expected.txt: Added.
* inspector/memory/tracking.html: Added.
Basic test for the new domain tracking commands and events.

* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/win/TestExpectations:
Skip the directory on ports that have not implemented ENABLE(RESOURCE_USAGE).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195999 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoFix CMake build.
achristensen@apple.com [Tue, 2 Feb 2016 01:51:14 +0000 (01:51 +0000)]
Fix CMake build.

* PlatformMac.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195998 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoModern IDB: Cursors (still) do not keep their opening request alive.
beidson@apple.com [Tue, 2 Feb 2016 01:42:54 +0000 (01:42 +0000)]
Modern IDB: Cursors (still) do not keep their opening request alive.
https://bugs.webkit.org/show_bug.cgi?id=153724

Reviewed by Alex Christensen.

No new tests (All existing tests pass without flakiness).

IDBCursors did not properly keep their JS wrappers alive.
Making them ActiveDOMObjects that keep track of how many requests might be in flight fixes this.
This also makes them actually keep their opening-request live via the opaque-root mechanism.

IDBCursorWithValue also needed to opt in to all of these mechanisms.

* CMakeLists.txt:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/IDBCursor.h:
(WebCore::IDBCursor::hasPendingActivity): The base IDBCursor always has no pending activity,
  to maintain current behavior in LegacyIDB. This weirdness will go away when LegacyIDB does.
* Modules/indexeddb/IDBCursor.idl:
* Modules/indexeddb/IDBCursorWithValue.idl:

Track a count for all outstanding requests to keep the cursor alive as an ActiveDOMObject.
* Modules/indexeddb/client/IDBCursorImpl.cpp:
(WebCore::IDBClient::IDBCursor::IDBCursor):
(WebCore::IDBClient::IDBCursor::update):
(WebCore::IDBClient::IDBCursor::uncheckedIterateCursor):
(WebCore::IDBClient::IDBCursor::deleteFunction):
(WebCore::IDBClient::IDBCursor::activeDOMObjectName):
(WebCore::IDBClient::IDBCursor::canSuspendForDocumentSuspension):
(WebCore::IDBClient::IDBCursor::hasPendingActivity):
(WebCore::IDBClient::IDBCursor::decrementOutstandingRequestCount):
* Modules/indexeddb/client/IDBCursorImpl.h:

Rework the "delete" family of functions on the object store to allow for returning a modern IDBRequest.
A lot of this can go away when LegacyIDB does.
* Modules/indexeddb/client/IDBObjectStoreImpl.cpp:
(WebCore::IDBClient::IDBObjectStore::deleteFunction):
(WebCore::IDBClient::IDBObjectStore::doDelete):
(WebCore::IDBClient::IDBObjectStore::modernDelete):
* Modules/indexeddb/client/IDBObjectStoreImpl.h:

* Modules/indexeddb/client/IDBRequestImpl.cpp:
(WebCore::IDBClient::IDBRequest::setSource): Setup a ScopeGuard to decrement the cursor's request
  count whenever it makes sense to do so.
(WebCore::IDBClient::IDBRequest::dispatchEvent): Clear the ScopeGuard (if it exists) to decrement the count.
(WebCore::IDBClient::IDBRequest::willIterateCursor): Set the ScopeGuard.
(WebCore::IDBClient::IDBRequest::didOpenOrIterateCursor): Clear the ScopeGuard (if it exists) to decrement the count.
* Modules/indexeddb/client/IDBRequestImpl.h:

* Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::ScopeGuard::ScopeGuard): Deleted.
(WebCore::IDBServer::ScopeGuard::~ScopeGuard): Deleted.
(WebCore::IDBServer::ScopeGuard::enable): Deleted.
(WebCore::IDBServer::ScopeGuard::disable): Deleted.

* bindings/js/JSIDBCursorWithValueCustom.cpp: Added.
(WebCore::JSIDBCursorWithValue::visitAdditionalChildren):

* platform/ScopeGuard.h: Added.
(WebCore::ScopeGuard::ScopeGuard):
(WebCore::ScopeGuard::~ScopeGuard):
(WebCore::ScopeGuard::enable):
(WebCore::ScopeGuard::disable):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195997 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoSkipping http/tests/plugins/visible_plugins.html on Yosemite during investigation.
ryanhaddad@apple.com [Tue, 2 Feb 2016 01:39:00 +0000 (01:39 +0000)]
Skipping http/tests/plugins/visible_plugins.html on Yosemite during investigation.
https://bugs.webkit.org/show_bug.cgi?id=153752

Unreviewed test gardening.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195996 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: add a LayoutReason enum to the View base class
mattbaker@apple.com [Tue, 2 Feb 2016 01:27:25 +0000 (01:27 +0000)]
Web Inspector: add a LayoutReason enum to the View base class
https://bugs.webkit.org/show_bug.cgi?id=153731
<rdar://problem/24430938>

Reviewed by Brian Burg.

Added a LayoutReason enum to the View base class, which can be passed as an optional
argument to needsLayout() and updateLayout(). The value is propagated to the view's
subtree during layout.

* UserInterface/Base/Main.js:
Update top-level views with Resize layout reason when window is resized.

* UserInterface/Views/DataGrid.js:
(WebInspector.DataGrid.prototype._positionHeaderViews):
Update header view with Resize layout reason when column is resized.

* UserInterface/Views/OverviewTimelineView.js:
(WebInspector.OverviewTimelineView.prototype.shown):
Assume the view has been resized when shown, and update layout.
(WebInspector.OverviewTimelineView.prototype.updateLayoutForResize): Deleted.
No longer needed, handled by the View base class.

* UserInterface/Views/TimelineOverview.js:
(WebInspector.TimelineOverview.prototype.shown):
Assume the view has been resized when shown, and update layout.
(WebInspector.TimelineOverview.prototype.layout):
Invalidate cached scroll container width if resized.
(WebInspector.TimelineOverview.prototype.updateLayoutForResize): Deleted.
No longer needed, handled by the View base class.

* UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype.layout): Deleted.
No longer needed, handled by the View base class.

* UserInterface/Views/TimelineRuler.js:
(WebInspector.TimelineRuler.prototype.needsLayout):
(WebInspector.TimelineRuler.prototype.layout):
Update cached client width if resized.
(WebInspector.TimelineRuler.prototype.resize): Deleted.
Moved resize logic to layout override.

* UserInterface/Views/View.js:
(WebInspector.View):
(WebInspector.View.prototype.updateLayout):
Set layout reason.
(WebInspector.View.prototype.needsLayout):
Set layout reason even if an animation frame has already been scheduled,
since the layout reason could have changed.
(WebInspector.View.prototype._layoutSubtree):
Propagate layout reason to subtree, and reset the value when done.
(WebInspector.View.prototype._setLayoutReason):
Helper method for updating the layout reason. Ensures that LayoutReason.Resize
has priority over the default (LayoutReason.Dirty).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195995 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMarking imported/w3c/web-platform-tests/streams-api/readable-streams/garbage-collecti...
ryanhaddad@apple.com [Tue, 2 Feb 2016 01:12:48 +0000 (01:12 +0000)]
Marking imported/w3c/web-platform-tests/streams-api/readable-streams/garbage-collection-1.html as flaky on Mac debug
https://bugs.webkit.org/show_bug.cgi?id=153781

Unreviewed test gardening.

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195994 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd code to parse the git branches out of the Trac RSS feed https://bugs.webkit.org...
jmarcell@apple.com [Tue, 2 Feb 2016 00:55:34 +0000 (00:55 +0000)]
Add code to parse the git branches out of the Trac RSS feed https://bugs.webkit.org/show_bug.cgi?id=153624

Reviewed by Daniel Bates.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:
(Trac.prototype.commitsOnBranch): Update filter to check for Git branches.
(Trac.prototype._convertCommitInfoElementToObject): Parse Git branches from the Trac RSS feed. Also changed "branchName" to
"branches" and updated the code to work with an array instead of a string.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/MockTrac.js:
(MockTrac): Refactored example commits out into a constant, MockTrac.EXAMPLE_TRAC_COMMITS.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/test-fixture-git-trac-rss.xml: Added. Test
fixture that contains XML with a Git branch.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/tests.js: Added unit test to test parsing Git
branches from Trac RSS feed. Also updated code to work with the new MockTrac.EXAMPLE_TRAC_COMMITS constant.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195993 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoFree Colormap when XWindow is destroyed.
commit-queue@webkit.org [Tue, 2 Feb 2016 00:46:33 +0000 (00:46 +0000)]
Free Colormap when XWindow is destroyed.
https://bugs.webkit.org/show_bug.cgi?id=153413

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2016-02-01
Reviewed by Žan Doberšek.

Colormap is needed to create XWindow and it should be freed when XWindow is destroyed.
Unless Colormap is freed before destroying XWindow, memory leak is suspected.
XFreeColormap therefore is needed on X11Helper.

* platform/graphics/surfaces/glx/X11Helper.cpp: Added XFreeColormap.
(WebCore::X11Helper::destroyWindow):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195992 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMore iOS build fix.
mitz@apple.com [Tue, 2 Feb 2016 00:45:43 +0000 (00:45 +0000)]
More iOS build fix.

* Platform/spi/ios/UIKitSPI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195991 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoiOS build fix.
mitz@apple.com [Tue, 2 Feb 2016 00:41:16 +0000 (00:41 +0000)]
iOS build fix.

* Platform/IPC/mac/ConnectionMac.mm:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195990 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoCopy sandbox profiles during installhdrs.
mitz@apple.com [Tue, 2 Feb 2016 00:35:26 +0000 (00:35 +0000)]
Copy sandbox profiles during installhdrs.

Reviewed by Anders Carlsson.

* Configurations/SandboxProfiles.xcconfig:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195989 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[GTK] Unreviewed GTK+ Gardening.
clopez@igalia.com [Tue, 2 Feb 2016 00:00:16 +0000 (00:00 +0000)]
[GTK] Unreviewed GTK+ Gardening.

* platform/efl/TestExpectations: Add fast/shadow-dom/slot-removal-crash-2.html timeout expectation.
* platform/gtk/TestExpectations: Report and update a bunch of test expectations.
* platform/win/TestExpectations: Add fast/shadow-dom/slot-removal-crash-2.html timeout expectation.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195986 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Cocoa] Remove some more __has_include guards
mitz@apple.com [Mon, 1 Feb 2016 23:55:07 +0000 (23:55 +0000)]
[Cocoa] Remove some more __has_include guards
https://bugs.webkit.org/show_bug.cgi?id=153774

Reviewed by Tim Horton.

Guard private header includes with #if USE(APPLE_INTERNAL_SDK) rather than with __has_include.

* Platform/IPC/mac/ConnectionMac.mm:
* Platform/IPC/mac/ImportanceAssertion.h:
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
* Shared/cf/ArgumentCodersCF.cpp:
* Shared/mac/ChildProcessMac.mm:
* Shared/mac/SecItemShim.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195985 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd command line flag to DRT to output the number of tests completed in server mode.
beidson@apple.com [Mon, 1 Feb 2016 23:40:39 +0000 (23:40 +0000)]
Add command line flag to DRT to output the number of tests completed in server mode.
https://bugs.webkit.org/show_bug.cgi?id=153750

Reviewed by Darin Adler.

* DumpRenderTree/mac/DumpRenderTree.mm:
(initializeGlobalsFromCommandLineOptions):
(runTestingServerLoop):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195984 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Xcode] Let Xcode know that the WebKit XPC service products are XPC services
mitz@apple.com [Mon, 1 Feb 2016 23:37:02 +0000 (23:37 +0000)]
[Xcode] Let Xcode know that the WebKit XPC service products are XPC services
https://bugs.webkit.org/show_bug.cgi?id=153773

Reviewed by Tim Horton.

* Configurations/BaseXPCService.xcconfig: Removed now-redundant definitions of
  MACH_O_TYPE and WRAPPER_EXTENSION.
* WebKit2.xcodeproj/project.pbxproj: Updated product types.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195983 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoCrash using WKPDFView, in -[UIPDFPageView showContent]
timothy_horton@apple.com [Mon, 1 Feb 2016 23:31:30 +0000 (23:31 +0000)]
Crash using WKPDFView, in -[UIPDFPageView showContent]
https://bugs.webkit.org/show_bug.cgi?id=153770
<rdar://problem/20157864>

Reviewed by Anders Carlsson.

When scrolling, we throw away UIPDFPageViews, but forget to unhook their delegates.
In some cases (also because their delegate is a raw pointer, not weak), they can call
back into a deleted WKPDFView, causing a crash.

* UIProcess/ios/WKPDFView.mm:
(detachViewForPage):
Add a helper to detach a page view, and unhook its delegates.

(-[WKPDFView _clearPages]):
(-[WKPDFView _revalidateViews]):
Make use of the new helper.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195982 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[JSC] IRC can coalesce the frame pointer with a Tmp that is modified
benjamin@webkit.org [Mon, 1 Feb 2016 23:19:26 +0000 (23:19 +0000)]
[JSC] IRC can coalesce the frame pointer with a Tmp that is modified
https://bugs.webkit.org/show_bug.cgi?id=153694

Reviewed by Filip Pizlo.

Let's say we have:
    Move(FP, Tmp1)
    Add64(#1, Tmp1)

If we were to coalesce the Move, we would modify the frame pointer.
Well, that's exactly what was happening with IRC.

Since the epilogue is not know to Air before IRC, the liveness analysis
never discovers that FP is live when Tmp1 is UseDef by Add64. Adding
FP would a be a problem anyway for a bunch of reasons.

I tried two ways to prevent IRC to override IRC:
1) Add an interference edge with FP for all non-duplication Defs.
2) Let coalesce() know about FP and constraint any coalescing with a re-Def.

The two are within margin of error for performance. The second one was considerably
more complicated. This patch implements the first one.

Some extra note:
-It is very important to not increment the degree of a Tmp when making it interfere
 with FP. FP is not a valid color, it is not counted in the "K" colors considered
 for coloring. Increasing the degree with the edge to FP would make every stage
 pessimistic since there is an extra degree that can never be removed.
-I put "interferenceEdges" and "adjacencyList" in an inconsistent state.
 This is intentional, "interferenceEdges" is used to test the existence of an edge,
 "adjacencyList" is used to go over all the edges. In this case, we don't want
 the edge with FP to be considered when pruning the graph.

* b3/air/AirIteratedRegisterCoalescing.cpp:
One branch could be transformed into an assertion: TmpLiveness is type specific now.
* b3/testb3.cpp:
(JSC::B3::testOverrideFramePointer):
(JSC::B3::run):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195981 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMarking imported/w3c/web-platform-tests/XMLHttpRequest/open-url-multi-window-4.htm...
ryanhaddad@apple.com [Mon, 1 Feb 2016 22:13:21 +0000 (22:13 +0000)]
Marking imported/w3c/web-platform-tests/XMLHttpRequest/open-url-multi-window-4.htm as flaky on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=153336

Unreviewed test gardening.

* platform/ios-simulator/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195980 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMove some SPI declarations into the appropriate SPI header
timothy_horton@apple.com [Mon, 1 Feb 2016 22:07:06 +0000 (22:07 +0000)]
Move some SPI declarations into the appropriate SPI header
https://bugs.webkit.org/show_bug.cgi?id=153755

Reviewed by Darin Adler.

* platform/graphics/cocoa/IOSurface.mm:
* platform/spi/cg/CoreGraphicsSPI.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195979 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMarking http/tests/appcache/404-resource-with-slow-main-resource.php as flaky on...
ryanhaddad@apple.com [Mon, 1 Feb 2016 21:50:27 +0000 (21:50 +0000)]
Marking http/tests/appcache/404-resource-with-slow-main-resource.php as flaky on ios-simulator-wk2
https://bugs.webkit.org/show_bug.cgi?id=153503

Unreviewed test gardening.

* platform/ios-simulator/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195978 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMarking fast/replaced/preferred-widths.html as flaky on ios-simulator
ryanhaddad@apple.com [Mon, 1 Feb 2016 21:31:34 +0000 (21:31 +0000)]
Marking fast/replaced/preferred-widths.html as flaky on ios-simulator
https://bugs.webkit.org/show_bug.cgi?id=153311

Unreviewed test gardening.

* platform/ios-simulator/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195977 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoSkip fast/shadow-dom/touch-event-ios.html on ios-simulator since touch events are...
ryanhaddad@apple.com [Mon, 1 Feb 2016 21:25:00 +0000 (21:25 +0000)]
Skip fast/shadow-dom/touch-event-ios.html on ios-simulator since touch events are not supported.
https://bugs.webkit.org/show_bug.cgi?id=149592

Unreviewed test gardening.

* platform/ios-simulator/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195976 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoSnapshot surfaces are forever wired after being compressed
timothy_horton@apple.com [Mon, 1 Feb 2016 20:47:10 +0000 (20:47 +0000)]
Snapshot surfaces are forever wired after being compressed
https://bugs.webkit.org/show_bug.cgi?id=153751
<rdar://problem/24354546>

Reviewed by Darin Adler.

* platform/graphics/cocoa/IOSurface.mm:
(IOSurface::convertToFormat):
Allow IOSurfaceAccelerator to unwire surfaces after they're transformed.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195975 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago<rdar://problem/20150072> [iOS] Remove some file upload code only needed before iOS 9
mitz@apple.com [Mon, 1 Feb 2016 20:23:41 +0000 (20:23 +0000)]
<rdar://problem/20150072> [iOS] Remove some file upload code only needed before iOS 9
https://bugs.webkit.org/show_bug.cgi?id=153754

Reviewed by Darin Adler.

Source/WebCore:

* English.lproj/Localizable.strings: Updated for removal of WebKit2 string.

Source/WebKit2:

* Platform/spi/ios/UIKitSPI.h: Removed conditional forward declaration of SPI.

* UIProcess/ios/forms/WKFileUploadPanel.mm:
(photoLibraryIcon): Removed check for HAVE_WEBKIT_DOC_PICKER_ICONS, which is always true in
  iOS 9 and later.
(cameraIcon): Ditto.
(-[WKFileUploadPanel presentWithParameters:resultListener:]): Removed branch for when
  UIDocumentMenuViewController doesn’t respond to
  -_initIgnoringApplicationEntitlementForImportOfTypes:.
(-[WKFileUploadPanel _showMediaSourceSelectionSheet]): Deleted now-unused method.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195971 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoCache the Path instead of creating it every time it is required
commit-queue@webkit.org [Mon, 1 Feb 2016 19:45:18 +0000 (19:45 +0000)]
Cache the Path instead of creating it every time it is required
https://bugs.webkit.org/show_bug.cgi?id=152939

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2016-02-01
Reviewed by Darin Adler.

Source/WebCore:

Instead of creating the Path object every time it is required, we should
cache it in an LRU cache. TinyLRUCache returns a reference to the cached
entry so we do not have to pay the cost of copying it either.

* platform/graphics/FloatRoundedRect.h:
(WebCore::operator!=):
Implement the inequality operator for FloatRoundedRect since it is
called by TinyLRUCache.

* rendering/ClipPathOperation.h:
Return a reference to the path in the cache since instead of creating a
new copy.

* rendering/style/BasicShapes.cpp:
(WebCore::SVGPathTranslatedByteStream::SVGPathTranslatedByteStream):
(WebCore::SVGPathTranslatedByteStream::operator==):
(WebCore::SVGPathTranslatedByteStream::operator!=):
(WebCore::SVGPathTranslatedByteStream::isEmpty):
(WebCore::SVGPathTranslatedByteStream::path):
This struct holds an offset and an SVGPathByteStream. It is the key of
the LRU cache for the the translated SVGPathByteStream.

(WebCore::EllipsePathPolicy::isKeyNull):
(WebCore::EllipsePathPolicy::createValueForKey):
(WebCore::RoundedRectPathPolicy::isKeyNull):
(WebCore::RoundedRectPathPolicy::createValueForKey):
(WebCore::PolygonPathPolicy::isKeyNull):
(WebCore::PolygonPathPolicy::createValueForKey):
(WebCore::TranslatedByteStreamPathPolicy::isKeyNull):
(WebCore::TranslatedByteStreamPathPolicy::createValueForKey):
Inherit from the LRU cache policy template, so have a specific name for
the desired path contents and pass this class explicitly to the LRU cache
template.

(WebCore::cachedEllipsePath):
(WebCore::cachedRoundedRectPath):
(WebCore::cachedPolygonPath):
(WebCore::cachedTranslatedByteStreamPath):
Return a cached path object for specific path contents.

(WebCore::BasicShapeCircle::path):
(WebCore::BasicShapeEllipse::path):
(WebCore::BasicShapePolygon::path):
(WebCore::BasicShapePath::path):
(WebCore::BasicShapeInset::path):
Get the Path object from the cache; create a new one if it does not exist.

* rendering/style/BasicShapes.h:
Change the prototype of the path() function to return a reference to the
path in the cache instead of a having to copying it.

* svg/SVGPathByteStream.h:
(WebCore::SVGPathByteStream::operator!=):
Implement the inequality operator for SVGPathByteStream because it is
called by TinyLRUCache.

Source/WTF:

If the key type of an LRU cache can't to be strongly tided to a specific
data type; e.g. FloatRect -> Path, we need to be able to pass the policy
type to the TinyLRUCache template instead of just specializing it. This
will make the code more readable and will allow different caches for the
same key type.

* wtf/TinyLRUCache.h:
(WebCore::TinyLRUCache::get):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195970 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMove properties that use custom bindings to the prototype
cdumez@apple.com [Mon, 1 Feb 2016 19:42:14 +0000 (19:42 +0000)]
Move properties that use custom bindings to the prototype
https://bugs.webkit.org/show_bug.cgi?id=153735

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing.

* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/html/dom/interfaces-expected.txt:
* web-platform-tests/XMLHttpRequest/interfaces-expected.txt:

Source/WebCore:

Move properties that use custom bindings to the prototype. Whether a
property's bindings code is generated or custom-written should not
impact where the property is located.

No new tests, already covered by existing tests.

* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::getOwnPropertySlot):
Add null-check for staticPropHashTable. HTMLDocument no longer has
any property on the instance so staticPropHashTable is now null.

* bindings/scripts/CodeGeneratorJS.pm:

LayoutTests:

Rebaseline / update existing tests now that properties using custom
bindings are on the prototype, as expected.

* fast/mediastream/MediaStream-video-element-expected.txt:
* fast/xmlhttprequest/xmlhttprequest-properties-prototype-expected.txt:
* inspector/model/remote-object-get-properties-expected.txt:
* js/dom/dom-attributes-on-mismatch-type-expected.txt:
* js/dom/dom-attributes-on-mismatch-type.html:
* platform/mac/inspector/model/remote-object-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195969 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Win] WTFHeaderDetection.h no longer needed
achristensen@apple.com [Mon, 1 Feb 2016 19:05:43 +0000 (19:05 +0000)]
[Win] WTFHeaderDetection.h no longer needed
https://bugs.webkit.org/show_bug.cgi?id=153753
rdar://problem/24434627

Reviewed by Darin Adler.

.:

* Source/cmake/WebKitFS.cmake:

Source/WTF:

* wtf/Platform.h:
* wtf/PlatformWin.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195968 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: Rendering Frames timeline draws all frame bars at minimum height
mattbaker@apple.com [Mon, 1 Feb 2016 18:24:40 +0000 (18:24 +0000)]
Web Inspector: Rendering Frames timeline draws all frame bars at minimum height
https://bugs.webkit.org/show_bug.cgi?id=153736
<rdar://problem/21946301>

Reviewed by Timothy Hatcher.

* UserInterface/Views/TimelineRecordingContentView.js:
(WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
Update the new timeline overview's height before it's shown. Showing the
overview causes the rendering frames graph to do a layout, which requires
the height of the containing view to be a valid value.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195967 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: DataGridNode should support adding go-to arrow buttons to any cell
mattbaker@apple.com [Mon, 1 Feb 2016 18:22:37 +0000 (18:22 +0000)]
Web Inspector: DataGridNode should support adding go-to arrow buttons to any cell
https://bugs.webkit.org/show_bug.cgi?id=153733
<rdar://problem/24431813>

Reviewed by Brian Burg.

Provide a way to add go-to arrow buttons to any grid cell from within a
DataGridNode subclass's implementation of createCellContent.

* UserInterface/Views/DataGrid.js:
New event type, GoToArrowClicked.
(WebInspector.DataGridNode.prototype.createGoToArrowButton.buttonClicked):
(WebInspector.DataGridNode.prototype.createGoToArrowButton):
Adds a go-to arrow button to the cell's content element. Clicking the button
dispatches an event on the DataGrid, with event data containing the
DataGridNode and identifier of the cell containing the arrow button.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195966 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoREGRESSION(r195770): Use-after-free in ResourceLoaderOptions::cachingPolicy
jer.noble@apple.com [Mon, 1 Feb 2016 18:15:25 +0000 (18:15 +0000)]
REGRESSION(r195770): Use-after-free in ResourceLoaderOptions::cachingPolicy
https://bugs.webkit.org/show_bug.cgi?id=153727
<rdar://problem/24429886>

Reviewed by Chris Dumez.

The `this` object may be freed after calling deleteIfPossible(). Make the early-return-if-
deleted more explicit, and only check allowsCaching() after the deleteIfPossible() return
value check.

* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::removeClient):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195965 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoStop linking to PassKit
andersca@apple.com [Mon, 1 Feb 2016 17:56:58 +0000 (17:56 +0000)]
Stop linking to PassKit
https://bugs.webkit.org/show_bug.cgi?id=153746

Reviewed by Tim Horton.

* Configurations/WebKit.xcconfig:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195964 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Cocoa] Get rid of WK_ macros for initializers
mitz@apple.com [Mon, 1 Feb 2016 17:53:37 +0000 (17:53 +0000)]
[Cocoa] Get rid of WK_ macros for initializers
https://bugs.webkit.org/show_bug.cgi?id=153744

Reviewed by Anders Carlsson.

* Shared/API/Cocoa/WKFoundation.h: Removed definitions of WK_DESIGNATED_INITIALIZER and
  WK_UNAVAILABLE.

* mac/postprocess-framework-headers.sh: Removed rules for rewriting the above macros. Also
  removed Foundation import that became unnecessary, and definitions that were only needed
  before iOS 8.

Replaced instances of the above macros with their expansions.

* UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
* UIProcess/API/Cocoa/WKSecurityOrigin.h:
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebsiteDataStore.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195963 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoImprovements to botwatcher's dashboard unit tests.
jmarcell@apple.com [Mon, 1 Feb 2016 17:02:38 +0000 (17:02 +0000)]
Improvements to botwatcher's dashboard unit tests.
https://bugs.webkit.org/show_bug.cgi?id=153621

Reviewed by Darin Adler.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/PopoverTracker.js:
(PopoverTracker): Retain a reference to the PopoverTracker so that we can make assertions about it in the unit tests.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/MockTrac.js:
(MockTrac): Changing revision 33019 to be on a different branch so that _appendPendingRevisionCount and
_popoverLinesForCommitRange have to traverse commits from different branches.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/tests.js: Changing equal to strictEqual
in unit test for _appendPendingRevisionCount. Also added assertions for Popover in test for
_revisionContentWithPopoverForIteration.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195962 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRefactor to add event listeners and start periodic updates for all trac instances.
jmarcell@apple.com [Mon, 1 Feb 2016 17:01:56 +0000 (17:01 +0000)]
Refactor to add event listeners and start periodic updates for all trac instances.
https://bugs.webkit.org/show_bug.cgi?id=153609

Reviewed by Darin Adler.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
(BuildbotQueueView): Adding event listeners for all trac instances.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js: Starting periodic updates
for all trac instances.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195961 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoTried to fix a build after r195899.
mitz@apple.com [Mon, 1 Feb 2016 16:00:55 +0000 (16:00 +0000)]
Tried to fix a build after r195899.

* dom/EventContext.h: Enabled TouchEventContext type trait specialization on iOS.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195960 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed. Updating global-constructors-attributes expectations after introducing...
youenn.fablet@crf.canon.fr [Mon, 1 Feb 2016 12:33:22 +0000 (12:33 +0000)]
Unreviewed. Updating global-constructors-attributes expectations after introducing Request in r195954.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195959 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoOne more unreviewed speculative buildfix after r195755.
ossy@webkit.org [Mon, 1 Feb 2016 12:31:44 +0000 (12:31 +0000)]
One more unreviewed speculative buildfix after r195755.

* PlatformMac.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195958 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed speculative buildfix after r195755.
ossy@webkit.org [Mon, 1 Feb 2016 12:19:23 +0000 (12:19 +0000)]
Unreviewed speculative buildfix after r195755.

* PlatformMac.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195957 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed speculative buildfix.
ossy@webkit.org [Mon, 1 Feb 2016 11:26:50 +0000 (11:26 +0000)]
Unreviewed speculative buildfix.

* dfg/DFGCommon.h: FTL_USES_B3 should be false if FTL JIT is disabled.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195956 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed speculative buildfix after r195795.
ossy@webkit.org [Mon, 1 Feb 2016 11:20:19 +0000 (11:20 +0000)]
Unreviewed speculative buildfix after r195795.

* PlatformMac.cmake: Remove Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195955 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Fetch API] Implement Fetch API Request
youenn.fablet@crf.canon.fr [Mon, 1 Feb 2016 11:05:39 +0000 (11:05 +0000)]
[Fetch API] Implement Fetch API Request
https://bugs.webkit.org/show_bug.cgi?id=153437

LayoutTests/imported/w3c:

Reviewed by Darin Adler.

* web-platform-tests/fetch/api/headers/headers-basic.html:
* web-platform-tests/fetch/api/request/request-clone.sub-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-clone.sub.html: Added.
* web-platform-tests/fetch/api/request/request-consume-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-consume.html: Added.
* web-platform-tests/fetch/api/request/request-disturbed-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-disturbed.html: Added.
* web-platform-tests/fetch/api/request/request-error-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-error.html: Added.
* web-platform-tests/fetch/api/request/request-headers-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-headers.html: Added.
* web-platform-tests/fetch/api/request/request-idl-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-idl.html: Added.
* web-platform-tests/fetch/api/request/request-init-001.sub-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-init-001.sub.html: Added.
* web-platform-tests/fetch/api/request/request-init-002-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-init-002.html: Added.
* web-platform-tests/fetch/api/request/request-init-003.sub-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-init-003.sub.html: Added.
* web-platform-tests/fetch/api/request/request-structure-expected.txt: Added.
* web-platform-tests/fetch/api/request/request-structure.html: Added.
* web-platform-tests/fetch/api/resources/authentication.py: Added.
(main):
* web-platform-tests/fetch/api/resources/clean-stash.py: Added.
(main):
* web-platform-tests/fetch/api/resources/inspect-headers.py: Added.
(main):
* web-platform-tests/fetch/api/resources/method.py: Added.
(main):
* web-platform-tests/fetch/api/resources/preflight.py: Added.
(main):
* web-platform-tests/fetch/api/resources/redirect.py: Added.
(main):
* web-platform-tests/fetch/api/resources/top.txt: Added.
* web-platform-tests/fetch/api/resources/trickle.py: Added.
(main):
* web-platform-tests/fetch/api/resources/utils.js: Added.
(catch):
(dirname):
(checkRequest):
(readTextStream):

Source/WebCore:

Added support for Fetch Request and Body.
Body is sharing functionality between Request and Response.
Conversion between various body types are not implemented yet.

Added a FetchOptions class. Options in this class are partially redundant with ResourceLoaderOptions.

Fixing bug in Headers constructor.
Making error reporting in case of modifying headers compliant with the spec.

Reviewed by Darin Adler.

Tests: imported/w3c/web-platform-tests/fetch/api/request/request-clone.sub.html
       imported/w3c/web-platform-tests/fetch/api/request/request-consume.html
       imported/w3c/web-platform-tests/fetch/api/request/request-disturbed.html
       imported/w3c/web-platform-tests/fetch/api/request/request-error.html
       imported/w3c/web-platform-tests/fetch/api/request/request-headers.html
       imported/w3c/web-platform-tests/fetch/api/request/request-idl.html
       imported/w3c/web-platform-tests/fetch/api/request/request-init-001.sub.html
       imported/w3c/web-platform-tests/fetch/api/request/request-init-002.html
       imported/w3c/web-platform-tests/fetch/api/request/request-init-003.sub.html
       imported/w3c/web-platform-tests/fetch/api/request/request-structure.html

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* Modules/fetch/FetchBody.cpp: Added.
(WebCore::FetchBody::initBody):
(WebCore::FetchBody::clear):
(WebCore::FetchBody::processIfEmptyOrDisturbed):
(WebCore::FetchBody::arrayBuffer):
(WebCore::FetchBody::formData):
(WebCore::FetchBody::blob):
(WebCore::FetchBody::text):
(WebCore::FetchBody::json):
* Modules/fetch/FetchBody.h: Added.
(WebCore::FetchBody::~FetchBody):
(WebCore::FetchBody::isEmpty):
(WebCore::FetchBody::isDisturbed):
(WebCore::FetchBody::setDisturbed):
(WebCore::FetchBody::setMimeType):
(WebCore::FetchBody::mimeType):
* Modules/fetch/FetchBody.idl: Added.
* Modules/fetch/FetchHeaders.cpp:
(WebCore::canWriteHeader):
(WebCore::FetchHeaders::append):
(WebCore::FetchHeaders::remove):
(WebCore::FetchHeaders::set):
(WebCore::FetchHeaders::fill): Helper routine implementing https://fetch.spec.whatwg.org/#concept-headers-fill
* Modules/fetch/FetchHeaders.h: Adding header getter/setter for FetchRequest.
(WebCore::FetchHeaders::fastGet):
(WebCore::FetchHeaders::fastSet):
* Modules/fetch/FetchHeaders.js: Fixing bug in constructor (covered by modified headers-basc.html test).
(initializeFetchHeaders):
* Modules/fetch/FetchOptions.h: Added.
(WebCore::FetchOptions::FetchOptions):
(WebCore::FetchOptions::type):
(WebCore::FetchOptions::destination):
(WebCore::FetchOptions::mode):
(WebCore::FetchOptions::credentials):
(WebCore::FetchOptions::cache):
(WebCore::FetchOptions::redirect):
(WebCore::FetchOptions::referrerPolicy):
(WebCore::FetchOptions::setType):
(WebCore::FetchOptions::setDestination):
(WebCore::FetchOptions::setMode):
(WebCore::FetchOptions::setCredentials):
(WebCore::FetchOptions::setCache):
(WebCore::FetchOptions::setRedirect):
(WebCore::FetchOptions::setReferrerPolicy):
* Modules/fetch/FetchRequest.cpp: Added.
(WebCore::FetchRequest::create):
(WebCore::FetchRequest::FetchRequest):
(WebCore::FetchRequest::init):
(WebCore::FetchRequest::setReferrer):
(WebCore::FetchRequest::setReferrerPolicy):
(WebCore::FetchRequest::setMode):
(WebCore::FetchRequest::setCredentials):
(WebCore::FetchRequest::setCache):
(WebCore::FetchRequest::setRedirect):
(WebCore::FetchRequest::type):
(WebCore::FetchRequest::destination):
(WebCore::FetchRequest::referrerPolicy):
(WebCore::FetchRequest::referrer):
(WebCore::FetchRequest::mode):
(WebCore::FetchRequest::credentials):
(WebCore::FetchRequest::cache):
(WebCore::FetchRequest::redirect):
(WebCore::FetchRequest::setMethod):
(WebCore::FetchRequest::clone):
* Modules/fetch/FetchRequest.h: Added.
(WebCore::FetchRequest::method):
(WebCore::FetchRequest::url):
(WebCore::FetchRequest::integrity):
(WebCore::FetchRequest::headers):
* Modules/fetch/FetchRequest.idl: Added.
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/Dictionary.h:
(WebCore::Dictionary::execState):
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue):
* bindings/js/JSDictionary.h:
(WebCore::JSDictionary::get):

LayoutTests:

Reviewed by Darin Adler.

* js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
* js/dom/global-constructors-attributes-expected.txt:
* platform/efl/js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
* platform/efl/js/dom/global-constructors-attributes-expected.txt:
* platform/gtk/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-yosemite/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:
* platform/win/js/dom/global-constructors-attributes-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195954 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd resize event for HTMLMediaElement
commit-queue@webkit.org [Mon, 1 Feb 2016 06:34:07 +0000 (06:34 +0000)]
Add resize event for HTMLMediaElement
https://bugs.webkit.org/show_bug.cgi?id=125715

Patch by Jeremy Jones <jeremyj@apple.com> on 2016-01-31
Reviewed by Darin Adler.
LayoutTests/imported/w3c:

Rebaselined test after moving 'resize' from DOMWindow.idl to GlobalEventHandlers.idl
per https://html.spec.whatwg.org/multipage/webappapis.html#globaleventhandlers

* web-platform-tests/html/dom/interfaces-expected.txt:

Source/WebCore:

Tests: http/tests/media/hls/hls-video-resize.html
       media/video-resize.html

Move resize javascript event from DOMWindow.idl to GlobalEventHandlers.idl
per https://html.spec.whatwg.org/multipage/webappapis.html#globaleventhandlers

Post resize event from video element when metadata loads and when content size changes.

* dom/GlobalEventHandlers.idl: Add onresize.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::createEventHandlerNameMap): Add onresizeAttr.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::scheduleResizeEvent):
(WebCore::HTMLMediaElement::scheduleResizeEventIfSizeChanged):
* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::scheduleResizeEvent): Sechedule event.
(WebCore::HTMLVideoElement::scheduleResizeEventIfSizeChanged): Schedule event if size has changed.
* html/HTMLVideoElement.h: Add declarations.
* page/DOMWindow.idl: Remove onresize.

Source/WebInspectorUI:

Add a display name for "resize" event.

* UserInterface/Models/ScriptTimelineRecord.js:
(WebInspector.ScriptTimelineRecord.EventType.displayName):

LayoutTests:

Update test for change: move resize javascript event from DOMWindow.idl to GlobalEventHandlers.idl
per https://html.spec.whatwg.org/multipage/webappapis.html#globaleventhandlers

* fast/dom/event-handler-attributes-expected.txt: Rebaselined.
* fast/dom/event-handler-attributes.html:
    Move resize from uniqueWindowEvents to eventsInGlobalEventHandlers.
* http/tests/media/hls/hls-video-resize-expected.txt: Added.
* http/tests/media/hls/hls-video-resize.html: Added.
* js/dom/dom-static-property-for-in-iteration-expected.txt: Rebaselined.
* media/video-resize-expected.txt: Added.
* media/video-resize.html: Added.
* media/video-test.js:
(requiredEvents): Deleted global. Value is now captured by closure.
(waitForEventsAndCall): Remove dependence on global variable, and fix event observation leak.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195953 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoRevert accidental behavior change from previous patch.
darin@apple.com [Mon, 1 Feb 2016 05:51:48 +0000 (05:51 +0000)]
Revert accidental behavior change from previous patch.

* platform/URL.cpp:
(WebCore::mimeTypeFromDataURL): Restore behavior where an empty MIME type would
be turned into "text/plain".

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195952 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoCut down on calls to String::lower; mostly replace with convertToASCIILowercase
darin@apple.com [Mon, 1 Feb 2016 05:46:20 +0000 (05:46 +0000)]
Cut down on calls to String::lower; mostly replace with convertToASCIILowercase
https://bugs.webkit.org/show_bug.cgi?id=153732

Reviewed by Dean Jackson.

Source/WebCore:

* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::isTypeSupported): Added comment about mysterious call
to lower(); should probably return here and remove it.

* Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
(WebCore::initProtocolHandlerWhitelist): Deleted. Moved into isProtocolWhitelisted.
(WebCore::isProtocolWhitelisted): Changed set to be ASCIICaseInsensitiveHash and
initialized it using a lambda instead of a separate function.
(WebCore::verifyProtocolHandlerScheme): Added a FIXME about some case sensitive
checking of the protocol prefix here.

* Modules/plugins/QuickTimePluginReplacement.mm:
(WebCore::QuickTimePluginReplacement::supportsMimeType): Changed set to be
ASCIICaseInsensitiveHash and initialized it using a lambda instead of using
an explict check for empty.
(WebCore::QuickTimePluginReplacement::supportsFileExtension): Ditto.

* Modules/plugins/YouTubePluginReplacement.cpp:
(WebCore::queryKeysAndValues): Use convertToASCIILowercase. The keys here are
going to be all ASCII.
(WebCore::isYouTubeURL): Use equalLettersIgnoringASCIICase instead of lowercasing
the string.
(WebCore::processAndCreateYouTubeURL): Use url.protocolIsInHTTPFamily instead of
listing "http" and then "https" explicitly. Use equalLettersIgnoringASCIICase
instead of lowercasing a string.
(WebCore::YouTubePluginReplacement::youTubeURL): Ditto.

* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::hostName): Use convertToASCIILowercase on host name.
(WebCore::WebSocketHandshake::host): Ditto.

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(webkitAccessibleGetAttributes): Call convertToASCIILowercase instead of lower
to lowercase an element's tag name. This is a strange way to do things; typically
would be better to use some other function on Element, since tagName goes out of
its way to be capitalized, but some ATK expert can improve this later.

* css/CSSGrammar.y.in: Use the new convertToASCIILowercaseInPlace function rather
than the old lower function. We only need to lowercase the ASCII letters, and it's
also better to have the function have a clearer name.

* css/CSSParser.cpp:
(WebCore::convertToASCIILowercaseInPlace): Renamed from makeLower and made it deal
with only ASCII lowercasing.
(WebCore::CSSParserString::convertToASCIILowercaseInPlace): Renamed from lower.
(WebCore::isUniversalKeyword): Added. Helper for the function below that uses
equalLettersIgnoringASCIICase rather than lowercasing the string.
(WebCore::parseKeywordValue): Use isUniversalKeyword. Also clarified a comment.
(WebCore::CSSParser::parseAttr): Use convertToASCIILowercaseInPlace and delay
String creation until later in the function, using CSSParserString operations more.

* css/CSSParserValues.cpp:
(WebCore::CSSParserSelector::parsePseudoElementSelector): Use
convertToASCIILowercaseInPlace by its new name, with its new behavior.

* css/CSSParserValues.h: Tweaked comment and formatting a bit. Replaced the lower
function with the convertToASCIILowercaseInPlace function.

* css/CSSSelector.cpp:
(WebCore::CSSSelector::RareData::parseNth): Rewrote this to avoid the need to
make a lowercased copy of m_argument. Use equalLettersIgnoringASCIICase, and two
calls to find. Also use String::toIntStrict so we don't have to create String
objects for substrings.

* css/MediaQuery.cpp:
(WebCore::MediaQuery::MediaQuery): Use convertToASCIILowercase for media type name.
* css/MediaQueryExp.cpp:
(WebCore::MediaQueryExp::serialize): Use convertToASCIILowercase for media feature name.

* dom/Document.cpp:
(WebCore::isSeparator): Tweaked formatting and removed non-helpful comment.
(WebCore::processArguments): Changed this from a static member function to a non-member
file internal function. Use a std::function instead of a function pointer with a void*
pointer. Rewrote algorithm to simplify it and use StringView instead of String for the
keys and values.
(WebCore::Document::processViewport): Use a lambda instead of a function pointer to
call setViewportFeature, so that function's interface is no longer dictated by
the exact type of the function pointer argument to processArguments.
(WebCore::Document::processFormatDetection): Use a lambda instead of the
setParserFeature function above; use equalLettersIgnoringASCIICase for both the
key and the value, since processArguments no longer lowercases the string.
(WebCore::Document::processArguments): Deleted.

* dom/Document.h: Removed unnecessary declaration of processArguments and
ArgumentsCallback. Both are now private to the cpp file.

* dom/Element.cpp:
(WebCore::makeIdForStyleResolution): Use convertToASCIILowercase. When in quirks mode,
we want to match IDs in an ASCII case-insensitive way not match compatibility caseless.

* dom/ScriptElement.cpp:
(WebCore::ScriptElement::isScriptTypeSupported): Remove the use of lower here since
the MIME type registry is now itself ASCII case-insensitive.

* dom/ViewportArguments.cpp:
(WebCore::numericPrefix): Changed to use StringView and take a Document&, rearranged
argument order so Document& comes first.
(WebCore::findSizeValue): Ditto.
(WebCore::findScaleValue): Ditto.
(WebCore::findBooleanValue): Ditto. Also use std::abs instead of fabs, possibly
avoiding a conversion from float to double (not sure it was happening before but it's
definitely not happening now).
(WebCore::setViewportFeature): Changed to put arguments in a more logical order, to take
the ViewportArguments as a reference, not a void*, and to use StringView to avoid forcing
the caller to allocate strings. Also changed to use equalLettersIgnoringASCIICase so we
don't rely on the caller to make the key lowercase for us.
(WebCore::reportViewportWarning): Changed argument types. Added a couple comments about
mistakes in the function.

* dom/ViewportArguments.h: Removed unnecessary declaration of reportViewportWarning,
which is now private to the cpp file. Updated for new arguments to setViewportFeature.

* editing/EditorCommand.cpp:
(WebCore::executeFormatBlock): Use convertToASCIILowercase on the argument, which is
specifying a tag name.

* fileapi/Blob.cpp:
(WebCore::Blob::isValidContentType): Removed unnecessary separate loops for
8-bit and 16-bit strings. Content types are short strings and this small optimization is
not worth the additional code complexity.
(WebCore::Blob::normalizedContentType): Use convertToASCIILowercase since valid
content types are guaranteed to be all ASCII.
(WebCore::Blob::isNormalizedContentType): Removed unnecessary separate loops for
8-bit and 16-bit strings. Content types are short strings and this small optimization is
not worth the additional code complexity.

* html/parser/HTMLParserIdioms.cpp: Added now-needed include of QualifiedName.h.

* html/parser/HTMLParserIdioms.h: Removed unneeded include of QualifiedName.h and
WTFString.h. Made sure every function is declared first, even if it's also defined
later in the header in the section for functions templates and inline functions.

* loader/archive/ArchiveFactory.cpp:
(WebCore::ArchiveFactory::registerKnownArchiveMIMETypes): Use auto& for the type of
the set of MIME types here, since it's now using ASCIICaseInsensitiveHash.

* platform/MIMETypeRegistry.cpp: Changed the MIME type sets to use
ASCIICaseInsensitiveHash since MIME type are not case sensitive.
(WebCore::initializeSupportedImageMIMETypes): Use a modern for loop.
(WebCore::initializeSupportedImageMIMETypesForEncoding): Updated for HashSet type change.
(WebCore::initializePDFMIMETypes): Use a modern for loop.
(WebCore::initializeSupportedNonImageMimeTypes): Use a modern for loop.
(WebCore::initializeSupportedMediaMIMETypes): Updated for HashSet type change.
(WebCore::initializeUnsupportedTextMIMETypes): Use a modern for loop.
(WebCore::initializeMIMETypeRegistry): Updated for HashSet type change.
(WebCore::MIMETypeRegistry::getSupportedImageMIMETypes): Ditto.
(WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): Ditto.
(WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding): Ditto.
(WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes): Ditto.
(WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes): Ditto.
(WebCore::MIMETypeRegistry::getPDFMIMETypes): Ditto.
(WebCore::MIMETypeRegistry::getPDFAndPostScriptMIMETypes): Ditto.
(WebCore::MIMETypeRegistry::getUnsupportedTextMIMETypes): Ditto.
(WebCore::mimeTypeAssociationMap): Use ASCIICaseInsensitiveHash.
(WebCore::MIMETypeRegistry::getNormalizedMIMEType): Use auto to make code tighter.

* platform/MIMETypeRegistry.h: Changed return types of the getMIMETypes functions
to use ASCIICaseInsensitiveHash.

* platform/SchemeRegistry.cpp:
(WebCore::schemesForbiddenFromDomainRelaxation): Changed type to
use ASCIICaseInsensitiveHash.

* platform/URL.cpp:
(WebCore::mimeTypeFromDataURL): Use convertToASCIILowercase instead of lower.
Also removed some dead code that tried to handle the case where the data URL
has a comma as one of the first 5 characters: That can't happen since it's a
precondition of this function that the first five characters are "data:".

* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::getSupportedTypes): Change type of argument to
a HashSet with ASCIICaseInsensitiveHash.
* platform/graphics/MediaPlayer.h: Ditto.

* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::staticMIMETypeList):
Changed type of HashSet to use ASCIICaseInsensitiveHash.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Ditto.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::avfMIMETypes):
Changed type of HashSet to use ASCIICaseInsensitiveHash.
(WebCore::MediaPlayerPrivateAVFoundationCF::getSupportedTypes): Ditto.
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: Ditto.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
Changed type of HashSet to use ASCIICaseInsensitiveHash.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithImageGenerator): Removed
an unnecessary line of code to set a local variable to 0 just before it falls
out of scope.
(WebCore::avfMIMETypes): Ditto. Also tightened up the code a bit.
(WebCore::MediaPlayerPrivateAVFoundationObjC::getSupportedTypes): Ditto.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
Changed type of HashSet to use ASCIICaseInsensitiveHash.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::mimeTypeCache): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::getSupportedTypes): Ditto.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h: Ditto.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::getSupportedTypes): Ditto.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::mimeTypeCache): Ditto.
(WebCore::MediaPlayerPrivateGStreamer::getSupportedTypes): Ditto.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h: Ditto.

* platform/graphics/mac/MediaPlayerPrivateQTKit.h: Ditto.
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::shouldRejectMIMEType): Made this non-case-sensitive by using startsWith
and the "false" argument. Later change this to startsWithIgnoringASCIICase or
startsWithLettersIgnoringASCIICase.
(WebCore::addFileTypesToCache): Use ASCIICaseInsensitiveHash. ALso rewrote to
tighten up the code a bit and use modern Objective-C for loops.
(WebCore::mimeCommonTypesCache): Use ASCIICaseInsensitiveHash.
(WebCore::mimeModernTypesCache): Ditto.
(WebCore::concatenateHashSets): Ditto.
(WebCore::MediaPlayerPrivateQTKit::getSupportedTypes): Ditto.
(WebCore::MediaPlayerPrivateQTKit::disableUnsupportedTracks): Initialied
track type set using lambda, but left it case sensitive.

* platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::mimeTypeCache): Changed type of HashSet to use ASCIICaseInsensitiveHash.
(WebCore::MediaPlayerPrivateMediaFoundation::getSupportedTypes): Ditto.
* platform/graphics/win/MediaPlayerPrivateMediaFoundation.h:

* platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::mimeTypeCache): Ditto.
(WebCore::MockMediaPlayerMediaSource::getSupportedTypes): Ditto.
* platform/mock/mediasource/MockMediaPlayerMediaSource.h: Ditto.

Source/WebKit/mac:

* WebView/WebHTMLRepresentation.mm:
(newArrayWithStrings): Updated to use HashSet<String, ASCIICaseInsensitiveHash>
and also to use a modern for loop.

Source/WTF:

* wtf/text/StringView.h: Added toIntStrict. Not thrilled about the name of this
function, but generally it seems likely to be useful more often than toInt.
And it's needed for one call site in WebCore that was using String::lower.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195951 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd "WebKit built-in PDF" Plugin to set of publicly visible plugins
bfulgham@apple.com [Mon, 1 Feb 2016 04:44:07 +0000 (04:44 +0000)]
Add "WebKit built-in PDF" Plugin to set of publicly visible plugins
https://bugs.webkit.org/show_bug.cgi?id=153657
<rdar://problem/24413107>

Reviewed by Darin Adler.

Source/WebCore:

Tested by http/tests/plugins/visible_plugins.html.

A number of poorly-coded sites break when WebKit reports that it understands PDF mime types,
but does not have a list of plugins that the site can iterate through.

To avoid this compatibility problem, we should also expose the "WebKit built-in PDF" plugin
to avoid this edge case.

* plugins/PluginData.cpp:
(WebCore::shouldBePubliclyVisible): Add "WebKit built-in PDF" plugin.

LayoutTests:

* http/tests/plugins/visible_plugins-expected.txt: Added.
* http/tests/plugins/visible_plugins.html: Added.
* platform/mac-wk2/http/tests/plugins: Added.
* platform/mac-wk2/http/tests/plugins/visible_plugins-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195950 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAX: Add a boundary value to AXTextStateChangeType
commit-queue@webkit.org [Mon, 1 Feb 2016 04:09:02 +0000 (04:09 +0000)]
AX: Add a boundary value to AXTextStateChangeType
https://bugs.webkit.org/show_bug.cgi?id=153085

Patch by Doug Russell <d_russell@apple.com> on 2016-01-31
Reviewed by Darin Adler.

Post an AT notification when navigation is attempted past
an editable element's boundaries.

Source/WebCore:

Test: accessibility/mac/selection-boundary-userinfo.html

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::showIntent):
* accessibility/AXTextStateChangeIntent.h:
* accessibility/mac/AXObjectCacheMac.mm:
(platformChangeTypeForWebCoreChangeType):
(WebCore::AXObjectCache::postTextStateChangePlatformNotification):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::modifyMovingRight):
(WebCore::FrameSelection::modifyMovingForward):
(WebCore::FrameSelection::modifyMovingLeft):
(WebCore::FrameSelection::modifyMovingBackward):
(WebCore::textSelectionWithDirectionAndGranularity):
(WebCore::FrameSelection::modify):
(WebCore::FrameSelection::modifyExtendingBackward): Deleted.
(WebCore::FrameSelection::textSelectionIntent): Deleted.
* editing/FrameSelection.h:
* editing/VisiblePosition.cpp:
(WebCore::VisiblePosition::next):
(WebCore::VisiblePosition::previous):
(WebCore::VisiblePosition::left):
(WebCore::VisiblePosition::right):
(WebCore::VisiblePosition::honorEditingBoundaryAtOrBefore):
(WebCore::VisiblePosition::honorEditingBoundaryAtOrAfter):
(WebCore::VisiblePosition::leftVisuallyDistinctCandidate): Deleted.
(WebCore::VisiblePosition::rightVisuallyDistinctCandidate): Deleted.
* editing/VisiblePosition.h:
* editing/VisibleUnits.cpp:
(WebCore::startOfLine):
(WebCore::logicalStartOfLine):
(WebCore::endOfLine):
(WebCore::logicalEndOfLine):
(WebCore::leftBoundaryOfLine):
(WebCore::rightBoundaryOfLine):
(WebCore::inSameLogicalLine): Deleted.
(WebCore::endOfEditableContent): Deleted.
(WebCore::isEndOfEditableOrNonEditableContent): Deleted.
* editing/VisibleUnits.h:

LayoutTests:

* accessibility/mac/selection-boundary-userinfo-expected.txt: Added.
* accessibility/mac/selection-boundary-userinfo.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195949 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoCSP: Use the served CSP header for dedicated workers
dbates@webkit.org [Mon, 1 Feb 2016 03:10:00 +0000 (03:10 +0000)]
CSP: Use the served CSP header for dedicated workers
https://bugs.webkit.org/show_bug.cgi?id=153157
<rdar://problem/24383254>
And
https://bugs.webkit.org/show_bug.cgi?id=153156
<rdar://problem/24383246>

Patch by Daniel Bates <dabates@apple.com> on 2016-01-31
Reviewed by Brent Fulgham.

Source/WebCore:

Inspired by Blink commit:
<https://src.chromium.org/viewvc/blink?revision=194143&view=revision>

Implement support for respecting Content Security Policy (CSP) HTTP headers included in the
HTTP response for a Web Worker's script as per section Workers of the CSP 2.0 spec,
<https://w3c.github.io/webappsec-csp/2/#processing-model-workers> (29 August 2015).

Currently a Web Worker always inherits the CSP of its owner document. Instead a web worker
will inherit the CSP of its owner document only if its script is incapable of defining a
content security policy (i.e. its origin is a globally unique identifier). Otherwise, the
CSP HTTP headers delivered with the script will be used to define the CSP for the worker.

Tests: fast/workers/worker-inherits-csp-blocks-eval.html
       fast/workers/worker-inherits-csp-blocks-xhr.html
       http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-blocks-eval.html

* CMakeLists.txt: Add file ContentSecurityPolicyResponseHeaders.cpp.
* WebCore.vcxproj/WebCore.vcxproj: Add files ContentSecurityPolicyResponseHeaders.{cpp, h}.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* dom/Document.cpp:
(WebCore::Document::processHttpEquiv): Update code to use enum class ContentSecurityPolicyHeaderType.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::didBeginDocument): Extract logic to collect Content Security Policy HTTP headers
into class ContentSecurityPolicyResponseHeaders and make use of it here.
* page/csp/ContentSecurityPolicy.cpp:
(WebCore::CSPDirectiveList::headerType): Modified to use enum class ContentSecurityPolicyHeaderType.
(WebCore::CSPDirectiveList::CSPDirectiveList): Ditto.
(WebCore::CSPDirectiveList::create): Ditto.
(WebCore::ContentSecurityPolicy::responseHeaders): Creates and returns a ContentSecurityPolicyResponseHeaders
object with the parsed CSP policy headers.
(WebCore::ContentSecurityPolicy::didReceiveHeaders): Processed the CSP policy headers represented by the
specified ContentSecurityPolicyResponseHeaders object.
(WebCore::ContentSecurityPolicy::deprecatedHeader): Deleted.
(WebCore::ContentSecurityPolicy::deprecatedHeaderType): Deleted.
* page/csp/ContentSecurityPolicy.h: Defines a class that represents a collection of CSP policy headers.
This class has two purposes:
    - It extracts the CSP policy headers from a HTTP response (ResourceResponse object). We make use of
    this functionality in both FrameLoader::didBeginDocument() and Worker::didReceiveResponse().
    - It serves as a memento that externalizes the internal CSP policy details of an instance of
    ContentSecurityPolicy. We make use of this memento functionality to support inheriting the
    CSP policy of the worker's owner document in a thread-safe manner. You can create and restore
    a memento using ContentSecurityPolicy::responseHeaders() and ContentSecurityPolicy::didReceiveHeaders(), respectively.
* page/csp/ContentSecurityPolicyResponseHeaders.cpp: Added.
(WebCore::ContentSecurityPolicyResponseHeaders::ContentSecurityPolicyResponseHeaders): Extracts the
CSP HTTP headers from a ResourceResponse object.
(WebCore::ContentSecurityPolicyResponseHeaders::isolatedCopy): Make a copy of this object that is
safe to pass to another thread.
* page/csp/ContentSecurityPolicyResponseHeaders.h: Added.
* workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::create): Modified to use class ContentSecurityPolicyResponseHeaders.
* workers/DedicatedWorkerGlobalScope.h:
* workers/DedicatedWorkerThread.cpp:
(WebCore::DedicatedWorkerThread::create): Ditto.
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread): Ditto.
(WebCore::DedicatedWorkerThread::createWorkerGlobalScope): Ditto.
* workers/DedicatedWorkerThread.h:
* workers/Worker.cpp:
(WebCore::Worker::didReceiveResponse): Create a ContentSecurityPolicyResponseHeaders if the origin of
the worker's script is capable of providing a CSP. Otherwise, we will inherit the CSP of the worker's owner
document in Worker::notifyFinished().
(WebCore::Worker::notifyFinished): Pass the appropriate CSP response headers to WorkerMessagingProxy::startWorkerGlobalScope().
* workers/Worker.h:
* workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::applyContentSecurityPolicyResponseHeaders): Renamed; formerly named applyContentSecurityPolicyFromString().
Modified to take a ContentSecurityPolicyResponseHeaders and apply it to the ContentSecurityPolicy object associated with the worker.
(WebCore::WorkerGlobalScope::applyContentSecurityPolicyFromString): Deleted.
* workers/WorkerGlobalScope.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope): Pass the worker's ContentSecurityPolicyResponseHeaders object.
* workers/WorkerThread.cpp:
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData): Added field m_contentSecurityPolicyResponseHeaders to store
the CSP response headers to be applied to the worker's ContentSecurityPolicy object.
(WebCore::WorkerThread::WorkerThread): Modified to use ContentSecurityPolicyResponseHeaders.
(WebCore::WorkerThread::workerThread): Pass the ContentSecurityPolicyResponseHeaders object from the start up data struct
to DedicatedWorkerThread::createWorkerGlobalScope().
* workers/WorkerThread.h:

LayoutTests:

Add new tests to ensure we block eval() in blob-, file-URL workers and block XHR in a file-URL worker.

* TestExpectations: Remove now passing tests http/tests/security/contentSecurityPolicy/worker-{multiple-csp-headers, without-own-csp}.html
and update the associated bug # for tests that fail.
* fast/workers/resources/worker-inherits-csp-blocks-eval.js: Added.
(catch):
* fast/workers/resources/worker-inherits-csp-blocks-xhr.js: Added.
(catch):
* fast/workers/worker-inherits-csp-blocks-eval-expected.txt: Added.
* fast/workers/worker-inherits-csp-blocks-eval.html: Added.
* fast/workers/worker-inherits-csp-blocks-xhr-expected.txt: Added.
* fast/workers/worker-inherits-csp-blocks-xhr.html: Added.
* http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-blocks-eval-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/worker-blob-inherits-csp-blocks-eval.html: Added.
* http/tests/security/contentSecurityPolicy/worker-multiple-csp-headers-expected.txt: Updated expected results as
the result was incorrect.
* http/tests/security/contentSecurityPolicy/worker-without-own-csp-expected.txt: Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195948 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed. EFL gardening: rebaseline tests after r195740. (more to follow)
hs85.jeong@samsung.com [Mon, 1 Feb 2016 02:22:58 +0000 (02:22 +0000)]
Unreviewed. EFL gardening: rebaseline tests after r195740. (more to follow)

* platform/efl/css1/basic/containment-expected.txt:
* platform/efl/css1/basic/contextual_selectors-expected.txt:
* platform/efl/css1/basic/grouping-expected.txt:
* platform/efl/css1/basic/id_as_selector-expected.txt:
* platform/efl/css1/basic/inheritance-expected.txt:
* platform/efl/css1/box_properties/border-expected.txt:
* platform/efl/css1/box_properties/border_bottom-expected.txt:
* platform/efl/css1/box_properties/border_bottom_inline-expected.txt:
* platform/efl/css1/box_properties/border_bottom_width-expected.txt:
* platform/efl/css1/box_properties/border_bottom_width_inline-expected.txt:
* platform/efl/css1/box_properties/border_color-expected.txt:
* platform/efl/css1/box_properties/border_color_inline-expected.txt:
* platform/efl/css1/box_properties/border_inline-expected.txt:
* platform/efl/css1/box_properties/border_left-expected.txt:
* platform/efl/css1/box_properties/border_left_inline-expected.txt:
* platform/efl/css1/box_properties/border_left_width-expected.txt:
* platform/efl/css1/box_properties/border_left_width_inline-expected.txt:
* platform/efl/css1/box_properties/border_right-expected.txt:
* platform/efl/css1/box_properties/border_right_inline-expected.txt:
* platform/efl/css1/box_properties/border_right_width-expected.txt:
* platform/efl/css1/box_properties/border_right_width_inline-expected.txt:
* platform/efl/css1/box_properties/border_style-expected.txt:
* platform/efl/css1/box_properties/border_style_inline-expected.txt:
* platform/efl/css1/box_properties/border_top-expected.txt:
* platform/efl/css1/box_properties/border_top_inline-expected.txt:
* platform/efl/css1/box_properties/border_top_width-expected.txt:
* platform/efl/css1/box_properties/border_top_width_inline-expected.txt:
* platform/efl/css1/box_properties/clear-expected.txt:
* platform/efl/css1/box_properties/clear_float-expected.txt:
* platform/efl/css1/box_properties/float-expected.txt:
* platform/efl/css1/box_properties/float_elements_in_series-expected.txt:
* platform/efl/css1/box_properties/float_margin-expected.txt:
* platform/efl/css1/box_properties/height-expected.txt:
* platform/efl/css1/box_properties/margin-expected.txt:
* platform/efl/css1/box_properties/margin_bottom-expected.txt:
* platform/efl/css1/box_properties/margin_bottom_inline-expected.txt:
* platform/efl/css1/box_properties/margin_inline-expected.txt:
* platform/efl/css1/box_properties/margin_left-expected.txt:
* platform/efl/css1/box_properties/margin_left_inline-expected.txt:
* platform/efl/css1/box_properties/margin_right-expected.txt:
* platform/efl/css1/box_properties/margin_right_inline-expected.txt:
* platform/efl/css1/box_properties/margin_top-expected.txt:
* platform/efl/css1/box_properties/margin_top_inline-expected.txt:
* platform/efl/css1/box_properties/padding-expected.txt:
* platform/efl/css1/box_properties/padding_bottom-expected.txt:
* platform/efl/css1/box_properties/padding_bottom_inline-expected.txt:
* platform/efl/css1/box_properties/padding_inline-expected.txt:
* platform/efl/css1/box_properties/padding_left-expected.txt:
* platform/efl/css1/box_properties/padding_left_inline-expected.txt:
* platform/efl/css1/box_properties/padding_right-expected.txt:
* platform/efl/css1/box_properties/padding_right_inline-expected.txt:
* platform/efl/css1/box_properties/padding_top-expected.txt:
* platform/efl/css1/box_properties/padding_top_inline-expected.txt:
* platform/efl/css1/box_properties/width-expected.txt:
* platform/efl/css1/cascade/cascade_order-expected.txt:
* platform/efl/css1/cascade/important-expected.txt:
* platform/efl/css1/classification/display-expected.txt:
* platform/efl/css1/classification/list_style-expected.txt:
* platform/efl/css1/classification/list_style_image-expected.txt:
* platform/efl/css1/classification/list_style_position-expected.txt:
* platform/efl/css1/classification/list_style_type-expected.txt:
* platform/efl/css1/classification/white_space-expected.txt:
* platform/efl/css1/color_and_background/background-expected.txt:
* platform/efl/css1/color_and_background/background_attachment-expected.txt:
* platform/efl/css1/color_and_background/background_color-expected.txt:
* platform/efl/css1/color_and_background/background_image-expected.txt:
* platform/efl/css1/color_and_background/background_position-expected.txt:
* platform/efl/css1/color_and_background/background_repeat-expected.txt:
* platform/efl/css1/color_and_background/color-expected.txt:
* platform/efl/css1/conformance/forward_compatible_parsing-expected.txt:
* platform/efl/css1/font_properties/font-expected.txt:
* platform/efl/css1/font_properties/font_family-expected.txt:
* platform/efl/css1/font_properties/font_size-expected.txt:
* platform/efl/css1/font_properties/font_style-expected.txt:
* platform/efl/css1/font_properties/font_variant-expected.txt:
* platform/efl/css1/font_properties/font_weight-expected.txt:
* platform/efl/css1/formatting_model/canvas-expected.txt:
* platform/efl/css1/formatting_model/height_of_lines-expected.txt:
* platform/efl/css1/formatting_model/inline_elements-expected.txt:
* platform/efl/css1/formatting_model/replaced_elements-expected.txt:
* platform/efl/css1/formatting_model/vertical_formatting-expected.txt:
* platform/efl/css1/pseudo/anchor-expected.txt:
* platform/efl/css1/pseudo/firstletter-expected.txt:
* platform/efl/css1/pseudo/firstline-expected.txt:
* platform/efl/css1/pseudo/multiple_pseudo_elements-expected.txt:
* platform/efl/css1/pseudo/pseudo_elements_in_selectors-expected.txt:
* platform/efl/css1/text_properties/letter_spacing-expected.txt:
* platform/efl/css1/text_properties/line_height-expected.txt:
* platform/efl/css1/text_properties/text_align-expected.txt:
* platform/efl/css1/text_properties/text_decoration-expected.txt:
* platform/efl/css1/text_properties/text_indent-expected.txt:
* platform/efl/css1/text_properties/text_transform-expected.txt:
* platform/efl/css1/text_properties/vertical_align-expected.txt:
* platform/efl/css1/text_properties/word_spacing-expected.txt:
* platform/efl/css1/units/color_units-expected.txt:
* platform/efl/css1/units/length_units-expected.txt:
* platform/efl/css1/units/percentage_units-expected.txt:
* platform/efl/css1/units/urls-expected.txt:
* platform/efl/css2.1/20110323/border-collapse-offset-002-expected.txt:
* platform/efl/css2.1/20110323/border-conflict-style-079-expected.txt:
* platform/efl/css2.1/20110323/border-conflict-style-088-expected.txt:
* platform/efl/css2.1/20110323/dynamic-top-change-002-expected.txt:
* platform/efl/css2.1/20110323/dynamic-top-change-003-expected.txt:
* platform/efl/css2.1/20110323/inline-table-001-expected.txt:
* platform/efl/css2.1/20110323/inline-table-002a-expected.txt:
* platform/efl/css2.1/20110323/inline-table-003-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-001-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-002-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-003-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-004-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-005-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-006-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-007-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-013-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-014-expected.txt:
* platform/efl/css2.1/20110323/margin-applies-to-015-expected.txt:
* platform/efl/css2.1/20110323/replaced-intrinsic-ratio-001-expected.txt:
* platform/efl/css2.1/20110323/table-caption-001-expected.txt:
* platform/efl/css2.1/20110323/table-caption-optional-001-expected.txt:
* platform/efl/css2.1/20110323/table-caption-optional-002-expected.txt:
* platform/efl/css2.1/t040302-c61-ex-len-00-b-a-expected.txt:
* platform/efl/css2.1/t0803-c5501-mrgn-t-00-b-a-expected.txt:
* platform/efl/css2.1/t0803-c5503-mrgn-b-00-b-a-expected.txt:
* platform/efl/css2.1/t0804-c5506-padn-t-00-b-a-expected.txt:
* platform/efl/css2.1/t0804-c5508-ipadn-b-03-b-a-expected.txt:
* platform/efl/css2.1/t090402-c42-ibx-pad-00-d-ag-expected.txt:
* platform/efl/css2.1/t0905-c5525-fltmult-00-d-g-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-04-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-06-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-08-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-13-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-14-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-16-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-17-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-18-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-24-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-25-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-30-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-31-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-34-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-44-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-52-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-54-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-59-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-64-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-65-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-70-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-71-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-74-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-84-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-85-d-expected.txt:
* platform/efl/css2.1/t170602-bdr-conflct-w-94-d-expected.txt:
* platform/efl/css3/selectors3/html/css3-modsel-18-expected.txt:
* platform/efl/css3/selectors3/html/css3-modsel-29-expected.txt:
* platform/efl/css3/selectors3/html/css3-modsel-29b-expected.txt:
* platform/efl/css3/selectors3/html/css3-modsel-33-expected.txt:
* platform/efl/css3/selectors3/html/css3-modsel-73-expected.txt:
* platform/efl/css3/selectors3/html/css3-modsel-73b-expected.txt:
* platform/efl/css3/selectors3/html/css3-modsel-77-expected.txt:
* platform/efl/css3/selectors3/html/css3-modsel-77b-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-18-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-29-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-29b-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-33-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-73-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-73b-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-77-expected.txt:
* platform/efl/css3/selectors3/xhtml/css3-modsel-77b-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-18-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-29-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-29b-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-33-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-73-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-73b-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-77-expected.txt:
* platform/efl/css3/selectors3/xml/css3-modsel-77b-expected.txt:
* platform/efl/editing/deleting/4922367-expected.txt:
* platform/efl/editing/deleting/5126166-expected.txt:
* platform/efl/editing/deleting/5206311-1-expected.txt:
* platform/efl/editing/deleting/5433862-2-expected.txt:
* platform/efl/editing/inserting/paragraph-separator-in-table-1-expected.txt:
* platform/efl/editing/selection/3690703-2-expected.txt:
* platform/efl/editing/selection/3690703-expected.txt:
* platform/efl/editing/selection/3690719-expected.txt:
* platform/efl/editing/selection/5057506-2-expected.txt:
* platform/efl/editing/selection/5057506-expected.txt:
* platform/efl/editing/selection/5131716-1-expected.txt:
* platform/efl/editing/selection/5131716-2-expected.txt:
* platform/efl/editing/selection/5131716-3-expected.txt:
* platform/efl/editing/selection/5131716-4-expected.txt:
* platform/efl/editing/selection/move-by-line-001-expected.txt:
* platform/efl/editing/selection/select-all-004-expected.txt:
* platform/efl/editing/unsupported-content/table-type-after-expected.txt:
* platform/efl/editing/unsupported-content/table-type-before-expected.txt:
* platform/efl/fast/block/basic/016-expected.txt:
* platform/efl/fast/block/basic/quirk-percent-height-table-cell-expected.txt:
* platform/efl/fast/block/float/015-expected.txt:
* platform/efl/fast/block/margin-collapse/006-expected.txt:
* platform/efl/fast/block/margin-collapse/010-expected.txt:
* platform/efl/fast/block/margin-collapse/011-expected.txt:
* platform/efl/fast/block/margin-collapse/012-expected.txt:
* platform/efl/fast/block/margin-collapse/015-expected.txt:
* platform/efl/fast/block/margin-collapse/016-expected.txt:
* platform/efl/fast/block/margin-collapse/017-expected.txt:
* platform/efl/fast/block/margin-collapse/018-expected.txt:
* platform/efl/fast/block/margin-collapse/019-expected.txt:
* platform/efl/fast/block/margin-collapse/020-expected.txt:
* platform/efl/fast/block/margin-collapse/021-expected.txt:
* platform/efl/fast/block/margin-collapse/022-expected.txt:
* platform/efl/fast/block/margin-collapse/025-expected.txt:
* platform/efl/fast/block/margin-collapse/032-expected.txt:
* platform/efl/fast/block/margin-collapse/033-expected.txt:
* platform/efl/fast/block/margin-collapse/034-expected.txt:
* platform/efl/fast/block/margin-collapse/041-expected.txt:
* platform/efl/fast/block/margin-collapse/042-expected.txt:
* platform/efl/fast/block/margin-collapse/055-expected.txt:
* platform/efl/fast/block/margin-collapse/056-expected.txt:
* platform/efl/fast/block/margin-collapse/057-expected.txt:
* platform/efl/fast/block/margin-collapse/058-expected.txt:
* platform/efl/fast/block/margin-collapse/059-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/006-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/010-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/011-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/012-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/015-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/016-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/017-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/018-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/019-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/020-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/021-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/022-expected.txt:
* platform/efl/fast/block/margin-collapse/block-inside-inline/025-expected.txt:
* platform/efl/fast/block/positioning/negative-right-pos-expected.txt:
* platform/efl/fast/block/positioning/table-cell-static-position-expected.txt:
* platform/efl/fast/borders/border-antialiasing-expected.txt:
* platform/efl/fast/borders/border-radius-different-width-001-expected.txt:
* platform/efl/fast/borders/table-borders-expected.txt:
* platform/efl/fast/css-generated-content/first-letter-in-nested-before-expected.txt:
* platform/efl/fast/css-generated-content/first-letter-in-nested-before-table-expected.txt:
* platform/efl/fast/css-generated-content/nested-tables-with-before-after-content-crash-expected.txt:
* platform/efl/fast/css-generated-content/table-cell-before-after-child-add-expected.txt:
* platform/efl/fast/css-generated-content/table-parts-before-and-after-expected.txt:
* platform/efl/fast/css-generated-content/table-row-group-with-before-expected.txt:
* platform/efl/fast/css-generated-content/table-row-with-before-expected.txt:
* platform/efl/fast/css-generated-content/table-with-before-expected.txt:
* platform/efl/fast/css/003-expected.txt:
* platform/efl/fast/css/absolute-poition-in-rtl-parent-expected.txt:
* platform/efl/fast/css/acid2-expected.txt:
* platform/efl/fast/css/acid2-pixel-expected.txt:
* platform/efl/fast/css/bidi-override-in-anonymous-block-expected.txt:
* platform/efl/fast/css/box-shadow-and-border-radius-expected.txt:
* platform/efl/fast/css/caption-width-absolute-position-expected.txt:
* platform/efl/fast/css/caption-width-absolute-position-offset-top-expected.txt:
* platform/efl/fast/css/caption-width-fixed-position-expected.txt:
* platform/efl/fast/css/caption-width-fixed-position-offset-top-expected.txt:
* platform/efl/fast/css/caption-width-relative-position-expected.txt:
* platform/efl/fast/css/caption-width-relative-position-offset-top-expected.txt:
* platform/efl/fast/css/css3-nth-child-expected.txt:
* platform/efl/fast/css/focus-ring-detached-expected.txt:
* platform/efl/fast/css/focus-ring-multiline-expected.txt:
* platform/efl/fast/css/h1-in-section-elements-expected.txt:
* platform/efl/fast/css/image-rendering-expected.txt:
* platform/efl/fast/css/min-width-with-spanned-cell-expected.txt:
* platform/efl/fast/css/percentage-non-integer-expected.txt:
* platform/efl/fast/css/table-text-align-quirk-expected.txt:
* platform/efl/fast/css/table-text-align-strict-expected.txt:
* platform/efl/fast/dom/34176-expected.txt:
* platform/efl/fast/dom/HTMLTableElement/colSpan-expected.txt:
* platform/efl/fast/dom/HTMLTableElement/createCaption-expected.txt:
* platform/efl/fast/dom/row-inner-text-expected.txt:
* platform/efl/fast/dynamic/001-expected.txt:
* platform/efl/fast/dynamic/containing-block-change-expected.txt:
* platform/efl/fast/dynamic/float-withdrawal-expected.txt:
* platform/efl/fast/dynamic/insert-before-table-part-in-continuation-expected.txt:
* platform/efl/fast/dynamic/subtree-table-cell-height-expected.txt:
* platform/efl/fast/encoding/utf-16-big-endian-expected.txt:
* platform/efl/fast/encoding/utf-16-little-endian-expected.txt:
* platform/efl/fast/forms/001-expected.txt:
* platform/efl/fast/forms/005-expected.txt:
* platform/efl/fast/forms/basic-buttons-expected.txt:
* platform/efl/fast/forms/form-element-geometry-expected.txt:
* platform/efl/fast/forms/form-hides-table-expected.txt:
* platform/efl/fast/forms/form-in-malformed-markup-expected.txt:
* platform/efl/fast/forms/formmove3-expected.txt:
* platform/efl/fast/forms/input-table-expected.txt:
* platform/efl/fast/forms/listbox-bidi-align-expected.txt:
* platform/efl/fast/forms/preserveFormDuringResidualStyle-expected.txt:
* platform/efl/fast/forms/select-dirty-parent-pref-widths-expected.txt:
* platform/efl/fast/html/details-writing-mode-expected.txt:
* platform/efl/fast/inline-block/001-expected.txt:
* platform/efl/fast/inline-block/overflow-clip-expected.txt:
* platform/efl/fast/invalid/012-expected.txt:
* platform/efl/fast/invalid/018-expected.txt:
* platform/efl/fast/lists/004-expected.txt:
* platform/efl/fast/lists/list-marker-before-content-table-expected.txt:
* platform/efl/fast/multicol/span/before-child-anonymous-column-block-expected.txt:
* platform/efl/fast/overflow/002-expected.txt:
* platform/efl/fast/overflow/overflow-rtl-expected.txt:
* platform/efl/fast/overflow/overflow-rtl-vertical-expected.txt:
* platform/efl/fast/overflow/table-overflow-float-expected.txt:
* platform/efl/fast/reflections/table-cell-expected.txt:
* platform/efl/fast/repaint/block-selection-gap-in-table-cell-expected.txt:
* platform/efl/fast/repaint/float-overflow-expected.txt:
* platform/efl/fast/repaint/float-overflow-right-expected.txt:
* platform/efl/fast/repaint/subtree-root-clip-3-expected.txt:
* platform/efl/fast/repaint/table-cell-collapsed-border-expected.txt:
* platform/efl/fast/repaint/table-cell-collapsed-border-scroll-expected.txt:
* platform/efl/fast/repaint/table-cell-move-expected.txt:
* platform/efl/fast/repaint/table-cell-overflow-expected.txt:
* platform/efl/fast/repaint/table-cell-vertical-overflow-expected.txt:
* platform/efl/fast/repaint/table-col-background-expected.txt:
* platform/efl/fast/repaint/table-collapsed-border-expected.txt:
* platform/efl/fast/repaint/table-extra-bottom-grow-expected.txt:
* platform/efl/fast/repaint/table-outer-border-expected.txt:
* platform/efl/fast/repaint/table-row-expected.txt:
* platform/efl/fast/repaint/table-section-overflow-expected.txt:
* platform/efl/fast/repaint/table-section-repaint-expected.txt:
* platform/efl/fast/repaint/table-two-pass-layout-overpaint-expected.txt:
* platform/efl/fast/repaint/table-writing-modes-h-expected.txt:
* platform/efl/fast/repaint/table-writing-modes-v-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195947 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoGet rid of most calls to String::upper; mostly replace them with convertToASCIIUppercase
darin@apple.com [Mon, 1 Feb 2016 01:50:50 +0000 (01:50 +0000)]
Get rid of most calls to String::upper; mostly replace them with convertToASCIIUppercase
https://bugs.webkit.org/show_bug.cgi?id=153715

Reviewed by Gyuyoung Kim.

Source/WebCore:

* editing/cocoa/HTMLConverter.mm:
(HTMLConverter::computedAttributesForElement): Use convertToASCIILowercase to fold
ASCII case when searching for fonts by name.

* platform/network/cf/ResourceResponseCFNet.cpp:
(WebCore::ResourceResponse::platformLazyInit): Use convertToASCIIUppercase to make
the HTTP version string canonical. Not sure why it's needed at all, but the letters
we might be uppercasing are "HTTP", so no need to handle non-ASCII.
* platform/network/cocoa/ResourceResponseCocoa.mm:
(WebCore::ResourceResponse::platformLazyInit): Ditto.

* rendering/svg/SVGRenderTreeAsText.cpp:
(WebCore::operator<<): Use convertToASCIIUppercase when writing the spread
method type into a text stream. The method types are all ASCII.

Source/WebKit2:

* UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
Use convertToASCIIUppercase on language names.

Source/WTF:

* wtf/text/AtomicString.h:
(WTF::AtomicString::upper): Deleted.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195946 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[EFL] All API tests are broken on 15.10
jh718.park@samsung.com [Mon, 1 Feb 2016 01:20:55 +0000 (01:20 +0000)]
[EFL] All API tests are broken on 15.10
https://bugs.webkit.org/show_bug.cgi?id=153528

Reviewed by Gyuyoung Kim.

* CMakeLists.txt: Having include(WebKitCommon) statement follow
CMAKE_FOO_OUTPUT_DIRECTORY otherwise all the API tests gets blocked.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195945 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Cocoa] Remove unused definition of HAVE_HEADER_DETECTION_H
mitz@apple.com [Mon, 1 Feb 2016 00:26:56 +0000 (00:26 +0000)]
[Cocoa] Remove unused definition of HAVE_HEADER_DETECTION_H
https://bugs.webkit.org/show_bug.cgi?id=153729

Reviewed by Sam Weinig.

After r141700, HAVE_HEADER_DETECTION_H is no longer used.

* Configurations/Base.xcconfig:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195942 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoB3->Air lowering should use MoveFloat more
fpizlo@apple.com [Mon, 1 Feb 2016 00:07:06 +0000 (00:07 +0000)]
B3->Air lowering should use MoveFloat more
https://bugs.webkit.org/show_bug.cgi?id=153714

Reviewed by Sam Weinig.

This is a very minor and benign bug. It just means that we will use the more canonical
MoveFloat instruction when moving floats, rather than using MoveDouble.

* b3/B3LowerToAir.cpp:
(JSC::B3::Air::LowerToAir::relaxedMoveForType):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195939 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoShould not predict OtherObj for ToThis with primitive types under strict mode
utatane.tea@gmail.com [Sun, 31 Jan 2016 23:05:10 +0000 (23:05 +0000)]
Should not predict OtherObj for ToThis with primitive types under strict mode
https://bugs.webkit.org/show_bug.cgi?id=153544

Reviewed by Filip Pizlo.

Currently, ToThis predicates OtherObj for primitive values.
But it's not true in strict mode.
In strict mode, ToThis does nothing on primitive values.

In this patch, we

1. fix prediction. Handles primitive types in strict mode. And we also handles StringObject.
2. convert it to Identity if the argument should be predicted as primitive types.

This optimization is important to implement Primitive.prototype.methods[1].
Otherwise, we always got BadType OSR exits.

[1]: https://bugs.webkit.org/show_bug.cgi?id=143889

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::fixupToThis):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* tests/stress/to-this-boolean.js: Added.
(Boolean.prototype.negate):
(Boolean.prototype.negate2):
* tests/stress/to-this-double.js: Added.
(Number.prototype.negate):
* tests/stress/to-this-int32.js: Added.
(Number.prototype.negate):
* tests/stress/to-this-int52.js: Added.
(Number.prototype.negate):
* tests/stress/to-this-number.js: Added.
(Number.prototype.negate):
* tests/stress/to-this-string.js: Added.
(String.prototype.prefix):
(String.prototype.first):
(String.prototype.second):
* tests/stress/to-this-symbol.js: Added.
(Symbol.prototype.identity):
(Symbol.prototype.identity2):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195938 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Cocoa] Remove __has_include guards around use of WebKitAdditions
mitz@apple.com [Sun, 31 Jan 2016 23:00:03 +0000 (23:00 +0000)]
[Cocoa] Remove __has_include guards around use of WebKitAdditions
https://bugs.webkit.org/show_bug.cgi?id=153728

Reviewed by Andy Estes.

Guard WebKitAdditions includes with #if USE(APPLE_INTERNAL_SDK) rather than with __has_include.

Source/WebCore:

* dom/EventNames.h:
* loader/EmptyClients.cpp:
(WebCore::fillWithEmptyClients):
* page/MainFrame.cpp:
(WebCore::MainFrame::MainFrame):
* page/MainFrame.h:
* page/PageConfiguration.h:
* platform/cocoa/WebKitAdditions.mm:
* platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
* platform/ios/LegacyTileGridTile.mm:

Source/WebKit/mac:

* WebKitAdditions.mm:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

Source/WebKit2:

* Shared/Cocoa/WebKitAdditions.mm:
* Shared/WebCoreArgumentCoders.h:
* Shared/mac/RemoteLayerBackingStore.mm:
* UIProcess/API/Cocoa/WKWebView.mm:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::reattachToWebProcess):
(WebKit::WebPageProxy::resetState):
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::m_shouldDispatchFakeMouseMoveEvents):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195937 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoInclude the right WebKitAdditions files
timothy_horton@apple.com [Sun, 31 Jan 2016 20:59:21 +0000 (20:59 +0000)]
Include the right WebKitAdditions files
<rdar://problem/24429804>

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::resetState):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195934 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoReplace CaseFoldingHash with ASCIICaseInsensitiveHash
darin@apple.com [Sun, 31 Jan 2016 19:22:31 +0000 (19:22 +0000)]
Replace CaseFoldingHash with ASCIICaseInsensitiveHash
https://bugs.webkit.org/show_bug.cgi?id=153639

Reviewed by Filip Pizlo.

Source/WebCore:

* Modules/webdatabase/DatabaseAuthorizer.h: Use ASCIICaseInsensitiveHash
for whitelisted functions. Function names are all ASCII.

* accessibility/AccessibilityObject.cpp: Use ASCIICaseInsensitiveHash
for ARIA roles. ARIA roles are all ASCII.

* crypto/CryptoAlgorithmRegistry.h: Use ASCIICaseInsensitiveHash for
crypto algorithm names. Algorithm names are all ASCII.

* css/CSSFontSelector.cpp:
(WebCore::registerLocalFontFacesForFamily): Use ASCIICaseInsensitiveHash
for font faces. Face names should use ASCII case insensitive matching;
there is no need for non-ASCII case folding.
* css/CSSFontSelector.h: Ditto.

* dom/DOMImplementation.cpp: Use ASCIICaseInsensitiveHash for the
FeatureSet. The features are all ASCII.

* dom/Document.h: Use ASCIICaseInsensitiveHash for the access key
map. Access keys are all ASCII.

* dom/ScriptElement.cpp:
(WebCore::isLegacySupportedJavaScriptLanguage): Use ASCIICaseInsensitiveHash
for the language set. These strings are all ASCII.

* editing/EditorCommand.cpp: Use ASCIICaseInsensitiveHash for editor
command names. These names are all ASCII.

* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parametersForPlugin): Use ASCIICaseInsensitiveHash
for parameter names. These names are all ASCII.

* html/InputType.cpp: Use ASCIICaseInsensitiveHash for the input types.
The input types are all ASCII.

* loader/CrossOriginAccessControl.h: Use ASCIICaseInsensitiveHash for
HTTP header field names. These names are all ASCII.
* loader/CrossOriginPreflightResultCache.h: Ditto.

* loader/archive/ArchiveFactory.cpp: Use ASCIICaseInsensitiveHash for
MIME types. MIME types are all ASCII.
* platform/MIMETypeRegistry.cpp:
(WebCore::initializeSupportedImageMIMETypes): Ditto.

* platform/SchemeRegistry.h: Use ASCIICaseInsensitiveHas for URL schemes.
URL schemes are all ASCII.
* platform/URL.cpp: Ditto.

* platform/graphics/FontCache.cpp:
(WebCore::FontPlatformDataCacheKey::operator==): Use ASCIICaseInsensitiveHash.
(WebCore::FontPlatformDataCacheKeyHash::hash): Use ASCIICaseInsensitiveHash.

* platform/graphics/FontCascade.cpp:
(WebCore::keysMatch): Rename from operator== since this operation is not
equality. Changed to equalIgnoringASCIICase and did a little streamlining.
(WebCore::makeFontCascadeCacheKey): Use reserveInitialCapacity for slightly
better memory use.
(WebCore::computeFontCascadeCacheHash): Use IntegerHasher to make computing
a hash more efficient by eliminating the overhead of building a vector and
even possible heap allocation and deallocation.
(WebCore::retrieveOrAddCachedFonts): Use keysMatch instead of ==.

* platform/graphics/cocoa/FontCacheCoreText.cpp: Use ASCIICaseInsensitiveHash
for font family names. These names should use ASCII case insensitive matching;
there is no need for non-ASCII case folding.

* platform/network/HTTPHeaderMap.h: Use ASCIICaseInsensitiveHash for
HTTP header field names. These names are all ASCII.

* rendering/style/RenderStyle.cpp:
(WebCore::computeFontHash): Use IntegerHasher to avoid allocating memory just
to compute a hash. Use ASCIICaseInsensitiveHash.

Source/WebKit/win:

* WebCoreStatistics.cpp:
(WebCoreStatistics::memoryStatistics): Use ASCIICaseInsensitiveHash for field names.
These names are all ASCII.

* WebURLResponse.cpp:
(WebURLResponse::allHeaderFields): Use ASCIICaseInsensitiveHash for HTTP header
field names. These names are all ASCII.

Source/WebKit2:

* UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm: Use ASCIICaseInsensitiveHash
for MIME types. MIME types are all ASCII.

* UIProcess/Plugins/PlugInAutoStartProvider.h: Use ASCIICaseInsensitiveHash for
origins. Origin strings should use ASCII case insensitive matching and should not
fold non-ASCII case.

* WebProcess/WebPage/WebPage.h: Use ASCIICaseInsensitiveHash for MIME types.
MIME types are all ASCII.

* WebProcess/WebProcess.cpp:
(WebKit::addCaseFoldedCharacters): Use ASCIICaseInsensitiveHash to hash plug-in
origin strings. (See rationale above.)
(WebKit::hashForPlugInOrigin): Updated comment.

Source/WTF:

* wtf/text/StringHash.h: Renamed CaseFoldingHash to ASCIICaseInsensitiveHash.
(WTF::ASCIICaseInsensitiveHash::foldCase): Use toASCIILower.
(WTF::ASCIICaseInsensitiveHash::equal): Use equalIgnoringASCIICase.
Also added some assertions.

* wtf/text/StringImpl.cpp: Made the latin1CaseFoldTable private to this file,
since it's no longer needed by CaseFoldingHash. Moved it up before its first use.
(WTF::equalCompatibilityCaseless): Fixed typo in the name of this function.
(WTF::equalCompatibiltyCaselessNonNull): Deleted.

* wtf/text/StringImpl.h: Removed declarations of latin1CaseFoldTable and
equalCompatibiltyCaselessNonNull

Tools:

* Scripts/do-webcore-rename: Use script to do this rename.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195928 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoReduce PassRefPtr uses in dom - 5
gyuyoung.kim@webkit.org [Sun, 31 Jan 2016 12:08:32 +0000 (12:08 +0000)]
Reduce PassRefPtr uses in dom - 5
https://bugs.webkit.org/show_bug.cgi?id=153470

Reviewed by Darin Adler.

As a step to remove PassRefPtr, this patch reduces uses of PassRefPtr in WebCore/dom.

* dom/Document.cpp:
(WebCore::Document::adoptNode):
(WebCore::Document::implicitClose):
(WebCore::Document::enqueuePopstateEvent):
(WebCore::Document::setInputCursor):
* dom/Document.h:
* dom/DocumentMarker.cpp:
(WebCore::DocumentMarkerTextMatch::instanceFor):
* dom/Event.cpp:
(WebCore::Event::setUnderlyingEvent):
* dom/Event.h:
* dom/EventDispatcher.h:
* dom/GenericEventQueue.cpp:
(WebCore::GenericEventQueue::enqueueEvent):
* dom/GenericEventQueue.h:
* dom/MouseEvent.cpp:
(WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
* dom/Node.cpp:
(WebCore::Node::dispatchDOMActivateEvent):
* dom/NodeIterator.h:
* dom/PendingScript.h:
* dom/PopStateEvent.cpp:
(WebCore::PopStateEvent::create):
* dom/PopStateEvent.h:
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::setCSSStyleSheet): Deleted. Nobody calls this function.
* dom/ProcessingInstruction.h:
* dom/RangeBoundaryPoint.h:
(WebCore::RangeBoundaryPoint::RangeBoundaryPoint):
* dom/TextEvent.cpp:
(WebCore::TextEvent::createForFragmentPaste):
(WebCore::TextEvent::TextEvent):
* dom/TextEvent.h:
* editing/Editor.cpp:
(WebCore::Editor::pasteAsFragment):
* editing/Editor.h:
* editing/mac/EditorMac.mm:
(WebCore::Editor::replaceNodeFromPasteboard):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195927 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[mips] don't save to a callee saved register too early
commit-queue@webkit.org [Sun, 31 Jan 2016 11:41:52 +0000 (11:41 +0000)]
[mips] don't save to a callee saved register too early
https://bugs.webkit.org/show_bug.cgi?id=153463

If we save $gp to $s4 in pichdr, then in some cases, we were
overwriting $s4 before LLInt's pushCalleeSaves() is called (as pichdr
is at the very beginning of a function). Now we save $gp to $s4 at the
end of pushCalleeSaves().

Patch by Guillaume Emont <guijemont@igalia.com> on 2016-01-31
Reviewed by Michael Saboff.

* offlineasm/mips.rb:
* llint/LowLevelInterpreter.asm:
Move the saving of $gp to $s4 from pichdr to pushCalleeSaves(). Take
the opportunity to only save $s4 as we never use the other callee
saved registers.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195926 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUse std::make_unique<> when creating an unique_ptr object.
gyuyoung.kim@webkit.org [Sun, 31 Jan 2016 11:41:44 +0000 (11:41 +0000)]
Use std::make_unique<> when creating an unique_ptr object.
https://bugs.webkit.org/show_bug.cgi?id=153705

Reviewed by Darin Adler.

Source/WebCore:

Some factory functions have used std::unique_ptr<> for creating an unique_ptr object.
It is wrong. We have to use std::make_unique<>.

* Modules/mediasession/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::mockPicker):
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::internalStart):
* platform/cf/RunLoopObserver.cpp:
(WebCore::RunLoopObserver::create): Deleted.
* platform/cf/RunLoopObserver.h:
(WebCore::RunLoopObserver::RunLoopObserver):
* platform/graphics/avfoundation/WebMediaSessionManagerMac.cpp:
(WebCore::WebMediaSessionManagerMac::platformPicker):
* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
* platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::create): Deleted.
* platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp:
(WebCore::LayerFlushScheduler::LayerFlushScheduler):
* platform/mock/MediaPlaybackTargetPickerMock.cpp:
(WebCore::MediaPlaybackTargetPickerMock::create): Deleted.
* platform/mock/MediaPlaybackTargetPickerMock.h:
* rendering/FloatingObjects.cpp:
(WebCore::FloatingObject::copyToNewContainer):

Source/WebKit2:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy): Use std::make_unique<> instead of RunLoopObserver::create().

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195925 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoimported/w3c/web-platform-tests/streams-api/readable-streams/garbage-collection.html...
youenn.fablet@crf.canon.fr [Sun, 31 Jan 2016 09:20:05 +0000 (09:20 +0000)]
imported/w3c/web-platform-tests/streams-api/readable-streams/garbage-collection.html asserts frequently
https://bugs.webkit.org/show_bug.cgi?id=152436

Reviewed by Darin Adler.

GCController is not available in Worker environments, explaining probably why garbage-collection-2.html is not crashing at all.
Inlining half of the tests in garbage-collection-2.html (runned in window) to compare with garbage-collection-1.html.

* web-platform-tests/streams-api/readable-streams/garbage-collection-2-expected.txt:
* web-platform-tests/streams-api/readable-streams/garbage-collection-2.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195924 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd the break-* properties to Web Inspector's completion set
hyatt@apple.com [Sun, 31 Jan 2016 05:57:01 +0000 (05:57 +0000)]
Add the break-* properties to Web Inspector's completion set
https://bugs.webkit.org/show_bug.cgi?id=153706

Reviewed by Darin Adler.

* UserInterface/Models/CSSKeywordCompletions.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195923 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Cocoa] Get rid of many WK_ macros for nullability
mitz@apple.com [Sun, 31 Jan 2016 04:11:36 +0000 (04:11 +0000)]
[Cocoa] Get rid of many WK_ macros for nullability
https://bugs.webkit.org/show_bug.cgi?id=153718

Sam Weinig reviewed an earlier version of this change, and Simon Fraser rubber-stamped this version.

* Shared/API/Cocoa/WKFoundation.h: Removed definitions of WK_ASSUME_NONNULL_{BEGIN, END},
  WK_NULLABLE, WK_NULL_UNSPECIFIED, and WK_NULLABLE_PROPERTY. Removed the
  !__has_feature(assume_nonnull) case.

* mac/postprocess-framework-headers.sh: Removed rules for rewriting the above macros. Also
  chanegd to rewrite WK_NULLABLE_SPECIFIER to the modern _Nullable instead of __nullable.

Replaced instances of the above macros with their expansions.

* UIProcess/API/Cocoa/WKBackForwardList.h:
* UIProcess/API/Cocoa/WKBackForwardListItem.h:
* UIProcess/API/Cocoa/WKError.h:
* UIProcess/API/Cocoa/WKFrameInfo.h:
* UIProcess/API/Cocoa/WKNavigationAction.h:
* UIProcess/API/Cocoa/WKNavigationDelegate.h:
* UIProcess/API/Cocoa/WKNavigationResponse.h:
* UIProcess/API/Cocoa/WKScriptMessage.h:
* UIProcess/API/Cocoa/WKScriptMessageHandler.h:
* UIProcess/API/Cocoa/WKSecurityOrigin.h:
* UIProcess/API/Cocoa/WKUIDelegate.h:
* UIProcess/API/Cocoa/WKUserContentController.h:
* UIProcess/API/Cocoa/WKUserScript.h:
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
* UIProcess/API/Cocoa/WKWebsiteDataStore.h:
* UIProcess/API/Cocoa/WKWindowFeatures.h:
* UIProcess/API/Cocoa/_WKContextMenuElementInfo.h:
* UIProcess/API/Cocoa/_WKElementInfo.h:
* UIProcess/API/Cocoa/_WKPreviewElementInfo.h:
* UIProcess/API/Cocoa/_WKUserStyleSheet.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195922 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoB3 documentation style shouldn't have hacks for h1
fpizlo@apple.com [Sun, 31 Jan 2016 03:59:07 +0000 (03:59 +0000)]
B3 documentation style shouldn't have hacks for h1
https://bugs.webkit.org/show_bug.cgi?id=153725

Reviewed by Alexey Proskuryakov.

* docs/b3/style.css:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195921 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoReverted r195914, because at least one of the build.webkit.org builders still uses...
mitz@apple.com [Sun, 31 Jan 2016 01:22:38 +0000 (01:22 +0000)]
Reverted r195914, because at least one of the build.webkit.org builders still uses a compiler that doesn’t understand _Nullable.

* Shared/API/Cocoa/WKFoundation.h:
* UIProcess/API/Cocoa/WKBackForwardList.h:
* UIProcess/API/Cocoa/WKBackForwardListItem.h:
* UIProcess/API/Cocoa/WKError.h:
* UIProcess/API/Cocoa/WKFrameInfo.h:
* UIProcess/API/Cocoa/WKNavigationAction.h:
* UIProcess/API/Cocoa/WKNavigationDelegate.h:
* UIProcess/API/Cocoa/WKNavigationResponse.h:
* UIProcess/API/Cocoa/WKScriptMessage.h:
* UIProcess/API/Cocoa/WKScriptMessageHandler.h:
* UIProcess/API/Cocoa/WKSecurityOrigin.h:
* UIProcess/API/Cocoa/WKUIDelegate.h:
* UIProcess/API/Cocoa/WKUserContentController.h:
* UIProcess/API/Cocoa/WKUserScript.h:
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
* UIProcess/API/Cocoa/WKWebsiteDataStore.h:
* UIProcess/API/Cocoa/WKWindowFeatures.h:
* UIProcess/API/Cocoa/_WKContextMenuElementInfo.h:
* UIProcess/API/Cocoa/_WKElementInfo.h:
* UIProcess/API/Cocoa/_WKPreviewElementInfo.h:
* UIProcess/API/Cocoa/_WKUserStyleSheet.h:
* mac/postprocess-framework-headers.sh:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195920 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, fix GTK debug build after r195899
mcatanzaro@igalia.com [Sun, 31 Jan 2016 01:19:32 +0000 (01:19 +0000)]
Unreviewed, fix GTK debug build after r195899

* dom/EventContext.h:
(isType):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195919 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoAdd missing include to fix building debug configuration
commit-queue@webkit.org [Sun, 31 Jan 2016 01:15:51 +0000 (01:15 +0000)]
Add missing include to fix building debug configuration
https://bugs.webkit.org/show_bug.cgi?id=153719

Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-01-30
Reviewed by Darin Adler.

No new tests.

* rendering/RenderObject.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195918 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, rolling out r195911.
commit-queue@webkit.org [Sun, 31 Jan 2016 00:53:20 +0000 (00:53 +0000)]
Unreviewed, rolling out r195911.
https://bugs.webkit.org/show_bug.cgi?id=153723

Caused frequent assertion failures on bots (Requested by ap on
#webkit).

Reverted changeset:

"Replace CaseFoldingHash with ASCIICaseInsensitiveHash"
https://bugs.webkit.org/show_bug.cgi?id=153639
http://trac.webkit.org/changeset/195911

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195917 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, rolling out r195799 and r195828.
commit-queue@webkit.org [Sun, 31 Jan 2016 00:41:57 +0000 (00:41 +0000)]
Unreviewed, rolling out r195799 and r195828.
https://bugs.webkit.org/show_bug.cgi?id=153722

Caused assertion failures, severely affecting EWS (Requested
by ap on #webkit).

Reverted changesets:

"Web Inspector: InspectorTimelineAgent doesn't need to
recompile functions because it now uses the sampling profiler"
https://bugs.webkit.org/show_bug.cgi?id=153500
http://trac.webkit.org/changeset/195799

"Attempt to fix the Windows build after r195799"
http://trac.webkit.org/changeset/195828

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195916 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: Network panel is empty until the window is resized
mattbaker@apple.com [Sun, 31 Jan 2016 00:24:23 +0000 (00:24 +0000)]
Web Inspector: Network panel is empty until the window is resized
https://bugs.webkit.org/show_bug.cgi?id=153701
<rdar://problem/24423739>

Reviewed by Timothy Hatcher.

NetworkGridContentView shouldn't prevent a layout from being scheduled
when the network sidebar is collapsed.

* UserInterface/Views/NetworkGridContentView.js:
(WebInspector.NetworkGridContentView.prototype.needsLayout): Deleted.
Removed View.prototype.needsLayout override that was preventing
layouts from being scheduled as timeline records are added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195915 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[Cocoa] Get rid of WK_ macros for nullability
mitz@apple.com [Sat, 30 Jan 2016 23:50:25 +0000 (23:50 +0000)]
[Cocoa] Get rid of WK_ macros for nullability
https://bugs.webkit.org/show_bug.cgi?id=153718

Reviewed by Sam Weinig.

* Shared/API/Cocoa/WKFoundation.h: Removed definitions of WK_ASSUME_NONNULL_{BEGIN, END},
  WK_NULLABLE, WK_NULL_UNSPECIFIED, WK_NULLABLE_SPECIFIER, and WK_NULLABLE_PROPERTY.

* mac/postprocess-framework-headers.sh: Removed rules for rewriting those macros.

Replaced instances of those macros with their expansions, but using the modern _Nullable
instead of __nullable:

* UIProcess/API/Cocoa/WKBackForwardList.h:
* UIProcess/API/Cocoa/WKBackForwardListItem.h:
* UIProcess/API/Cocoa/WKError.h:
* UIProcess/API/Cocoa/WKFrameInfo.h:
* UIProcess/API/Cocoa/WKNavigationAction.h:
* UIProcess/API/Cocoa/WKNavigationDelegate.h:
* UIProcess/API/Cocoa/WKNavigationResponse.h:
* UIProcess/API/Cocoa/WKScriptMessage.h:
* UIProcess/API/Cocoa/WKScriptMessageHandler.h:
* UIProcess/API/Cocoa/WKSecurityOrigin.h:
* UIProcess/API/Cocoa/WKUIDelegate.h:
* UIProcess/API/Cocoa/WKUserContentController.h:
* UIProcess/API/Cocoa/WKUserScript.h:
* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebViewConfiguration.h:
* UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
* UIProcess/API/Cocoa/WKWebsiteDataStore.h:
* UIProcess/API/Cocoa/WKWindowFeatures.h:
* UIProcess/API/Cocoa/_WKContextMenuElementInfo.h:
* UIProcess/API/Cocoa/_WKElementInfo.h:
* UIProcess/API/Cocoa/_WKPreviewElementInfo.h:
* UIProcess/API/Cocoa/_WKUserStyleSheet.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195914 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoModern IDB: Some tests crash with specific odd database names.
beidson@apple.com [Sat, 30 Jan 2016 22:25:21 +0000 (22:25 +0000)]
Modern IDB: Some tests crash with specific odd database names.
https://bugs.webkit.org/show_bug.cgi?id=153688

Reviewed by Darin Adler.

Source/WebCore:

No new tests (2 existing tests now pass).

* platform/FileSystem.cpp:
(WebCore::shouldEscapeUChar): Return true for some surrogate-pair situations.
(WebCore::encodeForFileName): Pass along the previous and next characters, as well,
  and do a two byte escaping for some characters.

LayoutTests:

* platform/mac-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195913 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMore than one audio and/or text track sometimes selected in media controls menu
eric.carlson@apple.com [Sat, 30 Jan 2016 22:19:08 +0000 (22:19 +0000)]
More than one audio and/or text track sometimes selected in media controls menu
https://bugs.webkit.org/show_bug.cgi?id=153664

Source/WebCore:

Use an <img> element for the track menu item checkmark instead of a background image and
the ::before selector.

Reviewed by Jer Noble.

Test: media/controls/track-menu.html

* Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-closed-captions-container li:hover):
(audio::-webkit-media-controls-closed-captions-container li .checkmark-container):
(audio::-webkit-media-controls-closed-captions-container li.selected .checkmark-container):
(audio::-webkit-media-controls-closed-captions-container li.selected:hover .checkmark-container):
(audio::-webkit-media-controls-closed-captions-container li.selected::before): Deleted.
(audio::-webkit-media-controls-closed-captions-container li.selected:hover::before): Deleted.
* Modules/mediacontrols/mediaControlsApple.js:
(Controller.prototype.buildCaptionMenu):
(Controller.prototype.):
(Controller.prototype.getCurrentControlsStatus):

LayoutTests:

Reviewed by Jer Noble.

* media/controls/controls-test-helpers.js:
(ControlsTest.prototype.get currentState):
(ControlsTest.prototype.get video):
(ControlsTest.prototype.stateForControlsElement):
(ControlsTest.prototype.handleEvent):
(ControlsTest.prototype.setup):
(ControlsTest.prototype.start):
(ControlsTest.prototype.isEqualTo):
(ControlsTest.prototype.isNotEqualTo):
(ControlsTest.prototype.contains):
* media/controls/track-menu-expected.txt: Added.
* media/controls/track-menu.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195912 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoReplace CaseFoldingHash with ASCIICaseInsensitiveHash
darin@apple.com [Sat, 30 Jan 2016 21:53:47 +0000 (21:53 +0000)]
Replace CaseFoldingHash with ASCIICaseInsensitiveHash
https://bugs.webkit.org/show_bug.cgi?id=153639

Reviewed by Filip Pizlo.

Source/WebCore:

* Modules/webdatabase/DatabaseAuthorizer.h: Use ASCIICaseInsensitiveHash
for whitelisted functions. Function names are all ASCII.

* accessibility/AccessibilityObject.cpp: Use ASCIICaseInsensitiveHash
for ARIA roles. ARIA roles are all ASCII.

* crypto/CryptoAlgorithmRegistry.h: Use ASCIICaseInsensitiveHash for
crypto algorithm names. Algorithm names are all ASCII.

* css/CSSFontSelector.cpp:
(WebCore::registerLocalFontFacesForFamily): Use ASCIICaseInsensitiveHash
for font faces. Face names should use ASCII case insensitive matching;
there is no need for non-ASCII case folding.
* css/CSSFontSelector.h: Ditto.

* dom/DOMImplementation.cpp: Use ASCIICaseInsensitiveHash for the
FeatureSet. The features are all ASCII.

* dom/Document.h: Use ASCIICaseInsensitiveHash for the access key
map. Access keys are all ASCII.

* dom/ScriptElement.cpp:
(WebCore::isLegacySupportedJavaScriptLanguage): Use ASCIICaseInsensitiveHash
for the language set. These strings are all ASCII.

* editing/EditorCommand.cpp: Use ASCIICaseInsensitiveHash for editor
command names. These names are all ASCII.

* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::parametersForPlugin): Use ASCIICaseInsensitiveHash
for parameter names. These names are all ASCII.

* html/InputType.cpp: Use ASCIICaseInsensitiveHash for the input types.
The input types are all ASCII.

* loader/CrossOriginAccessControl.h: Use ASCIICaseInsensitiveHash for
HTTP header field names. These names are all ASCII.
* loader/CrossOriginPreflightResultCache.h: Ditto.

* loader/archive/ArchiveFactory.cpp: Use ASCIICaseInsensitiveHash for
MIME types. MIME types are all ASCII.
* platform/MIMETypeRegistry.cpp:
(WebCore::initializeSupportedImageMIMETypes): Ditto.

* platform/SchemeRegistry.h: Use ASCIICaseInsensitiveHas for URL schemes.
URL schemes are all ASCII.
* platform/URL.cpp: Ditto.

* platform/graphics/FontCache.cpp: Reworked FontPlatformDataCacheKey struct:
Made it a conventional struct with non-prefixed data members names. Removed
the "==" operator since it was appropriate for hash table lookup but wasn't
a true equality operator. Tightened the implementations of the constructors.
(WebCore::FontPlatformDataCacheKeyHash::hash): Use ASCIICaseInsensitiveHash.
(WebCore::FontPlatformDataCacheKeyHash::equal): Do the equality check here,
not using the == operator. And use equalIgnoringASCIICase.
(WebCore::FontPlatformDataCacheKeyTraits::isEmptyValue): Added this entire
traits struct so we check empty values in a more efficient way.
(WebCore::FontCache::getCachedFontPlatformData): Added comments and tweaked
style in this function.

* platform/graphics/FontCascade.cpp:
(WebCore::keysMatch): Rename from operator== since this operation is not
equality. Changed to equalIgnoringASCIICase and did a little streamlining.
(WebCore::makeFontCascadeCacheKey): Use reserveInitialCapacity for slightly
better memory use.
(WebCore::computeFontCascadeCacheHash): Use IntegerHasher to make computing
a hash more efficient by eliminating the overhead of building a vector and
even possible heap allocation and deallocation.
(WebCore::retrieveOrAddCachedFonts): Use keysMatch instead of ==.

* platform/graphics/cocoa/FontCacheCoreText.cpp: Use ASCIICaseInsensitiveHash
for font family names. These names should use ASCII case insensitive matching;
there is no need for non-ASCII case folding.

* platform/network/HTTPHeaderMap.h: Use ASCIICaseInsensitiveHash for
HTTP header field names. These names are all ASCII.

* rendering/style/RenderStyle.cpp:
(WebCore::computeFontHash): Use IntegerHasher to avoid allocating memory just
to compute a hash. Use ASCIICaseInsensitiveHash.

Source/WebKit/win:

* WebCoreStatistics.cpp:
(WebCoreStatistics::memoryStatistics): Use ASCIICaseInsensitiveHash for field names.
These names are all ASCII.

* WebURLResponse.cpp:
(WebURLResponse::allHeaderFields): Use ASCIICaseInsensitiveHash for HTTP header
field names. These names are all ASCII.

Source/WebKit2:

* UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm: Use ASCIICaseInsensitiveHash
for MIME types. MIME types are all ASCII.

* UIProcess/Plugins/PlugInAutoStartProvider.h: Use ASCIICaseInsensitiveHash for
origins. Origin strings should use ASCII case insensitive matching and should not
fold non-ASCII case.

* WebProcess/WebPage/WebPage.h: Use ASCIICaseInsensitiveHash for MIME types.
MIME types are all ASCII.

* WebProcess/WebProcess.cpp:
(WebKit::addCaseFoldedCharacters): Use ASCIICaseInsensitiveHash to hash plug-in
origin strings. (See rationale above.)
(WebKit::hashForPlugInOrigin): Updated comment.

Source/WTF:

* wtf/text/StringHash.h: Renamed CaseFoldingHash to ASCIICaseInsensitiveHash.
(WTF::ASCIICaseInsensitiveHash::foldCase): Use toASCIILower.
(WTF::ASCIICaseInsensitiveHash::equal): Use equalIgnoringASCIICase.
Also added some assertions.

* wtf/text/StringImpl.cpp: Made the latin1CaseFoldTable private to this file,
since it's no longer needed by CaseFoldingHash. Moved it up before its first use.
(WTF::equalCompatibilityCaseless): Fixed typo in the name of this function.
(WTF::equalCompatibiltyCaselessNonNull): Deleted.

* wtf/text/StringImpl.h: Removed declarations of latin1CaseFoldTable and
equalCompatibiltyCaselessNonNull

Tools:

* Scripts/do-webcore-rename: Use script to do this rename.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195911 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoWeb Inspector: Object tree parent items are misaligned
commit-queue@webkit.org [Sat, 30 Jan 2016 21:49:31 +0000 (21:49 +0000)]
Web Inspector: Object tree parent items are misaligned
https://bugs.webkit.org/show_bug.cgi?id=153699
<rdar://problem/24423683>

Patch by Devin Rousso <dcrousso+webkit@gmail.com> on 2016-01-30
Reviewed by Darin Adler.

* UserInterface/Views/ObjectTreeView.css:
(.object-tree .object-tree):
Ensure that toplevel Object preview trees are displayed properly while also
making child trees inline.

* UserInterface/Views/TreeOutline.css:
(.tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) > .icon):
(.tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) .icon): Deleted.
This would apply to all .icon elements contained within a non-parent item,
which is not the desired effect. Instead, this should only apply to only the
.icon element of that particular non-parent item.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195910 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, rolling out r195871.
cdumez@apple.com [Sat, 30 Jan 2016 21:39:00 +0000 (21:39 +0000)]
Unreviewed, rolling out r195871.

Caused several layout tests to time out

Reverted changeset:

"Tab suspension code shouldn't use page cache cacheability
logic"
https://bugs.webkit.org/show_bug.cgi?id=153680
http://trac.webkit.org/changeset/195871

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195909 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoUnreviewed, rebaseline bindings tests after r195904.
cdumez@apple.com [Sat, 30 Jan 2016 21:34:43 +0000 (21:34 +0000)]
Unreviewed, rebaseline bindings tests after r195904.

* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::JSTestCustomNamedGetter::getOwnPropertySlot):
(WebCore::jsTestCustomNamedGetterConstructor):
(WebCore::setJSTestCustomNamedGetterConstructor):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTarget::getOwnPropertySlot):
(WebCore::jsTestEventTargetConstructor):
(WebCore::setJSTestEventTargetConstructor):
* bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::JSTestOverrideBuiltins::getOwnPropertySlot):
(WebCore::jsTestOverrideBuiltinsConstructor):
(WebCore::setJSTestOverrideBuiltinsConstructor):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195908 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[JS Bindings] prototype.constructor should be writable
cdumez@apple.com [Sat, 30 Jan 2016 21:01:09 +0000 (21:01 +0000)]
[JS Bindings] prototype.constructor should be writable
https://bugs.webkit.org/show_bug.cgi?id=149412
<rdar://problem/22545096>

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline W3C tests now that more checks are passing.

* web-platform-tests/XMLHttpRequest/interfaces-expected.txt:
* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/fetch/api/headers/headers-idl-expected.txt:
* web-platform-tests/html/dom/interfaces-expected.txt:

Source/WebCore:

prototype.constructor should have the following properties:
{ [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true }

as per the Web IDL specification:
https://heycam.github.io/webidl/#interface-prototype-object

In WebKit, it is currently not writable. It is writable in Firefox.

This patch was first landed in r190085 but was rolled out for causing
crashes: <rdar://problem/22825602>. The issue was that even though we
marked constructor as writable, we failed to generate a setter for it.
This patch addresses the issue and the crash in <rdar://problem/22825602>
no longer occurs after this change. A regression test is also added for
this crash.

Tests:
fast/dom/HTMLDocument/constructor-setter-crash.html
fast/dom/prototype-constructor-setter.html

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateAttributesHashTable):
(GenerateImplementation):
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::setJSTestActiveDOMObjectConstructor):
* bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::setJSTestClassWithJSBuiltinConstructorConstructor):
* bindings/scripts/test/JS/JSTestCustomConstructorWithNoInterfaceObject.cpp:
(WebCore::setJSTestCustomConstructorWithNoInterfaceObjectConstructor):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::setJSTestCustomNamedGetterConstructor):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::setJSTestEventConstructorConstructor):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::setJSTestEventTargetConstructor):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::setJSTestExceptionConstructor):
* bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::setJSTestGenerateIsReachableConstructor):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::setJSTestInterfaceConstructor):
* bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::setJSTestJSBuiltinConstructorConstructor):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::setJSTestMediaQueryListListenerConstructor):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::setJSTestNamedConstructorConstructor):
* bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::setJSTestNodeConstructor):
* bindings/scripts/test/JS/JSTestNondeterministic.cpp:
(WebCore::setJSTestNondeterministicConstructor):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjConstructor):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::setJSTestOverloadedConstructorsConstructor):
* bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::setJSTestOverrideBuiltinsConstructor):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::setJSTestSerializedScriptValueInterfaceConstructor):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::setJSTestTypedefsConstructor):
* bindings/scripts/test/JS/JSattribute.cpp:
(WebCore::setJSattributeConstructor):
* bindings/scripts/test/JS/JSreadonly.cpp:
(WebCore::setJSreadonlyConstructor):
* page/DOMWindow.idl:

LayoutTests:

* fast/dom/HTMLDocument/constructor-setter-crash-expected.txt: Added.
* fast/dom/HTMLDocument/constructor-setter-crash.html: Added.
Add regression test for crash at <rdar://problem/22825602>.

* fast/dom/prototype-constructor-setter-expected.txt: Added.
* fast/dom/prototype-constructor-setter.html: Added.
Add new test checking that prototype.constructor is writable.

* js/dom/constructor-attributes-expected.txt:
Rebaseline existing test now that prototype.constructor is writable.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195907 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[B3] JetStream/quicksort.c fails/hangs on Linux with GCC
utatane.tea@gmail.com [Sat, 30 Jan 2016 20:57:09 +0000 (20:57 +0000)]
[B3] JetStream/quicksort.c fails/hangs on Linux with GCC
https://bugs.webkit.org/show_bug.cgi?id=153647

Reviewed by Filip Pizlo.

In B3ComputeDivisionMagic, we accidentally perform sub, add operation onto signed integer. (In this case, int32_t)
But integer overflow is undefined behavior in C![1][2]
As a result, in GCC 4.9 release build, computeDivisionMagic(2) returns unexpected value.
`divisor = 2`
`d = 2`
`signedMin = INT32_MIN = -2147483647 (-0x7fffffff)`
`t = signedMin`
`anc = t - 1 - (t % ad)` Oops, we performed overflow operation!

So, `anc` value becomes undefined.
In this patch, we first cast all the operated values to unsigned one.
Reading the code, there are no operations that depends on signedness. (For example, we used aboveEqual like unsigned operations for comparison.)

[1]: http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html
[2]: http://dl.acm.org/citation.cfm?id=2522728

* b3/B3ComputeDivisionMagic.h:
(JSC::B3::computeDivisionMagic):
* b3/testb3.cpp:
(JSC::B3::testComputeDivisionMagic):
(JSC::B3::run):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195906 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoShrink Heap::m_executables after cleaning it.
akling@apple.com [Sat, 30 Jan 2016 20:48:11 +0000 (20:48 +0000)]
Shrink Heap::m_executables after cleaning it.
<https://webkit.org/b/153682>

Reviewed by Darin Adler.

The Heap::m_executables Vector was never shrunk down, despite sometimes
getting pretty huge (~500kB in my longest-running WebContent process.)

After GC has finished pruning unmarked Executables, shrink the Vector.

* heap/Heap.cpp:
(JSC::Heap::clearUnmarkedExecutables):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195905 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoMove more 'constructor' properties to the prototype
cdumez@apple.com [Sat, 30 Jan 2016 20:10:18 +0000 (20:10 +0000)]
Move more 'constructor' properties to the prototype
https://bugs.webkit.org/show_bug.cgi?id=153667

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline several W3C tests now that more checks are passing. A lot of
the 'constructor' attributes checks are still failing because the
attribute is not writable. This is being addressed via Bug 149412.

* web-platform-tests/dom/collections/HTMLCollection-supported-property-names-expected.txt:
* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/dom/nodes/Element-getElementsByTagName-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.forms-expected.txt:
* web-platform-tests/html/dom/interfaces-expected.txt:

Source/WebCore:

Move more 'constructor' properties to the prototype. In particular, we
used to keep the 'constructor' on the instance for interfaces that have
an indexed / named property getter because our getOwnPropertySlot()
implementation used to be wrong for such interfaces.

However, getOwnPropertySlot() should be correct after r188590 so we
should now be able to move the 'constructor' up to the prototype for
these interfaces, as per the specification:
http://heycam.github.io/webidl/#interface-prototype-object

No new tests, already covered by existing tests.

* bindings/js/JSPluginElementFunctions.h:
(WebCore::pluginElementCustomGetOwnPropertySlot):
Add a null check for staticPropHashTable. It is now null because this
type no longer has any property on the instance now that 'constructor'
is on the prototype.

* bindings/scripts/CodeGeneratorJS.pm:
(ConstructorShouldBeOnInstance):

LayoutTests:

Rebaseline a couple of tests now that 'constructor' is on the prototype
for more interfaces.

* fast/dom/htmlcollection-getownpropertynames-expected.txt:
* storage/domstorage/localstorage/delete-defineproperty-removal-expected.txt:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195904 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoImprove the style of B3 documentation
fpizlo@apple.com [Sat, 30 Jan 2016 20:06:53 +0000 (20:06 +0000)]
Improve the style of B3 documentation
https://bugs.webkit.org/show_bug.cgi?id=153674

Reviewed by Oliver Hunt.

This makes the style of the B3 documentation look like the Wiki, which I think is
appropriate for the kind of content that we're putting into it - in particular, the font
is the perfect size for dense content. The style also doesn't require much spoonfeeding
from the HTML side so you can write nice looking documentation by just using really
basic HTML constructs.

* docs/b3/assembly-intermediate-representation.html:
* docs/b3/index.html:
* docs/b3/intermediate-representation.html:
* docs/b3/style.css:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195903 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[GTK] Use configured python executable when executing generate-inspector-gresource...
commit-queue@webkit.org [Sat, 30 Jan 2016 20:01:45 +0000 (20:01 +0000)]
[GTK] Use configured python executable when executing generate-inspector-gresource-manifest.py
https://bugs.webkit.org/show_bug.cgi?id=153712

Patch by Jeremy Huddleston Sequoia <jeremyhu@apple.com> on 2016-01-30
Reviewed by Michael Catanzaro.

* PlatformGTK.cmake:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195902 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoEnable VIDEO_PRESENTATION_MODE only in Debug and Release builds on Mac
adachan@apple.com [Sat, 30 Jan 2016 19:30:49 +0000 (19:30 +0000)]
Enable VIDEO_PRESENTATION_MODE only in Debug and Release builds on Mac
https://bugs.webkit.org/show_bug.cgi?id=153665

Reviewed by Dan Bernstein.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

* wtf/Platform.h:
Remove this as the flag is already defined in FeatureDefines.xcconfig files.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195901 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[iOS] WebKit1 apps crash in ___ZN7WebCore16DiskCacheMonitorC2ERKNS_15ResourceRequestE...
ddkilzer@apple.com [Sat, 30 Jan 2016 19:22:58 +0000 (19:22 +0000)]
[iOS] WebKit1 apps crash in ___ZN7WebCore16DiskCacheMonitorC2ERKNS_15ResourceRequestENS_9SessionIDEPK20_CFCachedURLResponse_block_invoke1
<http://webkit.org/b/153710>
<rdar://problem/23116706>

Reviewed by Darin Adler.

* loader/cocoa/DiskCacheMonitorCocoa.mm:
(WebCore::DiskCacheMonitor::DiskCacheMonitor):
- Fix race condition on iOS WebKit1 clients by calling the block
  to cancel the DiskCacheMonitor on the WebThread, which is the
  same thread where the CFCachedURLResponseCallBackBlock is
  called.
- Removed whitespace to adhere to style.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195900 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years agoTouchList should be retargeted
rniwa@webkit.org [Sat, 30 Jan 2016 18:38:20 +0000 (18:38 +0000)]
TouchList should be retargeted
https://bugs.webkit.org/show_bug.cgi?id=149592

Reviewed by Antti Koivisto.

Source/WebCore:

Retarget touch target's using the same algorithm as the one used for related targets instead of
EventRelatedNodeResolver which is removed in this patch.

Also enable the retargeting on iOS.

Test: fast/shadow-dom/touch-event-ios.html

* dom/EventContext.cpp:
(WebCore::TouchEventContext::TouchEventContext):
(WebCore::TouchEventContext::handleLocalEvents):
(WebCore::TouchEventContext::checkReachability):
* dom/EventContext.h:
(WebCore::toTouchEventContext):
(WebCore::EventContext::isUnreachableNode):
* dom/EventDispatcher.cpp:
(WebCore::EventRelatedNodeResolver): Deleted.
(WebCore::EventPath::EventPath):
(WebCore::EventDispatcher::dispatchEvent):
(WebCore::addRelatedNodeResolversForTouchList): Deleted.
(WebCore::EventPath::updateTouchLists): Deleted.
(WebCore::EventPath::setRelatedTarget): Removed superfluous UNUSED_PARAM since the argument is always used.
(WebCore::EventPath::retargetTouch): Extracted from updateTouchLists/setRelatedTarget. Clones Touch object
with the new target for each event context just like related targets.
(WebCore::EventPath::retargetTouchLists): Renamed from updateTouchLists. Calls retargetTouch on each Touch
object in each TouchList.
* dom/TouchEvent.h:

Tools:

Added touchDownAtPoint and liftUpAtPoint to UIScriptController so that we can test touch events with
multiple touch targets on iOS. fast/shadow-dom/touch-event-ios.html uses this new testing feature.

* WebKitTestRunner/UIScriptContext/Bindings/UIScriptController.idl:
* WebKitTestRunner/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::touchDownAtPoint): Added.
(WTR::UIScriptController::liftUpAtPoint): Added.
* WebKitTestRunner/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/ios/HIDEventGenerator.h:
* WebKitTestRunner/ios/HIDEventGenerator.mm:
(-[HIDEventGenerator touchDown:touchCount:completionBlock:]): Added. Sends touch down and waits.
(-[HIDEventGenerator liftUp:touchCount:completionBlock:]): Ditto for lift up.
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::touchDownAtPoint): Added.
(WTR::UIScriptController::liftUpAtPoint): Added.

LayoutTests:

Added a regression test for retargeting touch targets on iOS.

* fast/shadow-dom/touch-event-ios-expected.txt: Added.
* fast/shadow-dom/touch-event-ios.html: Added.
* platform/mac/TestExpectations: Added the failing expectation on Mac since touch support is not enabled.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195899 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[B3] REGRESSION(r195882): Should break early after modConstant replaceWithNewValue...
utatane.tea@gmail.com [Sat, 30 Jan 2016 18:09:44 +0000 (18:09 +0000)]
[B3] REGRESSION(r195882): Should break early after modConstant replaceWithNewValue succeeds
https://bugs.webkit.org/show_bug.cgi?id=153711

Reviewed by Filip Pizlo.

Should break after modConstant replaceWithNewValue succeeds. m_value is already replaced with Identity
if modConstant succeeds. So it does not have any children. m_value->child(1) breaks testb3.

* b3/B3ReduceStrength.cpp:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195898 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[GTK] Two disk cache tests are failing
mcatanzaro@igalia.com [Sat, 30 Jan 2016 17:02:53 +0000 (17:02 +0000)]
[GTK] Two disk cache tests are failing

Unreviewed gardening.

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195897 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4 years ago[GTK] Some W3C DOM tests are failing
mcatanzaro@igalia.com [Sat, 30 Jan 2016 16:48:09 +0000 (16:48 +0000)]
[GTK] Some W3C DOM tests are failing

Unreviewed gardening.

* platform/gtk/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@195896 268f45cc-cd09-0410-ab3c-d52691b4dbfc