WebKit-https.git
5 years agoConvert PassRefPtr return types to RefPtr.
akling@apple.com [Sat, 22 Nov 2014 09:12:01 +0000 (09:12 +0000)]
Convert PassRefPtr return types to RefPtr.
<https://webkit.org/b/138995>

Reviewed by Anders Carlsson.

Convert an assortment of DOM and HTML related functions
to return RefPtr instead of PassRefPtr.

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

5 years agoUnreviewed iOS build fix; move new symbols out of Mac-only exports.
jer.noble@apple.com [Sat, 22 Nov 2014 07:50:44 +0000 (07:50 +0000)]
Unreviewed iOS build fix; move new symbols out of Mac-only exports.

* WebCore.exp.in:

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

5 years agoRemove a file that r176499 presumably did not mean to add.
timothy_horton@apple.com [Sat, 22 Nov 2014 06:38:47 +0000 (06:38 +0000)]
Remove a file that r176499 presumably did not mean to add.

* WebCore.exp.in.orig: Removed.

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

5 years agoSupport multiple signatures of diagnostic logging.
jer.noble@apple.com [Sat, 22 Nov 2014 05:27:16 +0000 (05:27 +0000)]
Support multiple signatures of diagnostic logging.
https://bugs.webkit.org/show_bug.cgi?id=138690

Reviewed by Anders Carlsson.

Source/WebCore:

Pull logDiagnosticMessage() out of ChromeClient and make a new client interface,
DiagnosticLoggingClient, which supports multiple kinds of diagnostic logging,
namely: simple logging without a parameter, logging with a success parameter, and
logging with a generic string value parameter.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute): Use DiagnosticLoggingClient.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto.
* loader/SubframeLoader.cpp:
(WebCore::logPluginRequest): Ditto.
* page/ChromeClient.h:
(WebCore::ChromeClient::logDiagnosticMessage): Deleted.
* page/DiagnosticLoggingClient.h:
(WebCore::DiagnosticLoggingClient::logDiagnosticMessage): Added.
(WebCore::DiagnosticLoggingClient::logDiagnosticMessageWithResult): Added.
(WebCore::DiagnosticLoggingClient::logDiagnosticMessageWithValue): Added.
(WebCore::DiagnosticLoggingClient::~DiagnosticLoggingClient): Empty destructor.

Rename Page::PageClient to PageConfiguration, and pass that configuration from
Page into MainFrame upon construction.

* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::overlayPage): Use PageConfiguration instead of PageClients.
* loader/EmptyClients.cpp:
(WebCore::fillWithEmptyClients): Ditto.
* loader/EmptyClients.h:
* page/MainFrame.cpp:
(WebCore::MainFrame::MainFrame): Pass loaderClientForMainFrame through to the
    Frame constructor.
(WebCore::MainFrame::create): Takes a PageConfiguration.
* page/MainFrame.h:
(WebCore::MainFrame::diagnosticLoggingClient): Simple accessor.
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::PageClients::PageClients): Deleted.
(WebCore::Page::PageClients::~PageClients): Deleted.
* page/Page.h:
* page/PageConfiguration.cpp: Added.
(WebCore::PageConfiguration::PageConfiguration): Renamed from PageClients().
(WebCore::PageConfiguration::~PageConfiguration): Renamed from ~PageClients().
* page/PageConfiguration.h: Added.
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::dataChanged): Use PageConfiguration instead of PageClients.

Add new files and symbols to the project.

* CMakeLists.txt:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.xcodeproj/project.pbxproj:

Source/WebKit/mac:

Page::PageClients has been renamed PageConfiguration.

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

Source/WebKit/win:

Page::PageClients has been renamed PageConfiguration.

* WebView.cpp:
(WebView::initWithFrame):

Source/WebKit2:

Extend the existing WKBundlePageDiagnosticLoggingClient interface by deprecating
the original logDiagnosticMessage client method in V1 and adding three new,
explicit client methods.

* CMakeLists.txt:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h:
* WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.cpp:
(WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessageDeprecated):
    Renamed from logDiagnosticMessage().
(WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessage): Pass to the client.
(WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessageWithResult): Ditto.
(WebKit::InjectedBundlePageDiagnosticLoggingClient::logDiagnosticMessageWithValue): Ditto.
* WebProcess/InjectedBundle/InjectedBundlePageDiagnosticLoggingClient.h:
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::logDiagnosticMessage): Deleted.
* WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.cpp: Added.
(WebKit::WebDiagnosticLoggingClient::WebDiagnosticLoggingClient): Simple constructor.
(WebKit::WebDiagnosticLoggingClient::~WebDiagnosticLoggingClient): Simple destructor.
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessage): Pass to the injected bundle.
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithResult): Ditto.
(WebKit::WebDiagnosticLoggingClient::logDiagnosticMessageWithValue): Ditto.
* WebProcess/WebCoreSupport/WebDiagnosticLoggingClient.h: Added.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Initialize the new client.

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

5 years agoUnreviewed. Fixed syntax errors.
rniwa@webkit.org [Sat, 22 Nov 2014 04:25:19 +0000 (04:25 +0000)]
Unreviewed. Fixed syntax errors.

* init-database.sql:
* public/api/commits.php:

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

5 years agoThe dashboard on new perf monitor should be configurable
rniwa@webkit.org [Sat, 22 Nov 2014 03:42:26 +0000 (03:42 +0000)]
The dashboard on new perf monitor should be configurable
https://bugs.webkit.org/show_bug.cgi?id=138994

Reviewed by Benjamin Poulain.

For now, make it configurable via config.json. We should eventually make it configurable via
an administrative page but this will do for now.

* config.json: Added the empty dashboard configuration.

* public/include/manifest.php: Include the dashboard configuration in the manifest file.

* public/v2/app.js:
(App.IndexController): Removed defaultTable since this is now dynamically obtained via App.Manifest.
(App.IndexController.gridChanged): Use App.Dashboard to parse the dashboard configuration.
Also obtain the default configuration from App.Manifest.
(App.IndexController._normalizeTable): Moved to App.Dashboard.

* public/v2/manifest.js:
(App.Repository.urlForRevision): Fixed the position of the open curly bracket.
(App.Repository.urlForRevisionRange): Ditto.
(App.Dashboard): Added.
(App.Dashboard.table): Extracted from App.IndexController.gridChanged.
(App.Dashboard.rows): Ditto.
(App.Dashboard.headerColumns): Ditto.
(App.Dashboard._normalizeTable): Moved from App.IndexController._normalizeTable.
(App.MetricSerializer.normalizePayload): Synthesize a dashboard record from the configuration.
Since there is exactly one dashboard object per app, it's okay to hard code an id here.
(App.Manifest._fetchedManifest): Set defaultDashboard to the one and only one dashboard we have.

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

5 years agoThrottled DOMTimers can prevent their document from being garbage collected
cdumez@apple.com [Sat, 22 Nov 2014 03:29:58 +0000 (03:29 +0000)]
Throttled DOMTimers can prevent their document from being garbage collected
https://bugs.webkit.org/show_bug.cgi?id=138915

Reviewed by Andreas Kling.

Source/WebCore:

Throttled DOMTimers whose interval depend on viewport changes would
keep a Vector of elements outside viewport causing them to be throttled
so that we could check later on (upon scroll or layout) if those
elements are still outside viewport. The issue is that these elements
could potentially be removed from the document (and destroyed) after
the timer has fired. To handle this, DOMTimer was ref'ing the
elements. Unfortunately, this was causing us to leak the document
as the elements in the Vector would keep the document alive.

To handle this issue, this patch updates the DOMTimer Vector to use
weak pointers. The WeakPtrFactory is stored in ElementRareData to
avoid wasting memory for all kinds of Elements (it is a fair assumption
that the number of elements whose style is animated via timers is low).

Test: fast/dom/throttled-timer-running-on-document-destruction.html

* dom/Element.cpp:
(WebCore::Element::createWeakPtr):
* dom/Element.h:
* dom/ElementRareData.cpp:
* dom/ElementRareData.h:
(WebCore::ElementRareData::weakPtrFactory):
* page/DOMTimer.cpp:
(WebCore::DOMTimerFireState::elementsChangedOutsideViewport):
(WebCore::DOMTimer::updateThrottlingStateAfterViewportChange):
* page/DOMTimer.h:

LayoutTests:

Improve fast/dom/throttled-timer-running-on-document-destruction.html
layout test to cover the case where the throttled timer is changing the
style of an element on the *same* document when the document is
destroyed.

* fast/dom/resources/frame-with-throttled-timer-animating-element-other-document.html: Renamed from LayoutTests/fast/dom/resources/frame-with-throttled-timer.html.
* fast/dom/resources/frame-with-throttled-timer-animating-element-same-document.html: Added.
* fast/dom/throttled-timer-running-on-document-destruction.html:

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

5 years agoUnreviewed, EFL build fix since r176459.
gyuyoung.kim@samsung.com [Sat, 22 Nov 2014 03:27:53 +0000 (03:27 +0000)]
Unreviewed, EFL build fix since r176459.

r176459 removed Timer parameter in timer callbacks only for Mac port.
So this patch applies it to remaining classes for EFL port.

Source/WebCore:

No new tests, fix build break.

* Modules/mediastream/RTCDTMFSender.cpp:
(WebCore::RTCDTMFSender::RTCDTMFSender):
* Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::RTCDataChannel):
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::RTCPeerConnection):
* Modules/vibration/Vibration.cpp:
(WebCore::Vibration::Vibration):
(WebCore::Vibration::timerFired):
* Modules/vibration/Vibration.h:
* bindings/js/GCController.cpp:
(WebCore::GCController::GCController):
* platform/efl/BatteryProviderEfl.cpp:
(WebCore::BatteryProviderEfl::BatteryProviderEfl):
(WebCore::BatteryProviderEfl::timerFired):
* platform/efl/BatteryProviderEfl.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::fillTimerFired):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/texmap/TextureMapper.cpp:
(WebCore::BitmapTexturePool::BitmapTexturePool):
(WebCore::BitmapTexturePool::releaseUnusedTexturesTimerFired):
* platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:
(WebCore::CompositingCoordinator::CompositingCoordinator):
(WebCore::CompositingCoordinator::releaseInactiveAtlasesTimerFired):
* platform/graphics/texmap/coordinated/CompositingCoordinator.h:
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::animationStartedTimerFired):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
* platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
(WebCore::CoordinatedImageBacking::CoordinatedImageBacking):
(WebCore::CoordinatedImageBacking::clearContentsTimerFired):
* platform/graphics/texmap/coordinated/CoordinatedImageBacking.h:
* platform/mock/DeviceMotionClientMock.cpp:
(WebCore::DeviceMotionClientMock::DeviceMotionClientMock):
(WebCore::DeviceMotionClientMock::timerFired):
* platform/mock/DeviceMotionClientMock.h:
* platform/mock/TimerEventBasedMock.h:
(WebCore::TimerEvent::TimerEvent):
(WebCore::TimerEvent::timerFired):

Source/WebKit2:

* UIProcess/API/efl/EwkView.cpp:
(EwkView::EwkView):
(EwkView::displayTimerFired):
* UIProcess/API/efl/EwkView.h:
* UIProcess/efl/TextCheckerClientEfl.cpp:
(TextCheckerClientEfl::TextCheckerClientEfl):
(TextCheckerClientEfl::languagesUpdateTimerFired):
(TextCheckerClientEfl::spellCheckingSettingChangeTimerFired):
* UIProcess/efl/TextCheckerClientEfl.h:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
(WebKit::CoordinatedLayerTreeHost::layerFlushTimerFired):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:

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

5 years agoStart using the new :not() and :matches() in the Web Inspector
benjamin@webkit.org [Sat, 22 Nov 2014 02:06:47 +0000 (02:06 +0000)]
Start using the new :not() and :matches() in the Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=138978

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-11-21
Reviewed by Joseph Pecoraro.

Source/WebCore:

There are only minor pending issues on :not() and :matches(). The feedback
has only been positive so far. It is time to move them out the experimental
flag.

* css/CSSGrammar.y.in:
* css/CSSParser.cpp:
(WebCore::CSSParser::detectFunctionTypeToken):
* css/CSSSelector.cpp:
(WebCore::simpleSelectorSpecificityInternal):
(WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity):
(WebCore::appendSelectorList):
(WebCore::CSSSelector::selectorText):
* css/CSSSelector.h:
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::determineLinkMatchType):
* css/SelectorPseudoClassAndCompatibilityElementMap.in:
* cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::addPseudoClassType):

Source/WebInspectorUI:

Start simpifying some definitions by using modern CSS.

* UserInterface/Views/CSSStyleDeclarationSection.css:
(body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section:matches(.last-in-group, :last-child)):
(.style-declaration-section:matches(.locked, .selector-locked) > .header > .selector):
(body.mac-platform.legacy .style-declaration-section.last-in-group + .style-declaration-section:last-child): Deleted.
(.style-declaration-section.selector-locked > .header > .selector): Deleted.
* UserInterface/Views/CSSStyleDeclarationTextEditor.css:
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property:matches(.disabled, .invalid, .other-vendor, .not-inherited, .overridden)):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property:matches(.implicit, .not-inherited)):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .editing-line .css-style-declaration-property:matches(.disabled, .other-vendor, .not-inherited, .overridden)):
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.overridden): Deleted.
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .css-style-declaration-property.not-inherited): Deleted.
(.css-style-text-editor > .CodeMirror .CodeMirror-lines .editing-line .css-style-declaration-property.overridden): Deleted.
* UserInterface/Views/ControlToolbarItem.css:
(.toolbar:matches(.icon-and-label-horizontal, .toolbar.icon-only) .item.control):
(.toolbar.icon-only .item.control): Deleted.
* UserInterface/Views/DOMStorageContentView.css:
* UserInterface/Views/DashboardContainerView.css:
(.toolbar.icon-and-label-vertical:matches(.small-size, .normal-size) .dashboard-container):
(.toolbar:matches(.label-only, .small-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal)) .dashboard-container):
(.toolbar.normal-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal) .dashboard-container):
(.toolbar.normal-size.icon-and-label-vertical .dashboard-container): Deleted.
(.toolbar.small-size.icon-and-label-horizontal .dashboard-container): Deleted.
(.toolbar.normal-size.icon-and-label-horizontal .dashboard-container): Deleted.
* UserInterface/Views/DataGrid.css:
(.data-grid :matches(th, td):not(:last-child)):
(.data-grid th:matches(.sort-ascending, .sort-descending)):
(.data-grid :matches(th, td) > div):
(.data-grid th:matches(.sort-ascending, .sort-descending) > div:first-child):
(.data-grid tr:matches(.selected, :hover) .go-to-arrow):
(.data-grid :-webkit-any(th, td):not(:last-child)): Deleted.
(.data-grid th:-webkit-any(.sort-ascending, .sort-descending)): Deleted.
(.data-grid :-webkit-any(th, td) > div): Deleted.
(.data-grid th:-webkit-any(.sort-ascending, .sort-descending) > div:first-child): Deleted.
(.data-grid tr:-webkit-any(.selected, :hover) .go-to-arrow): Deleted.
* UserInterface/Views/DebuggerDashboardView.css:
(.toolbar.collapsed .dashboard.debugger > :not(.message, .navigation-bar )):
(.toolbar.collapsed .dashboard.debugger > :not(.message):not(.navigation-bar )): Deleted.
* UserInterface/Views/DefaultDashboardView.css:
(body.web .toolbar.collapsed .dashboard.default > :matches(.time, .resourcesSize, .logs)):
(body.javascript .toolbar .dashboard.default > :matches(.time, .resourcesSize, .resourcesCount)):
(.toolbar:matches(.label-only, .small-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal)) .dashboard.default > .item):
(.toolbar.normal-size:matches(.icon-only, .icon-and-label-vertical, .icon-and-label-horizontal) .dashboard.default > .item):
(body.web .toolbar.collapsed .dashboard.default > .logs): Deleted.
(body.javascript .toolbar .dashboard.default > .resourcesCount): Deleted.
(.toolbar.small-size.icon-and-label-horizontal .dashboard.default > .item): Deleted.
(.toolbar.normal-size.icon-and-label-horizontal .dashboard.default > .item): Deleted.
* UserInterface/Views/DetailsSection.css:
(.details-section > .header > :matches(.node-link, .go-to-arrow)):
(.details-section > .content > .group:nth-child(even) > .row:matches(.simple:first-child > *, :not(.simple):first-child)):
(body.mac-platform.legacy .details-section > .content > .group:matches(:nth-child(even), :last-child) > .row.simple:last-child > *):
(.details-section > .content > .group > .row:matches(.empty, .text)):
(body.mac-platform.legacy .details-section > .content > .group > .row:matches(.empty, .text)):
(.details-section > .header > .go-to-arrow): Deleted.
(.details-section > .content > .group:nth-child(even) > .row.simple:first-child > *): Deleted.
(body.mac-platform.legacy .details-section > .content > .group:last-child > .row.simple:last-child > *): Deleted.
(.details-section > .content > .group > .row.text): Deleted.
(body.mac-platform.legacy .details-section > .content > .group > .row.text): Deleted.
* UserInterface/Views/FindBanner.css:
(:matches(.find-banner, .supports-find-banner).no-find-banner-transition):
(.supports-find-banner.no-find-banner-transition): Deleted.
* UserInterface/Views/FlexibleSpaceNavigationItem.css:
(:matches(.navigation-bar, .toolbar) .item.flexible-space):
(.toolbar .item.flexible-space): Deleted.

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

5 years agoThere should be a way to associate bugs with analysis tasks
rniwa@webkit.org [Sat, 22 Nov 2014 02:06:00 +0000 (02:06 +0000)]
There should be a way to associate bugs with analysis tasks
https://bugs.webkit.org/show_bug.cgi?id=138977

Reviewed by Benjamin Poulain.

Updated associate-bug.php to match the new database schema.

* public/include/json-header.php:
(require_format): Removed the call to camel_case_words_separated_by_underscore since the name is
already camel-cased in require_existence_of. This makes the function usable elsewhere.

* public/privileged-api/associate-bug.php:
(main): Changed the API to take run, bugTracker, and number to match the new database schema.
Also verify that those values are integers using require_format.

* public/v2/analysis.js:
(App.AnalysisTask.label): Added. Concatenates the task's name with the bug numbers.
(App.Bug.label): Added.
(App.BugAdapter): Added.
(App.BugAdapter.createRecord): Use PrivilegedAPI instead of the builtin ajax call.
(App.BuildRequest): Inherit from newly added App.Model, which is set to DS.Model right now.

* public/v2/app.css: Renamed .test-groups to .analysis-group. Also added new rules for the table
containing the bug information.

* public/v2/app.js:
(App.InteractiveChartComponent._rangesChanged): Added label to range bar objects.
(App.AnalysisTaskRoute):
(App.AnalysisTaskController): Replaced the functionality of App.AnalysisTaskViewModel.
(App.AnalysisTaskController._fetchedManifest): Added.
(App.AnalysisTaskController.actions.associateBug): Added.

* public/v2/chart-pane.css: Renamed .bugs-pane to .analysis-pane.

* public/v2/data.js:
(Measurement.prototype.associateBug): Deleted.

* public/v2/index.html: Renamed .bugs-pane to .analysis-pane and .test-groups to .analysis-group.
Added a table show the bug information. Also hide the chart until chartData is available.

* public/v2/manifest.js:
(App.Model): Added.

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

5 years agoUnreviewed, iOS build fix after r176462.
cdumez@apple.com [Sat, 22 Nov 2014 01:43:07 +0000 (01:43 +0000)]
Unreviewed, iOS build fix after r176462.

Source/WebCore:

Export a few extra symbols.

* WebCore.exp.in:

Source/WebKit2:

Fix include path to TextIndicator.h to include WebCore/
as it was moved.

* UIProcess/ios/PageClientImplIOS.mm:

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

5 years agoProperties in CSSPropertyNames.in should use the new StyleBuilder by default
cdumez@apple.com [Sat, 22 Nov 2014 01:26:46 +0000 (01:26 +0000)]
Properties in CSSPropertyNames.in should use the new StyleBuilder by default
https://bugs.webkit.org/show_bug.cgi?id=138983

Reviewed by Andreas Kling.

This patch makes using the new StyleBuilder the default and drops the
[NewStyleBuilder] option as a result. A new [LegacyStyleBuilder] option
is introduced for CSS properties that are not generated in the new
StyleBuilder yet.

* css/CSSPropertyNames.in:
* css/SVGCSSPropertyNames.in:
* css/makeprop.pl:

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

5 years ago[iOS] Regression(r176202): line-height is wrong on marco.org
cdumez@apple.com [Sat, 22 Nov 2014 01:22:41 +0000 (01:22 +0000)]
[iOS] Regression(r176202): line-height is wrong on marco.org
https://bugs.webkit.org/show_bug.cgi?id=138970

Reviewed by Simon Fraser.

Source/WebCore:

After r176202, on iOS with IOS_TEXT_AUTOSIZING enabled, we would
multiply the lineHeight by RenderStyle::textSizeAdjust()::multiplier()
unconditionally. However, we're only supposed to do so if
RenderStyle::textSizeAdjust()::isPercentage() returns true. This
patch reintroduces the textSizeAdjust().isPercentage() check that was
inadvertently dropped when refactoring the code to be shared between
iOS and OS X.

Additionally, the multiplier is only supposed the be applied if the
input CSSPrimitiveValue is a Length or a Number. However, after
r176202, we would apply the multiplier if the CSSPrimitiveValue is
a Percentage or a Number. This patch updates the code to match the
behavior prior to r176202.

Test: fast/css/line-height-text-autosizing.html

* css/StyleBuilderCustom.h:
(WebCore::StyleBuilderFunctions::convertLineHeight):
(WebCore::StyleBuilderFunctions::applyValueLineHeight):

LayoutTests:

Add layout test to cover line-height CSS property and its interaction
with -webkit-text-size-adjust.

* fast/css/line-height-text-autosizing-expected.txt: Added.
* fast/css/line-height-text-autosizing.html: Added.
* platform/ios-simulator/fast/css/line-height-text-autosizing-expected.txt: Added.

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

5 years agoUnreviewed, iOS build fix after r176452.
cdumez@apple.com [Sat, 22 Nov 2014 01:09:21 +0000 (01:09 +0000)]
Unreviewed, iOS build fix after r176452.

dencodeFixedLengthData() now only takes 2 arguments instead of
3.

* Shared/ios/QuickLookDocumentData.cpp:
(WebKit::QuickLookDocumentData::decode):

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

5 years agoSimple line layout: Add "show simple line layout debug borders" setting to MiniBrowser.
zalan@apple.com [Sat, 22 Nov 2014 00:59:27 +0000 (00:59 +0000)]
Simple line layout: Add "show simple line layout debug borders" setting to MiniBrowser.
https://bugs.webkit.org/show_bug.cgi?id=138981

Reviewed by Simon Fraser.

Source/WebKit/mac:

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences simpleLineLayoutDebugBordersEnabled]):
(-[WebPreferences setSimpleLineLayoutDebugBordersEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _simpleLineLayoutDebugBordersEnabled]):
(-[WKPreferences _setSimpleLineLayoutDebugBordersEnabled:]):
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Tools:

* MiniBrowser/mac/SettingsController.h:
* MiniBrowser/mac/SettingsController.m:
(-[SettingsController _populateMenu]):
(-[SettingsController validateMenuItem:]):
(-[SettingsController toggleSimpleLineLayoutDebugBordersEnabled:]):
(-[SettingsController simpleLineLayoutDebugBordersEnabled]):
* MiniBrowser/mac/WK1BrowserWindowController.m:
(-[WK1BrowserWindowController didChangeSettings]):
* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController didChangeSettings]):

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

5 years agoWebVideoFullscreenManagerProxy must clear pointers when invalidated
eric.carlson@apple.com [Sat, 22 Nov 2014 00:55:45 +0000 (00:55 +0000)]
WebVideoFullscreenManagerProxy must clear pointers when invalidated
https://bugs.webkit.org/show_bug.cgi?id=138982

Reviewed by Jer Noble.

* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::~WebVideoFullscreenManagerProxy): Call invalidate.
(WebKit::WebVideoFullscreenManagerProxy::invalidate): Set WebVideoFullscreenModel and
    WebVideoFullscreenChangeObserver to NULL.

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

5 years agoFix the build.
timothy_horton@apple.com [Sat, 22 Nov 2014 00:51:20 +0000 (00:51 +0000)]
Fix the build.

* UIProcess/API/mac/WKView.mm:
(-[WKView mouseDown:]):

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

5 years agoThe preview action menu item should not have a title
bdakin@apple.com [Sat, 22 Nov 2014 00:19:24 +0000 (00:19 +0000)]
The preview action menu item should not have a title
https://bugs.webkit.org/show_bug.cgi?id=138989
-and corresponding-
rdar://problem/19061959

Reviewed by Anders Carlsson.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _createActionMenuItemForTag:]):

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

5 years agoAX: com.apple.WebKit.WebContent crashed at WebCore: WebCore::AccessibilityRenderObjec...
cfleizach@apple.com [Sat, 22 Nov 2014 00:11:51 +0000 (00:11 +0000)]
AX: com.apple.WebKit.WebContent crashed at WebCore: WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored const
https://bugs.webkit.org/show_bug.cgi?id=138905

Reviewed by Mario Sanchez Prada.

The crash log indicates that m_renderer is null at the time we ask ancestorsOfType().
This is more of a speculative fix, since I am not entirely sure m_renderer is null when we enter the method.

Unable to determine cause of crash or how to reproduce on demand.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):

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

5 years agoPage previews should have a margin.
conrad_shultz@apple.com [Sat, 22 Nov 2014 00:07:46 +0000 (00:07 +0000)]
Page previews should have a margin.
https://bugs.webkit.org/show_bug.cgi?id=138990

Reviewed by Beth Dakin.

Enclose the WKWebView (or client-supplied preview view) in a container slightly larger
than the preview view. Adjust sizing code to accommodate the margin.

* UIProcess/mac/WKActionMenuController.mm:
(+[WKPagePreviewViewController previewPadding]):
Return the total amount of fixed padding surrounding the preview
(-[WKPagePreviewViewController loadView]):
Store the actual previewView in an ivar so that clients can distinguish it from the container
view; wrap the preview in a container view; set frames appropriately.
(-[WKActionMenuController _createPreviewPopover]):
Update to reflect method rename; supplement the popover size with the fixed padding.
(-[WKActionMenuController _preferredPopoverSizeWithPreviewPadding:]):
Renamed from -_preferredPopoverSize; account for the fixed padding when computing the preferred size.
(-[WKActionMenuController _clearPreviewPopover]):
Use the previewView ivar instead of the view controller's view.
(-[WKActionMenuController pagePreviewViewControllerWasClicked:]):
Ditto.
(-[WKActionMenuController _preferredPopoverSize]): Deleted.

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

5 years ago[EME][Mac] Check the underlying error if the one returned by AVFoundation is AVErrorU...
jer.noble@apple.com [Sat, 22 Nov 2014 00:04:58 +0000 (00:04 +0000)]
[EME][Mac] Check the underlying error if the one returned by AVFoundation is AVErrorUnknown.
https://bugs.webkit.org/show_bug.cgi?id=138986

Reviewed by Eric Carlson.

When we recieve an error with the code AVErrorUnknown, look for an underlying error from CoreMedia (or another
lower-level framework) with a (presumably) more informative error code, and return that code instead.

* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::systemCodeForError):
(WebCore::CDMSessionMediaSourceAVFObjC::layerDidReceiveError):
(WebCore::CDMSessionMediaSourceAVFObjC::rendererDidReceiveError):

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

5 years agoAX: Unclear that user and password are autofilled, no VoiceOver version of the yellow...
cfleizach@apple.com [Sat, 22 Nov 2014 00:02:59 +0000 (00:02 +0000)]
AX: Unclear that user and password are autofilled, no VoiceOver version of the yellow outline.
https://bugs.webkit.org/show_bug.cgi?id=138904

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Add an attribute that marks when a text field is auto-filled.

Test: accessibility/auto-filled-value.html

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::isValueAutofilled):
* accessibility/AccessibilityObject.h:
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

* accessibility/auto-filled-value.html: Added.
* platform/mac/accessibility/auto-filled-value-expected.txt: Added.

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

5 years agoREGRESSION (r176415): Can get stuck, unable to invoke any DataDetectors popovers
timothy_horton@apple.com [Fri, 21 Nov 2014 23:53:13 +0000 (23:53 +0000)]
REGRESSION (r176415): Can get stuck, unable to invoke any DataDetectors popovers
https://bugs.webkit.org/show_bug.cgi?id=138955
<rdar://problem/19056442>

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
(-[WKView mouseDown:]):
* UIProcess/mac/WKActionMenuController.h:
* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController wkView:willHandleMouseDown:]):
(-[WKActionMenuController didCloseMenu:withEvent:]):
(-[WKActionMenuController menuNeedsUpdate:]):
Keep track of whether we have called shouldUseActionsWithContext: on a
DDActionContext; if we get a mouseDown without having seen didCloseMenu:
(and thus don't properly pair the shouldUseActionsWithContext: with a didUseActions),
tear down the old DDActionContext before proceeding.

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

5 years agoAllocate local ScopeChain register
msaboff@apple.com [Fri, 21 Nov 2014 23:41:26 +0000 (23:41 +0000)]
Allocate local ScopeChain register
https://bugs.webkit.org/show_bug.cgi?id=138793

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Now we allocate the scope register as a local.  The allocated register is stored in the
CodeBlock for use by other components.  Update the DFG to work with a local scope register.
Changed usage of JSStack::ScopeChain access to the CallFrame header to use the allocated
local register.

* bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
Updated to properly represent the operand inputs and bytecode result.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::setScopeRegister):
(JSC::CodeBlock::scopeRegister):
* bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedCodeBlock::setScopeRegister):
(JSC::UnlinkedCodeBlock::scopeRegister):
Added scope register member and accessors.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::allocateAndEmitScope):
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::scopeRegister):
Change m_scopeRegister to an allocated register.  Added allocateAndEmitScope helper to
allocate the scope register, set the CodeBlock with its value and emit op_get_scope.

* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::scope): Changed to access the scope using the new convention.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::get):
(JSC::DFG::ByteCodeParser::flush):
(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::parseBlock):
Changed op_create_lexical_environment to set the scope VirtualRegister operand.
Filled out op_get_scope processing to emit a GetScope node putting the result in
the scope VirtualRegister result operand.
Added Phantoms where appropriate to keep the Scope register alive in places where
it use is optimized away, but where the baseline JIT would need to use its value.
Eliminated uses of JSStack::ScopeChain.

* dfg/DFGStackLayoutPhase.cpp:
(JSC::DFG::StackLayoutPhase::run):
Make sure that the scope register stack location is allocated using the same place
that the codeBlock expects.

* dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
Allow strength reduction of Flush to skip of GetScope nodes looking for a prior
corresponding SetLocal.

* interpreter/CallFrame.h:
(JSC::ExecState::scope):
(JSC::ExecState::setScope):
Added new scope() and setScope() helpers that take a VirtualRegister offset.

* interpreter/Interpreter.cpp:
(JSC::eval):
Changed eval() to get the scope from the caller's scope register instead of from the
temporary frame created for eval.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::unwind):
Changed unwind() to manipulate the scope n the allocated register instead of from the
call frame slot.

* interpreter/StackVisitor.cpp:
(JSC::StackVisitor::readNonInlinedFrame):
(JSC::StackVisitor::readInlinedFrame):
* interpreter/StackVisitor.h:
(JSC::StackVisitor::Frame::callee):
(JSC::StackVisitor::Frame::scope): Deleted.
Eliminated the scope member as it needed to change and no StackVisitor users use it.

* jit/JITOperations.cpp:
(JSC::operationPushNameScope):
(JSC::operationPushWithScope):
* runtime/JSNameScope.h:
(JSC::JSNameScope::create):
* runtime/JSWithScope.h:
(JSC::JSWithScope::create): Deleted.
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
Deleted JSNameScope::create() and JSWithScope::create() flavors tht used the ScopeChain slot
in the CallFrame header.  Changed the only user of these function, op_push_name_scope and
op_push_with_scope helpers, to use the remaining create variants that require explicit scope.
Those operations get the scope from the register pointed to by their scope operands.

* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
Changed resolveScope to use the allocated register.

LayoutTests:

New test that sets a breakpoint in a callee of a DFG caller.  While stopped in the
breakpoint, it modifies a global via the scope chain of the DFG caller as well as
a local of the DFG caller.

* inspector-protocol/debugger/resources/breakpoint.js:
(notInlineable3):
(dfgWithoutInline3):
* inspector-protocol/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local-expected.txt: Added.
* inspector-protocol/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local.html: Added.

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

5 years agoRenderElement::removeChild() doesn't need a return value.
akling@apple.com [Fri, 21 Nov 2014 23:39:16 +0000 (23:39 +0000)]
RenderElement::removeChild() doesn't need a return value.
<https://webkit.org/b/138985>

Reviewed by Pantti Koivisto.

Nobody uses the return value from RenderElement::removeChild().
Change it to return void and remove all the unnecessary plumbing.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removeChild):
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::removeChild):
* rendering/RenderBlockFlow.h:
* rendering/RenderButton.cpp:
(WebCore::RenderButton::removeChild):
* rendering/RenderButton.h:
* rendering/RenderElement.cpp:
(WebCore::RenderElement::removeChild):
(WebCore::RenderElement::removeChildInternal):
* rendering/RenderElement.h:
* rendering/RenderMenuList.cpp:
(RenderMenuList::removeChild):
* rendering/RenderMenuList.h:
* rendering/RenderRuby.cpp:
(WebCore::RenderRubyAsInline::removeChild):
(WebCore::RenderRubyAsBlock::removeChild):
* rendering/RenderRuby.h:
* rendering/RenderRubyRun.cpp:
(WebCore::RenderRubyRun::removeChild):
* rendering/RenderRubyRun.h:
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRootWrapper::removeChildWithoutRestructuring):
(WebCore::RenderMathMLRootWrapper::removeChild):
* rendering/mathml/RenderMathMLRoot.h:
* rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::RenderMathMLScripts::removeChildInternal):
(WebCore::RenderMathMLScripts::removeChild):
(WebCore::RenderMathMLScriptsWrapper::removeChildInternal):
(WebCore::RenderMathMLScriptsWrapper::removeChild):
* rendering/mathml/RenderMathMLScripts.h:
* rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::removeChild):
* rendering/svg/RenderSVGContainer.h:
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::removeChild):
* rendering/svg/RenderSVGInline.h:
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::removeChild):
* rendering/svg/RenderSVGRoot.h:
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::removeChild):
* rendering/svg/RenderSVGText.h:

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

5 years agoREGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able
timothy_horton@apple.com [Fri, 21 Nov 2014 23:38:19 +0000 (23:38 +0000)]
REGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able
​https://bugs.webkit.org/show_bug.cgi?id=138960
<rdar://problem/19056715>

Reviewed by Anders Carlsson.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
(-[WKActionMenuController _defaultMenuItemsForMailtoLink]): Deleted.
* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _defaultMenuItemsForMailtoLink]):
(-[WebActionMenuController _defaultMenuItemsForDataDetectedText]):
Use DataDetectors SPI instead of an explicit blacklist.

* platform/spi/mac/DataDetectorsSPI.h:
Add some DataDetectors SPI.

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

5 years ago[Mac] Random crashes inside media libraries when creating then destroying media quickly.
jer.noble@apple.com [Fri, 21 Nov 2014 23:29:08 +0000 (23:29 +0000)]
[Mac] Random crashes inside media libraries when creating then destroying media quickly.
https://bugs.webkit.org/show_bug.cgi?id=138980

Reviewed by Eric Carlson.

Speculative fix for random crashes in the layout tests which occur randomly but regularly. The theory is
that creating-then-destroying our media objects too quickly triggers crashes deep within the media frameworks
when their initialization threads don't have a chance to complete before the main player object is destroyed.
Test out this theory by delaying the destruction of the AVPlayer object for 1s after its owner is destroyed.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):

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

5 years ago[Mac] Delay of 1-2s after the first paint of a video frame.
jer.noble@apple.com [Fri, 21 Nov 2014 23:24:20 +0000 (23:24 +0000)]
[Mac] Delay of 1-2s after the first paint of a video frame.
https://bugs.webkit.org/show_bug.cgi?id=138979

Reviewed by Eric Carlson.

Only bother waiting for a signal that a new image is ready when the image isn't ready in the first place.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):

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

5 years agoCrashes while encoding a TextIndicator with no contentImageWithHighlight
timothy_horton@apple.com [Fri, 21 Nov 2014 23:10:59 +0000 (23:10 +0000)]
Crashes while encoding a TextIndicator with no contentImageWithHighlight
https://bugs.webkit.org/show_bug.cgi?id=138984
<rdar://problem/19063717>

Reviewed by Sam Weinig.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<TextIndicatorData>::encode):
(IPC::ArgumentCoder<TextIndicatorData>::decode):
encodeImage doesn't deal with null images, so handle that case gracefully.

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

5 years agoSource/WebCore:
mmaxfield@apple.com [Fri, 21 Nov 2014 22:33:17 +0000 (22:33 +0000)]
Source/WebCore:
Add support to -webkit-line-break property for CSS3 Text line-break property values and semantics.
https://bugs.webkit.org/show_bug.cgi?id=89235

Reviewed by Eric Seidel and Dave Hyatt.

This patch adds semantic support for the CSS3 line-break property (qua -webkit-line-break),
and enables testing on (apple) mac ports. Follow on patches will enable these tests on
other ports as they are incrementally verified.

See also wiki documentation at:
[1] http://trac.webkit.org/wiki/LineBreaking
[2] http://trac.webkit.org/wiki/LineBreakingCSS3Mapping

Tests: css3/line-break/line-break-auto-centered.html
       css3/line-break/line-break-auto-half-kana.html
       css3/line-break/line-break-auto-hyphens.html
       css3/line-break/line-break-auto-inseparables.html
       css3/line-break/line-break-auto-iteration-marks.html
       css3/line-break/line-break-auto-postfixes.html
       css3/line-break/line-break-auto-prefixes.html
       css3/line-break/line-break-auto-sound-marks.html
       css3/line-break/line-break-loose-centered.html
       css3/line-break/line-break-loose-half-kana.html
       css3/line-break/line-break-loose-hyphens.html
       css3/line-break/line-break-loose-inseparables.html
       css3/line-break/line-break-loose-iteration-marks.html
       css3/line-break/line-break-loose-postfixes.html
       css3/line-break/line-break-loose-prefixes.html
       css3/line-break/line-break-loose-sound-marks.html
       css3/line-break/line-break-normal-centered.html
       css3/line-break/line-break-normal-half-kana.html
       css3/line-break/line-break-normal-hyphens.html
       css3/line-break/line-break-normal-inseparables.html
       css3/line-break/line-break-normal-iteration-marks.html
       css3/line-break/line-break-normal-postfixes.html
       css3/line-break/line-break-normal-prefixes.html
       css3/line-break/line-break-normal-sound-marks.html
       css3/line-break/line-break-strict-centered.html
       css3/line-break/line-break-strict-half-kana.html
       css3/line-break/line-break-strict-hyphens.html
       css3/line-break/line-break-strict-inseparables.html
       css3/line-break/line-break-strict-iteration-marks.html
       css3/line-break/line-break-strict-postfixes.html
       css3/line-break/line-break-strict-prefixes.html
       css3/line-break/line-break-strict-sound-marks.html

These tests were previously added in http://trac.webkit.org/changeset/143378, but skipped
in generic TestExpectations. In this patch, they are marked as Pass for the (apple) mac ports.

* platform/text/LineBreakIteratorPoolICU.h:
(WebCore::LineBreakIteratorPool::makeLocaleWithBreakKeyword):
Add static function to construct ICU locale argument (also used as pool key) with additional
break keyword.
(LineBreakIteratorPool):
(WebCore::LineBreakIteratorPool::take):
(WebCore::LineBreakIteratorPool::put):
Remove direct dependency from ICU library (and types), moving that dependency into
new {open,close}LineBreakIterator() functions (defined in TextBreakIteratorICU.cpp).
Update to take line break mode into account.
Create (and cache) different break iterators depending on line break mode (in addition to locale),
which entails expanding pool entry key format to optionally append "@break=" +
"loose"|"normal"|"strict" keyword to locale string.

* platform/text/TextBreakIterator.h:
(WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
(WebCore::LazyLineBreakIterator::isLooseCJKMode):
(WebCore::LazyLineBreakIterator::get):
(WebCore::LazyLineBreakIterator::reset):
(LazyLineBreakIterator):
Define LineBreakIteratorMode enumeration for use in TextBreakIterator et al.
Add state member to indicate line break mode.

* platform/text/TextBreakIteratorICU.cpp:
(WebCore::acquireLineBreakIterator):
Use new line break mode when making iterator from pool.
Handle change of return type of LineBreakIteratorPool::take() to non-ICU type,
i.e., TextBreakIterator* instead of ICU's UBreakIterator*.
(WebCore::releaseLineBreakIterator):
Handle change of parameter type of LineBreakIteratorPool::put() to non-ICU type,
i.e., TextBreakIterator* instead of ICU's UBreakIterator*.
(WebCore):
(WebCore::isCJKLocale):
New functions for determining if CJK rules apply.
(WebCore::openLineBreakIterator):
New function for abstracting opening of ICU style line break iterator. This is now
used in LineBreakIteratorPoolICU.h rather than having direct ICU API dependency there.
This function also takes into account the line break mode.

Note that this function only calls ubrk_openRules() when the author has opted-in via
using the -webkit-line-break CSS property. Eventually, we would like to be able to
customize the rules that ICU's line breaking algorithm uses (especially for CJK text);
however, ubrk_openRules() currently parses its input string to create a DFA and is
therefore very slow. In fact, it's so slow that increasing our cache size in
LineBreakIteratorPool doesn't actually help enough. Also note that the default value
for the line-break CSS property is 'auto'.
(WebCore::closeLineBreakIterator):
(WebCore::mapLineIteratorModeToRules):
New function for abstracting closing of ICU style line break iterator. This is now
used in LineBreakIteratorPoolICU.h rather than having direct ICU API dependency there.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
Pass line break iterator mode flag when reseting LazyLineBreakIterator.
Add looseMode local variable to prevent need for computing under isBreakable().

* rendering/RenderText.cpp:
(WebCore::mapLineBreakToIteratorMode):
Add implementation for mapLineBreakToIteratorMode(), used by both RenderText::computePreferredLogicalWidths
and RenderBlock::LineBreaker::nextLineBreak.
(WebCore):
(WebCore::RenderText::computePreferredLogicalWidths):
Ensure (lazy line) breakIterator is initialized for line break mode.
Ensure isBreakable() is passed loose mode flag to match behavior in RenderBlock::LineBreaker::nextLineBreak.

* rendering/RenderText.h:
(WebCore):
Add declaration for mapLineBreakToIteratorMode(), used by both RenderText::computePreferredLogicalWidths
and RenderBlock::LineBreaker::nextLineBreak.

* rendering/break_lines.cpp:
(WebCore):
Introduce (local) enum NBSPBehavior for expanding template on nextBreakablePosition.
(WebCore::isBreakableSpace):
Add externally specified loose mode parameter to prevent need to invoke line break iterator
accessor method on each invocation. Use new loose mode flavors off NBP functions.
(WebCore::needsLineBreakIterator):
Use enum NBSP behavior template parameter rather than boolean.
(WebCore::nextBreakablePositionNonLoosely):
Extend name to distinguish from loose flavor of this function.
(WebCore::nextBreakablePositionLoosely):
Add loose flavor of NBP invoked only when loose mode applies, in which case ASCII shortcut
table cannot be used.
(WebCore::nextBreakablePosition):
(WebCore::nextBreakablePositionIgnoringNBSP):
Use (renamed) non-loose flavor of NBP.
(WebCore::nextBreakablePositionLoose):
(WebCore::nextBreakablePositionIgnoringNBSPLoose):
Introduce loose flavor of NBP template expansions.

* rendering/break_lines.h:
(WebCore):
(WebCore::isBreakable):
Add externally specified loose mode parameter to prevent need to invoke line break iterator
accessor method on each invocation.

LayoutTests:
CSS3: line-break property support
https://bugs.webkit.org/show_bug.cgi?id=89235

Reviewed by Eric Seidel and Dave Hyatt.

* platform/mac/TestExpectations: Mark css3/line-break tests as passing.

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

5 years agoMore build fixes.
andersca@apple.com [Fri, 21 Nov 2014 21:34:30 +0000 (21:34 +0000)]
More build fixes.

* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::MediaStream):

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

5 years ago[iOS] allocate volume view on the main thread
eric.carlson@apple.com [Fri, 21 Nov 2014 21:22:47 +0000 (21:22 +0000)]
[iOS] allocate volume view on the main thread
https://bugs.webkit.org/show_bug.cgi?id=138971
rdar://problem/18016958

Reviewed by Jer Noble.

* platform/audio/ios/MediaSessionManagerIOS.mm:
(-[WebMediaSessionHelper allocateVolumeView]): New, dispatch to the main thread if necessary before allocating
    the volume view.
(-[WebMediaSessionHelper initWithCallback:]): Call allocateVolumeView.

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

5 years agoREGRESSION(r175259) Simple line layout text measuring behavior changed.
zalan@apple.com [Fri, 21 Nov 2014 21:08:55 +0000 (21:08 +0000)]
REGRESSION(r175259) Simple line layout text measuring behavior changed.
https://bugs.webkit.org/show_bug.cgi?id=138947
rdar://problem/19050653

Reviewed by Antti Koivisto.

In certain cases, when block flow needs to compute the preferred width of a particular text
renderer, we use the non-simple line layout text measuring.
However, the same text renderer might end up at simple line layout later.
Complex line layout measures text including the trailing space and it subtracts
(the constant value of) space width afterwards, while simple line layout measures
runs without the extra space.
In such cases, this may result different word widths and produce unexpected line breaking. (preferred width != final width)
In long term, any text renderer qualified for simple line layout should go through the simple
text measuring code path. (https://bugs.webkit.org/show_bug.cgi?id=138973)
For now, just copy complex line layout behaviour. This also matches the previous simple line layout line breaking implementation.

Source/WebCore:

Test: fast/text/simple-line-text-measuring-with-trailing-space.html

* rendering/SimpleLineLayoutFlowContents.cpp:
(WebCore::SimpleLineLayout::FlowContents::textWidth):

LayoutTests:

* fast/text/simple-line-text-measuring-with-trailing-space-expected.html: Added.
* fast/text/simple-line-text-measuring-with-trailing-space.html: Added.

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

5 years agoAdd a new symbol.
andersca@apple.com [Fri, 21 Nov 2014 21:01:46 +0000 (21:01 +0000)]
Add a new symbol.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

5 years agoRemove a symbol that's gone.
andersca@apple.com [Fri, 21 Nov 2014 20:57:28 +0000 (20:57 +0000)]
Remove a symbol that's gone.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

5 years agoAnother Windows build fix.
andersca@apple.com [Fri, 21 Nov 2014 20:51:51 +0000 (20:51 +0000)]
Another Windows build fix.

* FullscreenVideoController.cpp:
(FullscreenVideoController::FullscreenVideoController):

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

5 years agoMore Windows build fixes.
andersca@apple.com [Fri, 21 Nov 2014 20:44:22 +0000 (20:44 +0000)]
More Windows build fixes.

* platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
(WebCore::LegacyCACFLayerTreeHost::LegacyCACFLayerTreeHost):
(WebCore::LegacyCACFLayerTreeHost::renderTimerFired):
* platform/graphics/ca/win/LegacyCACFLayerTreeHost.h:
* platform/mock/GeolocationClientMock.cpp:
(WebCore::GeolocationClientMock::GeolocationClientMock):
(WebCore::GeolocationClientMock::permissionTimerFired):
(WebCore::GeolocationClientMock::controllerTimerFired):
* platform/mock/GeolocationClientMock.h:

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

5 years agoRenderMathMLScripts isPrescript() helper should take a reference.
akling@apple.com [Fri, 21 Nov 2014 20:42:14 +0000 (20:42 +0000)]
RenderMathMLScripts isPrescript() helper should take a reference.
<https://webkit.org/b/138975>

Reviewed by Antti Koivisto.

Tidy this up a bit, since it's never called with a null pointer.

* rendering/mathml/RenderMathMLScripts.cpp:
(WebCore::isPrescript):
(WebCore::RenderMathMLScripts::fixAnonymousStyles):
(WebCore::RenderMathMLScripts::addChildInternal):
(WebCore::RenderMathMLScripts::removeChildInternal):
(WebCore::RenderMathMLScripts::layout):
(WebCore::RenderMathMLScriptsWrapper::addChildInternal):
(WebCore::RenderMathMLScriptsWrapper::removeChildInternal):

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

5 years agoWindows build fixes.
andersca@apple.com [Fri, 21 Nov 2014 20:37:21 +0000 (20:37 +0000)]
Windows build fixes.

* plugins/PluginPackage.cpp:
(WebCore::PluginPackage::freeLibraryTimerFired):
(WebCore::PluginPackage::PluginPackage):
* plugins/PluginPackage.h:
* plugins/PluginStream.cpp:
(WebCore::PluginStream::PluginStream):
(WebCore::PluginStream::delayDeliveryTimerFired):
(WebCore::PluginStream::deliverData): Deleted.
* plugins/PluginStream.h:
* plugins/PluginView.cpp:
(WebCore::PluginView::popPopupsStateTimerFired):
(WebCore::PluginView::requestTimerFired):
(WebCore::PluginView::invalidateTimerFired):
(WebCore::PluginView::PluginView):
(WebCore::PluginView::lifeSupportTimerFired):
(WebCore::PluginView::performRequest): Deleted.
(WebCore::PluginView::setValue): Deleted.
(WebCore::PluginView::setParameters): Deleted.
(WebCore::PluginView::userAgent): Deleted.
* plugins/PluginView.h:
* plugins/win/PluginMessageThrottlerWin.cpp:
(WebCore::PluginMessageThrottlerWin::PluginMessageThrottlerWin):
(WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
* plugins/win/PluginMessageThrottlerWin.h:

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

5 years agoREGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able
timothy_horton@apple.com [Fri, 21 Nov 2014 20:28:15 +0000 (20:28 +0000)]
REGRESSION (r176351): Parts of apple.com/contact aren't Lookup-able
https://bugs.webkit.org/show_bug.cgi?id=138960
<rdar://problem/19056715>

Reviewed by Beth Dakin.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
* WebView/WebActionMenuController.mm:
(-[WebActionMenuController _defaultMenuItemsForDataDetectedText]):
Blacklist contact results, because they don't have useful menus. If we
bail before setting up _currentActionContext, we'll still allow fallthrough
to ordinary text actions, avoiding mysterious failure when a contact is detected.

This doesn't break the case that r176351 was intended to fix,
because in that case we were detecting e.g. addresses.

* platform/spi/mac/DataDetectorsSPI.h:
Softlink some SPI.

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

5 years agoMove TextIndicator{Window} to WebCore
timothy_horton@apple.com [Fri, 21 Nov 2014 20:18:29 +0000 (20:18 +0000)]
Move TextIndicator{Window} to WebCore
https://bugs.webkit.org/show_bug.cgi?id=138954
<rdar://problem/18992185>

Some adjustments by Csaba Osztrogonác.
Reviewed by Anders Carlsson.

Move TextIndicator and TextIndicatorWindow to WebCore so that both
WebKits can share the implementation.

* CMakeLists.txt:
Remove TextIndicator.cpp.

* Scripts/webkit/messages.py:
(struct_or_class):
(headers_for_type):
Tell messages.py that TextIndicatorData is a struct, and comes from TextIndicator.h.

* Shared/WebCoreArgumentCoders.h:
* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<TextIndicatorData>::encode):
(IPC::ArgumentCoder<TextIndicatorData>::decode):
Add argument coders for TextIndicatorData.

* Shared/DictionaryPopupInfo.h:
* Shared/mac/ActionMenuHitTestResult.h:
* Shared/mac/ActionMenuHitTestResult.mm:
* UIProcess/API/gtk/PageClientImpl.h:
* UIProcess/API/gtk/PageClientImpl.cpp:
* UIProcess/API/mac/WKView.mm:
* UIProcess/API/mac/WKViewInternal.h:
* UIProcess/CoordinatedGraphics/WebView.h:
* UIProcess/CoordinatedGraphics/WebView.cpp:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/WKContentView.h:
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
* UIProcess/mac/WKActionMenuController.mm:
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
* WebProcess/WebPage/FindController.cpp:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
* WebProcess/WebPage/mac/WebPageMac.mm:
Adjust to TextIndicator and TextIndicatorWindow's new home.

* CMakeLists.txt:
Build TextIndicator.

* WebCore.exp.in:
Export TextIndicator{Window} symbols for the WebKits.

* WebCore.xcodeproj/project.pbxproj:
* page/TextIndicator.cpp: Renamed from Source/WebKit2/Shared/TextIndicator.cpp.
* page/TextIndicator.h: Renamed from Source/WebKit2/Shared/TextIndicator.h.
Straighforward move of TextIndicator from WebKit2, except:

Move TextIndicator::Data and TextIndicator::PresentationTransition out directly
into the WebCore namespace to allow for implementation of WebKit2 argument coders.

Use Image instead of ShareableBitmap internally.

Move the TextIndicatorData encode/decode to WebCoreArgumentCoders.

* page/mac/TextIndicatorWindow.h: Renamed from Source/WebKit2/UIProcess/mac/TextIndicatorWindow.h.
* page/mac/TextIndicatorWindow.mm: Renamed from Source/WebKit2/UIProcess/mac/TextIndicatorWindow.mm.
Straighforward move of TextIndicatorWindow from WebKit2.

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

5 years agoRemove a duplicate ChangeLog entry.
andersca@apple.com [Fri, 21 Nov 2014 20:13:44 +0000 (20:13 +0000)]
Remove a duplicate ChangeLog entry.

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

5 years agoREGRESSION (r176238): Mailto links are getting preloaded, which results in a compose...
timothy_horton@apple.com [Fri, 21 Nov 2014 20:11:47 +0000 (20:11 +0000)]
REGRESSION (r176238): Mailto links are getting preloaded, which results in a compose window
https://bugs.webkit.org/show_bug.cgi?id=138972

Reviewed by Beth Dakin.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController willOpenMenu:withEvent:]):
Only preload links.

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

5 years agoRemove the Timer parameters from timer callbacks
andersca@apple.com [Fri, 21 Nov 2014 20:10:13 +0000 (20:10 +0000)]
Remove the Timer parameters from timer callbacks
https://bugs.webkit.org/show_bug.cgi?id=138974

Reviewed by Antti Koivisto.

Source/WebCore:

* Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::MediaKeySession):
(WebCore::MediaKeySession::keyRequestTimerFired):
(WebCore::MediaKeySession::addKeyTimerFired):
* Modules/encryptedmedia/MediaKeySession.h:
* Modules/geolocation/Geolocation.cpp:
(WebCore::Geolocation::GeoNotifier::GeoNotifier):
(WebCore::Geolocation::GeoNotifier::timerFired):
(WebCore::Geolocation::Geolocation):
(WebCore::Geolocation::resumeTimerFired):
* Modules/geolocation/Geolocation.h:
* Modules/indexeddb/IDBTransactionBackend.cpp:
(WebCore::IDBTransactionBackend::IDBTransactionBackend):
(WebCore::IDBTransactionBackend::taskTimerFired):
* Modules/indexeddb/IDBTransactionBackend.h:
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::SourceBuffer):
(WebCore::SourceBuffer::appendBufferTimerFired):
(WebCore::SourceBuffer::removeTimerFired):
* Modules/mediasource/SourceBuffer.h:
* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::MediaStream):
(WebCore::MediaStream::scheduledEventTimerFired):
* Modules/mediastream/MediaStream.h:
* Modules/mediastream/RTCDTMFSender.cpp:
(WebCore::RTCDTMFSender::RTCDTMFSender):
(WebCore::RTCDTMFSender::scheduledEventTimerFired):
* Modules/mediastream/RTCDTMFSender.h:
* Modules/mediastream/RTCDataChannel.cpp:
(WebCore::RTCDataChannel::RTCDataChannel):
(WebCore::RTCDataChannel::scheduledEventTimerFired):
* Modules/mediastream/RTCDataChannel.h:
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::scheduledEventTimerFired):
* Modules/mediastream/RTCPeerConnection.h:
* Modules/notifications/Notification.cpp:
(WebCore::Notification::Notification):
(WebCore::Notification::taskTimerFired):
* Modules/notifications/Notification.h:
* Modules/notifications/NotificationCenter.cpp:
(WebCore::NotificationCenter::NotificationRequestCallback::NotificationRequestCallback):
(WebCore::NotificationCenter::NotificationRequestCallback::timerFired):
* Modules/notifications/NotificationCenter.h:
* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::resumeTimerFired):
(WebCore::WebSocketChannel::closingTimerFired):
* Modules/websockets/WebSocketChannel.h:
* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::notificationPostTimerFired):
* accessibility/AXObjectCache.h:
* bindings/js/GCController.cpp:
(WebCore::GCController::GCController):
(WebCore::GCController::gcTimerFired):
* bindings/js/GCController.h:
* css/CSSFontFaceSource.h:
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::CSSFontSelector):
(WebCore::CSSFontSelector::beginLoadTimerFired):
* css/CSSFontSelector.h:
* css/CSSImageGeneratorValue.cpp:
(WebCore::CSSImageGeneratorValue::CachedGeneratedImage::CachedGeneratedImage):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::sweepMatchedPropertiesCache):
* css/StyleResolver.h:
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::visualUpdatesSuppressionTimerFired):
(WebCore::Document::styleRecalcTimerFired):
(WebCore::Document::optimizedStyleSheetUpdateTimerFired):
(WebCore::Document::sharedObjectPoolClearTimerFired):
(WebCore::Document::updateFocusAppearanceTimerFired):
(WebCore::Document::pendingTasksTimerFired):
(WebCore::Document::webkitWillEnterFullScreenForElement):
(WebCore::Document::webkitDidExitFullScreenForElement):
(WebCore::Document::fullScreenChangeDelayTimerFired):
(WebCore::Document::loadEventDelayTimerFired):
(WebCore::Document::didAssociateFormControlsTimerFired):
(WebCore::Document::domCookieCacheExpiryTimerFired):
* dom/Document.h:
* dom/EventSender.h:
(WebCore::EventSender::timerFired):
(WebCore::EventSender<T>::EventSender):
* dom/ScriptRunner.cpp:
(WebCore::ScriptRunner::ScriptRunner):
(WebCore::ScriptRunner::timerFired):
* dom/ScriptRunner.h:
* dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::ScriptedAnimationController):
(WebCore::ScriptedAnimationController::animationTimerFired):
* dom/ScriptedAnimationController.h:
* dom/StyledElement.cpp:
(WebCore::PresentationAttributeCacheCleaner::PresentationAttributeCacheCleaner):
(WebCore::PresentationAttributeCacheCleaner::cleanCache):
* editing/AlternativeTextController.cpp:
(WebCore::AlternativeTextController::AlternativeTextController):
(WebCore::AlternativeTextController::timerFired):
* editing/AlternativeTextController.h:
* editing/Editor.cpp:
(WebCore::Editor::Editor):
(WebCore::Editor::updateEditorUINowIfScheduled):
(WebCore::Editor::editorUIUpdateTimerFired):
(WebCore::Editor::scanSelectionForTelephoneNumbers): Deleted.
* editing/Editor.h:
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::FrameSelection):
(WebCore::FrameSelection::caretBlinkTimerFired):
* editing/FrameSelection.h:
* editing/SpellChecker.cpp:
(WebCore::SpellChecker::SpellChecker):
(WebCore::SpellChecker::timerFiredToProcessQueuedRequest):
* editing/SpellChecker.h:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::HTMLFormElement):
(WebCore::HTMLFormElement::requestAutocompleteTimerFired):
* html/HTMLFormElement.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::parseAttribute):
* html/HTMLMediaElement.h:
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::HTMLPlugInElement):
(WebCore::HTMLPlugInElement::swapRendererTimerFired):
* html/HTMLPlugInElement.h:
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
(WebCore::HTMLPlugInImageElement::removeSnapshotTimerFired):
* html/HTMLPlugInImageElement.h:
* html/HTMLSourceElement.cpp:
(WebCore::HTMLSourceElement::HTMLSourceElement):
(WebCore::HTMLSourceElement::errorEventTimerFired):
* html/HTMLSourceElement.h:
* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::HTMLTrackElement):
(WebCore::HTMLTrackElement::loadTimerFired):
* html/HTMLTrackElement.h:
* html/MediaController.cpp:
(MediaController::MediaController):
(MediaController::asyncEventTimerFired):
(MediaController::clearPositionTimerFired):
(MediaController::timeupdateTimerFired):
* html/MediaController.h:
* html/MediaDocument.cpp:
(WebCore::MediaDocument::MediaDocument):
(WebCore::MediaDocument::replaceMediaElementTimerFired):
* html/MediaDocument.h:
* html/SearchInputType.cpp:
(WebCore::SearchInputType::SearchInputType):
(WebCore::SearchInputType::searchEventTimerFired):
* html/SearchInputType.h:
* html/ValidationMessage.cpp:
(WebCore::ValidationMessage::setMessage):
(WebCore::ValidationMessage::setMessageDOMAndStartTimer):
(WebCore::ValidationMessage::buildBubbleTree):
(WebCore::ValidationMessage::requestToHideMessage):
(WebCore::ValidationMessage::deleteBubbleTree):
* html/ValidationMessage.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::WebGLRenderingContext):
(WebCore::WebGLRenderingContext::dispatchContextLostEvent):
(WebCore::WebGLRenderingContext::maybeRestoreContext):
* html/canvas/WebGLRenderingContext.h:
* html/parser/HTMLParserScheduler.cpp:
(WebCore::HTMLParserScheduler::HTMLParserScheduler):
(WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
* html/parser/HTMLParserScheduler.h:
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::MediaControlPanelElement):
(WebCore::MediaControlPanelElement::transitionTimerFired):
(WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement):
(WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
* html/shadow/MediaControlElements.h:
* html/shadow/MediaControls.cpp:
(WebCore::MediaControls::MediaControls):
(WebCore::MediaControls::hideFullscreenControlsTimerFired):
* html/shadow/MediaControls.h:
* html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::SpinButtonElement):
(WebCore::SpinButtonElement::repeatingTimerFired):
* html/shadow/SpinButtonElement.h:
* html/track/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::LoadableTextTrack):
(WebCore::LoadableTextTrack::loadTimerFired):
* html/track/LoadableTextTrack.h:
* html/track/VTTRegion.cpp:
(WebCore::VTTRegion::VTTRegion):
(WebCore::VTTRegion::scrollTimerFired):
* html/track/VTTRegion.h:
* inspector/InspectorCSSAgent.cpp:
(WebCore::ChangeRegionOversetTask::ChangeRegionOversetTask):
(WebCore::ChangeRegionOversetTask::timerFired):
* inspector/InspectorDOMAgent.cpp:
(WebCore::RevalidateStyleAttributeTask::RevalidateStyleAttributeTask):
(WebCore::RevalidateStyleAttributeTask::timerFired):
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorBackendDispatchTask::InspectorBackendDispatchTask):
(WebCore::InspectorBackendDispatchTask::timerFired):
* inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::InspectorOverlay):
(WebCore::InspectorOverlay::updatePaintRectsTimerFired):
* inspector/InspectorOverlay.h:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::handleSubstituteDataLoadNow):
(WebCore::DocumentLoader::handleSubstituteDataLoadSoon):
(WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
* loader/DocumentLoader.h:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::checkTimerFired):
* loader/FrameLoader.h:
* loader/ImageLoader.cpp:
(WebCore::ImageLoader::ImageLoader):
(WebCore::ImageLoader::timerFired):
* loader/ImageLoader.h:
* loader/LinkLoader.cpp:
(WebCore::LinkLoader::LinkLoader):
(WebCore::LinkLoader::linkLoadTimerFired):
(WebCore::LinkLoader::linkLoadingErrorTimerFired):
* loader/LinkLoader.h:
* loader/NavigationScheduler.cpp:
(WebCore::NavigationScheduler::NavigationScheduler):
(WebCore::NavigationScheduler::timerFired):
* loader/NavigationScheduler.h:
* loader/PingLoader.cpp:
(WebCore::PingLoader::PingLoader):
* loader/PingLoader.h:
(WebCore::PingLoader::timeoutTimerFired):
* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::ProgressTracker):
(WebCore::ProgressTracker::progressHeartbeatTimerFired):
* loader/ProgressTracker.h:
* loader/ResourceLoadScheduler.cpp:
(WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
(WebCore::ResourceLoadScheduler::requestTimerFired):
* loader/ResourceLoadScheduler.h:
* loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::TextTrackLoader):
(WebCore::TextTrackLoader::cueLoadTimerFired):
* loader/TextTrackLoader.h:
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
(WebCore::CachedResource::Callback::Callback):
(WebCore::CachedResource::Callback::timerFired):
* loader/cache/CachedResource.h:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::CachedResourceLoader):
(WebCore::CachedResourceLoader::garbageCollectDocumentResourcesTimerFired):
* loader/cache/CachedResourceLoader.h:
* loader/icon/IconDatabase.cpp:
(WebCore::IconDatabase::IconDatabase):
(WebCore::IconDatabase::syncTimerFired):
* loader/icon/IconDatabase.h:
* page/AutoscrollController.cpp:
(WebCore::AutoscrollController::AutoscrollController):
(WebCore::AutoscrollController::autoscrollTimerFired):
* page/AutoscrollController.h:
* page/CaptionUserPreferences.cpp:
(WebCore::CaptionUserPreferences::CaptionUserPreferences):
(WebCore::CaptionUserPreferences::timerFired):
* page/CaptionUserPreferences.h:
* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::CaptionUserPreferencesMediaAF::CaptionUserPreferencesMediaAF):
(WebCore::CaptionUserPreferencesMediaAF::updateTimerFired):
* page/CaptionUserPreferencesMediaAF.h:
* page/DeviceController.cpp:
(WebCore::DeviceController::DeviceController):
(WebCore::DeviceController::fireDeviceEvent):
* page/DeviceController.h:
* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::cursorUpdateTimerFired):
(WebCore::EventHandler::autoHideCursorTimerFired):
(WebCore::EventHandler::recognizeLongMousePress):
(WebCore::EventHandler::fakeMouseMoveEventTimerFired):
(WebCore::EventHandler::hoverTimerFired):
* page/EventHandler.h:
* page/EventSource.cpp:
(WebCore::EventSource::EventSource):
(WebCore::EventSource::connectTimerFired):
* page/EventSource.h:
* page/FocusController.cpp:
(WebCore::FocusController::FocusController):
(WebCore::FocusController::focusRepaintTimerFired):
* page/FocusController.h:
* page/Frame.cpp:
(WebCore::Frame::Frame):
(WebCore::Frame::overflowAutoScrollTimerFired):
* page/Frame.h:
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::delayedScrollEventTimerFired):
(WebCore::FrameView::speculativeTilingEnableTimerFired):
(WebCore::FrameView::layoutTimerFired):
(WebCore::FrameView::updateEmbeddedObjectsTimerFired):
(WebCore::FrameView::flushAnyPendingPostLayoutTasks):
(WebCore::FrameView::postLayoutTimerFired):
* page/FrameView.h:
* page/PageOverlay.cpp:
(WebCore::PageOverlay::PageOverlay):
(WebCore::PageOverlay::fadeAnimationTimerFired):
* page/PageOverlay.h:
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::imageLoadingSettingsTimerFired):
* page/Settings.h:
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
(WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
(WebCore::AnimationControllerPrivate::animationTimerFired):
* page/animation/AnimationControllerPrivate.h:
* page/mac/ServicesOverlayController.h:
* page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::ServicesOverlayController):
(WebCore::ServicesOverlayController::determineActiveHighlightTimerFired):
* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::AsyncScrollingCoordinator):
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScrollTimerFired):
* page/scrolling/AsyncScrollingCoordinator.h:
* page/scrolling/ios/ScrollingCoordinatorIOS.h:
* page/scrolling/ios/ScrollingCoordinatorIOS.mm:
(WebCore::ScrollingCoordinatorIOS::ScrollingCoordinatorIOS):
(WebCore::ScrollingCoordinatorIOS::scrollingStateTreeCommitterTimerFired):
* page/scrolling/mac/ScrollingCoordinatorMac.h:
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::ScrollingCoordinatorMac):
(WebCore::ScrollingCoordinatorMac::scrollingStateTreeCommitterTimerFired):
* platform/HysteresisActivity.h:
(WebCore::HysteresisActivity::HysteresisActivity):
(WebCore::HysteresisActivity::hysteresisTimerFired):
* platform/ScrollAnimator.cpp:
(WebCore::ScrollAnimator::updateScrollAnimatorsAndTimers):
(WebCore::ScrollAnimator::horizontalScrollSnapTimerFired):
(WebCore::ScrollAnimator::verticalScrollSnapTimerFired):
* platform/ScrollAnimator.h:
* platform/Scrollbar.cpp:
(WebCore::Scrollbar::Scrollbar):
(WebCore::Scrollbar::autoscrollTimerFired):
* platform/Scrollbar.h:
* platform/Timer.h:
(WebCore::DeferrableOneShotTimer::DeferrableOneShotTimer):
(WebCore::Timer::Timer): Deleted.
* platform/audio/MediaSession.cpp:
(WebCore::MediaSession::MediaSession):
(WebCore::MediaSession::clientDataBufferingTimerFired):
* platform/audio/MediaSession.h:
* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::startAnimation):
(WebCore::BitmapImage::advanceAnimation):
* platform/graphics/BitmapImage.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::MediaPlayer):
(WebCore::MediaPlayer::reloadTimerFired):
* platform/graphics/MediaPlayer.h:
* platform/graphics/ShadowBlur.cpp:
(WebCore::ScratchBuffer::ScratchBuffer):
(WebCore::ScratchBuffer::timerFired):
* platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.h:
* platform/graphics/avfoundation/MediaSelectionGroupAVFObjC.mm:
(WebCore::MediaSelectionGroupAVFObjC::MediaSelectionGroupAVFObjC):
(WebCore::MediaSelectionGroupAVFObjC::selectionTimerFired):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekTimerFired):
* platform/graphics/ca/LayerPool.cpp:
(WebCore::LayerPool::LayerPool):
(WebCore::LayerPool::pruneTimerFired):
* platform/graphics/ca/LayerPool.h:
* platform/graphics/ca/TileController.cpp:
(WebCore::TileController::TileController):
(WebCore::TileController::tileRevalidationTimerFired):
* platform/graphics/ca/TileController.h:
* platform/graphics/ca/TileGrid.cpp:
(WebCore::TileGrid::TileGrid):
(WebCore::TileGrid::cohortRemovalTimerFired):
* platform/graphics/ca/TileGrid.h:
* platform/graphics/cg/IOSurfacePool.cpp:
(WebCore::IOSurfacePool::IOSurfacePool):
(WebCore::IOSurfacePool::collectionTimerFired):
* platform/graphics/cg/IOSurfacePool.h:
* platform/graphics/cg/SubimageCacheWithTimer.cpp:
(WebCore::SubimageCacheWithTimer::SubimageCacheWithTimer):
* platform/graphics/mac/MediaPlayerPrivateQTKit.h:
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
(WebCore::MediaPlayerPrivateQTKit::seekTimerFired):
* platform/ios/LegacyTileCache.h:
* platform/ios/LegacyTileCache.mm:
(WebCore::LegacyTileCache::LegacyTileCache):
(WebCore::LegacyTileCache::tileCreationTimerFired):
* platform/mac/HIDGamepadProvider.cpp:
(WebCore::HIDGamepadProvider::HIDGamepadProvider):
(WebCore::HIDGamepadProvider::connectionDelayTimerFired):
(WebCore::HIDGamepadProvider::inputNotificationTimerFired):
* platform/mac/HIDGamepadProvider.h:
* platform/mac/ScrollAnimatorMac.h:
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
(WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
(WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):
* platform/mock/DeviceOrientationClientMock.cpp:
(WebCore::DeviceOrientationClientMock::DeviceOrientationClientMock):
(WebCore::DeviceOrientationClientMock::timerFired):
* platform/mock/DeviceOrientationClientMock.h:
* platform/mock/PlatformSpeechSynthesizerMock.cpp:
(WebCore::PlatformSpeechSynthesizerMock::PlatformSpeechSynthesizerMock):
(WebCore::PlatformSpeechSynthesizerMock::speakingFinished):
* platform/mock/PlatformSpeechSynthesizerMock.h:
* platform/network/DNSResolveQueue.cpp:
(WebCore::DNSResolveQueue::DNSResolveQueue):
(WebCore::DNSResolveQueue::timerFired):
* platform/network/DNSResolveQueue.h:
* platform/network/NetworkStateNotifier.h:
* platform/network/ResourceHandle.cpp:
(WebCore::ResourceHandle::failureTimerFired):
* platform/network/ResourceHandle.h:
* platform/network/ResourceHandleInternal.h:
(WebCore::ResourceHandleInternal::ResourceHandleInternal):
* platform/network/mac/NetworkStateNotifierMac.cpp:
(WebCore::NetworkStateNotifier::networkStateChangeTimerFired):
(WebCore::NetworkStateNotifier::NetworkStateNotifier):
* rendering/ImageQualityController.cpp:
(WebCore::ImageQualityController::ImageQualityController):
(WebCore::ImageQualityController::highQualityRepaintTimerFired):
* rendering/ImageQualityController.h:
* rendering/RenderButton.cpp:
(WebCore::RenderButton::styleDidChange):
(WebCore::RenderButton::timerFired):
* rendering/RenderButton.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired):
(WebCore::RenderLayerCompositor::layerFlushTimerFired):
(WebCore::RenderLayerCompositor::paintRelatedMilestonesTimerFired):
* rendering/RenderLayerCompositor.h:
* rendering/RenderMarquee.cpp:
(WebCore::RenderMarquee::RenderMarquee):
(WebCore::RenderMarquee::timerFired):
* rendering/RenderMarquee.h:
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
(WebCore::RenderNamedFlowThread::regionOversetChangeEventTimerFired):
* rendering/RenderNamedFlowThread.h:
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::RenderProgress):
(WebCore::RenderProgress::animationTimerFired):
* rendering/RenderProgress.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::RenderView::lazyRepaintTimerFired):
* rendering/RenderView.h:
* replay/EventLoopInputDispatcher.cpp:
(WebCore::EventLoopInputDispatcher::EventLoopInputDispatcher):
(WebCore::EventLoopInputDispatcher::timerFired):
* replay/EventLoopInputDispatcher.h:
* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::StorageAreaImpl):
(WebCore::StorageAreaImpl::closeDatabaseTimerFired):
(WebCore::StorageAreaImpl::closeDatabaseIfIdle):
* storage/StorageAreaImpl.h:
* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::StorageAreaSync):
(WebCore::StorageAreaSync::scheduleFinalSync):
(WebCore::StorageAreaSync::syncTimerFired):
(WebCore::StorageAreaSync::scheduleSync):
* storage/StorageAreaSync.h:
* svg/SVGElement.cpp:
(WebCore::SVGElement::svgLoadEventTimerFired):
* svg/SVGElement.h:
* svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::SVGScriptElement):
* svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::SVGStyleElement):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::SVGUseElement):
* svg/animation/SMILTimeContainer.cpp:
(WebCore::SMILTimeContainer::SMILTimeContainer):
(WebCore::SMILTimeContainer::timerFired):
* svg/animation/SMILTimeContainer.h:
* xml/XMLHttpRequestProgressEventThrottle.cpp:
(WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
(WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents):
* xml/XMLHttpRequestProgressEventThrottle.h:

Source/WebKit/mac:

* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::NetscapePluginInstanceProxy):
(WebKit::NetscapePluginInstanceProxy::requestTimerFired):
* Plugins/WebNetscapePluginStream.h:
* Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::WebNetscapePluginStream):
(WebNetscapePluginStream::deliverDataTimerFired):

Source/WebKit/win:

* FullscreenVideoController.cpp:
(FullscreenVideoController::timerFired):
* FullscreenVideoController.h:

Source/WebKit2:

* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::bufferingTimerFired):
* NetworkProcess/NetworkResourceLoader.h:
* Shared/WebMemorySampler.cpp:
(WebKit::WebMemorySampler::WebMemorySampler):
(WebKit::WebMemorySampler::sampleTimerFired):
(WebKit::WebMemorySampler::stopTimerFired):
* Shared/WebMemorySampler.h:
* Shared/mac/RemoteLayerBackingStoreCollection.h:
* Shared/mac/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::RemoteLayerBackingStoreCollection):
(WebKit::RemoteLayerBackingStoreCollection::volatilityTimerFired):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::PluginView):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::layerFlushTimerFired):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::processSuspensionCleanupTimerFired):
(WebKit::WebProcess::nonVisibleProcessCleanupTimerFired):
* WebProcess/WebProcess.h:

Source/WTF:

* wtf/RunLoopTimer.h:
(WTF::RunLoopTimer::RunLoopTimer):
(WTF::RunLoopTimer::fired):

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

5 years agoCrash when setting 'transition-delay' CSS property to a calculated value
cdumez@apple.com [Fri, 21 Nov 2014 19:48:21 +0000 (19:48 +0000)]
Crash when setting 'transition-delay' CSS property to a calculated value
https://bugs.webkit.org/show_bug.cgi?id=138784

Reviewed by Sam Weinig.

Source/WebCore:

Update CSSPrimitiveValue::computeTime() to use primitiveType() instead
of m_primitiveUnitType so that it properly handles calculated values.
Without this, we would hit the ASSERT_NOT_REACHED() assertion in
computeTime() for calculated values.

Test: fast/css/transition-delay-calculated-value.html

* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::computeTime):

LayoutTests:

Add a layout test to check that setting the 'transition-delay' CSS
property to a calculated value does not crash and works as intended.

* fast/css/transition-delay-calculated-value-expected.txt: Added.
* fast/css/transition-delay-calculated-value.html: Added.

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

5 years agoFix iOS build.
antti@apple.com [Fri, 21 Nov 2014 19:46:53 +0000 (19:46 +0000)]
Fix iOS build.

* Shared/ios/QuickLookDocumentData.cpp:
(WebKit::QuickLookDocumentData::encode):

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

5 years agoTwo WebGL tests try to use an external resource.
roger_fong@apple.com [Fri, 21 Nov 2014 19:32:10 +0000 (19:32 +0000)]
Two WebGL tests try to use an external resource.
https://bugs.webkit.org/show_bug.cgi?id=138936.
Reviewed by Alexey Proskuryakov.
* http/tests/resources/square128.png: Added.
* http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/functions/texImage2DHTML.html:
* http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/more/functions/texSubImage2DHTML.html:
* http/tests/webgl/1.0.2/texImage2DHTML-expected.txt:
* http/tests/webgl/1.0.2/texSubImage2DHTML-expected.txt:

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

5 years agoRegression(r175381): -webkit-mask-box-image is broken
cdumez@apple.com [Fri, 21 Nov 2014 19:01:46 +0000 (19:01 +0000)]
Regression(r175381): -webkit-mask-box-image is broken
https://bugs.webkit.org/show_bug.cgi?id=138969
<rdar://problem/19054471>

Reviewed by Simon Fraser.

Source/WebCore:

After r175381, the StyleBuilder would call NinePieceImage::setMaskDefaults()
*after* calling CSSToStyleMap::mapNinePieceImage(), instead of *before*, for
-webkit-mask-box-image CSS property. This was causing the mask defaults to
overwrite what was set by mapNinePieceImage().

Test: fast/css/webkit-mask-box-image.html

* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertBorderMask):

LayoutTests:

Add a layout test to add basic coverage for -webkit-mask-box-image
CSS property.

* fast/css/resources/mask.png: Added.
* fast/css/webkit-mask-box-image.html: Added.
* fast/css/webkit-mask-box-image-expected.html: Added

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

5 years agoCrash when setting 'font' CSS property to 'calc(2 * 3)'
cdumez@apple.com [Fri, 21 Nov 2014 19:00:56 +0000 (19:00 +0000)]
Crash when setting 'font' CSS property to 'calc(2 * 3)'
https://bugs.webkit.org/show_bug.cgi?id=138933

Reviewed by Darin Adler.

Source/WebCore:

The CSS Parser was not handling calculated values when parsing the font
weight. This would lead us to hit an assertion when parsing a font
property whose weight is set to a calculated value.

This patch updates parseFontWeight() to properly handle calculated
values.

Test: fast/css/font-calculated-value.html

* css/CSSParser.cpp:
(WebCore::CSSParser::parseFontWeight):

LayoutTests:

Add a layout test to cover the case where the 'font' CSS property is
set to a value whose weight is a calculated value, to make sure it
does not crash and behaves as intended.

* fast/css/font-calculated-value-expected.txt: Added.
* fast/css/font-calculated-value.html: Added.

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

5 years ago[CSS Font Loading] Switch to dispatching events asynchronously
commit-queue@webkit.org [Fri, 21 Nov 2014 18:43:21 +0000 (18:43 +0000)]
[CSS Font Loading] Switch to dispatching events asynchronously
https://bugs.webkit.org/show_bug.cgi?id=138755

Patch by Bear Travis <betravis@gmail.com> on 2014-11-21
Reviewed by Simon Fraser.

Source/WebCore:

Moving FontLoader to dispatch events and notify callbacks similarly
to EventSender or the GenericEventQueue. Several bugs have popped
up in the past because FontLoader has been sending events during
layout, and there is no need for that to be the case.

Covered by existing font loader event tests. Added an additional
test for the svg case, fontloader-svg-select.

* css/FontLoader.cpp:
(WebCore::FontLoader::didLayout):
(WebCore::FontLoader::timerFired): Adding asynchronous callback.
(WebCore::FontLoader::scheduleEvent): Add an event to the dispatch
queue.
(WebCore::FontLoader::firePendingEvents): Modified to handle the
loading done event and callbacks.
(WebCore::FontLoader::loadingDone): Modified to spin up the timer
rather than immediately dispatching events.
* css/FontLoader.h:

LayoutTests:

Refactoring tests to check for all events only after the FontLoader
itself has completed. Tests were previously checking after a specific font
had loaded, at which point some of the events may have yet to fire.

* fast/css/fontloader-multiple-faces-download-error-expected.txt:
* fast/css/fontloader-multiple-faces-download-error.html:
* fast/css/fontloader-multiple-faces-expected.txt:
* fast/css/fontloader-multiple-faces.html:
* fast/css/fontloader-multiple-families-expected.txt:
* fast/css/fontloader-multiple-families.html:
* fast/css/fontloader-svg-select-expected.txt: Added
* fast/css/fontloader-svg-select.svg: Added

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

5 years agoRemove alignment code from IPC coders
antti@apple.com [Fri, 21 Nov 2014 17:40:50 +0000 (17:40 +0000)]
Remove alignment code from IPC coders
https://bugs.webkit.org/show_bug.cgi?id=138963

Reviewed by Anders Carlsson.

Alignment code achieves nothing except making the messages somewhat bigger.

* Platform/IPC/ArgumentCoders.cpp:
(IPC::ArgumentCoder<CString>::encode):
(IPC::ArgumentCoder<CString>::decode):
(IPC::ArgumentCoder<String>::encode):
(IPC::decodeStringText):
* Platform/IPC/ArgumentCoders.h:
(IPC::SimpleArgumentCoder::encode):
(IPC::SimpleArgumentCoder::decode):
* Platform/IPC/ArgumentDecoder.cpp:
(IPC::ArgumentDecoder::initialize):
(IPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
(IPC::ArgumentDecoder::decodeFixedLengthData):
(IPC::ArgumentDecoder::decodeVariableLengthByteArray):
(IPC::ArgumentDecoder::decodeNumber):
(IPC::ArgumentDecoder::decode):
(IPC::roundUpToAlignment): Deleted.
(IPC::alignedBufferIsLargeEnoughToContain): Deleted.
(IPC::ArgumentDecoder::alignBufferPosition): Deleted.
(IPC::decodeValueFromBuffer): Deleted.
* Platform/IPC/ArgumentDecoder.h:
(IPC::ArgumentDecoder::isInvalid):
(IPC::ArgumentDecoder::markInvalid):
(IPC::ArgumentDecoder::bufferIsLargeEnoughToContain):
* Platform/IPC/ArgumentEncoder.cpp:
(IPC::ArgumentEncoder::ArgumentEncoder):
(IPC::ArgumentEncoder::grow):
(IPC::ArgumentEncoder::encodeFixedLengthData):
(IPC::ArgumentEncoder::encodeVariableLengthByteArray):
(IPC::ArgumentEncoder::encode):
* Platform/IPC/ArgumentEncoder.h:
(IPC::ArgumentEncoder::buffer):
(IPC::ArgumentEncoder::mutableBuffer):
* Platform/IPC/DataReference.cpp:
(IPC::SharedBufferDataReference::encode):
* Platform/IPC/MessageEncoder.cpp:
(IPC::MessageEncoder::setIsSyncMessage):
(IPC::MessageEncoder::setShouldDispatchMessageWhenWaitingForSyncReply):
* Platform/IPC/mac/ConnectionMac.mm:
(IPC::Connection::sendOutgoingMessage):

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

5 years agoAttempt to fix the internal Apple Mavericks build after <https://trac.webkit.org...
dbates@webkit.org [Fri, 21 Nov 2014 17:05:19 +0000 (17:05 +0000)]
Attempt to fix the internal Apple Mavericks build after <https://trac.webkit.org/changeset/176448>
(https://bugs.webkit.org/show_bug.cgi?id=138930)

Declare NSCachedURLResponse SPI when building without the Apple Internal SDK and with the Apple
Internal SDK when building for OS X Mavericks or earlier.

* platform/spi/cf/CFNetworkSPI.h:

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

5 years agoMake memoryCache() return a reference
andersca@apple.com [Fri, 21 Nov 2014 17:04:42 +0000 (17:04 +0000)]
Make memoryCache() return a reference
https://bugs.webkit.org/show_bug.cgi?id=138939

Reviewed by Antti Koivisto.

Source/WebCore:

* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::cachedResource):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::replayXHR):
(WebCore::InspectorResourceAgent::setCacheDisabled):
(WebCore::InspectorResourceAgent::mainFrameNavigated):
* loader/DocumentLoader.cpp:
(WebCore::areAllLoadersPageCacheAcceptable):
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::responseReceived):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequest):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::didFail):
(WebCore::SubresourceLoader::willCancel):
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create):
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::addIncrementalDataBuffer):
(WebCore::CachedImage::finishLoading):
* loader/cache/CachedResource.cpp:
(WebCore::deadDecodedDataDeletionIntervalForResourceType):
(WebCore::CachedResource::~CachedResource):
(WebCore::CachedResource::failBeforeStarting):
(WebCore::CachedResource::addClientToSet):
(WebCore::CachedResource::removeClient):
(WebCore::CachedResource::destroyDecodedDataIfNeeded):
(WebCore::CachedResource::setDecodedSize):
(WebCore::CachedResource::setEncodedSize):
(WebCore::CachedResource::didAccessDecodedData):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::revalidateResource):
(WebCore::CachedResourceLoader::loadResource):
(WebCore::CachedResourceLoader::clearPreloads):
(WebCore::CachedResourceLoader::printPreloadStats):
* loader/cache/MemoryCache.cpp:
(WebCore::memoryCache):
(WebCore::MemoryCache::removeRequestFromCache):
(WebCore::MemoryCache::removeRequestFromSessionCaches):
* loader/cache/MemoryCache.h:
* loader/cocoa/DiskCacheMonitorCocoa.mm:
(WebCore::DiskCacheMonitor::resourceBecameFileBacked):
* page/FrameView.cpp:
(WebCore::FrameView::willPaintContents):
(WebCore::FrameView::didPaintContents):
* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::releaseCriticalMemory):
* testing/Internals.cpp:
(WebCore::Internals::isLoadingFromMemoryCache):

Source/WebKit/mac:

* Misc/WebCache.mm:
(+[WebCache statistics]):
(+[WebCache emptyInMemoryResources]):
(+[WebCache sizeOfDeadResources:]):
(+[WebCache addImageToCache:forURL:forFrame:]):
(+[WebCache removeImageFromCacheForURL:forFrame:]):
(+[WebCache imageForURL:]):
(+[WebCache setDisabled:]):
(+[WebCache isDisabled]):
* WebView/WebView.mm:
(+[WebView _setCacheModel:]):

Source/WebKit/win:

* WebCache.cpp:
(WebCache::statistics):
(WebCache::empty):
(WebCache::setDisabled):
(WebCache::disabled):
* WebView.cpp:
(WebView::setCacheModel):

Source/WebKit2:

* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didCacheResource):
* WebProcess/ResourceCache/WebResourceCacheManager.cpp:
(WebKit::WebResourceCacheManager::getCacheOrigins):
(WebKit::WebResourceCacheManager::clearCacheForOrigin):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::terminate):
(WebKit::WebProcess::didClose):
(WebKit::WebProcess::clearResourceCaches):
(WebKit::getWebCoreMemoryCacheStatistics):
(WebKit::WebProcess::setMemoryCacheDisabled):
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformSetCacheModel):
* WebProcess/soup/WebProcessSoup.cpp:
(WebKit::WebProcess::platformSetCacheModel):

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

5 years agoRemove http lock code from webkitperl
ossy@webkit.org [Fri, 21 Nov 2014 16:44:26 +0000 (16:44 +0000)]
Remove http lock code from webkitperl
https://bugs.webkit.org/show_bug.cgi?id=138959

Reviewed by Alexey Proskuryakov.

* Scripts/webkitperl/httpd.pm:
(cleanUp):
(extractLockNumber): Deleted.
(getLockFiles): Deleted.
(getNextAvailableLockNumber): Deleted.
(getLockNumberForCurrentRunning): Deleted.
(waitForHTTPDLock): Deleted.
(scheduleHttpTesting): Deleted.
(getWaitTime): Deleted.

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

5 years ago[iOS] WebKit2 fails to build with public SDK due to missing SPI from CFNetwork, Quart...
dbates@webkit.org [Fri, 21 Nov 2014 16:40:55 +0000 (16:40 +0000)]
[iOS] WebKit2 fails to build with public SDK due to missing SPI from CFNetwork, QuartzCore, MediaPlayer, XPC
https://bugs.webkit.org/show_bug.cgi?id=138930

Reviewed by Anders Carlsson.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj: Rename header MPAVRoutingControllerSPI.h to MediaPlayerSPI.h.
* loader/cocoa/SubresourceLoaderCocoa.mm: Move NSCachedURLResponse forward declarations to file
CFNetworkSPI.h and include header CFNetworkSPI.h.
* loader/mac/ResourceLoaderMac.mm: Ditto.
* platform/audio/ios/MediaSessionManagerIOS.mm: Substitute MediaPlayerSPI.h for MPAVRoutingControllerSPI.h.
* platform/spi/cf/CFNetworkSPI.h: Add more SPI.
* platform/spi/cg/CoreGraphicsSPI.h: Ditto.
* platform/spi/cocoa/QuartzCoreSPI.h: Ditto.
* platform/spi/ios/MediaPlayerSPI.h: Renamed from Source/WebCore/platform/spi/ios/MPAVRoutingControllerSPI.h.

Source/WebKit2:

* NetworkProcess/mac/NetworkResourceLoaderMac.mm: Remove forward declaration for NSCachedURLResponse
methods as this functionality was incorporated into CFNetworkSPI.h, which is included by this file.
* Platform/mac/LayerHostingContext.mm: Moved QuartzCore forward declarations from this file to file
QuartzCoreSPI.h and included header QuartzCoreSPI.h.
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h: Include header XPCSPI.h.
* Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm: Remove forward declarations of
XPC SPI since these declarations are part of XCPSPI.h, which is included by header XPCServiceEntryPoint.h.
* UIProcess/API/Cocoa/WKWebView.mm: Remove unnecessary include of header QuartzCore/CARenderServer.h
as it will be included by header QuartzCoreSPI.h.
* UIProcess/Network/NetworkProcessProxy.cpp: Include header XPCSPI.h when building for iOS with
USE(XPC_SERVICES) enabled.
* UIProcess/ios/forms/WKAirPlayRoutePicker.mm: Include header MediaPlayerSPI.h instead of including
MediaPlayer private headers directly. Also sort the list of #import directives.

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

5 years agoAX: MathML expressions are misread by VoiceOver
cfleizach@apple.com [Fri, 21 Nov 2014 15:55:01 +0000 (15:55 +0000)]
AX: MathML expressions are misread by VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=138948

Reviewed by Mario Sanchez Prada.

Source/WebCore:

The logic for deciding what's the radicand and an index was too tied to children placement.
We should instead pull directly from the source.

Test: platform/mac/accessibility/mathml-root.html

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::mathRadicandObject):
(WebCore::AccessibilityRenderObject::mathRootIndexObject):
* rendering/mathml/RenderMathMLRoot.h:

LayoutTests:

* platform/mac/accessibility/mathml-root-expected.txt: Added.
* platform/mac/accessibility/mathml-root.html: Added.

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

5 years ago[JSC] Disable verifyHeap
ossy@webkit.org [Fri, 21 Nov 2014 15:26:06 +0000 (15:26 +0000)]
[JSC] Disable verifyHeap
https://bugs.webkit.org/show_bug.cgi?id=138962

Reviewed by Mark Lam.

* runtime/Options.h:

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

5 years ago[CMake] Use ld.gold if it is available to speedup builds
ossy@webkit.org [Fri, 21 Nov 2014 07:06:28 +0000 (07:06 +0000)]
[CMake] Use ld.gold if it is available to speedup builds
https://bugs.webkit.org/show_bug.cgi?id=137953

Reviewed by Carlos Garcia Campos.

* Source/cmake/OptionsCommon.cmake:

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

5 years agoBuild fix.
mitz@apple.com [Fri, 21 Nov 2014 06:59:12 +0000 (06:59 +0000)]
Build fix.

* UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
(-[WKAirPlayRoutePicker showAirPlayPickerIPad:fromRect:]): Cast the return value of
[getMPAudioVideoRoutingPopoverControllerClass() alloc] to resolve ambiguity about which
-initWithType: we are calling.
(-[WKAirPlayRoutePicker showAirPlayPickerIPhone:]): Cast to resolve ambiguity.
(-[WKAirPlayRoutePicker show:fromRect:]): Cast for consistency.

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

5 years ago[EFL] The option value of fixed layout is false in MiniBrowser
commit-queue@webkit.org [Fri, 21 Nov 2014 06:26:45 +0000 (06:26 +0000)]
[EFL] The option value of fixed layout is false in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=138830

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2014-11-20
Reviewed by Gyuyoung Kim.

Changed the option value of fixed layout to EINA_TRUE in MiniBrowser.

* MiniBrowser/efl/main.c:

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

5 years agoRemove the remaining vestiges of minimal-ui
benjamin@webkit.org [Fri, 21 Nov 2014 04:49:13 +0000 (04:49 +0000)]
Remove the remaining vestiges of minimal-ui
https://bugs.webkit.org/show_bug.cgi?id=138890

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-11-20
Reviewed by Sam Weinig.

Source/WebCore:

In ViewportArguments' setViewportFeature(), I skip the warning for now.

* WebCore.exp.in:
* dom/ViewportArguments.cpp:
(WebCore::setViewportFeature):
* dom/ViewportArguments.h:
(WebCore::ViewportArguments::ViewportArguments):
(WebCore::ViewportArguments::operator==):
* page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::ViewportConfiguration):
(WebCore::ViewportConfiguration::initialScale):
(WebCore::ViewportConfiguration::minimumScale):
(WebCore::ViewportConfiguration::updateConfiguration):
(WebCore::ViewportConfiguration::viewportArgumentsLength):
(WebCore::ViewportConfiguration::layoutWidth):
(WebCore::ViewportConfiguration::layoutHeight):
(WebCore::ViewportConfigurationTextStream::operator<<):
(WebCore::ViewportConfiguration::description):
(WebCore::ViewportConfiguration::setMinimumLayoutSizeForMinimalUI): Deleted.
(WebCore::ViewportConfiguration::activeMinimumLayoutSizeInScrollViewCoordinates): Deleted.
(WebCore::ViewportConfiguration::resetMinimalUI): Deleted.
(WebCore::ViewportConfiguration::didFinishDocumentLoad): Deleted.
* page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::minimumLayoutSizeForMinimalUI): Deleted.
(WebCore::ViewportConfiguration::usesMinimalUI): Deleted.

Source/WebKit/ios:

* WebCoreSupport/WebChromeClientIOS.mm:
(dictionaryForViewportArguments):
* WebKit.iOS.exp:

Source/WebKit/mac:

* History/WebHistoryItem.mm:
* History/WebHistoryItemPrivate.h:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidFinishDocumentLoad):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
(WebKit::WebPage::didFinishDocumentLoad): Deleted.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::savePageState):
(WebKit::WebPage::restorePageState):
(WebKit::WebPage::viewportConfigurationChanged):
(WebKit::WebPage::updateViewportSizeForCSSViewportUnits):

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

5 years agoWeb Inspector: do not show invalid specificity for dynamic cases of :matches()
benjamin@webkit.org [Fri, 21 Nov 2014 04:31:06 +0000 (04:31 +0000)]
Web Inspector: do not show invalid specificity for dynamic cases of :matches()
https://bugs.webkit.org/show_bug.cgi?id=138911

Reviewed by Joseph Pecoraro.

* css/CSSSelector.cpp:
(WebCore::simpleSelectorFunctionalPseudoClassStaticSpecificity):
(WebCore::functionalPseudoClassStaticSpecificity):
(WebCore::staticSpecificityInternal):
(WebCore::CSSSelector::staticSpecificity):
(WebCore::CSSSelector::specificity): Deleted.
* css/CSSSelector.h:
Add an additional computation path for the inspector.

The regular path ignores everything inside function pseudo classes.
This new path takes the static specificity of the regular path, then evaluate
recursively all the selector lists inside any level of :matches().

If two complex selector of selector list do not have the same specificity,
we bail out and refuse to compute a static specificity representing the selector.

* inspector/InspectorStyleSheet.cpp:
(WebCore::buildObjectForSelectorHelper):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelector):
Do not add the complexity to the inspector's CSSSelector structure whenever
it is dynamic.

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

5 years agoFix misc bugs and typos in app.js
rniwa@webkit.org [Fri, 21 Nov 2014 04:30:38 +0000 (04:30 +0000)]
Fix misc bugs and typos in app.js
https://bugs.webkit.org/show_bug.cgi?id=138946

Reviewed by Benjamin Poulain.

* public/v2/app.js:
(App.DashboardPaneProxyForPicker._platformOrMetricIdChanged):
(App.ChartsController.init):
(App.buildPopup): Renamed from App.BuildPopup.
(App.InteractiveChartComponent._constructGraphIfPossible): Fixed the bug that we were calling
remove() on the wrong object (an array as opposed to elements in the array).
(App.InteractiveChartComponent._highlightedItemsChanged): Check the length of _highlights as
_highlights is always an array and evalutes to true.

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

5 years agoRemove InspectorCSSAgent::buildArrayForRuleList()
benjamin@webkit.org [Fri, 21 Nov 2014 04:26:35 +0000 (04:26 +0000)]
Remove InspectorCSSAgent::buildArrayForRuleList()
https://bugs.webkit.org/show_bug.cgi?id=138907

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

* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::buildArrayForRuleList): Deleted.
* inspector/InspectorCSSAgent.h:

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

5 years ago[iOS] Skip some tests that fail with stderr
dbates@webkit.org [Fri, 21 Nov 2014 03:47:29 +0000 (03:47 +0000)]
[iOS] Skip some tests that fail with stderr

* platform/ios-simulator/TestExpectations:

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

5 years agoREGRESSION (174986): CSS clip property is ignored when border-radius is present.
zalan@apple.com [Fri, 21 Nov 2014 03:17:44 +0000 (03:17 +0000)]
REGRESSION (174986): CSS clip property is ignored when border-radius is present.
https://bugs.webkit.org/show_bug.cgi?id=138935
rdar://problem/18965984

Reviewed by Simon Fraser.

Revert back to r163382 and fix bug 127729 properly. Save the graphics context when paint and clip rects are
the same, but the clip rect has radius.
Each iteration on ::clipRect() from r163382 onwards just introduced yet another regression.

Source/WebCore:

Test: fast/clip/css-clip-does-not-work-when-border-radius-is-present.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::clipToRect):

LayoutTests:

* fast/clip/css-clip-does-not-work-when-border-radius-is-present-expected.html: Added.
* fast/clip/css-clip-does-not-work-when-border-radius-is-present.html: Added.

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

5 years agoRemoved the custom allocator for PODRedBlackTree
ggaren@apple.com [Fri, 21 Nov 2014 02:27:20 +0000 (02:27 +0000)]
Removed the custom allocator for PODRedBlackTree
https://bugs.webkit.org/show_bug.cgi?id=138942

Reviewed by Sam Weinig.

bmalloc is fast enough.

* WebCore.xcodeproj/project.pbxproj:
* platform/PODArena.h: Removed.
* platform/PODFreeListArena.h: Removed. This is the point of the patch.

* platform/PODIntervalTree.h:
(WebCore::PODIntervalTree::PODIntervalTree): Deleted. As a side effect
of removing our custom allocator, we can no longer have a special
"I'm not initialized yet" state. Instead, the tree either exists or not,
like an idiomatic C++ object.

* platform/PODRedBlackTree.h:
(WebCore::PODRedBlackTree::PODRedBlackTree): Ditto.

(WebCore::PODRedBlackTree::~PODRedBlackTree): We need to clear in our
destructor because we can no longer rely on the arena destructor
implicitly freeing our tree nodes.

Side note: This change basically removes the whole reason for having
a purpose-built tree for POD data. We should probably remove this whole
data structure in a follow-up patch, and just use a standard tree.

(WebCore::PODRedBlackTree::clear):
(WebCore::PODRedBlackTree::add):
(WebCore::PODRedBlackTree::remove):
(WebCore::PODRedBlackTree::contains):
(WebCore::PODRedBlackTree::visitInorder):
(WebCore::PODRedBlackTree::size):
(WebCore::PODRedBlackTree::checkInvariants):
(WebCore::PODRedBlackTree::dump):
(WebCore::PODRedBlackTree::deleteNode):
(WebCore::PODRedBlackTree::markFree): Use normal new/delete, and mark
ourselves as fast allocated so we get the bmalloc goodness.

(WebCore::PODRedBlackTree::isInitialized): Deleted.
(WebCore::PODRedBlackTree::initIfNeeded): Deleted.

* rendering/FloatingObjects.cpp:
(WebCore::FloatingObjects::findNextFloatLogicalBottomBelow):
(WebCore::FloatingObjects::findNextFloatLogicalBottomBelowForBlock):
(WebCore::FloatingObjects::FloatingObjects):
(WebCore::FloatingObjects::clear):
(WebCore::FloatingObjects::addPlacedObject):
(WebCore::FloatingObjects::removePlacedObject):
(WebCore::FloatingObjects::computePlacedFloatsTree):
(WebCore::FloatingObjects::placedFloatsTree):
(WebCore::FloatingObjects::logicalLeftOffsetForPositioningFloat):
(WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat):
(WebCore::FloatingObjects::logicalLeftOffset):
(WebCore::FloatingObjects::logicalRightOffset): POD tree had a slightly
weird behavior in which it was valid to use some of its APIs without
first initializing it, but not others. It's not really possible to model
that behavior with normal C++ objects that use new/delete, so instead
I added some explicit NULL checks.

* rendering/FloatingObjects.h:
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::updateRegionsFlowThreadPortionRect):
* rendering/RenderView.cpp:
(WebCore::RenderView::intervalArena): Deleted.
* rendering/RenderView.h: Removed custom-allocator-related cruft.

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

5 years agoPreview popover needs minimum and maximum sizes
bdakin@apple.com [Fri, 21 Nov 2014 02:10:33 +0000 (02:10 +0000)]
Preview popover needs minimum and maximum sizes
https://bugs.webkit.org/show_bug.cgi?id=138943
-and corresponding-
rdar://problem/18904651

Reviewed by Tim Horton.

Quick follow-up to get the right screen.
* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController largestPopoverSize]):

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

5 years agoPreview popover needs minimum and maximum sizes
bdakin@apple.com [Fri, 21 Nov 2014 01:52:41 +0000 (01:52 +0000)]
Preview popover needs minimum and maximum sizes
https://bugs.webkit.org/show_bug.cgi?id=138943
-and corresponding-
rdar://problem/18904651

Reviewed by Tim Horton.

This patch enforces minimum and maximum popover sizes. If the popover needs to be
sized up to be above the minimum, it will end up covering some of the
_hitTestResult, so we should compute a new origin rect based on the original
event location.
* UIProcess/mac/WKActionMenuController.h:
* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController prepareForMenu:withEvent:]):
(-[WKActionMenuController _previewURLFromActionMenu:]):
(-[WKActionMenuController _createPreviewPopover]):
(-[WKActionMenuController largestPopoverSize]):
(-[WKActionMenuController _preferredPopoverSize]):
(-[WKActionMenuController _preferredSizeForPopoverPresentedFromOriginRect:]): Deleted.

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

5 years agoClicks on previews can be recognized multiple times
conrad_shultz@apple.com [Fri, 21 Nov 2014 00:57:53 +0000 (00:57 +0000)]
Clicks on previews can be recognized multiple times
https://bugs.webkit.org/show_bug.cgi?id=138944

Reviewed by Tim Horton.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKPagePreviewViewController _clickRecognized:]):
Only dispatch the delegate message on the appropriate gesture recognizer state transition.

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

5 years agoClients should be able to customize preview click behavior
conrad_shultz@apple.com [Fri, 21 Nov 2014 00:36:45 +0000 (00:36 +0000)]
Clients should be able to customize preview click behavior
https://bugs.webkit.org/show_bug.cgi?id=138940

Reviewed by Tim Horton.

* UIProcess/API/Cocoa/WKViewPrivate.h:
Declare -_handleClickInPreviewView:URL:.

* UIProcess/API/mac/WKView.mm:
(-[WKView _handleClickInPreviewView:URL:]):
Extracted from -[WKActionMenuController pagePreviewViewControllerWasClicked:].

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController pagePreviewViewControllerWasClicked:]):
Extract code to -[WKView _handleClickInPreviewView:URL:].

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

5 years agoAdd some comments to describe the DFG UseKind representations.
mark.lam@apple.com [Thu, 20 Nov 2014 23:39:46 +0000 (23:39 +0000)]
Add some comments to describe the DFG UseKind representations.
<https://webkit.org/b/138934>

Reviewed by Filip Pizlo.

* dfg/DFGUseKind.h:
- Also regrouped the UseKind enums by representation to be more readable.

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

5 years agoAdd Heap verification infrastructure.
mark.lam@apple.com [Thu, 20 Nov 2014 23:28:41 +0000 (23:28 +0000)]
Add Heap verification infrastructure.
<https://webkit.org/b/138851>

Reviewed by Geoffrey Garen.

The verification infrastructure code is always built in but disabled by
default.  When disabled, the cost is minimal:
1. Heap has a m_verifier field.
2. GC does a few "if (m_verifier)" checks that should fail.
3. HeapVerifier takes up code space though not used.

When enabled:
1. The HeapVerifier will keep N number of GC cycle data.
   Each GC cycle will contain a "before marking" and "after marking" live
   object list.
   The GC cycles is a circular buffer.  Only data for the last N GC cycles
   will be retained.
2. During GC, the current GC cycle's live objects lists will be populated
   before and after marking.
3. The current GC cycle's live object lists will be validated before GC,
   after marking, and after GC.

Currently, the only validation being done is to verify that object
butterflies are allocated from valid blocks in the Storage (aka Copied)
space.

* CMakeLists.txt:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::collect):
* heap/Heap.h:
* heap/HeapVerifier.cpp: Added.
(JSC::LiveObjectList::findObject):
(JSC::HeapVerifier::HeapVerifier):
(JSC::HeapVerifier::collectionTypeName):
(JSC::HeapVerifier::phaseName):
(JSC::getButterflyDetails):
(JSC::HeapVerifier::initializeGCCycle):
(JSC::GatherLiveObjFunctor::GatherLiveObjFunctor):
(JSC::GatherLiveObjFunctor::operator()):
(JSC::HeapVerifier::gatherLiveObjects):
(JSC::HeapVerifier::liveObjectListForGathering):
(JSC::trimDeadObjectsFromList):
(JSC::HeapVerifier::trimDeadObjects):
(JSC::HeapVerifier::verifyButterflyIsInStorageSpace):
(JSC::HeapVerifier::verify):
(JSC::HeapVerifier::reportObject):
(JSC::HeapVerifier::checkIfRecorded):
* heap/HeapVerifier.h: Added.
(JSC::LiveObjectData::LiveObjectData):
(JSC::LiveObjectList::LiveObjectList):
(JSC::LiveObjectList::reset):
(JSC::HeapVerifier::GCCycle::GCCycle):
(JSC::HeapVerifier::GCCycle::collectionTypeName):
(JSC::HeapVerifier::incrementCycle):
(JSC::HeapVerifier::currentCycle):
(JSC::HeapVerifier::cycleForIndex):
* runtime/Options.h:

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

5 years agoSupport unprefixed animation event types
dino@apple.com [Thu, 20 Nov 2014 23:26:29 +0000 (23:26 +0000)]
Support unprefixed animation event types
https://bugs.webkit.org/show_bug.cgi?id=138931
<rdar://problem/18943167>

Reviewed by Simon Fraser.

Source/WebCore:

Tests: animations/unprefixed-events-mixed-with-prefixed.html
       animations/unprefixed-events.html

Support the unprefixed animation event names:
- animationstart (was webkitAnimationStart)
- animationiteration (was webkitAnimationIteration)
- animationend (was webkitAnimationEnd)

(Yes, event types are case sensitive and yes, this will
likely cause some head-scratching as people change content)

The approach here is to follow what transitions does:
- listener only for old event name -> fire old event name
- listener for both old and new event name -> fire new event name
- listener only for new event name -> fire new event name

That way pages that were trying to anticipate the new event name
won't get duplicate events.

* CMakeLists.txt: Add new AnimationEvent* stuff.
* DerivedSources.make: Ditto.
* WebCore.vcxproj/WebCore.vcxproj: Ditto.
* WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.

* bindings/js/JSBindingsAllInOne.cpp: New files for all in one builds.
* dom/DOMAllInOne.cpp:

* dom/AnimationEvent.cpp: Added. Copied from WebKitAnimationEvent.cpp.
(WebCore::AnimationEventInit::AnimationEventInit):
(WebCore::AnimationEvent::AnimationEvent):
(WebCore::AnimationEvent::~AnimationEvent):
(WebCore::AnimationEvent::animationName):
(WebCore::AnimationEvent::elapsedTime):
(WebCore::AnimationEvent::eventInterface):
* dom/AnimationEvent.h: Added. Copied from WebKitAnimationEvent.h.
* dom/AnimationEvent.idl: Added. Copied from WebKitAnimationEvent.idl.

* dom/Document.cpp:
(WebCore::Document::addListenerTypeIfNeeded): Handle new event types.

* dom/EventNames.h: New names.
* dom/EventNames.in:

* dom/EventTarget.cpp:
(WebCore::legacyType): Provide a mapping from the new names to the older
prefixed forms.

* html/HTMLAttributeNames.in: Support the on* attributes, even though I
hate them and wish this approach would die.
* html/HTMLElement.cpp:
(WebCore::HTMLElement::populateEventNameForAttributeLocalNameMap):

* page/DOMWindow.h: New names, and constructors.
* page/DOMWindow.idl:

* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle): Fire new type.

* page/animation/KeyframeAnimation.cpp: Fire the new types of events.
(WebCore::KeyframeAnimation::onAnimationStart):
(WebCore::KeyframeAnimation::onAnimationIteration):
(WebCore::KeyframeAnimation::onAnimationEnd):
(WebCore::KeyframeAnimation::sendAnimationEvent):

LayoutTests:

Add a test for unprefixed animation event names, as well
as a test that ensures we don't get multiple dispatches if
we're still listening for the old events.

And for the older tests, just add the new things from the
window namespace.

* animations/unprefixed-events-expected.txt: Added.
* animations/unprefixed-events-mixed-with-prefixed-expected.txt: Added.
* animations/unprefixed-events-mixed-with-prefixed.html: Added.
* animations/unprefixed-events.html: Added.

* fast/events/event-creation-expected.txt:
* fast/events/event-creation.html:
* js/dom/constructor-length.html:
* js/dom/global-constructors-attributes-expected.txt:
* platform/efl/js/dom/constructor-length-expected.txt:
* platform/efl/js/dom/global-constructors-attributes-expected.txt:
* platform/gtk/js/dom/constructor-length-expected.txt:
* platform/gtk/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/constructor-length-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@176423 268f45cc-cd09-0410-ab3c-d52691b4dbfc

5 years agoNew perf dashboard should provide UI to create a new analysis task
rniwa@webkit.org [Thu, 20 Nov 2014 23:25:07 +0000 (23:25 +0000)]
New perf dashboard should provide UI to create a new analysis task
https://bugs.webkit.org/show_bug.cgi?id=138910

Reviewed by Benjamin Poulain.

This patch reverts some parts of r175006 and re-introduces bugs associated with analysis tasks.
I'll add UI to show and edit bug numbers associated with an analysis task in a follow up patch.

With this patch, we can create a new analysis task by selection a range of points and opening
"analysis pane" (renamed from "bugs pane"). Each analysis task created is represented by a yellow bar
in the chart hyperlinked to the analysis task.

* init-database.sql: Redefined the bugs to be associated with an analysis task instead of a test run.

* public/api/analysis-tasks.php: Added the support for querying analysis tasks for a specific metric
on a specific platform. Also retrieve and return all bugs associated with analysis tasks.
(main):
(fetch_and_push_bugs_to_tasks): Added. Fetches all bugs associated with an array of analysis tasks
and adds the associated bugs to each task in the array.
(format_task):

* public/api/runs.php: Reverted changes made in r175006.
(fetch_runs_for_config):
(format_run):

* public/api/test-groups.php:
(fetch_test_groups_for_task): Use the newly added Database::select_rows.

* public/include/db.php:
(Database::select_first_or_last_row):
(Database::select_rows): Extracted from select_first_or_last_row.

* public/v2/analysis.js:
(App.AnalysisTask): Added "bugs" property.
(App.Bug): Added now that bugs are regular data store objects.

* public/v2/app.js:
(App.Pane._fetch): Calls this.fetchAnalyticRanges to fetch analysis tasks as well as test runs.
(App.Pane.fetchAnalyticRanges): Added. Fetches analysis tasks for the current metric on the current
platform that are associated with a specific range of runs.
(App.PaneController.actions.toggleBugsPane): Updated per showingBugsPane to showingAnalysisPane rename.
(App.PaneController.actions.associateBug): Deleted.
(App.PaneController.actions.createAnalysisTask): Replaced the pre-condition checks with assertions as
this action should never be triggered when the pre-condition is not met. Also re-fetch analysis tasks
once we've created one.
(App.PaneController.toggleSearchPane): Updated per showingBugsPane to showingAnalysisPane rename.
(App.PaneController._detailsChanged): Ditto. Removed selectedSinglePoint since it's no longer used.
(App.PaneController._showDetails): Call _updateCanAnalyze to update the status of "Analyze" button.
(App.PaneController._updateBugs): Deleted.
(App.PaneController._updateMarkedPoints): Deleted.
(App.PaneController._updateCanAnalyze): Added. Disables the button to create an analysis task when
the name is missing or when at most one point is selected.

(App.InteractiveChartComponent._constructGraphIfPossible): Update the locations of range rects.
(App.InteractiveChartComponent._relayoutDataAndAxes): Ditto.
(App.InteractiveChartComponent._mousePointInGraph): Don't return a point unless the mouse cursor is
on our svg element to avoid locking the current item when a bar shown for an analysis task is clicked.
(App.InteractiveChartComponent._rangesChanged): Added. Creates an array of objects representing
clickable bars for analysis tasks.
(App.InteractiveChartComponent._updateRangeBarRects): Computes the inline style used by each clickable
bar for analysis tasks to place them at the right location.
(App.InteractiveChartComponent.actions.openRange): Added. Forwards the action to the parent controller.

* public/v2/chart-pane.css:
(.chart .extent): Use the same color as the vertical indicator in the highlight behind the selection.
(.chart .rangeBar): Added.

* public/v2/data.js:
(TimeSeries.prototype.nextPoint): Added. Used by _rangesChanged.

* public/v2/index.html: Renamed "bugs pane" to "analysis pane" and removed the UI to associate bugs.
This ability will be reinstated in a follow up patch. Also added a container div and spans for analysis
task bars in the interactive chart component.

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

5 years agoURTBF after r176420 to fix non Apple builds.
ossy@webkit.org [Thu, 20 Nov 2014 23:04:51 +0000 (23:04 +0000)]
URTBF after r176420 to fix non Apple builds.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::shouldPlugInAutoStartFromOrigin):

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

5 years agoWebPlugInClient::m_webPage can never be null, use a reference
andersca@apple.com [Thu, 20 Nov 2014 22:56:22 +0000 (22:56 +0000)]
WebPlugInClient::m_webPage can never be null, use a reference
https://bugs.webkit.org/show_bug.cgi?id=138937

Reviewed by Andreas Kling.

* WebProcess/WebCoreSupport/WebPlugInClient.cpp:
(WebKit::WebPlugInClient::WebPlugInClient):
(WebKit::WebPlugInClient::shouldAutoStartFromOrigin):
* WebProcess/WebCoreSupport/WebPlugInClient.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::shouldPlugInAutoStartFromOrigin):
* WebProcess/WebProcess.h:

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

5 years ago[iOS] Update TestExpectation file for LayoutTests/canvas tests
dbates@webkit.org [Thu, 20 Nov 2014 22:33:07 +0000 (22:33 +0000)]
[iOS] Update TestExpectation file for LayoutTests/canvas tests

Also skip some LayoutTests/animation tests that are flaky or fail due to an assertion failure.

* platform/ios-simulator/TestExpectations:

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

5 years agoTextIndicator should have getters for TextIndicator::Data properties
timothy_horton@apple.com [Thu, 20 Nov 2014 22:26:10 +0000 (22:26 +0000)]
TextIndicator should have getters for TextIndicator::Data properties
https://bugs.webkit.org/show_bug.cgi?id=138920

Reviewed by Beth Dakin.

Instead of having clients reach into the data(), add getters.
Remove frameRect(), which is identical to the textBoundingRectInWindowCoordinates getter.
Remove declarations for draw/drawContentImage, which were already removed.

* Shared/TextIndicator.cpp:
(WebKit::TextIndicator::frameRect): Deleted.
* Shared/TextIndicator.h:
(WebKit::TextIndicator::textBoundingRectInWindowCoordinates):
(WebKit::TextIndicator::textRectsInBoundingRectCoordinates):
(WebKit::TextIndicator::contentImageScaleFactor):
(WebKit::TextIndicator::contentImageWithHighlight):
(WebKit::TextIndicator::contentImage):
* UIProcess/mac/TextIndicatorWindow.mm:
(-[WKTextIndicatorView initWithFrame:textIndicator:margin:]):
(-[WKTextIndicatorView presentWithCompletionHandler:]):
(WebKit::TextIndicatorWindow::setTextIndicator):

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

5 years agoRemove a piece of DataDetectors SPI that we aren't using anymore
timothy_horton@apple.com [Thu, 20 Nov 2014 22:23:30 +0000 (22:23 +0000)]
Remove a piece of DataDetectors SPI that we aren't using anymore
https://bugs.webkit.org/show_bug.cgi?id=138917

Reviewed by Beth Dakin.

* platform/spi/mac/DataDetectorsSPI.h:

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

5 years agoSkip flaky inspector-protocol/debugger tests.
ap@apple.com [Thu, 20 Nov 2014 22:17:22 +0000 (22:17 +0000)]
Skip flaky inspector-protocol/debugger tests.
webkit.org/b/100846, webkit.org/b/136715

* platform/mac/TestExpectations:

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

5 years agoCancel DataDetectors menu earlier if we know it can't be presented
timothy_horton@apple.com [Thu, 20 Nov 2014 22:16:55 +0000 (22:16 +0000)]
Cancel DataDetectors menu earlier if we know it can't be presented
https://bugs.webkit.org/show_bug.cgi?id=138922
<rdar://problem/18950441>

Reviewed by Beth Dakin.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController willOpenMenu:withEvent:]):
If we end up with a menu with no items, don't change selection or anything.

(-[WKActionMenuController menuNeedsUpdate:]):
Move our call to shouldUseActionsWithContext earlier, to menuNeedsUpdate,
and use a bigger hammer (removeAllItems).

* WebView/WebActionMenuController.mm:
(-[WebActionMenuController prepareForMenu:withEvent:]):
Move our call to shouldUseActionsWithContext earlier, to menuNeedsUpdate,
and use a bigger hammer (removeAllItems).

(-[WebActionMenuController willOpenMenu:withEvent:]):
If we end up with a menu with no items, don't change selection or anything.

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

5 years agoDon't use a TextIndicator BounceAndCrossfade transition if the selection highlight...
timothy_horton@apple.com [Thu, 20 Nov 2014 22:10:58 +0000 (22:10 +0000)]
Don't use a TextIndicator BounceAndCrossfade transition if the selection highlight is never shown
https://bugs.webkit.org/show_bug.cgi?id=138919
<rdar://problem/19042207>

Reviewed by Beth Dakin.

* Shared/TextIndicator.h:
(WebKit::TextIndicator::presentationTransition):
(WebKit::TextIndicator::setPresentationTransition):
Add getter and setter pair.

* UIProcess/mac/WKActionMenuController.mm:
(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
If the selection highlight will never be shown because there's only a single menu item,
use a normal bounce animation instead of bounce + crossfade.

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

5 years agohttp tests should not use shared temporary files, part 2
ap@apple.com [Thu, 20 Nov 2014 22:10:37 +0000 (22:10 +0000)]
http tests should not use shared temporary files, part 2
https://bugs.webkit.org/show_bug.cgi?id=138894

Rubber-stamped by Tim Horton.

Made more scripts that access local files use per-test files. Some tests could use
HTTP referrer, others needed explicit parameters.

* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-allow.html:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-block.html:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-empty.html:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-filter.html:
* http/tests/security/contentSecurityPolicy/1.1/reflected-xss-invalid.html:
* http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt:
* http/tests/security/contentSecurityPolicy/report-uri-from-child-frame.html:
* http/tests/security/contentSecurityPolicy/resources/echo-report.php:
* http/tests/security/contentSecurityPolicy/resources/generate-csp-report.html: Removed.
* http/tests/security/contentSecurityPolicy/resources/generate-csp-report.php: Copied from LayoutTests/http/tests/security/contentSecurityPolicy/resources/generate-csp-report.html.
* http/tests/security/contentSecurityPolicy/resources/go-to-echo-report.php: Added.
* http/tests/security/contentSecurityPolicy/resources/reflected-xss-and-xss-protection.js:
(testMixedHeader):
* http/tests/security/contentSecurityPolicy/resources/report-file-path.php: Added.
* http/tests/security/contentSecurityPolicy/resources/save-report.php:
* http/tests/security/contentSecurityPolicy/xmlhttprequest-protected-resource-does-not-crash.html:
* http/tests/security/xssAuditor/block-does-not-leak-location-expected.txt:
* http/tests/security/xssAuditor/block-does-not-leak-location.html:
* http/tests/security/xssAuditor/block-does-not-leak-referrer.html:
* http/tests/security/xssAuditor/cookie-injection-expected.txt:
* http/tests/security/xssAuditor/cookie-injection.html:
* http/tests/security/xssAuditor/embed-tag-code-attribute-2-expected.txt:
* http/tests/security/xssAuditor/embed-tag-code-attribute-2.html:
* http/tests/security/xssAuditor/embed-tag-code-attribute-expected.txt:
* http/tests/security/xssAuditor/embed-tag-code-attribute.html:
* http/tests/security/xssAuditor/embed-tag-control-char-expected.txt:
* http/tests/security/xssAuditor/embed-tag-control-char.html:
* http/tests/security/xssAuditor/embed-tag-expected.txt:
* http/tests/security/xssAuditor/embed-tag-javascript-url-expected.txt:
* http/tests/security/xssAuditor/embed-tag-javascript-url.html:
* http/tests/security/xssAuditor/embed-tag-null-char-expected.txt:
* http/tests/security/xssAuditor/embed-tag-null-char.html:
* http/tests/security/xssAuditor/embed-tag.html:
* http/tests/security/xssAuditor/faux-script1.html:
* http/tests/security/xssAuditor/faux-script2.html:
* http/tests/security/xssAuditor/faux-script3.html:
* http/tests/security/xssAuditor/form-action-expected.txt:
* http/tests/security/xssAuditor/form-action.html:
* http/tests/security/xssAuditor/formaction-on-button-expected.txt:
* http/tests/security/xssAuditor/formaction-on-button.html:
* http/tests/security/xssAuditor/formaction-on-input-expected.txt:
* http/tests/security/xssAuditor/formaction-on-input.html:
* http/tests/security/xssAuditor/frameset-injection-expected.txt:
* http/tests/security/xssAuditor/frameset-injection.html:
* http/tests/security/xssAuditor/full-block-get-from-iframe-expected.txt:
* http/tests/security/xssAuditor/full-block-get-from-iframe.html:
* http/tests/security/xssAuditor/full-block-iframe-javascript-url-expected.txt:
* http/tests/security/xssAuditor/full-block-iframe-javascript-url.html:
* http/tests/security/xssAuditor/full-block-iframe-no-inherit-expected.txt:
* http/tests/security/xssAuditor/full-block-iframe-no-inherit.php:
* http/tests/security/xssAuditor/full-block-link-onclick-expected.txt:
* http/tests/security/xssAuditor/full-block-link-onclick.html:
* http/tests/security/xssAuditor/full-block-object-tag-expected.txt:
* http/tests/security/xssAuditor/full-block-object-tag.html:
* http/tests/security/xssAuditor/full-block-post-from-iframe.html:
* http/tests/security/xssAuditor/full-block-script-tag-cross-domain-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-cross-domain.html:
* http/tests/security/xssAuditor/full-block-script-tag-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-with-source-expected.txt:
* http/tests/security/xssAuditor/full-block-script-tag-with-source.html:
* http/tests/security/xssAuditor/full-block-script-tag.html:
* http/tests/security/xssAuditor/get-from-iframe-expected.txt:
* http/tests/security/xssAuditor/get-from-iframe.html:
* http/tests/security/xssAuditor/iframe-injection-allowed-2.html:
* http/tests/security/xssAuditor/iframe-injection-allowed-3.html:
* http/tests/security/xssAuditor/iframe-injection-allowed.html:
* http/tests/security/xssAuditor/iframe-injection-expected.txt:
* http/tests/security/xssAuditor/iframe-injection.html:
* http/tests/security/xssAuditor/iframe-javascript-url-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-more-encoding-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-more-encoding.html:
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html:
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html:
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html:
* http/tests/security/xssAuditor/iframe-javascript-url-url-encoded-expected.txt:
* http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html:
* http/tests/security/xssAuditor/iframe-javascript-url.html:
* http/tests/security/xssAuditor/iframe-onload-GBK-char-expected.txt:
* http/tests/security/xssAuditor/iframe-onload-GBK-char.html:
* http/tests/security/xssAuditor/iframe-onload-in-svg-tag-expected.txt:
* http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html:
* http/tests/security/xssAuditor/iframe-srcdoc-expected.txt:
* http/tests/security/xssAuditor/iframe-srcdoc.html:
* http/tests/security/xssAuditor/img-onerror-GBK-char-expected.txt:
* http/tests/security/xssAuditor/img-onerror-GBK-char.html:
* http/tests/security/xssAuditor/img-onerror-accented-char-expected.txt:
* http/tests/security/xssAuditor/img-onerror-accented-char.html:
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char-expected.txt:
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html:
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-expected.txt:
* http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html:
* http/tests/security/xssAuditor/img-onerror-tricky.html:
* http/tests/security/xssAuditor/img-tag-with-comma-expected.txt:
* http/tests/security/xssAuditor/img-tag-with-comma.html:
* http/tests/security/xssAuditor/inline-event-HTML-entities-expected.txt:
* http/tests/security/xssAuditor/inline-event-HTML-entities.html:
* http/tests/security/xssAuditor/link-onclick-ampersand-expected.txt:
* http/tests/security/xssAuditor/link-onclick-ampersand.html:
* http/tests/security/xssAuditor/link-onclick-control-char-expected.txt:
* http/tests/security/xssAuditor/link-onclick-control-char.html:
* http/tests/security/xssAuditor/link-onclick-entities-expected.txt:
* http/tests/security/xssAuditor/link-onclick-entities.html:
* http/tests/security/xssAuditor/link-onclick-expected.txt:
* http/tests/security/xssAuditor/link-onclick-null-char-expected.txt:
* http/tests/security/xssAuditor/link-onclick-null-char.html:
* http/tests/security/xssAuditor/link-onclick.html:
* http/tests/security/xssAuditor/link-opens-new-window-expected.txt:
* http/tests/security/xssAuditor/link-opens-new-window.html:
* http/tests/security/xssAuditor/malformed-HTML-expected.txt:
* http/tests/security/xssAuditor/malformed-HTML.html:
* http/tests/security/xssAuditor/malformed-xss-protection-header-1-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-1.html:
* http/tests/security/xssAuditor/malformed-xss-protection-header-2-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-2.html:
* http/tests/security/xssAuditor/malformed-xss-protection-header-3-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-3.html:
* http/tests/security/xssAuditor/malformed-xss-protection-header-4-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-4.html:
* http/tests/security/xssAuditor/malformed-xss-protection-header-5-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-5.html:
* http/tests/security/xssAuditor/malformed-xss-protection-header-6-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-6.html:
* http/tests/security/xssAuditor/malformed-xss-protection-header-7-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-7.html:
* http/tests/security/xssAuditor/malformed-xss-protection-header-8-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-8.html:
* http/tests/security/xssAuditor/malformed-xss-protection-header-9-expected.txt:
* http/tests/security/xssAuditor/malformed-xss-protection-header-9.html:
* http/tests/security/xssAuditor/no-protection-script-tag.html:
* http/tests/security/xssAuditor/object-embed-tag-control-char-expected.txt:
* http/tests/security/xssAuditor/object-embed-tag-control-char.html:
* http/tests/security/xssAuditor/object-embed-tag-expected.txt:
* http/tests/security/xssAuditor/object-embed-tag-null-char-expected.txt:
* http/tests/security/xssAuditor/object-embed-tag-null-char.html:
* http/tests/security/xssAuditor/object-embed-tag.html:
* http/tests/security/xssAuditor/object-tag-expected.txt:
* http/tests/security/xssAuditor/object-tag-javascript-url-expected.txt:
* http/tests/security/xssAuditor/object-tag-javascript-url.html:
* http/tests/security/xssAuditor/object-tag.html:
* http/tests/security/xssAuditor/open-event-handler-iframe-expected.txt:
* http/tests/security/xssAuditor/open-event-handler-iframe.html:
* http/tests/security/xssAuditor/open-iframe-src-03-expected.txt:
* http/tests/security/xssAuditor/open-iframe-src-03.html:
* http/tests/security/xssAuditor/post-from-iframe.html:
* http/tests/security/xssAuditor/report-script-tag-expected.txt:
* http/tests/security/xssAuditor/report-script-tag-full-block-expected.txt:
* http/tests/security/xssAuditor/report-script-tag-full-block.html:
* http/tests/security/xssAuditor/report-script-tag-replace-state-expected.txt:
* http/tests/security/xssAuditor/report-script-tag-replace-state.html:
* http/tests/security/xssAuditor/report-script-tag.html:
* http/tests/security/xssAuditor/resources/echo-intertag.pl:
* http/tests/security/xssAuditor/script-tag-Big5-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-expected.txt:
* http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html:
* http/tests/security/xssAuditor/script-tag-Big5-char.html:
* http/tests/security/xssAuditor/script-tag-Big5-char2-expected.txt:
* http/tests/security/xssAuditor/script-tag-Big5-char2.html:
* http/tests/security/xssAuditor/script-tag-control-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-control-char.html:
* http/tests/security/xssAuditor/script-tag-convoluted-expected.txt:
* http/tests/security/xssAuditor/script-tag-convoluted.html:
* http/tests/security/xssAuditor/script-tag-entities-expected.txt:
* http/tests/security/xssAuditor/script-tag-entities.html:
* http/tests/security/xssAuditor/script-tag-expected.txt:
* http/tests/security/xssAuditor/script-tag-expression-follows-expected.txt:
* http/tests/security/xssAuditor/script-tag-expression-follows.html:
* http/tests/security/xssAuditor/script-tag-inside-svg-tag-expected.txt:
* http/tests/security/xssAuditor/script-tag-inside-svg-tag.html:
* http/tests/security/xssAuditor/script-tag-inside-svg-tag2-expected.txt:
* http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html:
* http/tests/security/xssAuditor/script-tag-inside-svg-tag3-expected.txt:
* http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html:
* http/tests/security/xssAuditor/script-tag-near-start-expected.txt:
* http/tests/security/xssAuditor/script-tag-near-start.html:
* http/tests/security/xssAuditor/script-tag-null-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-null-char.html:
* http/tests/security/xssAuditor/script-tag-open-redirect-expected.txt:
* http/tests/security/xssAuditor/script-tag-open-redirect.html:
* http/tests/security/xssAuditor/script-tag-post-control-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-post-control-char.html:
* http/tests/security/xssAuditor/script-tag-post-expected.txt:
* http/tests/security/xssAuditor/script-tag-post-null-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-post-null-char.html:
* http/tests/security/xssAuditor/script-tag-post.html:
* http/tests/security/xssAuditor/script-tag-redirect-expected.txt:
* http/tests/security/xssAuditor/script-tag-redirect.html:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode-surrogate-pair.html:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode5-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-16bit-unicode5.html:
* http/tests/security/xssAuditor/script-tag-with-actual-comma-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-actual-comma.html:
* http/tests/security/xssAuditor/script-tag-with-callbacks-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-callbacks.html:
* http/tests/security/xssAuditor/script-tag-with-comma-01-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-comma-01.html:
* http/tests/security/xssAuditor/script-tag-with-comma-02-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-comma-02.html:
* http/tests/security/xssAuditor/script-tag-with-fancy-unicode-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-fancy-unicode.html:
* http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-invalid-closing-tag.html:
* http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-invalid-url-encoding.html:
* http/tests/security/xssAuditor/script-tag-with-source-control-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-control-char.html:
* http/tests/security/xssAuditor/script-tag-with-source-data-url-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-data-url.html:
* http/tests/security/xssAuditor/script-tag-with-source-data-url2-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-data-url2.html:
* http/tests/security/xssAuditor/script-tag-with-source-data-url3-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-data-url3.html:
* http/tests/security/xssAuditor/script-tag-with-source-double-quote-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-double-quote.html:
* http/tests/security/xssAuditor/script-tag-with-source-entities-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-entities.html:
* http/tests/security/xssAuditor/script-tag-with-source-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-no-quote-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-no-quote.html:
* http/tests/security/xssAuditor/script-tag-with-source-null-char-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-null-char.html:
* http/tests/security/xssAuditor/script-tag-with-source-relative-scheme-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html:
* http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html:
* http/tests/security/xssAuditor/script-tag-with-source-same-host.html:
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-01-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-01.html:
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-02-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-02.html:
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-03-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-03.html:
* http/tests/security/xssAuditor/script-tag-with-source.html:
* http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-three-times-url-encoded-16bit-unicode.html:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment.html:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment2-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment2.html:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment3-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment3.html:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment4-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment4.html:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment5-expected.txt:
* http/tests/security/xssAuditor/script-tag-with-trailing-comment5.html:
* http/tests/security/xssAuditor/script-tag.html:
* http/tests/security/xssAuditor/svg-animate-expected.txt:
* http/tests/security/xssAuditor/svg-animate.html:
* http/tests/security/xssAuditor/svg-script-tag-expected.txt:
* http/tests/security/xssAuditor/svg-script-tag.html:
* http/tests/security/xssAuditor/xss-filter-bypass-big5-expected.txt:
* http/tests/security/xssAuditor/xss-filter-bypass-big5.html:
* http/tests/security/xssAuditor/xss-filter-bypass-sjis-expected.txt:
* http/tests/security/xssAuditor/xss-filter-bypass-sjis.html:
* http/tests/security/xssAuditor/xss-protection-parsing-01.html:
* http/tests/security/xssAuditor/xss-protection-parsing-02-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-02.html:
* http/tests/security/xssAuditor/xss-protection-parsing-03-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-03.html:
* http/tests/security/xssAuditor/xss-protection-parsing-04-expected.txt:
* http/tests/security/xssAuditor/xss-protection-parsing-04.html:

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

5 years agoInvalid message WebPageProxy.DidPerformDictionaryLookup on Google stocks result
bdakin@apple.com [Thu, 20 Nov 2014 22:03:39 +0000 (22:03 +0000)]
Invalid message WebPageProxy.DidPerformDictionaryLookup on Google stocks result
https://bugs.webkit.org/show_bug.cgi?id=138568
-and corresponding-
rdar://problem/18904600

Reviewed by Tim Horton.

Source/WebCore:

Add an optional parameter indicating whether or not to include images.
* WebCore.exp.in:
* editing/cocoa/HTMLConverter.h:
* editing/cocoa/HTMLConverter.mm:
(WebCore::editingAttributedStringFromRange):

Source/WebKit/mac:

Skip images for lookup.
* WebView/WebActionMenuController.mm:
(performDictionaryLookupForRange):

Source/WebKit2:

Skip images for lookup.
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::performDictionaryLookupForRange):

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

5 years ago[iOS] Add more ENABLE({TOUCH_EVENTS, IOS_TOUCH_EVENTS})-guards in WebKit2
dbates@webkit.org [Thu, 20 Nov 2014 21:50:06 +0000 (21:50 +0000)]
[iOS] Add more ENABLE({TOUCH_EVENTS, IOS_TOUCH_EVENTS})-guards in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=138928

Reviewed by Simon Fraser.

* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::sendTapHighlightForNodeIfNecessary):

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

5 years agoFix the !ENABLE(SVG_FONTS) build after r176276
mmaxfield@apple.com [Thu, 20 Nov 2014 21:45:54 +0000 (21:45 +0000)]
Fix the !ENABLE(SVG_FONTS) build after r176276
https://bugs.webkit.org/show_bug.cgi?id=138924

Reviewed by Csaba Osztrogonác.

No new tests because there is no behavior change.

* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestFont):

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

5 years ago[iOS] Update expected results for LayoutTests/animations
dbates@webkit.org [Thu, 20 Nov 2014 21:43:21 +0000 (21:43 +0000)]
[iOS] Update expected results for LayoutTests/animations

* platform/ios-simulator/TestExpectations:
* platform/ios-simulator/animations/3d/replace-filling-transform-expected.txt: Added.
* platform/ios-simulator/animations/animation-offscreen-to-onscreen-expected.txt: Added.
* platform/ios-simulator/animations/missing-values-first-keyframe-expected.txt: Added.
* platform/ios-simulator/animations/missing-values-last-keyframe-expected.txt: Added.
* platform/ios-simulator/animations/opacity-transform-animation-expected.txt: Added.
* platform/ios-simulator/animations/suspend-transform-animation-expected.txt: Added.

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

5 years agoAdd -[WKWebView loadData:MIMEType:textEncodingName:baseURL:]
andersca@apple.com [Thu, 20 Nov 2014 20:01:40 +0000 (20:01 +0000)]
Add -[WKWebView loadData:MIMEType:textEncodingName:baseURL:]
https://bugs.webkit.org/show_bug.cgi?id=138929
<rdar://problem/18683802>

Reviewed by Dan Bernstein.

Also, re-implement -[WKWebView loadHTMLString:baseURL:] in terms of this newly added function
and assume a UTF-8 encoding. This matches what Legacy WebKit does.

* UIProcess/API/Cocoa/WKWebView.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView loadHTMLString:baseURL:]):
(-[WKWebView loadData:MIMEType:textEncodingName:baseURL:]):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadData):
* UIProcess/WebPageProxy.h:

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

5 years agoUpdate media/track/track-in-band-cues-added-once.html to make failures easier to...
eric.carlson@apple.com [Thu, 20 Nov 2014 19:12:32 +0000 (19:12 +0000)]
Update media/track/track-in-band-cues-added-once.html to make failures easier to diagnose
https://bugs.webkit.org/show_bug.cgi?id=138908

Reviewed by Alexey Proskuryakov.

* media/track/track-in-band-cues-added-once.html: Update test to remove one potential
    source of flakeyness and to do more logging in the event of a failure to make debugging
    failures simpler.
* media/track/track-in-band-cues-added-once-expected.txt:

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

5 years ago[iOS] Temporarily skip almost all DRT tests
dbates@webkit.org [Thu, 20 Nov 2014 19:06:43 +0000 (19:06 +0000)]
[iOS] Temporarily skip almost all DRT tests

Towards updating the expected results on iOS, temporarily skip running almost
all DRT tests on iOS. We'll subsequently un-skip tests as we land updated/new
expected results for them.

* platform/ios-simulator/TestExpectations:

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

5 years agoRename String.prototype.contains to String.prototype.includes
utatane.tea@gmail.com [Thu, 20 Nov 2014 18:50:46 +0000 (18:50 +0000)]
Rename String.prototype.contains to String.prototype.includes
https://bugs.webkit.org/show_bug.cgi?id=138923

Source/JavaScriptCore:

As per the latest TC39 meeting[1, 2], String.prototype.contains is
renamed to String.prototype.includes. This is because the name
`contains` breaks the web since it conflicts with existing `contains`
implementations in major libraries.

[1]: https://github.com/mathiasbynens/String.prototype.includes
[2]: https://github.com/tc39/test262/pull/119

Reviewed by Geoffrey Garen.

* runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
(JSC::stringProtoFuncIncludes):
(JSC::stringProtoFuncContains): Deleted.

LayoutTests:

Reviewed by Geoffrey Garen.

* js/Object-getOwnPropertyNames-expected.txt:
* js/script-tests/Object-getOwnPropertyNames.js:
* js/script-tests/string-includes.js: Renamed from LayoutTests/js/script-tests/string-contains.js.
(stringToSearchIn.toString):
(startOffset.valueOf):
(matchString.toString):
(endOffset.valueOf):
* js/string-includes-expected.txt: Renamed from LayoutTests/js/string-contains-expected.txt.
* js/string-includes.html: Renamed from LayoutTests/js/string-contains.html.

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

5 years agoAdd a way to mute an AudioContext.
adachan@apple.com [Thu, 20 Nov 2014 18:50:12 +0000 (18:50 +0000)]
Add a way to mute an AudioContext.
https://bugs.webkit.org/show_bug.cgi?id=138104

Reviewed by Eric Carlson.

Keep a muted state in AudioDestinationNode. If m_muted is true,
zero out the audio buffers.

No new tests, since it's difficult to test whether the audio is indeed muted.

* Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::AudioContext):
Call pageMutedStateDidChange() so it'll initialize the destination audio node's muted state accordingly.
(WebCore::AudioContext::pageMutedStateDidChange):
Set the destination audio node's muted state to match the page's muted state.

* Modules/webaudio/AudioDestinationNode.cpp:
(WebCore::AudioDestinationNode::AudioDestinationNode):
Initialize m_muted.
(WebCore::AudioDestinationNode::render):
If m_muted is true, call AudioBus::zero() to zero out the buffers.
* Modules/webaudio/AudioDestinationNode.h:
(WebCore::AudioDestinationNode::setMuted):
Set m_muted.

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

5 years agoCrash when destroying a Document that has a throttled timer still running
cdumez@apple.com [Thu, 20 Nov 2014 18:44:12 +0000 (18:44 +0000)]
Crash when destroying a Document that has a throttled timer still running
https://bugs.webkit.org/show_bug.cgi?id=138914

Reviewed by Benjamin Poulain.

Source/WebCore:

Upon destruction, a throttled DOMTimer whose interval depends on
viewport changes will try to unregister itself from the view. It gets
the view pointer from its Document. However, scriptExecutionContext()
can return null if the Document is being destroyed (i.e. ~DOMTimer()
is called from ~ScriptExecutionContext(), as the ScriptExecutionContext
owns the DOMTimer).

This patch adds a null check for scriptExecutionContext() in the
DOMTimer destructor to avoid this issue.

Test: fast/dom/throttled-timer-running-on-document-destruction.html

* page/DOMTimer.cpp:
(WebCore::DOMTimer::~DOMTimer):

(WebCore::DOMTimer::unregisterForViewportChanges):
Add assertion to make sure scriptExecutionContext() does not return
null.

(WebCore::DOMTimerFireState::setChangedStyleOfElementOutsideViewport): Deleted.
Killed this function as this was dead code.

LayoutTests:

Add a layout test to test the case where a Document gets destroyed while
throttled timer is still running.

* fast/dom/resources/frame-with-throttled-timer.html: Added.
* fast/dom/throttled-timer-running-on-document-destruction-expected.txt: Added.
* fast/dom/throttled-timer-running-on-document-destruction.html: Added.

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

5 years agoSimple line layout: Introduce text fragment continuation.
zalan@apple.com [Thu, 20 Nov 2014 18:11:07 +0000 (18:11 +0000)]
Simple line layout: Introduce text fragment continuation.
https://bugs.webkit.org/show_bug.cgi?id=138274

Source/WebCore:

This patch extends simple line layout coverage to multiple text renderers.
When a particular render flow has multiple text renderers (but not any other type)
then we use simple line layout to process and paint the content. -other, existing requirements still apply
so that for example if the content requires decoration, we bail out of simple line layout.

FlowContent now supports multiple renderes. It continuously reads content from sibling renderers
so that the simple line layout parser sees it as one monolithic block of content. Run positions
are all relative to the block and they get resolved to renderer's positions on demand.
(painting, computing bounding rects etc)

Reviewed by Antti Koivisto.

Performance test already been added for the multiple rendere use case,
correctness is covered by existing test cases.
Test: fast/text/simple-lines-mutliple-renderers.html

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor): Check if children are all 8bit RenderTexts.
(WebCore::SimpleLineLayout::removeTrailingWhitespace): Move the endofline check right before where we might overflow using end position.
(WebCore::SimpleLineLayout::initializeNewLine):
(WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns):
(WebCore::SimpleLineLayout::splitRunsAtRendererBoundary): Split runs at renderers' boundary to be in sync with inline text renderering.
(WebCore::SimpleLineLayout::createTextRuns):
(WebCore::SimpleLineLayout::create):
* rendering/SimpleLineLayoutFlowContents.cpp:
(WebCore::SimpleLineLayout::FlowContents::FlowContents):
(WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition):
(WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition):
(WebCore::SimpleLineLayout::FlowContents::textWidth): Do not measure text across renderers. It could produce different width value due to
ligature which later can produce unexpected line breaks and out sync rendering in general.
(WebCore::SimpleLineLayout::FlowContents::renderer):
(WebCore::SimpleLineLayout::FlowContents::resolveRendererPositions):
(WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded): Read the next renderer content if needed.
(WebCore::SimpleLineLayout::FlowContents::nextNonWhitespacePosition):
(WebCore::SimpleLineLayout::FlowContents::runWidth):
* rendering/SimpleLineLayoutFlowContents.h:
(WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter):
(WebCore::SimpleLineLayout::FlowContents::isEndOfContent):
* rendering/SimpleLineLayoutResolver.cpp:
(WebCore::SimpleLineLayout::RunResolver::Run::text):

LayoutTests:

Rebaseline for simple line layout's multiple rendere support.

Reviewed by Antti Koivisto.

* fast/text/simple-lines-multiple-renderers-expected.html: Added.
* fast/text/simple-lines-multiple-renderers.html: Added.
* fast/tokenizer/script_extra_close-expected.txt: Multiple tab characters should collapse into a single whitespace. This
needs fixing in complex line layout.
* tables/mozilla/bugs/bug157890-expected.txt: no-op endofline run is added by complex inline layout
when multiple text content is injected through JS into a <pre>. This requires fixing complex line layout.

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

5 years agoRemove alignment code from cache coders
antti@apple.com [Thu, 20 Nov 2014 17:43:40 +0000 (17:43 +0000)]
Remove alignment code from cache coders
https://bugs.webkit.org/show_bug.cgi?id=138927

Failed to land this file.

* NetworkProcess/cache/NetworkCacheCoders.cpp:
(WebKit::NetworkCacheCoder<CString>::encode):
(WebKit::NetworkCacheCoder<CString>::decode):
(WebKit::NetworkCacheCoder<String>::encode):
(WebKit::decodeStringText):
(WebKit::NetworkCacheCoder<WebCore::CertificateInfo>::encode):
(WebKit::NetworkCacheCoder<WebCore::CertificateInfo>::decode):
* NetworkProcess/cache/NetworkCacheCoders.h:

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

5 years agoWTFCrashWithSecurityImplication under SpeculativeJIT::compile() when loading a page...
mark.lam@apple.com [Thu, 20 Nov 2014 17:42:58 +0000 (17:42 +0000)]
WTFCrashWithSecurityImplication under SpeculativeJIT::compile() when loading a page from theblaze.com.
<https://webkit.org/b/137642>

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

In the DFG, we have a ConstantFolding phase that occurs after all LocalCSE
phases have already transpired.  Hence, Identity nodes introduced in the
ConstantFolding phase will be left in the node graph.  Subsequently, the
DFG code generator asserts that CSE phases have consumed all Identity nodes.
This turns out to not be true.  Hence, the crash.  We fix this by teaching
the DFG code generator to emit code for Identity nodes.

Unlike the DFG, the FTL does not have this issue.  That is because the FTL
plan has GlobalCSE phases that come after ConstantFolding and any other
phases that can generate Identity nodes.  Hence, for the FTL, it is true that
CSE will consume all Identity nodes, and the code generator should not see any
Identity nodes.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

LayoutTests:

* js/dfg-inline-identity-expected.txt: Added.
* js/dfg-inline-identity.html: Added.
* js/script-tests/dfg-inline-identity.js: Added.
(o.toKey):
(foo):
(test):

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

5 years agoRemove alignment code from cache coders
antti@apple.com [Thu, 20 Nov 2014 17:32:04 +0000 (17:32 +0000)]
Remove alignment code from cache coders
https://bugs.webkit.org/show_bug.cgi?id=138927

Reviewed by Anders Carlsson.

Alignment code doesn't do anything useful, wastes space and produces wrong results
if the encoder and decoder buffers don't have the same 8-byte alignment.

* NetworkProcess/cache/NetworkCacheDecoder.cpp:
(WebKit::NetworkCacheDecoder::NetworkCacheDecoder):
(WebKit::NetworkCacheDecoder::bufferIsLargeEnoughToContain):
(WebKit::NetworkCacheDecoder::decodeFixedLengthData):
(WebKit::NetworkCacheDecoder::decodeNumber):
(WebKit::roundUpToAlignment): Deleted.
(WebKit::alignedBufferIsLargeEnoughToContain): Deleted.
(WebKit::NetworkCacheDecoder::alignBufferPosition): Deleted.
* NetworkProcess/cache/NetworkCacheDecoder.h:
(WebKit::NetworkCacheDecoder::currentOffset):
(WebKit::NetworkCacheDecoder::isInvalid):
(WebKit::NetworkCacheDecoder::markInvalid):
(WebKit::NetworkCacheDecoder::bufferIsLargeEnoughToContain):
* NetworkProcess/cache/NetworkCacheEncoder.cpp:
(WebKit::NetworkCacheEncoder::grow):
(WebKit::NetworkCacheEncoder::encodeFixedLengthData):
(WebKit::NetworkCacheEncoder::encodeNumber):
(WebKit::roundUpToAlignment): Deleted.
* NetworkProcess/cache/NetworkCacheEncoder.h:

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

5 years agoUnreviewed, rolling out r176396.
commit-queue@webkit.org [Thu, 20 Nov 2014 16:33:41 +0000 (16:33 +0000)]
Unreviewed, rolling out r176396.
https://bugs.webkit.org/show_bug.cgi?id=138926

revealed some WebCore::BidiResolver issue. rollout this for
now. (Requested by zalan on #webkit).

Reverted changeset:

"Simple line layout: Introduce text fragment continuation."
https://bugs.webkit.org/show_bug.cgi?id=138274
http://trac.webkit.org/changeset/176396

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

5 years agoSimple line layout: Introduce text fragment continuation.
zalan@apple.com [Thu, 20 Nov 2014 15:22:02 +0000 (15:22 +0000)]
Simple line layout: Introduce text fragment continuation.
https://bugs.webkit.org/show_bug.cgi?id=138274

Source/WebCore:

This patch extends simple line layout coverage to multiple text renderers.
When a particular render flow has multiple text renderers (but not any other type)
then we use simple line layout to process and paint the content. -other, existing requirements still apply
so that for example if the content requires decoration, we bail out of simple line layout.

FlowContent now supports multiple renderes. It continuously reads content from sibling renderers
so that the simple line layout parser sees it as one monolithic block of content. Run positions
are all relative to the block and they get resolved to renderer's positions on demand.
(painting, computing bounding rects etc)

Reviewed by Antti Koivisto.

Performance test already been added for the multiple rendere use case,
correctness is covered by existing test cases.
Test: fast/text/simple-lines-mutliple-renderers.html

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor): Check if children are all 8bit RenderTexts.
(WebCore::SimpleLineLayout::removeTrailingWhitespace): Move the endofline check right before where we might overflow using end position.
(WebCore::SimpleLineLayout::initializeNewLine):
(WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns):
(WebCore::SimpleLineLayout::splitRunsAtRendererBoundary): Split runs at renderers' boundary to be in sync with inline text renderering.
(WebCore::SimpleLineLayout::createTextRuns):
(WebCore::SimpleLineLayout::create):
* rendering/SimpleLineLayoutFlowContents.cpp:
(WebCore::SimpleLineLayout::FlowContents::FlowContents):
(WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition):
(WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition):
(WebCore::SimpleLineLayout::FlowContents::textWidth): Do not measure text across renderers. It could produce different width value due to
ligature which later can produce unexpected line breaks and out sync renderering in general.
(WebCore::SimpleLineLayout::FlowContents::renderer):
(WebCore::SimpleLineLayout::FlowContents::resolveRendererPositions):
(WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded): Read the next renderer content if needed.
(WebCore::SimpleLineLayout::FlowContents::nextNonWhitespacePosition):
(WebCore::SimpleLineLayout::FlowContents::runWidth):
* rendering/SimpleLineLayoutFlowContents.h:
(WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter):
(WebCore::SimpleLineLayout::FlowContents::isEndOfContent):
* rendering/SimpleLineLayoutResolver.cpp:
(WebCore::SimpleLineLayout::RunResolver::Run::text):

LayoutTests:

Rebaseline for simple line layout's multiple rendere support.

Reviewed by Antti Koivisto.

* fast/text/simple-lines-multiple-renderers-expected.html: Added.
* fast/text/simple-lines-multiple-renderers.html: Added.
* fast/tokenizer/script_extra_close-expected.txt: Multiple tab characters should collapse into a single whitespace. This
needs fixing in complex line layout.
* tables/mozilla/bugs/bug157890-expected.txt: no-op endofline run is added by complex inline layout
when multiple text content is injected through JS into a <pre>. This requires fixing complex line layout.

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