Timeline



Nov 22, 2014:

8:37 PM Changeset in webkit [176508] by gyuyoung.kim@samsung.com
  • 14 edits in trunk/Source/JavaScriptCore

Clean up OwnPtr and PassOwnPtr in some of JS classes
https://bugs.webkit.org/show_bug.cgi?id=138724

Reviewed by Filip Pizlo.

As a step to use std::unique_ptr<> and std::make_unique<>, this patch replaces
OwnPtr with std::unique_ptr<>. Besides create() factory function is removed as well.

  • builtins/BuiltinExecutables.h:

(JSC::BuiltinExecutables::create): Deleted.

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::createRareDataIfNecessary):

  • bytecode/StructureStubInfo.h:
  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedCodeBlock::hasRareData):
(JSC::UnlinkedCodeBlock::createRareDataIfNecessary):

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getGlobalCodeBlock):

  • runtime/CodeCache.h:

(JSC::CodeCache::create): Deleted.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::clearRareData):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::createRareDataIfNeeded):

  • runtime/RegExpConstructor.h:
  • runtime/SmallStrings.cpp:

(JSC::SmallStrings::createSingleCharacterString):
(JSC::SmallStrings::singleCharacterStringRep):

  • runtime/SmallStrings.h:
  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
11:37 AM Changeset in webkit [176507] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

Make locale part of the SimpleLineLayout::FlowContent::Style
https://bugs.webkit.org/show_bug.cgi?id=139004

Reviewed by Zalan Bujtas.

That's the only part of style not extracted out of RenderStyle in the constructor.

  • rendering/SimpleLineLayoutFlowContents.cpp:

(WebCore::SimpleLineLayout::FlowContents::Style::Style):
(WebCore::SimpleLineLayout::FlowContents::FlowContents):
(WebCore::SimpleLineLayout::FlowContents::appendNextRendererContentIfNeeded):

  • rendering/SimpleLineLayoutFlowContents.h:

Also remove RenderBlockFlow member since it is now unused.

(WebCore::SimpleLineLayout::FlowContents::Style::Style): Deleted.

Move to cpp.

11:07 AM Changeset in webkit [176506] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

r176455: ASSERT(!m_vector.isEmpty()) in IntendedStructureChain.cpp(143)
https://bugs.webkit.org/show_bug.cgi?id=139000

Reviewed by Darin Adler.

Check that the chainCount is non-zero before using a StructureChain.

  • bytecode/ComplexGetStatus.cpp:

(JSC::ComplexGetStatus::computeFor):

10:18 AM Changeset in webkit [176505] by jdiggs@igalia.com
  • 12 edits
    6 adds in trunk

AX: [ATK] Accessible names missing for imagemap images and links
https://bugs.webkit.org/show_bug.cgi?id=127288

Source/WebCore:

Reviewed by Chris Fleizach.

Return the alt text, if present, for the accessible name for image maps
and image map links for ATK. Also expose the accessible element with
ATK_ROLE_IMAGE_MAP instead of ATK_ROLE_IMAGE.

Test: accessibility/image-with-alt-and-map.html

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::isImageMap):

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetName):
(atkRole):

LayoutTests:

New and updated tests to reflect the expected role, accessible hierarchy,
and exposure of the alternative text for each platform.

Reviewed by Chris Fleizach.

  • accessibility/image-with-alt-and-map.html: Added.
  • accessibility/roles-exposed.html: Added some more elements to the test.
  • platform/efl/accessibility/image-map1-expected.txt: Added.
  • platform/efl/accessibility/image-map2-expected.txt: Updated to reflect fix.
  • platform/efl/accessibility/image-with-alt-and-map-expected.txt: Added.
  • platform/efl/accessibility/roles-exposed-expected.txt: Updated for added elements.
  • platform/gtk/accessibility/image-map1-expected.txt: Added.
  • platform/gtk/accessibility/image-map2-expected.txt: Updated to reflect fix.
  • platform/gtk/accessibility/image-with-alt-and-map-expected.txt: Added.
  • platform/gtk/accessibility/roles-exposed-expected.txt: Updated for added elements.
  • platform/mac/accessibility/image-with-alt-and-map-expected.txt: Added.
  • platform/mac/accessibility/roles-exposed-expected.txt: Updated for added elements.
  • platform/mac-mavericks/accessibility/roles-exposed-expected.txt: Updated for added elements.
  • platform/mac-mountainlion/accessibility/roles-exposed-expected.txt: Updated for added elements.
2:11 AM Changeset in webkit [176504] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Remove unused Document::ignoreAutofocus().
<https://webkit.org/b/139002>

Reviewed by Antti Koivisto.

No one ever actually changes this flag, so let's remove it.

  • dom/Document.cpp:

(WebCore::Document::Document):

  • dom/Document.h:

(WebCore::Document::ignoreAutofocus): Deleted.
(WebCore::Document::setIgnoreAutofocus): Deleted.

  • html/HTMLFormControlElement.cpp:

(WebCore::shouldAutofocus):

1:44 AM Changeset in webkit [176503] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebCore

URTBF after r176459 to fix GTK build.

  • platform/ScrollAnimatorNone.cpp:

(WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
(WebCore::ScrollAnimatorNone::requestAnimationTimerFired):

  • platform/ScrollAnimatorNone.h:
1:12 AM Changeset in webkit [176502] by akling@apple.com
  • 207 edits in trunk/Source

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.

Nov 21, 2014:

11:50 PM Changeset in webkit [176501] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed iOS build fix; move new symbols out of Mac-only exports.

  • WebCore.exp.in:
10:38 PM Changeset in webkit [176500] by timothy_horton@apple.com
  • 1 edit
    1 delete in trunk/Source/WebCore

Remove a file that r176499 presumably did not mean to add.

  • WebCore.exp.in.orig: Removed.
9:27 PM Changeset in webkit [176499] by jer.noble@apple.com
  • 30 edits
    2 copies
    4 adds in trunk/Source

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.

8:25 PM Changeset in webkit [176498] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

Unreviewed. Fixed syntax errors.

  • init-database.sql:
  • public/api/commits.php:
7:42 PM Changeset in webkit [176497] by rniwa@webkit.org
  • 5 edits in trunk/Websites/perf.webkit.org

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.

7:29 PM Changeset in webkit [176496] by Chris Dumez
  • 10 edits
    1 move
    1 add in trunk

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:
7:27 PM Changeset in webkit [176495] by gyuyoung.kim@samsung.com
  • 28 edits in trunk/Source

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:
6:06 PM Changeset in webkit [176494] by benjamin@webkit.org
  • 20 edits in trunk/Source

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.

6:06 PM Changeset in webkit [176493] by rniwa@webkit.org
  • 10 edits in trunk/Websites/perf.webkit.org

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.

5:43 PM Changeset in webkit [176492] by Chris Dumez
  • 4 edits in trunk/Source

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:
5:26 PM Changeset in webkit [176491] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

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:
5:22 PM Changeset in webkit [176490] by Chris Dumez
  • 4 edits
    3 adds in trunk

[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.
5:09 PM Changeset in webkit [176489] by Chris Dumez
  • 2 edits in trunk/Source/WebKit2

Unreviewed, iOS build fix after r176452.

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

  • Shared/ios/QuickLookDocumentData.cpp:

(WebKit::QuickLookDocumentData::decode):

4:59 PM Changeset in webkit [176488] by Alan Bujtas
  • 14 edits in trunk

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]):

4:55 PM Changeset in webkit [176487] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebKit2

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.

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

Fix the build.

  • UIProcess/API/mac/WKView.mm:

(-[WKView mouseDown:]):

4:19 PM Changeset in webkit [176485] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

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:]):

4:11 PM Changeset in webkit [176484] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

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):

4:07 PM Changeset in webkit [176483] by Conrad Shultz
  • 2 edits in trunk/Source/WebKit2

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.

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

[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):

4:02 PM Changeset in webkit [176481] by Chris Fleizach
  • 6 edits
    2 adds in trunk

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.
3:53 PM Changeset in webkit [176480] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

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.

3:41 PM Changeset in webkit [176479] by msaboff@apple.com
  • 23 edits
    2 adds in trunk

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.
3:39 PM Changeset in webkit [176478] by akling@apple.com
  • 27 edits in trunk/Source/WebCore

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:
3:38 PM Changeset in webkit [176477] by timothy_horton@apple.com
  • 6 edits in trunk/Source

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.

3:29 PM Changeset in webkit [176476] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[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):

3:24 PM Changeset in webkit [176475] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[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):

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

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.

2:33 PM Changeset in webkit [176473] by mmaxfield@apple.com
  • 13 edits in trunk

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.
1:34 PM Changeset in webkit [176472] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

More build fixes.

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::MediaStream):

1:22 PM Changeset in webkit [176471] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[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.

1:08 PM Changeset in webkit [176470] by Alan Bujtas
  • 3 edits
    2 adds in trunk

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.
1:01 PM Changeset in webkit [176469] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit

Add a new symbol.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
12:57 PM Changeset in webkit [176468] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit

Remove a symbol that's gone.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
12:51 PM Changeset in webkit [176467] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/win

Another Windows build fix.

  • FullscreenVideoController.cpp:

(FullscreenVideoController::FullscreenVideoController):

12:44 PM Changeset in webkit [176466] by andersca@apple.com
  • 5 edits in trunk/Source/WebCore

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:
12:42 PM Changeset in webkit [176465] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

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):

12:37 PM Changeset in webkit [176464] by andersca@apple.com
  • 9 edits in trunk/Source/WebCore

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:
12:28 PM Changeset in webkit [176463] by timothy_horton@apple.com
  • 6 edits in trunk/Source

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.

12:18 PM Changeset in webkit [176462] by timothy_horton@apple.com
  • 33 edits
    4 adds
    4 deletes in trunk/Source

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.

12:13 PM Changeset in webkit [176461] by andersca@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Remove a duplicate ChangeLog entry.

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

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.

12:10 PM Changeset in webkit [176459] by andersca@apple.com
  • 242 edits in trunk/Source

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):

11:48 AM Changeset in webkit [176458] by Chris Dumez
  • 3 edits
    2 adds in trunk

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.
11:46 AM Changeset in webkit [176457] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit2

Fix iOS build.

  • Shared/ios/QuickLookDocumentData.cpp:

(WebKit::QuickLookDocumentData::encode):

11:32 AM Changeset in webkit [176456] by roger_fong@apple.com
  • 5 edits
    1 add in trunk/LayoutTests

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:
11:01 AM Changeset in webkit [176455] by Chris Dumez
  • 3 edits
    3 adds in trunk

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
11:00 AM Changeset in webkit [176454] by Chris Dumez
  • 3 edits
    2 adds in trunk

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.
10:43 AM Changeset in webkit [176453] by commit-queue@webkit.org
  • 10 edits
    2 adds in trunk

[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
9:40 AM Changeset in webkit [176452] by Antti Koivisto
  • 11 edits in trunk/Source/WebKit2

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):

9:05 AM Changeset in webkit [176451] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

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:
9:04 AM Changeset in webkit [176450] by andersca@apple.com
  • 28 edits in trunk/Source

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):

8:44 AM Changeset in webkit [176449] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

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.

8:40 AM Changeset in webkit [176448] by dbates@webkit.org
  • 16 edits
    1 move in trunk/Source

[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.

7:55 AM Changeset in webkit [176447] by Chris Fleizach
  • 4 edits
    2 adds in trunk

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.
7:26 AM Changeset in webkit [176446] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Disable verifyHeap
https://bugs.webkit.org/show_bug.cgi?id=138962

Reviewed by Mark Lam.

  • runtime/Options.h:

Nov 20, 2014:

11:56 PM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
11:23 PM Changeset in webkit [176445] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.10.1/Source/WebKit2

Merged r176441. rdar://problem/19054967

11:07 PM Changeset in webkit [176444] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.6.4

WebKitGTK+ 2.6.4

11:06 PM Changeset in webkit [176443] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6

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

.:

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

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.6.4.
11:06 PM Changeset in webkit [176442] by Csaba Osztrogonác
  • 2 edits in trunk

[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:
10:59 PM Changeset in webkit [176441] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

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.

10:58 PM Changeset in webkit [176440] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.10.1/Source

Versioning.

10:55 PM Changeset in webkit [176439] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.10.1

New tag.

10:26 PM Changeset in webkit [176438] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] The option value of fixed layout is false in MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=138830

Patch by Hunseop Jeong <Hunseop Jeong> on 2014-11-20
Reviewed by Gyuyoung Kim.

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

  • MiniBrowser/efl/main.c:
8:49 PM Changeset in webkit [176437] by benjamin@webkit.org
  • 17 edits in trunk/Source

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):

8:31 PM Changeset in webkit [176436] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

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.

8:30 PM Changeset in webkit [176435] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

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.

8:26 PM Changeset in webkit [176434] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

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:
7:47 PM Changeset in webkit [176433] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

[iOS] Skip some tests that fail with stderr

  • platform/ios-simulator/TestExpectations:
7:17 PM Changeset in webkit [176432] by Alan Bujtas
  • 3 edits
    2 adds in trunk

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.
6:27 PM Changeset in webkit [176431] by ggaren@apple.com
  • 9 edits
    2 deletes in trunk/Source/WebCore

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.
6:10 PM Changeset in webkit [176430] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

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]):

5:52 PM Changeset in webkit [176429] by Beth Dakin
  • 3 edits in trunk/Source/WebKit2

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.

4:57 PM Changeset in webkit [176428] by Conrad Shultz
  • 2 edits in trunk/Source/WebKit2

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.

4:36 PM Changeset in webkit [176427] by Conrad Shultz
  • 4 edits in trunk/Source/WebKit2

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:].

4:28 PM Changeset in webkit [176426] by dburkart@apple.com
  • 1 copy in tags/Safari-600.3.8

Tagging.

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

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.
3:28 PM Changeset in webkit [176424] by mark.lam@apple.com
  • 8 edits
    2 adds in trunk/Source/JavaScriptCore

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.

(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:
3:26 PM Changeset in webkit [176423] by dino@apple.com
  • 32 edits
    7 adds in trunk

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:
3:25 PM Changeset in webkit [176422] by rniwa@webkit.org
  • 11 edits in trunk/Websites/perf.webkit.org

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.

3:04 PM Changeset in webkit [176421] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

URTBF after r176420 to fix non Apple builds.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::shouldPlugInAutoStartFromOrigin):

2:56 PM Changeset in webkit [176420] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

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:
2:33 PM Changeset in webkit [176419] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

[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:
2:26 PM Changeset in webkit [176418] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

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):

2:23 PM Changeset in webkit [176417] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

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:
2:17 PM Changeset in webkit [176416] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Skip flaky inspector-protocol/debugger tests.
webkit.org/b/100846, webkit.org/b/136715

  • platform/mac/TestExpectations:
2:16 PM Changeset in webkit [176415] by timothy_horton@apple.com
  • 4 edits in trunk/Source

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.

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

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.

2:10 PM Changeset in webkit [176413] by ap@apple.com
  • 262 edits
    1 move
    2 adds in trunk/LayoutTests

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:
2:03 PM Changeset in webkit [176412] by Beth Dakin
  • 8 edits in trunk/Source

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):

1:50 PM Changeset in webkit [176411] by dbates@webkit.org
  • 6 edits in trunk/Source/WebKit2

[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):

1:45 PM Changeset in webkit [176410] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebCore

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):

1:43 PM Changeset in webkit [176409] by dbates@webkit.org
  • 2 edits
    6 adds in trunk/LayoutTests

[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.
12:01 PM Changeset in webkit [176408] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

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:
11:56 AM Changeset in webkit [176407] by bshafiei@apple.com
  • 3 edits
    3 copies in tags/Safari-601.1.10

Merged r176402. rdar://problem/19040156

11:12 AM Changeset in webkit [176406] by eric.carlson@apple.com
  • 3 edits in trunk/LayoutTests

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:
11:06 AM Changeset in webkit [176405] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

[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:
10:50 AM Changeset in webkit [176404] by Yusuke Suzuki
  • 5 edits
    3 moves in trunk

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.
10:50 AM Changeset in webkit [176403] by adachan@apple.com
  • 4 edits in trunk/Source/WebCore

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.

10:44 AM Changeset in webkit [176402] by Chris Dumez
  • 3 edits
    3 adds in trunk

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.
10:11 AM Changeset in webkit [176401] by Alan Bujtas
  • 9 edits
    2 adds in trunk

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.

9:43 AM Changeset in webkit [176400] by Antti Koivisto
  • 3 edits in trunk/Source/WebKit2

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:
9:42 AM Changeset in webkit [176399] by mark.lam@apple.com
  • 4 edits
    3 adds in trunk

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):

9:32 AM Changeset in webkit [176398] by Antti Koivisto
  • 5 edits in trunk/Source/WebKit2

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:
8:33 AM Changeset in webkit [176397] by commit-queue@webkit.org
  • 8 edits
    2 deletes in trunk

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

7:22 AM Changeset in webkit [176396] by Alan Bujtas
  • 8 edits
    2 adds in trunk

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.

7:20 AM Changeset in webkit [176395] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo] Compile error when GStreamer is enabled.
https://bugs.webkit.org/show_bug.cgi?id=138925

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-11-20
Reviewed by Philippe Normand.

A guard is missing for an overridden method.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
5:12 AM Changeset in webkit [176394] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Tools

Merge r176198 - [GTK] Add library search paths from LDFLAGS before pkg-config --libs
https://bugs.webkit.org/show_bug.cgi?id=136018

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2014-11-17
Reviewed by Carlos Garcia Campos.

It is possible that the order of -L arguments in the output of
pkg-config is wrong, which causes the linker to find the wrong
version (usually older version) of libraries when running
gtkdoc-scangobj.

  • gtk/gtkdoc.py:

(GTKDoc._run_gtkdoc_scangobj):

4:46 AM Changeset in webkit [176393] by commit-queue@webkit.org
  • 8 edits in trunk

[GTK] Provide convenience API in DOM bindings to post messages to user message handlers
https://bugs.webkit.org/show_bug.cgi?id=138871

Patch by Adrian Perez de Castro <Adrian Perez de Castro> on 2014-11-20
Reviewed by Carlos Garcia Campos.

Source/WebCore:

Adds a convenience function in the WebKitGTK+ DOM bindings to post
messages to user message handlers in a way convenient way more
convenient than using the autogenerated bindings.

  • bindings/gobject/WebKitDOMCustom.cpp:

(webkit_dom_dom_window_webkit_message_handlers_post_message):
Added new convenience API function to post messages to user message
handlers.

  • bindings/gobject/WebKitDOMCustom.h: Ditto.
  • bindings/gobject/WebKitDOMCustom.symbols: Ditto.

Tools:

Add a test case for the convenience API for posting user messages
added to the DOM bindings.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp:

(testUserContentManagerMessageFromConvenienceDOMBindings):
(beforeAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:

(documentLoadedCallback):

3:01 AM Changeset in webkit [176392] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r175451 - REGRESSION(r163656): Remote inspector doesn't work unless preferences change after page initialization
https://bugs.webkit.org/show_bug.cgi?id=138246

Reviewed by Joseph Pecoraro.

The problem is that initializeWebPage() is still using
pageGroup().preferences() instead of m_preferences to check if
developer extras are enabled to enable remote inspection of the page.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::initializeWebPage): Use m_preferences
instead of pageGroup().preferences().

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

Merge r175450 - REGRESSION(CMake): Make it possible to build without introspection
https://bugs.webkit.org/show_bug.cgi?id=138006

Reviewed by Philippe Normand.

.:

Add ENABLE_INTROSPECTION option.

  • Source/PlatformGTK.cmake: Dot not add gir global target if

introspection is disabled.

  • Source/cmake/OptionsGTK.cmake: Do not add gir individual targets if

introspection is disabled.

Source/JavaScriptCore:

Do not install introspection files when introspection is disabled.

  • PlatformGTK.cmake:

Source/WebKit2:

Do not install introspection files when introspection is disabled.

  • PlatformGTK.cmake:
1:49 AM Changeset in webkit [176390] by svillar@igalia.com
  • 9 edits in trunk/Source/WebCore

[CSS Grid Layout] Replace the usage of size_t by unsigned
https://bugs.webkit.org/show_bug.cgi?id=136218

Reviewed by Benjamin Poulain.

In general, size_t should be used for sizes of objects in
memory. We're using it to represent indexes and spans in the
grid. Now that the maximum number of tracks is 1 million, it
should be safe to replace them by unsigned integers.

No new tests as there is no change in functionality.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGridTrackRepeatFunction):

  • css/StyleResolver.cpp:

(WebCore::createImplicitNamedGridLinesFromGridArea):
(WebCore::createGridTrackList):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::GridIterator::GridIterator):
(WebCore::RenderGrid::GridIterator::nextGridItem):
(WebCore::RenderGrid::GridIterator::isEmptyAreaEnough):
(WebCore::RenderGrid::GridIterator::nextEmptyGridArea):
(WebCore::RenderGrid::GridSizingData::GridSizingData):
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::RenderGrid::gridTrackSize):
(WebCore::RenderGrid::distributeSpaceToTracks):
(WebCore::RenderGrid::tracksAreWiderThanMinTrackBreadth):
(WebCore::RenderGrid::ensureGridSize):
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
(WebCore::RenderGrid::createEmptyGridAreaAtSpecifiedPositionsOutsideGrid):
(WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
(WebCore::RenderGrid::populateGridPositions):

  • rendering/RenderGrid.h:
  • rendering/style/GridCoordinate.h:

(WebCore::GridSpan::integerSpan):

  • rendering/style/GridResolvedPosition.cpp:

(WebCore::GridResolvedPosition::explicitGridColumnCount):
(WebCore::GridResolvedPosition::explicitGridRowCount):
(WebCore::explicitGridSizeForSide):
(WebCore::GridResolvedPosition::resolveNamedGridLinePositionFromStyle):
(WebCore::GridResolvedPosition::resolveGridPositionFromStyle):
(WebCore::GridResolvedPosition::resolveGridPositionAgainstOppositePosition):
(WebCore::firstNamedGridLineBeforePosition):
(WebCore::GridResolvedPosition::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition):
(WebCore::GridResolvedPosition::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition):

  • rendering/style/GridResolvedPosition.h:

(WebCore::GridResolvedPosition::adjustGridPositionForRowEndColumnEndSide):
(WebCore::GridResolvedPosition::adjustGridPositionForSide):
(WebCore::GridResolvedPosition::GridResolvedPosition):
(WebCore::GridResolvedPosition::toInt):

  • rendering/style/StyleGridData.h:
1:04 AM Changeset in webkit [176389] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176254 - AX: [ATK] Crash getting the orientation of a MenuListOption after the MenuList was removed from the document
https://bugs.webkit.org/show_bug.cgi?id=138727

Reviewed by Chris Fleizach.

Source/WebCore:

AccessibilityMenuListOption::elementRect() returns the value of the
grandparent MenuList, asserting that the grandparent exists with that
role. But it is possible to have an existing MenuListOption and remove
the element which had been backing that MenuList from the document.
Adding null checks prior to the assertions prevents our crashing if the
parent or grandparent was removed.

Test: platform/gtk/accessibility/combobox-descendants-orientation-crash.html

  • accessibility/AccessibilityMenuListOption.cpp:

(WebCore::AccessibilityMenuListOption::elementRect):

LayoutTests:

  • platform/gtk/accessibility/combobox-descendants-orientation-crash-expected.txt: Added.
  • platform/gtk/accessibility/combobox-descendants-orientation-crash.html: Added.
12:43 AM Changeset in webkit [176388] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Remove "document has no sibling rules" optimization.
<https://webkit.org/b/138902>

Reviewed by Antti Koivisto.

We were keeping a document-level flag to track whether there are any
sibling rules in any active style sheets.

This information was used to do.. nothing.

  • css/StyleResolver.h:

(WebCore::StyleResolver::usesSiblingRules): Deleted.

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::combineCSSFeatureFlags):
(WebCore::DocumentStyleSheetCollection::resetCSSFeatureFlags):

  • dom/DocumentStyleSheetCollection.h:

(WebCore::DocumentStyleSheetCollection::usesSiblingRules): Deleted.
(WebCore::DocumentStyleSheetCollection::setUsesSiblingRulesOverride): Deleted.

  • mathml/MathMLMathElement.cpp:

(WebCore::MathMLMathElement::insertedInto): Deleted.

  • mathml/MathMLMathElement.h:
12:36 AM Changeset in webkit [176387] by akling@apple.com
  • 7 edits in trunk/Source/WebCore

Caret renderer is always a RenderBlock.
<https://webkit.org/b/138912>

Reviewed by Chris Dumez.

Tighten typing in the code that finds and deals with the renderer
used to paint the caret (it's always a RenderBlock.)

  • editing/FrameSelection.cpp:

(WebCore::CaretBase::updateCaretRect):
(WebCore::FrameSelection::caretRendererWithoutUpdatingLayout):
(WebCore::DragCaretController::caretRenderer):
(WebCore::repaintCaretForLocalRect):
(WebCore::CaretBase::paintCaret):

  • editing/FrameSelection.h:
  • editing/VisiblePosition.cpp:

(WebCore::VisiblePosition::absoluteCaretBounds):

  • editing/htmlediting.cpp:

(WebCore::rendererForCaretPainting):
(WebCore::localCaretRectInRendererForCaretPainting):
(WebCore::absoluteBoundsForLocalCaretRect):

  • editing/htmlediting.h:
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paintCaret):

12:33 AM Changeset in webkit [176386] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r176316 - [GTK] Error in documentation of webkit_print_operation_get_page_setup()
https://bugs.webkit.org/show_bug.cgi?id=138868

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-11-19
Reviewed by Carlos Garcia Campos.

Fix copypaste error in documentation of
webkit_print_operation_get_page_setup().

  • UIProcess/API/gtk/WebKitPrintOperation.cpp:
12:29 AM Changeset in webkit [176385] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebKit2

[GTK] URTBF after r176363.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::setTextIndicator):

  • UIProcess/API/gtk/PageClientImpl.h:
12:23 AM Changeset in webkit [176384] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

REGRESSION (r172854): Web Viewer in FileMaker does not render a Base64 encoded animated-GIF
https://bugs.webkit.org/show_bug.cgi?id=138807
<rdar://problem/18829540>

Reviewed by Simon Fraser.

Animation gets paused because WebKit thinks the GIF is outside of the view.

  • page/FrameView.cpp:

(WebCore::FrameView::windowClipRect):

We need to convert to window coordinates in paintsEntireContents mode too so these functions are consistent.
This matters with some WK1 API clients.

Nov 19, 2014:

11:42 PM Changeset in webkit [176383] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move 'clip' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138909

Reviewed by Andreas Kling.

Move 'clip' CSS property from DeprecatedStyleBuilder to the new
StyleBuilder by using custom code.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyClip::convertToLength): Deleted.
(WebCore::ApplyPropertyClip::applyInheritValue): Deleted.
(WebCore::ApplyPropertyClip::applyInitialValue): Deleted.
(WebCore::ApplyPropertyClip::applyValue): Deleted.
(WebCore::ApplyPropertyClip::createHandler): Deleted.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderFunctions::applyInitialClip):
(WebCore::StyleBuilderFunctions::applyInheritClip):
(WebCore::StyleBuilderFunctions::applyValueClip):

9:45 PM Changeset in webkit [176382] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

Don't track sub-resources that are started after main frame progress has completed.
https://bugs.webkit.org/show_bug.cgi?id=138582

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2014-11-19
Reviewed by Sam Weinig.

After main frame progress has finished, starting loading a sub-resource shouldn't affect
UI process's view of page loading status (i.e., the page has already completed loading
and the progress shouldn't change). To achive that, don't track the subresources that
are started after the main frame has finished, except for those triggered by user interaction.

  • WebProcess/WebCoreSupport/WebProgressTrackerClient.cpp: Notify WebPage that the main frame progress

has started or finished.

(WebKit::WebProgressTrackerClient::progressStarted):
(WebKit::WebProgressTrackerClient::progressFinished):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::addResourceRequest): Don't track the resource request if it is initiated after

the main frame is loaded and it is not triggered by user interaction.

(WebKit::WebPage::removeResourceRequest):

  • WebProcess/WebPage/WebPage.h: Rename m_networkResourceRequestIdentifiers to m_trackedNetworkResourceRequestIdentifiers.

(WebKit::WebPage::setMainFrameProgressCompleted):

9:35 PM Changeset in webkit [176381] by ryuan.choi@navercorp.com
  • 3 edits in trunk/Source/WebCore

Remove dead code from TiledBackingStore
https://bugs.webkit.org/show_bug.cgi?id=138864

Reviewed by Andreas Kling.

Since r168151, paint() method, m_commitTileUpdatesOnIdleEventLoop and related code are not used.

No new tests, no behavior change.

  • platform/graphics/TiledBackingStore.cpp:

(WebCore::TiledBackingStore::TiledBackingStore):
(WebCore::TiledBackingStore::setTileSize):
(WebCore::TiledBackingStore::invalidate):
(WebCore::TiledBackingStore::createTiles):
(WebCore::TiledBackingStore::paint): Deleted.
(WebCore::TiledBackingStore::startTileBufferUpdateTimer): Deleted.
(WebCore::TiledBackingStore::tileBufferUpdateTimerFired): Deleted.
(WebCore::TiledBackingStore::startBackingStoreUpdateTimer): Deleted.
(WebCore::TiledBackingStore::backingStoreUpdateTimerFired): Deleted.

  • platform/graphics/TiledBackingStore.h:

(WebCore::TiledBackingStore::setCommitTileUpdatesOnIdleEventLoop): Deleted.

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

Merge r176374. rdar://problem/18840128

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

Merge r176374. rdar://problem/18840128

8:28 PM Changeset in webkit [176378] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Fix typos in r176203.

  • public/v2/app.js:

(App.ChartsController.actions.addPaneByMetricAndPlatform):
(App.AnalysisTaskRoute):

8:27 PM Changeset in webkit [176377] by dburkart@apple.com
  • 24 edits
    1 copy in branches/safari-600.3-branch/Source

Merge r176363. rdar://problem/18840128

6:19 PM Changeset in webkit [176376] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: LayoutTests/inspector should not have localStorage side effects
https://bugs.webkit.org/show_bug.cgi?id=138895

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-19
Reviewed by Brian Burg.

When running inspector tests, do not restore/save WebInspector.Settings
to localStorage, as that will cause side effects. Instead each Setting
will be initialized with its default value and can be modified during
the run of the test.

  • UserInterface/Base/Test.js:

(WebInspector.loaded):
Name the setting to match the normal setting name now that persistence
is not an issue.

  • UserInterface/Models/Setting.js:

(WebInspector.Setting.prototype.get value):
(WebInspector.Setting.prototype.set value):
Do not restore/save when in tests.

6:03 PM Changeset in webkit [176375] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebKit2

[EFL] Fix build failure since r176363.
https://bugs.webkit.org/show_bug.cgi?id=138903

Patch by Sun-woo Nam <sunny.nam@samsung.com> on 2014-11-19
Reviewed by Gyuyoung Kim.

The parameter for animation on setTextIndicator() was removed on 'PageClient' class.

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::setTextIndicator):

  • UIProcess/CoordinatedGraphics/WebView.h:
5:55 PM Changeset in webkit [176374] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the iOS build

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::performDictionaryLookupForSelection):
(WebKit::WebPage::performDictionaryLookupForRange):

5:36 PM Changeset in webkit [176373] by akling@apple.com
  • 9 edits in trunk/Source/WebCore

Remove "document has no ::before and/or ::after rules" optimization.
<https://webkit.org/b/138897>

Reviewed by Antti Koivisto.

This optimization has been dead for a long time, since the default UA
style contains both ::before and ::after rules.

  • css/RuleFeature.cpp:

(WebCore::recursivelyCollectFeaturesFromSelector):
(WebCore::RuleFeatureSet::add):
(WebCore::RuleFeatureSet::clear):

  • css/RuleFeature.h:

(WebCore::RuleFeatureSet::RuleFeatureSet):

  • css/StyleResolver.h:

(WebCore::StyleResolver::usesBeforeAfterRules): Deleted.

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::combineCSSFeatureFlags):
(WebCore::DocumentStyleSheetCollection::resetCSSFeatureFlags):

  • dom/DocumentStyleSheetCollection.h:

(WebCore::DocumentStyleSheetCollection::usesBeforeAfterRules): Deleted.
(WebCore::DocumentStyleSheetCollection::setUsesBeforeAfterRulesOverride): Deleted.

  • html/HTMLQuoteElement.cpp:

(WebCore::HTMLQuoteElement::insertedInto): Deleted.

  • html/HTMLQuoteElement.h:
  • style/StyleResolveTree.cpp:

(WebCore::Style::needsPseudoElement):

5:35 PM Changeset in webkit [176372] by mmaxfield@apple.com
  • 4 edits
    3 adds in trunk

[OS X] Upright vertical text is completely broken for multi-code-unit codepoints
https://bugs.webkit.org/show_bug.cgi?id=138891

Reviewed by Dan Bernstein.

Source/WebCore:

We were assuming that we can use the string index (in UTF-16) as the glyph
index. This falls down when a single codepoint (and glyph) contians
multiple code units.

Test: platform/mac/fast/text/multiple-codeunit-vertical-upright.html

  • platform/graphics/GlyphPage.h:
  • platform/graphics/mac/GlyphPageTreeNodeMac.cpp:

(WebCore::GlyphPage::fill):

LayoutTests:

Make sure a single upright vertical multi-code-unit codepoint is rendered the same as
the same codepoint rendered horizontally.

  • platform/mac/fast/text/multiple-codeunit-vertical-upright-expected.html: Added.
  • platform/mac/fast/text/multiple-codeunit-vertical-upright.html: Added.
  • platform/mac/fast/text/resources/multiple-codeunit-vertical-upright.otf: Added.
5:23 PM Changeset in webkit [176371] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Attempt to fix the Apple Internal Mavericks build after <https://trac.webkit.org/changeset/176347>
(https://bugs.webkit.org/show_bug.cgi?id=136863)

Define enumerator NSHTTPCookieAcceptPolicyExclusivelyFromMainDocumentDomain when building without
the Apple Internal SDK or with the Apple Internal SDK on OS X Mavericks or earlier.

  • platform/spi/cf/CFNetworkSPI.h:
5:16 PM Changeset in webkit [176370] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the 32-bit build

  • UIProcess/mac/TextIndicatorWindow.mm:

(WebKit::TextIndicatorWindow::setTextIndicator):

5:02 PM Changeset in webkit [176369] by weinig@apple.com
  • 7 edits
    1 copy
    1 add in trunk

Move the 'quotes' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138788

Reviewed by Chris Dumez.

Source/WebCore:

Test: fast/css/content/content-quotes-07.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
Fix the parser to only accept none as a valid primitive identifier. Tested in
the newly added content-quotes-07.html.

  • css/CSSPropertyNames.in:
  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertQuotes):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
Move "quotes" to the new style builder.

  • rendering/style/RenderStyle.h:

Add an initialQuotes() function for use in the auto-generated style builder.

LayoutTests:

Add a test for the behavior of non-valid primitive identifiers being
used with the quotes property.

  • fast/css/content/content-quotes-07-expected.txt: Added.
  • fast/css/content/content-quotes-07.html: Added.
4:59 PM Changeset in webkit [176368] by dino@apple.com
  • 4 edits
    4 adds in trunk

Handle unprefixed @keyframes rule
https://bugs.webkit.org/show_bug.cgi?id=138899
<rdar://problem/18943117>

Reviewed by Simon Fraser.

Source/WebCore:

Support the parsing of unprefixed @keyframes. In
CSSParser, assign the same token identifier to
the prefixed and unprefixed forms. This will
keep compatibility with older content. If a page
has both forms, then whatever comes last will
win (as it does if you had duplicate names of the same
form).

Tests: animations/unprefixed-keyframes-rule.html

animations/unprefixed-keyframes.html

  • css/CSSGrammar.y.in: Rename the WEBKIT_KEYFRAME_RULE_SYM symbol to

be KEYFRAME_RULE_SYM. Same with KEYFRAMES_SYM.

  • css/CSSParser.cpp:

(WebCore::CSSParser::detectAtToken): Look for the @keyframes style
strings and assign the new token values.

LayoutTests:

Tests for @keyframes, both the OM side and the parsing.

  • animations/unprefixed-keyframes-expected.txt: Added.
  • animations/unprefixed-keyframes-rule-expected.txt: Added.
  • animations/unprefixed-keyframes-rule.html: Added.
  • animations/unprefixed-keyframes.html: Added.
4:34 PM Changeset in webkit [176367] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merge r176356. rdar://problem/18996776

4:28 PM Changeset in webkit [176366] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merge r176351. rdar://problem/18971616

4:17 PM Changeset in webkit [176365] by akling@apple.com
  • 9 edits in trunk/Source/WebCore

Move pseudo-style code from RenderObject to RenderElement.
<https://webkit.org/b/138880>

Reviewed by Antti Koivisto.

Migrate get*PseudoStyle() to RenderElement, and the selection color
functions along with them. This gets rid of a DOM ancestor walk in
pseudo style lookup.

Narrow down some argument types to keep things building.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::logicalLeftSelectionGap):
(WebCore::RenderBlock::logicalRightSelectionGap):
(WebCore::styleForFirstLetter):
(WebCore::RenderBlock::updateFirstLetterStyle):
(WebCore::RenderBlock::createFirstLetterRenderer):

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

(WebCore::RenderElement::getCachedPseudoStyle):
(WebCore::RenderElement::getUncachedPseudoStyle):
(WebCore::RenderElement::selectionColor):
(WebCore::RenderElement::selectionPseudoStyle):
(WebCore::RenderElement::selectionForegroundColor):
(WebCore::RenderElement::selectionEmphasisMarkColor):
(WebCore::RenderElement::selectionBackgroundColor):

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

(WebCore::RenderObject::selectionBackgroundColor): Deleted.
(WebCore::RenderObject::selectionColor): Deleted.
(WebCore::RenderObject::selectionPseudoStyle): Deleted.
(WebCore::RenderObject::selectionForegroundColor): Deleted.
(WebCore::RenderObject::selectionEmphasisMarkColor): Deleted.
(WebCore::RenderObject::getCachedPseudoStyle): Deleted.
(WebCore::RenderObject::getUncachedPseudoStyle): Deleted.

  • rendering/RenderObject.h:
  • rendering/RenderText.h:

(WebCore::RenderText::getCachedPseudoStyle):
(WebCore::RenderText::selectionBackgroundColor):
(WebCore::RenderText::selectionForegroundColor):
(WebCore::RenderText::selectionEmphasisMarkColor):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paintSelectionBackground):
(WebCore::SVGInlineTextBox::paint):

4:14 PM Changeset in webkit [176364] by bshafiei@apple.com
  • 9 edits in tags/Safari-601.1.10/Source/WebKit2

Merged r176337. rdar://problem/18964359

4:10 PM Changeset in webkit [176363] by timothy_horton@apple.com
  • 23 edits in trunk/Source

Add an optional entry transition (from selection highlight) to TextIndicator
https://bugs.webkit.org/show_bug.cgi?id=138856
<rdar://problem/18840128>

Reviewed by Anders Carlsson.

  • Shared/TextIndicator.cpp:

(WebKit::outsetIndicatorRectIncludingShadow):
(WebKit::TextIndicator::createWithRange):
(WebKit::snapshotSelectionWithHighlight):
(WebKit::TextIndicator::createWithSelectionInFrame):
(WebKit::TextIndicator::frameRect):
(WebKit::TextIndicator::Data::encode):
(WebKit::TextIndicator::Data::decode):
Remove TextIndicator::draw and related functions; drawing is handled entirely
by the TextIndicatorWindow now, and TextIndicator just stores the required data.

Unify outsetIndicatorRectIncludingShadow.

Add an argument to createWithRange/createWithSelectionInFrame to indicate
if the TextIndicator should transition from the selection highlight to
the yellow bubble.

If we're doing the transition, paint the selection into a second bitmap,
without forcing the text to black and without hiding the blue highlight.

Encode/decode the second bitmap.

  • Shared/TextIndicator.h:
  • UIProcess/mac/TextIndicatorWindow.h:
  • UIProcess/mac/TextIndicatorWindow.mm:

(-[WKTextIndicatorView initWithFrame:textIndicator:margin:transitionFromSelectionColor:]):
(-[WKTextIndicatorView presentWithCompletionHandler:]):
(-[WKTextIndicatorView hideWithCompletionHandler:]):
(-[WKTextIndicatorView isFlipped]):
(WebKit::TextIndicatorWindow::TextIndicatorWindow):
(WebKit::TextIndicatorWindow::setTextIndicator):
(WebKit::TextIndicatorWindow::closeWindow):
(WebKit::TextIndicatorWindow::startFadeOutTimerFired):
Re-implement the bounce animation using CoreAnimation instead of
the WKSI-based WKWindowBounceAnimation*.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performDictionaryLookupForSelection):
(WebKit::WebPage::performDictionaryLookupOfCurrentSelection):
(WebKit::WebPage::performDictionaryLookupForRange):
(WebKit::WebPage::performActionMenuHitTestAtLocation):

  • WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:

Use the aforementioned transition animation for performDictionaryLookupOfCurrentSelection,
the context menu lookup item, and for Data Detectors.

  • WebCore.exp.in:

Add an export.

  • platform/spi/cocoa/QuartzCoreSPI.h:

Add some SPI.

4:02 PM Changeset in webkit [176362] by andersca@apple.com
  • 5 edits
    1 add in trunk/Source/WebKit2

Add a version of API::Data::createWithoutCopying that takes an NSData
https://bugs.webkit.org/show_bug.cgi?id=138893

Reviewed by Dan Bernstein.

  • Shared/APIData.h:
  • Shared/Cocoa/APIDataCocoa.mm: Added.

(API::Data::createWithoutCopying):

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(-[WKBrowsingContextController loadData:MIMEType:textEncodingName:baseURL:userData:]):
(releaseNSData): Deleted.

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]):

3:58 PM Changeset in webkit [176361] by dburkart@apple.com
  • 2 edits in trunk/Tools

Work around the fact that different masters may have different names for their codebases.
https://bugs.webkit.org/show_bug.cgi?id=138878

Reviewed by Mark Rowe.

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

(parseRevisionProperty): Changed.
Take a "fallback key" in addition to the primary key, so we can deal with inconsistencies in
opensource / internal codebase naming convention.

3:55 PM Changeset in webkit [176360] by bshafiei@apple.com
  • 5 edits in branches/safari-600.2-branch/Source

Versioning.

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

Move 'outline-style' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138882

Reviewed by Sam Weinig.

Move 'outline-style' CSS property from DeprecatedStyleBuilder to the
new StyleBuilder by using custom code.

No new tests, no behavior change.

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

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyDefault::setValue): Deleted.
(WebCore::ApplyPropertyDefault::applyValue): Deleted.
(WebCore::ApplyPropertyDefault::createHandler): Deleted.
(WebCore::ApplyPropertyOutlineStyle::applyInheritValue): Deleted.
(WebCore::ApplyPropertyOutlineStyle::applyInitialValue): Deleted.
(WebCore::ApplyPropertyOutlineStyle::applyValue): Deleted.
(WebCore::ApplyPropertyOutlineStyle::createHandler): Deleted.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderFunctions::applyInheritOutlineStyle):
(WebCore::StyleBuilderFunctions::applyInitialOutlineStyle):
(WebCore::StyleBuilderFunctions::applyValueOutlineStyle):

3:49 PM Changeset in webkit [176358] by Joseph Pecoraro
  • 14 edits
    1 move
    2 adds in trunk

Web Inspector: JSContext inspection Resource search does not work
https://bugs.webkit.org/show_bug.cgi?id=131252

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::InspectorDebuggerAgent::searchInContent):

  • inspector/protocol/Debugger.json:

Do some cleanup of the description and implementation of content searching.

Source/WebCore:

Test: inspector/debugger/search-scripts.html

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::searchInResources):
A little cleanup.

Source/WebInspectorUI:

  • UserInterface/Views/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel.prototype.performSearch.resourceCallback):
(WebInspector.ResourceSidebarPanel.prototype.performSearch.resourcesCallback):
Cleanup by reordering things a bit.

(WebInspector.ResourceSidebarPanel.prototype.performSearch.searchScripts.scriptCallback):
(WebInspector.ResourceSidebarPanel.prototype.performSearch.searchScripts):
(WebInspector.ResourceSidebarPanel.prototype.performSearch):
Search non-resource scripts individually.

(WebInspector.ResourceSidebarPanel.prototype._searchTreeElementForScript):
Lazily create a ScriptTreeElement for the search tree outline as needed.

(WebInspector.ResourceSidebarPanel.prototype._scriptsToSearch):
When searching scripts, just perform a shallow walk of the tree outline to find
Script resources that are not also Resources. Scripts are always guarenteed to
be in a folder when inspecting a web resource. For JSContext inspection, scripts
are promoted to the top level.

  • UserInterface/Main.html:
  • UserInterface/Models/SourceCodeSearchMatchObject.js: Renamed from Source/WebInspectorUI/UserInterface/Models/ResourceSearchMatchObject.js.

(WebInspector.SourceCodeSearchMatchObject):

  • UserInterface/Views/SearchIcons.css:

(.source-code-match-icon .icon):
(.resource-match-icon .icon): Deleted.

  • UserInterface/Views/SearchResultTreeElement.js:

(WebInspector.SearchResultTreeElement):
Rename ResourceSearchMatchObject to SourceCodeSearchMatchObject.

LayoutTests:

  • inspector/debugger/search-scripts-expected.txt: Added.
  • inspector/debugger/search-scripts.html: Added.

Tests for Debugger.searchInContent.

3:49 PM Changeset in webkit [176357] by Joseph Pecoraro
  • 19 edits
    5 adds in trunk

Web Inspector: Provide $exception in the console for the thrown exception value
https://bugs.webkit.org/show_bug.cgi?id=138726

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • debugger/DebuggerScope.cpp:

(JSC::DebuggerScope::caughtValue):

  • debugger/DebuggerScope.h:

Access the caught value if this scope is a catch scope.

  • runtime/JSNameScope.h:

(JSC::JSNameScope::isFunctionNameScope):
(JSC::JSNameScope::isCatchScope):
(JSC::JSNameScope::value):
Provide an accessor for the single value in the JSNameScope (with / catch block).

  • inspector/InjectedScriptSource.js:

Save the exception value and expose it via $exception. Since the command line api
is recreated on each evaluation, $exception is essentially readonly.

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

(Inspector::ScriptDebugServer::dispatchDidPause):
(Inspector::ScriptDebugServer::exceptionOrCaughtValue):
When pausing, get the exception or caught value. The exception will be provided
if we are breaking on an explicit exception. When inside of a catch block, we
can get the caught value by walking up the scope chain.

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

(Inspector::InspectorDebuggerAgent::InspectorDebuggerAgent):
(Inspector::InspectorDebuggerAgent::resume):
(Inspector::InspectorDebuggerAgent::stepOver):
(Inspector::InspectorDebuggerAgent::stepInto):
(Inspector::InspectorDebuggerAgent::stepOut):
Clearing state can be done in didContinue.

(Inspector::InspectorDebuggerAgent::didPause):
Set the exception value explicitly in the injected script when we have it.

(Inspector::InspectorDebuggerAgent::didContinue):
Clear state saved when we had paused, including clearly an exception value if needed.

(Inspector::InspectorDebuggerAgent::clearDebuggerBreakpointState):
(Inspector::InspectorDebuggerAgent::clearExceptionValue):
Call into the injected script only when needed.

  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::setExceptionValue):
(Inspector::InjectedScript::clearExceptionValue):

  • inspector/InjectedScript.h:
  • inspector/InjectedScriptManager.cpp:

(Inspector::InjectedScriptManager::clearExceptionValue):

  • inspector/InjectedScriptManager.h:

Clear on all injected scripts.

Source/WebCore:

Tests: inspector/debugger/command-line-api-exception-nested-catch.html

inspector/debugger/command-line-api-exception.html

  • inspector/CommandLineAPIModuleSource.js:

Expose $exception in the more complete command line API.

Source/WebInspectorUI:

  • UserInterface/Base/Test.js:

(WebInspector.loaded):
In order to use RuntimeManager to execute in the global context or on the
active debugger call frame, we need to expose the quickConsole controller.

  • UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:

Expose $exception to completion when we paused because of an exception.

LayoutTests:

Provide some tests to ensure $exception is the value we expect at different times,
such as on the exception line, when there is no exception, or when stepping through
catch blocks (it should always be the most recent caught exception).

  • inspector/debugger/command-line-api-exception-expected.txt: Added.
  • inspector/debugger/command-line-api-exception-nested-catch-expected.txt: Added.
  • inspector/debugger/command-line-api-exception-nested-catch.html: Added.
  • inspector/debugger/command-line-api-exception.html: Added.
  • inspector/debugger/resources/exceptions.js: Added.

(triggerUncaughtTypeException):
(triggerUncaughtReferenceException):
(triggerUncaughtSyntaxException):
(triggerUncaughtDOMException):
(throwString):
(throwNumber):
(throwNull):
(throwObject):
(throwNode):
(catcher):
(nestedCatchBlocks):

3:48 PM Changeset in webkit [176356] by Beth Dakin
  • 4 edits in trunk/Source

Invoking an action menu on a selection should result in the text menu
https://bugs.webkit.org/show_bug.cgi?id=138892
-and corresponding-
rdar://problem/18996776

Reviewed by Tim Horton.

Source/WebKit/mac:

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItems]):

Source/WebKit2:

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItems]):

3:43 PM Changeset in webkit [176355] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix iOS build.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
3:40 PM Changeset in webkit [176354] by hyatt@apple.com
  • 5 edits
    9 adds in trunk

Images/replaced elements that are as tall as a page should be on their own page
https://bugs.webkit.org/show_bug.cgi?id=138886 - <rdar://problem/18296371>

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/tall-image-behavior.html (and RL/LR variants)

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::computeReplacedAndTextLineTopAndBottom):

  • rendering/InlineFlowBox.h:

Add a new method that computes the line top and line bottom ignoring all margins,
overflow and line-height. This allows us to see if a line that is taller than a page
can be made to fit if we ignored margins and unused descent.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::adjustLinePositionForPagination):
Call the new helper function, computeReplacedAndTextLineTopAndBottom and push
to a new page if we see that we can fit on a page by ourselves without blank space
included.

LayoutTests:

  • fast/multicol/tall-image-behavior-lr.html: Added.
  • fast/multicol/tall-image-behavior-rl.html: Added.
  • fast/multicol/tall-image-behavior.html: Added.
  • platform/mac/fast/multicol/tall-image-behavior-expected.png: Added.
  • platform/mac/fast/multicol/tall-image-behavior-expected.txt: Added.
  • platform/mac/fast/multicol/tall-image-behavior-lr-expected.png: Added.
  • platform/mac/fast/multicol/tall-image-behavior-lr-expected.txt: Added.
  • platform/mac/fast/multicol/tall-image-behavior-rl-expected.png: Added.
  • platform/mac/fast/multicol/tall-image-behavior-rl-expected.txt: Added.
3:36 PM Changeset in webkit [176353] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.2.3

New tag.

3:03 PM Changeset in webkit [176352] by andersca@apple.com
  • 2 edits
    2 moves in trunk/Source/WebKit2

Rename two Cocoa-only .cpp files to .mm.

Rubber-stamped by Sam Weinig.

  • Shared/APIWebArchive.mm: Renamed from Source/WebKit2/Shared/APIWebArchive.cpp.
  • Shared/APIWebArchiveResource.mm: Renamed from Source/WebKit2/Shared/APIWebArchiveResource.cpp.
  • WebKit2.xcodeproj/project.pbxproj:
3:00 PM Changeset in webkit [176351] by Beth Dakin
  • 4 edits in trunk/Source

Data detected results with no menu items should not fall through to regular text
action menus
https://bugs.webkit.org/show_bug.cgi?id=138887
-and corresponding-
rdar://problem/18971616

Reviewed by Tim Horton.

Source/WebKit/mac:

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItems]):

Source/WebKit2:

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItems]):

2:58 PM Changeset in webkit [176350] by adachan@apple.com
  • 16 edits
    2 adds in trunk

Take Web Audio into account for the Page::isPlayingAudio() API.
https://bugs.webkit.org/show_bug.cgi?id=137464

Reviewed by Jer Noble.

Source/WebCore:

Make AudioContext a subclass of AudioProducer. It figures out whether there's
audio playing by checking whether its AudioDestinationNode is playing (and not
silent). It calls Document::updateIsPlayingAudio() whenever its audio playing
state has changed.

Test: webaudio/web-audio-is-playing.html

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::lazyInitialize):
Add itself to the Document's list of AudioProducers if it's not an offline
audio context.
(WebCore::AudioContext::uninitialize):
Remove itself from the Document's list of AudioProducers if it's not an offline
audio context.
(WebCore::AudioContext::stop):
Tell the document to update its audio playing state.
(WebCore::AudioContext::isPlayingAudio):
Return true if the audio context hasn't been stopped and its destination node is
playing audio.
(WebCore::AudioContext::pageMutedStateDidChange):
Add a FIXME for now.
(WebCore::AudioContext::isPlayingAudioDidChange):
Call Document::updateIsPlayingAudio().

  • Modules/webaudio/AudioContext.h:
  • Modules/webaudio/AudioDestinationNode.cpp:

(WebCore::AudioDestinationNode::AudioDestinationNode):
Initialize m_isSilent and m_isEffectivelyPlayingAudio.
(WebCore::AudioDestinationNode::render):
Call setIsSilent() with the appropriate value after rendering.
(WebCore::AudioDestinationNode::isPlayingDidChange):
Call updateIsEffectivelyPlayingAudio().
(WebCore::AudioDestinationNode::setIsSilent):
If m_isSilent has changed, call updateIsEffectivelyPlayingAudio().
(WebCore::AudioDestinationNode::updateIsEffectivelyPlayingAudio):
If m_isEffectivelyPlayingAudio has changed, call AudioContext::isPlayingAudioDidChange().

  • Modules/webaudio/AudioDestinationNode.h:

(WebCore::AudioDestinationNode::isPlaying):
(WebCore::AudioDestinationNode::isPlayingAudio):

  • Modules/webaudio/DefaultAudioDestinationNode.cpp:

(WebCore::DefaultAudioDestinationNode::isPlaying):
Return whether the AudioDestination is playing.

  • Modules/webaudio/DefaultAudioDestinationNode.h:
  • platform/audio/AudioIOCallback.h:
  • platform/audio/ios/AudioDestinationIOS.cpp:

(WebCore::AudioDestinationIOS::start):
Call setIsPlaying() instead.
(WebCore::AudioDestinationIOS::stop):
Ditto.
(WebCore::AudioDestinationIOS::setIsPlaying):
If m_isPlaying has changed, call AudioIOCallback::isPlayingDidChange().

  • platform/audio/ios/AudioDestinationIOS.h:
  • platform/audio/mac/AudioDestinationMac.cpp:

(WebCore::AudioDestinationMac::start):
Call setIsPlaying() instead.
(WebCore::AudioDestinationMac::stop):
Ditto.
(WebCore::AudioDestinationMac::setIsPlaying):
If m_isPlaying has changed, call AudioIOCallback::isPlayingDidChange().

  • platform/audio/mac/AudioDestinationMac.h:
  • testing/Internals.cpp:

(WebCore::Internals::isPagePlayingAudio):

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

Add internals.isPagePlayingAudio() for testing.

LayoutTests:

This test checks that Page::isPlayingAudio() returns false before an audio context is created
and before the oscillator node makes a sound. It then starts the oscillator node and checks
that Page::isPlayingAudio() later returns true.

  • webaudio/web-audio-is-playing-expected.txt: Added.
  • webaudio/web-audio-is-playing.html: Added.
2:51 PM Changeset in webkit [176349] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Attempt to fix the Apple Internal Mountain Lion build after <https://trac.webkit.org/changeset/176347>
(https://bugs.webkit.org/show_bug.cgi?id=136863)

Only import header CFNSURLConnection.h when building for iOS or OS X Yosemite.

  • platform/spi/cf/CFNetworkSPI.h:
2:40 PM Changeset in webkit [176348] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Fix TilesAdded bitmask
https://bugs.webkit.org/show_bug.cgi?id=138883

Reviewed by Simon Fraser.

Simon spotted this.

  • platform/graphics/ca/GraphicsLayerCA.h:

Use 1LLU << 29 instead of 1LLU < 29
This worked before by pure luck as bit 0 is unused.

2:32 PM Changeset in webkit [176347] by dbates@webkit.org
  • 24 edits
    4 adds
    1 delete in trunk/Source

[iOS] Make WebKit build with public iOS SDK
https://bugs.webkit.org/show_bug.cgi?id=136863

Reviewed by David Kilzer.

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj: Add private headers CFNetworkSPI.h and

NS{CalendarDate, String, URLDownload}SPI.h.

  • loader/cocoa/DiskCacheMonitorCocoa.mm: Move forward declaration of

CFNetwork data types and functions from here to file CFNetworkSPI.h and
include header CFNetworkSPI.h.

  • platform/network/mac/ResourceHandleMac.mm: Substitute CFNetworkSPI.h for

CFURLRequestSPI.h as the content of the latter was incorporated into the former.

  • platform/spi/cf/CFNetworkSPI.h: Added.
  • platform/spi/cf/CFURLRequestSPI.h: Removed; incorporated its functionality

into CFNetworkSPI.h

  • platform/spi/cocoa/NSCalendarDateSPI.h: Added.
  • platform/spi/cocoa/NSStringSPI.h: Added.
  • platform/spi/cocoa/NSURLDownloadSPI.h: Added.

Source/WebKit/ios:

  • Misc/WebGeolocationCoreLocationProvider.mm: Remove unnecessary include of header <CoreLocation/CoreLocationPriv.h>.
  • Misc/WebNSStringExtrasIOS.m: Substitute header <WebCore/NSStringSPI.h> for <Foundation/NSString_NSURLExtras.h>.
  • Misc/WebUIKitSupport.mm: Remove unnecessary include of header CoreFoundation/CFPriv.h.

Source/WebKit/mac:

  • History/WebHistory.mm: Include header NSCalendarDateSPI.h.
  • History/WebHistoryItemPrivate.h: Remove include of private header Foundation/NSCalendarDate.h.
  • Misc/WebDownload.h: Forward declare NSURLDownload when building without header Foundation/NSURLDownload.h.

We use has_include() instead of WTF_USE_APPLE_INTERNAL_SDK since this header
may be used by Apple internal clients that do not include wtf/Platform.h.

  • Misc/WebDownload.mm: Include header NSURLDownloadSPI.h instead of including

private Foundation headers directly.

  • Misc/WebNSURLExtras.mm: Remove unnecessary include of private Foundation header.
  • WebCoreSupport/WebFrameNetworkingContext.mm: Include header CFNetworkSPI.h

instead of including private CFNetwork headers directly. Also fixed up style and
ordering of header include directives.

  • WebView/WebView.mm: Include header CFNetworkSPI.h instead of including private

CFNetwork headers directly. Also sort the #import directives.

  • WebView/WebViewPrivate.h: Define ENABLE_TOUCH_EVENTS if not otherwise defined

and added ENABLE_TOUCH_EVENTS-guard around -_touchEventRegions.

Source/WebKit2:

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm: Moved CFNetwork forward declarations

from this file to file CFNetworkSPI.h and included header CFNetworkSPI.h.

  • NetworkProcess/mac/NetworkDiskCacheMonitor.mm: Ditto.
  • NetworkProcess/mac/NetworkResourceLoaderMac.mm: Ditto.
  • UIProcess/API/Cocoa/WKProcessPool.mm: Ditto.
  • UIProcess/mac/WebContextMac.mm: Ditto.
  • WebProcess/cocoa/WebProcessCocoa.mm: Ditto.
2:24 PM Changeset in webkit [176346] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r176299. rdar://problem/19024541

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

Merge r176296. rdar://problem/18912505

2:14 PM Changeset in webkit [176344] by dburkart@apple.com
  • 7 edits in branches/safari-600.3-branch/Source

Merge r176288. rdar://problem/18840382

2:12 PM Changeset in webkit [176343] by Chris Fleizach
  • 2 edits in trunk/Tools

AX: Screen braille input doesn't work on forms.
https://bugs.webkit.org/show_bug.cgi?id=138804

Unreviewed build fix.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(AccessibilityUIElement::setValue):

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

Merge r176238. rdar://problem/18990674

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

Merge r176237. rdar://problem/18900839

2:07 PM Changeset in webkit [176340] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Add APIs for customizing the user agent
https://bugs.webkit.org/show_bug.cgi?id=138881
rdar://problem/17233981

Reviewed by Dan Bernstein.

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

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView customUserAgent]):
(-[WKWebView setCustomUserAgent:]):
(-[WKWebView _customUserAgent]):
(-[WKWebView _setCustomUserAgent:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.h:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(LazyInitialized::set):
(-[WKWebViewConfiguration copyWithZone:]):
(defaultApplicationNameForUserAgent):
(-[WKWebViewConfiguration applicationNameForUserAgent]):
(-[WKWebViewConfiguration setApplicationNameForUserAgent:]):

2:05 PM Changeset in webkit [176339] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

[WK2 UI-side compositing] Initialize RemoteLayerTreeTransaction properties which are unset on Mac
https://bugs.webkit.org/show_bug.cgi?id=138877

Reviewed by Tim Horton.

These data members are unused on Mac, but still encoded, so initialize them with
reasonable values.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::RemoteLayerTreeTransaction):

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

Merge r176221. rdar://problem/18991369

1:57 PM Changeset in webkit [176337] by enrica@apple.com
  • 9 edits in trunk/Source/WebKit2

Refactor iOS selection gestures.
https://bugs.webkit.org/show_bug.cgi?id=138720
rdar://problem/18964359

Reviewed by Benjamin Poulain.

This is a first step towards refactoring the selection gestures code.
It introduces more general selection movement functions that can be used to build
the gestures.

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(toWKTextGranularity):
(toWKSelectionDirection):
(-[WKContentView selectPositionAtPoint:completionHandler:]):
(-[WKContentView selectPositionAtBoundary:inDirection:fromPoint:completionHandler:]):
(-[WKContentView selectTextWithGranularity:atPoint:completionHandler:]):
(-[WKContentView beginSelectionInDirection:completionHandler:]):
(-[WKContentView updateSelectionWithExtentPoint:completionHandler:]):
(-[WKContentView _startAssistingNode:userIsInteracting:blurPreviousNode:userObject:]):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::selectTextWithGranularityAtPoint):
(WebKit::WebPageProxy::selectPositionAtBoundaryWithDirection):
(WebKit::WebPageProxy::selectPositionAtPoint):
(WebKit::WebPageProxy::beginSelectionInDirection):
(WebKit::WebPageProxy::updateSelectionWithExtentPoint):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::selectWithGesture):
(WebKit::WebPage::visiblePositionInFocusedNodeForPoint):
(WebKit::WebPage::selectPositionAtPoint):
(WebKit::WebPage::selectPositionAtBoundaryWithDirection):
(WebKit::WebPage::selectTextWithGranularityAtPoint):
(WebKit::WebPage::beginSelectionInDirection):
(WebKit::WebPage::updateSelectionWithExtentPoint):

1:56 PM Changeset in webkit [176336] by dburkart@apple.com
  • 9 edits in branches/safari-600.3-branch/Source

Merged r176220. rdar://problem/18944893

1:39 PM Changeset in webkit [176335] by Joseph Pecoraro
  • 3 edits in trunk/Source/JavaScriptCore

Unreviewed build fixes after r176329.

  • export all of the codegen python files as they are included by the main generator
  • update the imports of the main generator to match init.py
  • remove bundling the python scripts as framework resources, just have them PrivateHeaders
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • inspector/scripts/generate-inspector-protocol-bindings.py:
1:31 PM Changeset in webkit [176334] by Simon Fraser
  • 6 edits in trunk/Source/WebKit2

[WK2 UI-side Compositing] Fix the position and scroll indicator of the UI-side tiled scrolling indicator
https://bugs.webkit.org/show_bug.cgi?id=138876

Reviewed by Beth Dakin.

Fix the position of the tiled scrolling indicator in MiniBrowser by taking top
content offset into account.

On Mac, pass the current scroll position back to the UI process via the RemoteLayerTreeTransaction
so that we can use it to show the correctly scroll offset in the indicator. This is temporary until
Mac does UI-side scrolling.

  • Shared/mac/RemoteLayerTreeTransaction.h:

(WebKit::RemoteLayerTreeTransaction::scrollPosition):
(WebKit::RemoteLayerTreeTransaction::setScrollPosition):

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::encode):
(WebKit::RemoteLayerTreeTransaction::decode):

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

(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation):
(WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::willCommitLayerTree):

1:15 PM Changeset in webkit [176333] by Chris Dumez
  • 1 edit
    4 moves
    2 adds in trunk/LayoutTests

Add layout test for throttling of DOM timer changing the style of visible and invisible elements
https://bugs.webkit.org/show_bug.cgi?id=138875

Reviewed by Simon Fraser.

Add a layout test to test that a repeating DOM timer changing the style
of both visible and invisible elements does not get throttled.

Also rename existing tests to use "display-none" instead of "invisible"
for clarity.

  • fast/dom/nested-timer-display-none-element-throttling-expected.txt: Renamed from LayoutTests/fast/dom/nested-timer-invisible-element-throttling-expected.txt.
  • fast/dom/nested-timer-display-none-element-throttling.html: Renamed from LayoutTests/fast/dom/nested-timer-invisible-element-throttling.html.
  • fast/dom/repeating-timer-display-none-element-throttling-expected.txt: Renamed from LayoutTests/fast/dom/repeating-timer-invisible-element-throttling-expected.txt.
  • fast/dom/repeating-timer-display-none-element-throttling.html: Renamed from LayoutTests/fast/dom/repeating-timer-invisible-element-throttling.html.
  • fast/dom/repeating-timer-mixed-visible-display-none-elements-throttling-expected.txt: Added.
  • fast/dom/repeating-timer-mixed-visible-display-none-elements-throttling.html: Added.
1:01 PM Changeset in webkit [176332] by dburkart@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Bump versioning

12:50 PM Changeset in webkit [176331] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Get rid of AccessibilityObject::setRoleValue()
https://bugs.webkit.org/show_bug.cgi?id=138861

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-11-19
Reviewed by Chris Fleizach.

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::setRoleValue): Deleted.

12:46 PM Changeset in webkit [176330] by Chris Dumez
  • 1 edit
    2 adds in trunk/LayoutTests

Add layout test for DOM timer throttling and element moving into view after layout
https://bugs.webkit.org/show_bug.cgi?id=138874

Reviewed by Simon Fraser.

Add a layout test to make sure we unthrottle a DOM timer changing the
style of an element outside viewport if the element ends up inside
the viewport after layout.

  • fast/dom/timer-unthrottle-on-layout-expected.txt: Added.
  • fast/dom/timer-unthrottle-on-layout.html: Added.
11:16 AM Changeset in webkit [176329] by Brian Burg
  • 10 edits
    1 copy
    18 moves
    2 adds in trunk/Source/JavaScriptCore

Web Inspector: standardize language-specific protocol generator file, class, and method prefixes
https://bugs.webkit.org/show_bug.cgi?id=138237

Reviewed by Joseph Pecoraro.

Settle on cpp/objc/js file prefixes and Cpp/ObjC/JS class prefixes for generators.
Move C++-specific static methods into CppGenerator and add cpp_ prefixes where relevant.
Split the templates file into language-specific template files.

  • CMakeLists.txt:
  • DerivedSources.make:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • inspector/scripts/codegen/init.py:
  • inspector/scripts/codegen/cpp_generator.py: Copied from Source/JavaScriptCore/inspector/scripts/codegen/generator.py.
  • inspector/scripts/codegen/cpp_generator_templates.py: Copied from Source/JavaScriptCore/inspector/scripts/codegen/generator_templates.py.

(CppGeneratorTemplates):

  • inspector/scripts/codegen/generate_cpp_alternate_backend_dispatcher_header.py: Renamed from Source/JavaScriptCore/inspector/scripts/codegen/generate_alternate_backend_dispatcher_header.py.
  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_header.py: Renamed from Source/JavaScriptCore/inspector/scripts/codegen/generate_backend_dispatcher_header.py.
  • inspector/scripts/codegen/generate_cpp_backend_dispatcher_implementation.py: Renamed from Source/JavaScriptCore/inspector/scripts/codegen/generate_backend_dispatcher_implementation.py.
  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_header.py: Renamed from Source/JavaScriptCore/inspector/scripts/codegen/generate_frontend_dispatcher_header.py.
  • inspector/scripts/codegen/generate_cpp_frontend_dispatcher_implementation.py: Renamed from Source/JavaScriptCore/inspector/scripts/codegen/generate_frontend_dispatcher_implementation.py.
  • inspector/scripts/codegen/generate_cpp_protocol_types_header.py: Renamed from Source/JavaScriptCore/inspector/scripts/codegen/generate_protocol_types_header.py.
  • inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py: Renamed from Source/JavaScriptCore/inspector/scripts/codegen/generate_protocol_types_implementation.py.
  • inspector/scripts/codegen/generate_js_backend_commands.py: Renamed from Source/JavaScriptCore/inspector/scripts/codegen/generate_backend_commands.py.
  • inspector/scripts/codegen/generate_objc_backend_dispatcher_header.py: Renamed from Source/JavaScriptCore/inspector/scripts/codegen/generate_objective_c_backend_dispatcher_header.py.
  • inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py: Renamed from Source/JavaScriptCore/inspector/scripts/codegen/generate_objective_c_backend_dispatcher_implementation.py.
  • inspector/scripts/codegen/generate_objc_configuration_header.py: Renamed from Source/JavaScriptCore/inspector/scripts/codegen/generate_objective_c_configuration_header.py.
  • inspector/scripts/codegen/generate_objc_configuration_implementation.py: Renamed from Source/JavaScriptCore/inspector/scripts/codegen/generate_objective_c_configuration_implementation.py.
  • inspector/scripts/codegen/generate_objc_conversion_helpers.py: Renamed from Source/JavaScriptCore/inspector/scripts/codegen/generate_objective_c_conversion_helpers.py.
  • inspector/scripts/codegen/generate_objc_frontend_dispatcher_implementation.py: Renamed from Source/JavaScriptCore/inspector/scripts/codegen/generate_objective_c_frontend_dispatcher_implementation.py.
  • inspector/scripts/codegen/generate_objc_header.py: Renamed from Source/JavaScriptCore/inspector/scripts/codegen/generate_objective_c_header.py.
  • inspector/scripts/codegen/generate_objc_internal_header.py: Renamed from Source/JavaScriptCore/inspector/scripts/codegen/generate_objective_c_internal_header.py.
  • inspector/scripts/codegen/generate_objc_protocol_types_implementation.py: Renamed from Source/JavaScriptCore/inspector/scripts/codegen/generate_objective_c_types_implementation.py.
  • inspector/scripts/codegen/generator.py:
  • inspector/scripts/codegen/generator_templates.py:
  • inspector/scripts/codegen/objc_generator.py: Renamed from Source/JavaScriptCore/inspector/scripts/codegen/generate_objective_c.py.
  • inspector/scripts/codegen/objc_generator_templates.py: Added.
  • inspector/scripts/generate-inspector-protocol-bindings.py:
11:01 AM Changeset in webkit [176328] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.10

New tag.

10:59 AM Changeset in webkit [176327] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

10:46 AM Changeset in webkit [176326] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Update WebKit to build with LLVM TOT
https://bugs.webkit.org/show_bug.cgi?id=138519

Patch by Juergen Ributzka <juergen@apple.com> on 2014-11-19
Reviewed by Alexey Proskuryakov.

  • Configurations/LLVMForJSC.xcconfig:
  • llvm/LLVMAPIFunctions.h:
  • llvm/library/LLVMExports.cpp:

(initializeAndGetJSCLLVMAPI):

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

Web Inspector: Debugger should not mutate variable when hovering mouse over ++n expression
https://bugs.webkit.org/show_bug.cgi?id=138839

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-19
Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/CodeMirrorTokenTrackingController.js:

(WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):

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

Web Inspector: Improve basic JavaScript completion in inline <script>s
https://bugs.webkit.org/show_bug.cgi?id=138845

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-19
Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/CodeMirrorCompletionController.js:

(WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions):
Fix up CodeMirror mode handling for JavaScript completion when inside of mixed mode
input (html). Also add completion for CodeMirror's localVars list.

10:27 AM Changeset in webkit [176323] by Chris Dumez
  • 1 edit
    2 adds in trunk/LayoutTests

Add layout test for DOM timers throttling and 0 height element with visible overflowing content
https://bugs.webkit.org/show_bug.cgi?id=138873

Reviewed by Simon Fraser.

Add a layout test for verify that a DOM timer changing the style of a 0
height element with visible overflowing content does not get throttled.
If the implementation did not properly use the overflow rect to
determine if the element is visible, this test would fail.

This covers the case of the top scrolling banner on huffingtonpost.com.

  • fast/dom/repeating-timer-element-overflow-throttling-expected.txt: Added.
  • fast/dom/repeating-timer-element-overflow-throttling.html: Added.
9:52 AM Changeset in webkit [176322] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

Missing NULL-check in VideoTrack::setLanguage
https://bugs.webkit.org/show_bug.cgi?id=138867

Reviewed by Jer Noble.

  • html/track/VideoTrack.cpp:

(WebCore::VideoTrack::setLanguage): Prevent change event creation
on an empty video track list.

9:36 AM Changeset in webkit [176321] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: Safari fails to load a web page with VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=138849

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Sometimes an inlineElementContinuation will continue to an inline RenderBlock, so we case this incorrectly and bad things happen.

Test: accessibility/inline-block-assertion.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::startOfContinuations):

LayoutTests:

  • accessibility/inline-block-assertion-expected.txt: Added.
  • accessibility/inline-block-assertion.html: Added.
9:26 AM Changeset in webkit [176320] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Simple line layout: RenderTreeAsText should use rangeForRenderer() when dumping simple line text.
https://bugs.webkit.org/show_bug.cgi?id=138847

Reviewed by Antti Koivisto.

This is in preparation to support multiple renderers for simple line layout.
Use rangeForRenderer() to get runs for a particular renderer as opposed to for the entire flow.

Not testable.

  • rendering/RenderTreeAsText.cpp:

(WebCore::write):

9:23 AM Changeset in webkit [176319] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo] Compile error when CSS_SELECTORS_LEVEL4 is not enabled.
https://bugs.webkit.org/show_bug.cgi?id=138870

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-11-19
Reviewed by Alex Christensen.

  • css/CSSSelector.cpp:

(WebCore::simpleSelectorSpecificityInternal):

7:47 AM Changeset in webkit [176318] by Chris Fleizach
  • 8 edits
    4 adds in trunk

AX: Screen braille input doesn't work on forms.
https://bugs.webkit.org/show_bug.cgi?id=138804

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Allow iOS to set values of text fields through the API.

Test: platform/ios-sim/accessibility/set-value.html

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper _accessibilitySetValue:]):

Tools:

Add a method to setValue through the AX API in DRT.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(setValueCallback):
(AccessibilityUIElement::getJSClass):

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

(AccessibilityUIElement::setValue):

  • DumpRenderTree/mac/AccessibilityUIElementMac.mm:

(AccessibilityUIElement::setValue):

LayoutTests:

  • platform/ios-sim: Copied from LayoutTests/platform/ios-sim.
  • platform/ios-sim/accessibility/set-value-expected.txt: Added.
  • platform/ios-sim/accessibility/set-value.html: Added.
7:40 AM Changeset in webkit [176317] by Alan Bujtas
  • 6 edits in trunk/Source/WebCore

Simple line layout: Add renderer based rect collecting to RunResolver.
https://bugs.webkit.org/show_bug.cgi?id=138818

Reviewed by Antti Koivisto.

This is in preparation to multiple renderers support.
RunResolver should be able to collect rects for a particular renderer
that might overlap multiple runs. (or might just be a subset of a Run)

Covered by existing tests.

  • rendering/SimpleLineLayoutFlowContents.cpp:

(WebCore::SimpleLineLayout::FlowContents::renderer): It operates on a single renderer currently.
(WebCore::SimpleLineLayout::FlowContents::resolveRendererPositions): It operates on a single renderer currently.

  • rendering/SimpleLineLayoutFlowContents.h:
  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::computeTextBoundingBox):
(WebCore::SimpleLineLayout::computeTextFirstRunLocation):
(WebCore::SimpleLineLayout::collectTextAbsoluteRects):
(WebCore::SimpleLineLayout::collectTextAbsoluteQuads):
(WebCore::SimpleLineLayout::showLineLayoutForFlow):

  • rendering/SimpleLineLayoutResolver.cpp:

(WebCore::SimpleLineLayout::baselinePosition):
(WebCore::SimpleLineLayout::linePosition):
(WebCore::SimpleLineLayout::lineSize):
(WebCore::SimpleLineLayout::RunResolver::Run::rect):
(WebCore::SimpleLineLayout::RunResolver::Run::rectForTextRenderer):
(WebCore::SimpleLineLayout::RunResolver::Run::baseline):
(WebCore::SimpleLineLayout::RunResolver::Run::text):
(WebCore::SimpleLineLayout::RunResolver::Run::computeRect):
(WebCore::SimpleLineLayout::RunResolver::RunResolver):

  • rendering/SimpleLineLayoutResolver.h:
6:24 AM Changeset in webkit [176316] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Error in documentation of webkit_print_operation_get_page_setup()
https://bugs.webkit.org/show_bug.cgi?id=138868

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-11-19
Reviewed by Carlos Garcia Campos.

Fix copypaste error in documentation of
webkit_print_operation_get_page_setup().

  • UIProcess/API/gtk/WebKitPrintOperation.cpp:
4:46 AM WebKitGTK/2.6.x edited by jdiggs@igalia.com
(diff)
1:55 AM Changeset in webkit [176315] by mrowe@apple.com
  • 1 edit
    1 delete in trunk/Source/WebKit2

Remove an unused file.

  • version.plist: Removed.
1:06 AM Changeset in webkit [176314] by commit-queue@webkit.org
  • 2 edits in trunk

Fix the detection of toolchain support for Cortex-A53 erratum 835769 workaround
https://bugs.webkit.org/show_bug.cgi?id=138840

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-11-19
Reviewed by Csaba Osztrogonác.

  • Source/cmake/OptionsCommon.cmake:
12:57 AM Changeset in webkit [176313] by commit-queue@webkit.org
  • 5 edits
    4 adds in trunk

Add selector checker for :lang pseudo class in Selectors level 4
https://bugs.webkit.org/show_bug.cgi?id=138281

Patch by Dhi Aurrahman <diorahman@rockybars.com> on 2014-11-19
Reviewed by Benjamin Poulain.

Source/WebCore:

Add selector checker for :lang pseudo class in Selectors level 4.

The language tags matching is specified in [1,2].

[1] http://www.ietf.org/rfc/rfc4647.txt
[2] http://dev.w3.org/csswg/selectors4/#the-lang-pseudo

Tests: fast/selectors/lang-extended-filtering.html

fast/selectors/lang-multiple.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::containslanguageSubtagMatchingRange):
(WebCore::matchesLangPseudoClass):
(WebCore::matchesLangPseudoClassDeprecated):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):

LayoutTests:

Add layout tests for :lang selector checker with multiple arguments and
related behaviors on extended filtering.

  • fast/selectors/lang-extended-filtering-expected.txt: Added.
  • fast/selectors/lang-extended-filtering.html: Added.
  • fast/selectors/lang-multiple-expected.txt: Added.
  • fast/selectors/lang-multiple.html: Added.
12:53 AM Changeset in webkit [176312] by mrowe@apple.com
  • 1 edit
    1 copy in trunk/Source/WebInspectorUI

Roll over WebInspectorUI's ChangeLog.

Nov 18, 2014:

11:49 PM Changeset in webkit [176311] by Philippe Normand
  • 8 edits in trunk

start/stop method for AudioBufferSourceNodes and OscillatorNodes can take no args
https://bugs.webkit.org/show_bug.cgi?id=138739

Reviewed by Darin Adler.

Source/WebCore:

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

Test: webaudio/dom-exceptions.html

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::start):
(WebCore::AudioBufferSourceNode::startPlaying):
(WebCore::AudioBufferSourceNode::noteGrainOn):
(WebCore::AudioBufferSourceNode::startGrain): Deleted.

  • Modules/webaudio/AudioBufferSourceNode.h:
  • Modules/webaudio/AudioBufferSourceNode.idl:
  • Modules/webaudio/AudioScheduledSourceNode.cpp:

(WebCore::AudioScheduledSourceNode::start):
(WebCore::AudioScheduledSourceNode::stop):

  • Modules/webaudio/AudioScheduledSourceNode.h:
  • Modules/webaudio/OscillatorNode.idl:

LayoutTests:

  • webaudio/dom-exceptions-expected.txt: Added.
  • webaudio/dom-exceptions.html: Added.
10:45 PM Changeset in webkit [176310] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Aad failing test expectations to some tests imported in r176144.

  • platform/win/TestExpectations:
9:41 PM Changeset in webkit [176309] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Use of uninitialized value in string eq in many http tests
https://bugs.webkit.org/show_bug.cgi?id=138852

Reviewed by Daniel Bates.

  • http/tests/security/xssAuditor/resources/echo-intertag.pl: Don't use it uninitialized.
9:13 PM Changeset in webkit [176308] by benjamin@webkit.org
  • 15 edits in trunk/Source/WebKit2

[WK2] Remove the minimalUI code from the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=138819

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

It looks like the only interface we have to keep alive is
[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:minimumLayoutSizeForMinimalUI:maximumUnobscuredSizeOverride:].

Clean up everything else, it is a pile of useless code.

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLoadForMainFrame]):
(-[WKWebView _didCommitLayerTree:]):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _didRelaunchProcess]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:minimumLayoutSizeForMinimalUI:maximumUnobscuredSizeOverride:]):
(-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:maximumUnobscuredSizeOverride:]):
(-[WKWebView _setUsesMinimalUI:]): Deleted.
(-[WKWebView _usesMinimalUI]): Deleted.
(activeMinimumLayoutSizeForMinimalUI): Deleted.
(-[WKWebView _setMinimumLayoutSizeOverrideForMinimalUI:]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView _frameOrBoundsChanged]):

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::setUsesMinimalUI): Deleted.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::dynamicViewportSizeUpdate):
(WebKit::WebPageProxy::setViewportConfigurationMinimumLayoutSizeForMinimalUI): Deleted.
(WebKit::WebPageProxy::setUsesMinimalUI): Deleted.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::viewportPropertiesDidChange):
(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::WebPage::setViewportConfigurationMinimumLayoutSizeForMinimalUI): Deleted.

9:12 PM Changeset in webkit [176307] by benjamin@webkit.org
  • 7 edits
    20 adds in trunk

Add the initial implementation of dynamic specificity for :matches()
https://bugs.webkit.org/show_bug.cgi?id=138822

Reviewed by Andreas Kling.

Source/WebCore:

Previously we completely ignored the selector list of :matches() when computing
the specificity of the selector.

The spec (http://dev.w3.org/csswg/selectors4/#specificity) says:
"The specificity of a :matches() pseudo-class, however, is the specificity

of the most specific complex selector that matched the given element."

This patch does just that.

In the CSS JIT, we only consider specificities that can be computed statically
for now, this should be extended later.
When the specificity is dynamic, we fall back to SelectorChecker. In that case,
we execute every selector of the selector list and we keep the maximum value
as the specificity for the whole :matches().

Tests: fast/css/matches-specificity-1.html

fast/css/matches-specificity-2.html
fast/css/matches-specificity-3.html
fast/css/matches-specificity-4.html
fast/css/matches-specificity-5.html
fast/css/matches-specificity-6.html
fast/css/matches-specificity-7.html
fast/css/matches-specificity-8.html
fast/css/matches-specificity-9.html
fast/css/matches-specificity-10.html

  • css/CSSSelector.cpp:

(WebCore::selectorSpecificity):
(WebCore::maxSpecificity):
(WebCore::CSSSelector::specificity):
(WebCore::simpleSelectorSpecificityInternal):
(WebCore::CSSSelector::simpleSelectorSpecificity):
:matches() itself should not have any specificity. The specificity of its components
is computed in SelectorChecker.

Since :matches() is no longer accounted as a class B specificity, I had to finish
the specificity of :not() or some test breaks.

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

(WebCore::comparePageRules):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):
We can no longer shortcut the execution when context.pseudoElementEffective is false.
There is no guarantee that a following selector wouldn't match with a higher specificity.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::constructFragments):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):

LayoutTests:

  • fast/css/matches-specificity-1-expected.html: Added.
  • fast/css/matches-specificity-1.html: Added.
  • fast/css/matches-specificity-2-expected.html: Added.
  • fast/css/matches-specificity-2.html: Added.
  • fast/css/matches-specificity-3-expected.html: Added.
  • fast/css/matches-specificity-3.html: Added.
  • fast/css/matches-specificity-4-expected.html: Added.
  • fast/css/matches-specificity-4.html: Added.
  • fast/css/matches-specificity-5-expected.html: Added.
  • fast/css/matches-specificity-5.html: Added.
  • fast/css/matches-specificity-6-expected.html: Added.
  • fast/css/matches-specificity-6.html: Added.
  • fast/css/matches-specificity-7-expected.html: Added.
  • fast/css/matches-specificity-7.html: Added.
  • fast/css/matches-specificity-8-expected.html: Added.
  • fast/css/matches-specificity-8.html: Added.
  • fast/css/matches-specificity-9-expected.html: Added.
  • fast/css/matches-specificity-9.html: Added.
  • fast/css/matches-specificity-10-expected.html: Added.
  • fast/css/matches-specificity-10.html: Added.
9:08 PM Changeset in webkit [176306] by Conrad Shultz
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Revision to the build fix in r176304.

The guarded method should simply be in the !TARGET_OS_IPHONE block.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
9:06 PM Changeset in webkit [176305] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebKit2

iOS8 new "slow tap" heuristic fires mouse compat events despite preventDefault on touchend
https://bugs.webkit.org/show_bug.cgi?id=137069
rdar://problem/18481464

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

On WebKit2, we let UIWebTouchEventsGestureRecognizer and _UIWebHighlightLongPressGestureRecognizer
run concurrently. This causes a race with an incorrect behavior:
1) If UIWebTouchEventsGestureRecognizer does not cancel the native gestures on start.
2) _UIWebHighlightLongPressGestureRecognizer starts after highlightDelay.
3) When the finger leaves the screen, both gestures end.
-> If the touch end sent to JavaScript in [3] ask the priority over native events, that no longer stops

the _UIWebHighlightLongPressGestureRecognizer.

The two gesture recognizers can run in any order, there is no guarantee on which one runs first.
To solve the bug, I must make sure the _UIWebHighlightLongPressGestureRecognizer never trigger a click
if the page wants the event.

To solve the order problem, I use the fact that event recognition goes in two phases for
non cancelled events:
1) Update the gesture recognizers.
2) Trigger the actions.

I do not know the order of recognizers in [1], but I know both have run before [2] is executed.
I use that to stop _UIWebHighlightLongPressGestureRecognizer from ending with a click in the case of the bug:
1) When _UIWebHighlightLongPressGestureRecognizer starts, I set _highlightLongPressCanClick signaling

the gesture can end normally. This is done on a timer and not direct input so I don't really have to worry
about a race here.

2) When processing the touch event for UIWebTouchEventsGestureRecognizer, I reset the flag _highlightLongPressCanClick

if the page wants the event.

3) When the actions of _UIWebHighlightLongPressGestureRecognizer are processed, the touch event

has already been processed by the page and the flag has been cleared if needed.

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _webTouchEvent:preventsNativeGestures:]):
(-[WKContentView _highlightLongPressRecognized:]):

8:31 PM Changeset in webkit [176304] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit2

iOS build fix after r176299. This method is not defined in WKViewIOS.mm.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
6:42 PM Changeset in webkit [176303] by ddkilzer@apple.com
  • 8 edits in trunk/Source

FeatureDefines.xcconfig: Switch from using PLATFORM_NAME to SDK selectors
<http://webkit.org/b/138813>

Reviewed by Mark Rowe.

  • Configurations/FeatureDefines.xcconfig: Switch to using SDK

selectors.

6:17 PM Changeset in webkit [176302] by rniwa@webkit.org
  • 2 edits in branches/safari-600.2-branch/LayoutTests

nested-multicol-into-region-dynamic.html is flaky on WK1.

  • platform/mac-wk1/TestExpectations:
6:05 PM Changeset in webkit [176301] by Chris Dumez
  • 3 edits
    4 adds in trunk

Crash when setting 'z-index' / 'flex-shrink' CSS properties to a calculated value
https://bugs.webkit.org/show_bug.cgi?id=138783

Reviewed by Andreas Kling.

Source/WebCore:

Update operators converting CSSPrimitiveValue to integer / floating
point types to properly handle calculated values (e.g. 'calc(2 * 3)').
Previously, this was not working in release builds and we would hit an
ASSERT_NOT_REACHED() in debug builds.

Tests: fast/css/flex-shrink-calculated-value.html

fast/css/z-index-calculated-value.html

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::operator unsigned short):
(WebCore::CSSPrimitiveValue::operator int):
(WebCore::CSSPrimitiveValue::operator unsigned):
(WebCore::CSSPrimitiveValue::operator float):

LayoutTests:

Add layout tests to check that settings 'z-index' / 'flex-shrink' CSS
properties to a calculated value does not crash and behaves as
expected.

  • fast/css/flex-shrink-calculated-value-expected.txt: Added.
  • fast/css/flex-shrink-calculated-value.html: Added.
  • fast/css/z-index-calculated-value-expected.txt: Added.
  • fast/css/z-index-calculated-value.html: Added.
5:57 PM Changeset in webkit [176300] by dburkart@apple.com
  • 1 copy in tags/Safari-600.3.7

Tagging.

5:43 PM Changeset in webkit [176299] by Conrad Shultz
  • 4 edits in trunk/Source/WebKit2

Give clients a way to cancel preview popovers
https://bugs.webkit.org/show_bug.cgi?id=138855

Reviewed by Tim Horton.

Promote -[WKView _dismissActionMenuPopovers] from internal to private.

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

(-[WKView _dismissActionMenuPopovers]):

  • UIProcess/API/mac/WKViewInternal.h:
5:19 PM Changeset in webkit [176298] by mmaxfield@apple.com
  • 14 edits
    2 moves in trunk

Unreviewed, rolling out r176263 and r176273.
https://bugs.webkit.org/show_bug.cgi?id=138854

Underlines are hideous. (Requested by litherum on #webkit).

Reverted changesets:

"Use underlining metrics from the font file"
https://bugs.webkit.org/show_bug.cgi?id=138762
http://trac.webkit.org/changeset/176263

"iOS build fix."
http://trac.webkit.org/changeset/176273

Patch by Commit Queue <commit-queue@webkit.org> on 2014-11-18# Please enter the commit message for your changes. Lines starting

4:56 PM Changeset in webkit [176297] by Chris Dumez
  • 14 edits in trunk/Source

Add a setting to toggle DOMTimer throttling support
https://bugs.webkit.org/show_bug.cgi?id=138844
<rdar://problem/19020874>

Reviewed by Andreas Kling.

Add a setting to disable DOM timers throttling, in order to help
developers determine if a specific issue is caused by timer
throttling.

Source/WebCore:

  • page/DOMTimer.cpp:

(WebCore::DOMTimerFireState::contextDocument):
(WebCore::DOMTimerFireState::scriptMadeUserObservableChanges):
(WebCore::DOMTimer::isDOMTimersThrottlingEnabled):
(WebCore::DOMTimer::updateThrottlingStateIfNecessary):

  • page/DOMTimer.h:
  • page/Settings.in:

Source/WebKit/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences domTimersThrottlingEnabled]):
(-[WebPreferences setDOMTimersThrottlingEnabled:]):

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

(-[WebView _preferencesChanged:]):

Source/WebKit2:

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

(WKPreferencesSetDOMTimersThrottlingEnabled):
(WKPreferencesGetDOMTimersThrottlingEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

4:49 PM Changeset in webkit [176296] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

REGRESSION: Invoking dictionary lookup on text in some search fields searches for
incorrect item
https://bugs.webkit.org/show_bug.cgi?id=138853
-and corresponding-
rdar://problem/18912505

Reviewed by Tim Horton.

Get the visible position based on the frame, not just the renderer.

  • editing/mac/DictionaryLookup.mm:

(WebCore::rangeForDictionaryLookupAtHitTestResult):

4:37 PM Changeset in webkit [176295] by hyatt@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION (r167210): Invalid cast in WebCore::RenderBlock::blockSelectionGaps
https://bugs.webkit.org/show_bug.cgi?id=137590

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/block/selection-block-gaps-crash.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::blockSelectionGaps):
Check that we really are a RenderBlock before recurring.

LayoutTests:

  • fast/block/selection-block-gap-crash-expected.txt: Added.
  • fast/block/selection-block-gap-crash.html: Added.
4:20 PM Changeset in webkit [176294] by akling@apple.com
  • 4 edits in trunk

Avoid synchronous style recalc in Document.activeElement
<https://webkit.org/b/138850>

Reviewed by Ryosuke Niwa.

Source/WebCore:

This subtly changes the behavior of <input autofocus>, which was caught by
a layout test. Auto-focus doesn't happen until the render tree is attached,
although it was possible to force it by accessing document.activeElement.

Now auto-focus is always lazy. This is consistent with other browser engines.

~1% progression on Speedometer locally.

  • dom/Document.cpp:

(WebCore::Document::activeElement):

LayoutTests:

Tweak a test to run once the DOM is loaded instead of during parsing.

  • fast/forms/autofocus-in-sandbox-with-allow-scripts.html:
4:17 PM Changeset in webkit [176293] by Chris Dumez
  • 5 edits in trunk/Source

Have Vector::capacity() return an unsigned instead of a size_t
https://bugs.webkit.org/show_bug.cgi?id=138842

Reviewed by Andreas Kling.

Source/WebCore:

Update the code base now that Vector::capacity() returns an unsigned
type instead of a size_t.

No new tests, no behavior change.

  • editing/TextIterator.cpp:

(WebCore::SearchBuffer::append):
(WebCore::SearchBuffer::prependContext):
(WebCore::SearchBuffer::search):
(WebCore::SearchBuffer::length):

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::duplicateDataBufferIfNecessary):

Source/WTF:

Have Vector::capacity() return an unsigned instead of a size_t as
capacity is stored as an unsigned internally.

  • wtf/Vector.h:

(WTF::Vector::capacity):
(WTF::OverflowHandler>::expandCapacity):
(WTF::OverflowHandler>::tryExpandCapacity):

3:07 PM Changeset in webkit [176292] by Simon Fraser
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merge r175679. rdar://problem/18978404

3:07 PM Changeset in webkit [176291] by Simon Fraser
  • 5 edits
    4 adds in branches/safari-600.3-branch

Merge r175656. rdar://problem/18978402

3:06 PM Changeset in webkit [176290] by ggaren@apple.com
  • 13 edits in trunk/Source

Removed the custom allocator for ListHashSet nodes
https://bugs.webkit.org/show_bug.cgi?id=138841

Reviewed by Andreas Kling.

Source/WebCore:

Uses of ListHashSet no longer need to declare an inline capacity,
since that was only used to specify the capacity of the custom allocator.

  • dom/DOMNamedFlowCollection.h:
  • dom/DocumentEventQueue.h:
  • dom/DocumentStyleSheetCollection.h:
  • dom/NamedFlowCollection.h:
  • html/FormController.h:
  • rendering/FloatingObjects.h:
  • rendering/RenderBlock.h:

Source/WebKit2:

Uses of ListHashSet no longer need to declare an inline capacity,
since that was only used to specify the capacity of the custom allocator.

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::PluginInfoStore::loadPluginsIfNecessary):

Source/WTF:

bmalloc is fast, so we don't need a custom allocator.

The MallocBench test for linked list node allocation (list_allocate) is
4.09X faster in bmalloc than TCMalloc. Also, I wrote a stress test to
add/remove link elements, which modify a ListHashSet on insertion and
removal, and it was 1% faster / in the noise with bmalloc enabled.

  • wtf/ListHashSet.h:

(WTF::ListHashSetNode::ListHashSetNode):
(WTF::ListHashSetTranslator::translate):
(WTF::U>::ListHashSet):
(WTF::=):
(WTF::U>::swap):
(WTF::U>::~ListHashSet):
(WTF::U>::size):
(WTF::U>::capacity):
(WTF::U>::isEmpty):
(WTF::U>::first):
(WTF::U>::removeFirst):
(WTF::U>::takeFirst):
(WTF::U>::last):
(WTF::U>::removeLast):
(WTF::U>::takeLast):
(WTF::U>::contains):
(WTF::U>::remove):
(WTF::U>::clear):
(WTF::U>::unlink):
(WTF::U>::unlinkAndDelete):
(WTF::U>::appendNode):
(WTF::U>::prependNode):
(WTF::U>::insertNodeBefore):
(WTF::U>::deleteAllNodes):
(WTF::ListHashSetNodeAllocator::ListHashSetNodeAllocator): Deleted.
(WTF::ListHashSetNodeAllocator::allocate): Deleted.
(WTF::ListHashSetNodeAllocator::deallocate): Deleted.
(WTF::ListHashSetNodeAllocator::pool): Deleted.
(WTF::ListHashSetNodeAllocator::pastPool): Deleted.
(WTF::ListHashSetNodeAllocator::inPool): Deleted.
(WTF::ListHashSetNode::operator new): Deleted.
(WTF::ListHashSetNode::destroy): Deleted.

2:57 PM Changeset in webkit [176289] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix after r176283.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
2:54 PM Changeset in webkit [176288] by timothy_horton@apple.com
  • 7 edits in trunk/Source

Avoid re-encoding action menu image data
https://bugs.webkit.org/show_bug.cgi?id=138817
<rdar://problem/18840382>

Reviewed by Anders Carlsson.

  • Shared/mac/ActionMenuHitTestResult.h:
  • Shared/mac/ActionMenuHitTestResult.mm:

(WebKit::ActionMenuHitTestResult::encode):
(WebKit::ActionMenuHitTestResult::decode):
Store and encode a SharedMemory with the raw encoded image data,
instead of re-painting the image into a ShareableBitmap.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _hitTestResultImage]):
(-[WKActionMenuController _defaultMenuItemsForImage]):
(-[WKActionMenuController _copyImage:]):
(-[WKActionMenuController _addImageToPhotos:]):
(-[WKActionMenuController _defaultMenuItems]):
(-[WKActionMenuController _canAddMediaToPhotos]): Deleted.
Build a temporary filename from a UUID and the image's desired extension.
Use the Image's encoded data instead of re-encoding it with CGImageDestination.
Build an image menu only if we have an image, URL, data, and extension.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performActionMenuHitTestAtLocation):

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItemsForImage:]):
(-[WebActionMenuController _addImageToPhotos:]):
Build a temporary filename from a UUID and the image's desired extension.
Use the Image's encoded data instead of re-encoding it with CGImageDestination.
Build an image menu only if we have an image, URL, data, and extension.

2:51 PM Changeset in webkit [176287] by hyatt@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION(r152313): Inline-block element doesn't wrap properly
https://bugs.webkit.org/show_bug.cgi?id=138846 - <rdar://problem/18838703>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/inline-block/inline-block-empty-spans.html

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::canBreakAtThisPosition):

LayoutTests:

  • fast/inline-block/inline-block-empty-spans-expected.html: Added.
  • fast/inline-block/inline-block-empty-spans.html: Added.
2:45 PM Changeset in webkit [176286] by rniwa@webkit.org
  • 2 edits in branches/safari-600.2-branch/LayoutTests

Add test expectations.

  • platform/mac/TestExpectations:
2:40 PM Changeset in webkit [176285] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

Multicolumn layout with negative line spacing and orphans causes pieces of letters to be shown at the bottom of columns
https://bugs.webkit.org/show_bug.cgi?id=138204

Source/WebCore:

Reviewed by Dave Hyatt.

This code is responsible for pushing block elements to the next column if
the "orphans" CSS property is triggered. The mechanism by which this is
achieved is to push the block down such that the origin of the block is
at the origin of the next column. However, if there is negative line
spacing, the top portion of the text might actually be on top of the
origin of the block. Therefore, the block wasn't being pushed down enough
to entirely contain its text, so the top pieces were being drawn on the
previous column.

Test: fast/multicol/orphans-negative-line-spacing.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::adjustLinePositionForPagination):

LayoutTests:

Patch by Myles C. Maxfield <litherum@gmail.com> on 2014-11-18
Reviewed by Dave Hyatt.

Create a layout where the "orphans" css property causes a block element to
be pushed to the next column.

  • fast/multicol/orphans-negative-line-spacing-expected.html: Added.
  • fast/multicol/orphans-negative-line-spacing.html: Added.
2:10 PM Changeset in webkit [176284] by dburkart@apple.com
  • 6 edits in branches/safari-600.3-branch/Source

Merge r176166. rdar://problem/18953982

2:10 PM Changeset in webkit [176283] by eric.carlson@apple.com
  • 5 edits in trunk/Source/WebKit2

[iOS] allow host application to opt-out of alternate fullscreen
https://bugs.webkit.org/show_bug.cgi?id=138787

Reviewed by Sam Weinig.

"allowsAlternateFullscreen" doesn't need to be in the public WKWebView header.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]): allowsAlternateFullscreen -> _allowsAlternateFullscreen.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.h: Remove allowsAlternateFullscreen.
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration _allowsAlternateFullscreen]): New.
(-[WKWebViewConfiguration _setAllowsAlternateFullscreen:]): New.

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Declare _allowsAlternateFullscreen.
2:05 PM Changeset in webkit [176282] by Chris Dumez
  • 3 edits
    2 adds in trunk

DOMTimers sometimes don't get unthrottled on scrolling
https://bugs.webkit.org/show_bug.cgi?id=138838

Reviewed by Antti Koivisto.

Source/WebCore:

DOMTimers sometimes didn't get unthrottled on scrolling. This is
because we stopped listening for viewport changes every time the
timer fires, but we didn't listen for those changes again if we
decided the timer should stay throttled after the timer's action
was executed.

We should listen for viewport changes again after executing the
timer's action, if there are elements outside the viewport causing
the DOMTimer to be throttled, even if the throttleState hasn't
changed (i.e the timer stays throttled).

Test: fast/dom/timer-unthrottle-on-scroll.html

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::updateThrottlingStateIfNecessary):
(WebCore::DOMTimer::updateTimerIntervalIfNecessary):
(WebCore::DOMTimer::updateThrottlingStateAfterViewportChange):

LayoutTests:

Add a layout test to verify that DOMTimers get unthrottled on scroll if
the element whose style they are changing is inside the viewport after
the scroll.

  • fast/dom/timer-unthrottle-on-scroll-expected.txt: Added.
  • fast/dom/timer-unthrottle-on-scroll.html: Added.
1:28 PM Changeset in webkit [176281] by dburkart@apple.com
  • 28 edits
    1 copy in branches/safari-600.3-branch/Source

Merge r176164. rdar://problem/18953982

1:01 PM Changeset in webkit [176280] by dburkart@apple.com
  • 21 edits in branches/safari-600.3-branch/Source

Merge r176108. rdar://problem/19005904

12:59 PM Changeset in webkit [176279] by Csaba Osztrogonác
  • 4 edits in trunk/Tools

Remove the WinCairo buildbot
https://bugs.webkit.org/show_bug.cgi?id=138805

Reviewed by Alex Christensen.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(appendCustomBuildFlags):

  • BuildSlaveSupport/test-result-archive:

(archiveTestResults):

12:56 PM Changeset in webkit [176278] by dbates@webkit.org
  • 8 edits in trunk/Source/WebCore

[iOS] Make WebCore build and link with public SDK
https://bugs.webkit.org/show_bug.cgi?id=136487

Patch by Daniel Bates <dbates@webkit.org> on 2014-11-18
Reviewed by David Kilzer.

  • bindings/objc/DOMInternal.mm: Include header NSMapTableSPI.h.
  • bindings/objc/WebScriptObject.mm: Ditto; Also fix style nit, substitute

#import for #include when importing header WTFString.h.

  • bridge/objc/objc_instance.mm: Include header NSMapTableSPI.h and remove

#import NSMapTable.h as the former will import the latter.

  • platform/ios/PlatformEventFactoryIOS.mm: Include header wtf/CurrentTime.h

for the declaration of WTF::currentTime().

  • platform/ios/wak/WebCoreThread.mm: Remove unnecessary include of header CoreFoundation/CFPriv.h.
  • platform/spi/ios/AVKitSPI.h: Add more SPI.
  • platform/spi/ios/MPAVRoutingControllerSPI.h: Ditto.
12:12 PM Changeset in webkit [176277] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed. Updated the install instruction.

  • Install.md:
12:04 PM Changeset in webkit [176276] by mmaxfield@apple.com
  • 21 edits
    1 copy
    1 add in trunk/Source

Subclass CachedFont for SVG fonts
https://bugs.webkit.org/show_bug.cgi?id=138686

Reviewed by Simon Fraser.

Re-landing due to flakey bots.

Source/WebCore:

CachedFont had many #if ENABLE(SVG_FONTS) scattered throughout it.
Splitting out this SVG-specific code into a subclass of CachedFont
cleans up the design.

No new tests because there is no behavior change.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::getFontData): There are two sections
in this function; one for SVG fonts and one for regular fonts.
I've moved these two sections into CachedFont and SVGCachedFont,
thereby simplifying this function.
(WebCore::CSSFontFaceSource::ensureFontData): Ditto.
(WebCore::CSSFontFaceSource::svgFontFaceElement): Moved to header.
(WebCore::CSSFontFaceSource::setSVGFontFaceElement): Ditto.
(WebCore::CSSFontFaceSource::isSVGFontFaceSource): Ditto.

  • css/CSSFontFaceSource.h: Put functions that are simple enough to

be inlined here.

  • css/CSSFontFaceSrcValue.cpp:

(WebCore::CSSFontFaceSrcValue::isSVGFontTarget): Convenience
function.
(WebCore::CSSFontFaceSrcValue::cachedFont): Pass through a boolean
from CSSFontSelector to CachedResourceHandle regarding if we should
be using SVGCachedFont instead of CachedFont.

  • css/CSSFontFaceSrcValue.h: New convenience function.
  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::addFontFaceRule): Pass through a boolean

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResourceType): Update for new
CachedResource type
(WebCore::cachedResourcesForFrame): Ditto.

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::CachedFont):
(WebCore::CachedFont::ensureCustomFontData): Taken from
CSSFontFaceSource::getFontData()
(WebCore::CachedFont::getFontData): Ditto.
(WebCore::CachedFont::platformDataFromCustomData): Ditto.
(WebCore::CachedFont::ensureSVGFontData): Moved to SVGCachedFont.
(WebCore::CachedFont::getSVGFontById): Ditto.

  • loader/cache/CachedFont.h:
  • loader/cache/CachedResource.cpp:

(WebCore::defaultPriorityForResourceType): Update for new enum
type.

  • loader/cache/CachedResource.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::createResource): Takes new boolean.
(WebCore::CachedResourceLoader::requestFont): Ditto.
(WebCore::CachedResourceLoader::checkInsecureContent): Update for
new enum type
(WebCore::CachedResourceLoader::canRequest): Ditto.

  • loader/cache/CachedResourceLoader.h:
  • loader/cache/CachedSVGFont.cpp: Added.

(WebCore::CachedSVGFont::CachedSVGFont): Moved from
CSSFontFaceSource::getFontData() and CachedFont
(WebCore::CachedSVGFont::getFontData): Ditto.
(WebCore::CachedSVGFont::platformDataFromCustomData): Ditto.
(WebCore::CachedSVGFont::ensureCustomFontData): Ditto.
(WebCore::CachedSVGFont::getSVGFontById): Ditto.
(WebCore::CachedSVGFont::firstFontFace): Ditto.

  • loader/cache/CachedSVGFont.h: Subclass CachedFont.
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::getStatistics): Update for new enum.

  • svg/SVGFontFaceUriElement.cpp:

(WebCore::isSVGFontTarget): Convenience function.
(WebCore::SVGFontFaceUriElement::loadFont): Update for new
boolean.

Source/WebKit2:

Update for enum type.

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::maximumBufferingTime):

11:56 AM Changeset in webkit [176275] by Chris Dumez
  • 21 edits in trunk/Source

Update the Vector API to deal with unsigned types instead of size_t
https://bugs.webkit.org/show_bug.cgi?id=138824

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Update code base to fix build errors related to the typing changes
in the Vector API (size_t -> unsigned).

  • bytecode/PreciseJumpTargets.cpp:
  • replay/EncodedValue.h:

Source/WebCore:

Update code base to fix build errors related to the typing changes
in the Vector API (size_t -> unsigned).

No new tests, no behavior change.

  • WebCore.exp.in:
  • bindings/js/JSDOMBinding.h:

(WebCore::jsArray):

  • bindings/js/JSWebGLRenderingContextCustom.cpp:
  • cssjit/SelectorCompiler.cpp:
  • html/HTMLFormElement.cpp:

(WebCore::removeFromVector):

  • html/parser/HTMLParserIdioms.h:
  • html/parser/XSSAuditor.cpp:

Source/WebKit2:

Update code base to fix build errors related to the typing changes
in the Vector API (size_t -> unsigned).

  • Platform/IPC/ArgumentCoders.h:
  • Platform/IPC/DataReference.h:

Source/WTF:

Update part of the Vector API to deal with unsigned types instead of
size_t. The Vector class is already using unsigned type for its
capacity and size data members. However, the Vector API was never
updated accordingly.

The rest of the Vector API will be ported in follow-up patches to
make the change smaller and more easily reviewable.

  • wtf/Forward.h:
  • wtf/Vector.h:

(WTF::VectorTypeOperations::compare):
(WTF::VectorBufferBase::allocateBuffer):
(WTF::VectorBufferBase::tryAllocateBuffer):
(WTF::VectorBufferBase::shouldReallocateBuffer):
(WTF::VectorBufferBase::reallocateBuffer):
(WTF::VectorBufferBase::capacity):
(WTF::VectorBufferBase::VectorBufferBase):
(WTF::VectorBuffer::VectorBuffer):
(WTF::VectorBuffer::allocateBuffer):
(WTF::VectorBuffer::tryAllocateBuffer):
(WTF::VectorBuffer::shouldReallocateBuffer):
(WTF::VectorBuffer::reallocateBuffer):
(WTF::VectorBuffer::swap):
(WTF::VectorBuffer::swapInlineBuffer):
(WTF::VectorBuffer::swapInlineBuffers):
(WTF::Vector::Vector):
(WTF::Vector::at):
(WTF::Vector::operator[]):
(WTF::OverflowHandler>::find):
(WTF::OverflowHandler>::reverseFind):
(WTF::OverflowHandler>::fill):
(WTF::OverflowHandler>::expandCapacity):
(WTF::OverflowHandler>::tryExpandCapacity):
(WTF::OverflowHandler>::resize):
(WTF::OverflowHandler>::resizeToFit):
(WTF::OverflowHandler>::shrink):
(WTF::OverflowHandler>::grow):
(WTF::OverflowHandler>::reserveCapacity):
(WTF::OverflowHandler>::tryReserveCapacity):
(WTF::OverflowHandler>::reserveInitialCapacity):
(WTF::OverflowHandler>::shrinkCapacity):
(WTF::OverflowHandler>::append):
(WTF::OverflowHandler>::tryAppend):
(WTF::OverflowHandler>::insert):
(WTF::OverflowHandler>::insertVector):
(WTF::OverflowHandler>::remove):
(WTF::OverflowHandler>::reverse):
(WTF::OverflowHandler>::checkConsistency):

  • wtf/text/AtomicString.h:
  • wtf/text/StringImpl.h:

(WTF::StringImpl::adopt):
(WTF::equalIgnoringNullity):

  • wtf/text/StringView.h:

(WTF::append):

  • wtf/text/WTFString.h:
11:32 AM Changeset in webkit [176274] by mmaxfield@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Unreviewed iOS build fix

  • platform/graphics/ios/SimpleFontDataIOS.mm:

(WebCore::SimpleFontData::platformInit):

11:31 AM Changeset in webkit [176273] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix.

  • platform/graphics/ios/SimpleFontDataIOS.mm:

(WebCore::SimpleFontData::platformInit):

11:31 AM Changeset in webkit [176272] by matthew_hanson@apple.com
  • 1 edit
    2 adds in branches/safari-600.2-branch/LayoutTests

Merge missing layout tests which were added to trunk in r175197.
rdar://problem/18976843

  • css3/infinite-word-spacing-expected.txt: Added.
  • css3/infinite-word-spacing.html: Added.
11:24 AM Changeset in webkit [176271] by matthew_hanson@apple.com
  • 1 edit
    2 adds in branches/safari-600.3-branch/LayoutTests

Merge missing layout tests which were added to trunk in r175197.
rdar://problem/18976843

  • css3/infinite-word-spacing-expected.txt: Added.
  • css3/infinite-word-spacing.html: Added.
11:14 AM Changeset in webkit [176270] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merge r175765. rdar://problem/19005917

11:10 AM Changeset in webkit [176269] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WTF

[WinCairo] Compile errors when GStreamer is enabled.
https://bugs.webkit.org/show_bug.cgi?id=137000

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-11-18
Reviewed by Philippe Normand.

MSVC does not allow the keyword default on move constructors and move assignment operators.

  • wtf/gobject/GMainLoopSource.cpp:

(WTF::GMainLoopSource::cancel):
(WTF::GMainLoopSource::socketCallback):

  • wtf/gobject/GMainLoopSource.h:

(WTF::GMainLoopSource::Context::operator=):

11:08 AM Changeset in webkit [176268] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebInspectorUI

Merge r175763. rdar://problem/19005901

10:52 AM Changeset in webkit [176267] by commit-queue@webkit.org
  • 21 edits
    2 deletes in trunk/Source

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

caused many test failures (Requested by litherum on #webkit).

Reverted changeset:

"Subclass CachedFont for SVG fonts"
https://bugs.webkit.org/show_bug.cgi?id=138686
http://trac.webkit.org/changeset/176264

10:14 AM Changeset in webkit [176266] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

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

Not ready yet (Requested by ap on #webkit).

Reverted changeset:

"Update WebKit to build with LLVM TOT"
https://bugs.webkit.org/show_bug.cgi?id=138519
http://trac.webkit.org/changeset/176207

10:05 AM Changeset in webkit [176265] by dbates@webkit.org
  • 15 edits
    6 copies in trunk

[iOS] Libdispatch, Dyld, IOKit, Mach, NSPointerFunctions, MobileGestalt
SPI are not available in public SDK
https://bugs.webkit.org/show_bug.cgi?id=138802

Reviewed by David Kilzer.

Source/WebCore:

Add SPI wrapper headers {Dispatch, DynamicLinker, IOPMLib, MachVM, NSPointerFunctions, MobileGestalt}SPI.h
that forward declare applicable libdispatch, dyld, IOKit, mach, Foundation, MobileGestalt SPI
and use these headers instead of the including private headers corresponding to these libraries/frameworks.

  • WebCore.xcodeproj/project.pbxproj: Add private headers MobileGestaltSPI.h and

MachVMSPI.h, and project headers DynamicLinkerSPI.h, NSPointerFunctionsSPI.h,
DispatchSPI.h and IOPMLibSPI.h. Also, sort files in Xcode project.

  • bindings/objc/DOMInternal.mm: Include header NSPointerFunctionsSPI.h.
  • bridge/objc/objc_instance.mm: Ditto; Also, sort #import directives.
  • platform/cocoa/DisplaySleepDisablerCocoa.cpp: Substitute header IOPMLibSPI.h

for private header IOKit/pwr_mgt/IOPMLib.h.

  • platform/cocoa/MemoryPressureHandlerCocoa.mm: Substitute header DispatchSPI.h

for private header dispatch/private.h.

  • platform/graphics/ios/FontServicesIOS.mm: Substitute header DynamicLinkerSPI.h

for private header mach-o/dyld_priv.h.

  • platform/ios/PlatformScreenIOS.mm: Substitute header MobileGestaltSPI.h for

private header MobileGestalt.h.

  • platform/spi/cocoa/DispatchSPI.h: Added.
  • platform/spi/cocoa/DynamicLinkerSPI.h: Added.
  • platform/spi/cocoa/IOPMLibSPI.h: Added.
  • platform/spi/cocoa/MachVMSPI.h: Added.
  • platform/spi/cocoa/NSPointerFunctionsSPI.h: Added.
  • platform/spi/ios/MobileGestaltSPI.h: Added.

Source/WebKit/mac:

Include headers DispatchSPI.h and MobileGestaltSPI.h instead of including
libdispatch and MobileGestalt headers directly.

  • WebView/WebView.mm:

Source/WebKit2:

Include headers DispatchSPI.h and MachVMSPI.h.h instead of including
libdispatch and Mach headers directly.

  • Platform/mac/SharedMemoryMac.cpp:
  • UIProcess/ios/WebMemoryPressureHandlerIOS.mm:

Tools:

Include header MachVMSPI.h instead of including the private header mach/mach_vm.h.

  • DumpRenderTree/mac/CheckedMalloc.cpp:
10:04 AM Changeset in webkit [176264] by mmaxfield@apple.com
  • 21 edits
    1 copy
    1 add in trunk/Source

Subclass CachedFont for SVG fonts
https://bugs.webkit.org/show_bug.cgi?id=138686

Reviewed by Simon Fraser.

Source/WebCore:

CachedFont had many #if ENABLE(SVG_FONTS) scattered throughout it.
Splitting out this SVG-specific code into a subclass of CachedFont
cleans up the design.

No new tests because there is no behavior change.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::getFontData): There are two sections
in this function; one for SVG fonts and one for regular fonts.
I've moved these two sections into CachedFont and SVGCachedFont,
thereby simplifying this function.
(WebCore::CSSFontFaceSource::ensureFontData): Ditto.
(WebCore::CSSFontFaceSource::svgFontFaceElement): Moved to header.
(WebCore::CSSFontFaceSource::setSVGFontFaceElement): Ditto.
(WebCore::CSSFontFaceSource::isSVGFontFaceSource): Ditto.

  • css/CSSFontFaceSource.h: Put functions that are simple enough to

be inlined here.

  • css/CSSFontFaceSrcValue.cpp:

(WebCore::CSSFontFaceSrcValue::isSVGFontTarget): Convenience
function.
(WebCore::CSSFontFaceSrcValue::cachedFont): Pass through a boolean
from CSSFontSelector to CachedResourceHandle regarding if we should
be using SVGCachedFont instead of CachedFont.

  • css/CSSFontFaceSrcValue.h: New convenience function.
  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::addFontFaceRule): Pass through a boolean

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResourceType): Update for new
CachedResource type
(WebCore::cachedResourcesForFrame): Ditto.

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::CachedFont):
(WebCore::CachedFont::ensureCustomFontData): Taken from
CSSFontFaceSource::getFontData()
(WebCore::CachedFont::getFontData): Ditto.
(WebCore::CachedFont::platformDataFromCustomData): Ditto.
(WebCore::CachedFont::ensureSVGFontData): Moved to SVGCachedFont.
(WebCore::CachedFont::getSVGFontById): Ditto.

  • loader/cache/CachedFont.h:
  • loader/cache/CachedResource.cpp:

(WebCore::defaultPriorityForResourceType): Update for new enum
type.

  • loader/cache/CachedResource.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::createResource): Takes new boolean.
(WebCore::CachedResourceLoader::requestFont): Ditto.
(WebCore::CachedResourceLoader::checkInsecureContent): Update for
new enum type
(WebCore::CachedResourceLoader::canRequest): Ditto.

  • loader/cache/CachedResourceLoader.h:
  • loader/cache/CachedSVGFont.cpp: Added.

(WebCore::CachedSVGFont::CachedSVGFont): Moved from
CSSFontFaceSource::getFontData() and CachedFont
(WebCore::CachedSVGFont::getFontData): Ditto.
(WebCore::CachedSVGFont::platformDataFromCustomData): Ditto.
(WebCore::CachedSVGFont::ensureCustomFontData): Ditto.
(WebCore::CachedSVGFont::getSVGFontById): Ditto.
(WebCore::CachedSVGFont::firstFontFace): Ditto.

  • loader/cache/CachedSVGFont.h: Subclass CachedFont.
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::getStatistics): Update for new enum.

  • svg/SVGFontFaceUriElement.cpp:

(WebCore::isSVGFontTarget): Convenience function.
(WebCore::SVGFontFaceUriElement::loadFont): Update for new
boolean.

Source/WebKit2:

Update for enum type.

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::maximumBufferingTime):

10:04 AM Changeset in webkit [176263] by mmaxfield@apple.com
  • 14 edits
    2 moves in trunk

Use underlining metrics from the font file
https://bugs.webkit.org/show_bug.cgi?id=138762

Patch by Myles C. Maxfield <litherum@gmail.com> on 2014-11-18
Reviewed by Dave Hyatt.

Source/WebCore:

Test: platform/mac/fast/css3-text/css3-text-decoration/text-decoration-thickness.html

  • platform/graphics/FontMetrics.h: Adding variables for text decoration thickness and

underline position.
(WebCore::FontMetrics::FontMetrics):
(WebCore::FontMetrics::decorationThickness):
(WebCore::FontMetrics::setDecorationThickness):
(WebCore::FontMetrics::underlinePosition):
(WebCore::FontMetrics::setUnderlinePosition):

  • platform/graphics/freetype/SimpleFontDataFreeType.cpp:

(WebCore::SimpleFontData::platformInit): Initialize new FontMetrics members.

  • platform/graphics/ios/SimpleFontDataIOS.mm:

(WebCore::SimpleFontData::platformInit): Ditto.

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::platformInit): Ditto.

  • platform/graphics/win/SimpleFontDataCGWin.cpp:

(WebCore::SimpleFontData::platformInit): Ditto.

  • platform/graphics/win/SimpleFontDataCairoWin.cpp:

(WebCore::SimpleFontData::platformInit): Ditto.

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore::SimpleFontData::initGDIFont): Ditto.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration): Use FontMetrics data.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset): Ditto.
(WebCore::visualOverflowForDecorations): Ditto.

  • style/InlineTextBoxStyle.h:

(WebCore::textDecorationStrokeThickness): Deleted.

  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::initializeFontData): Initialize new FontMetrics members.

LayoutTests:

This patch makes underline placement platform-dependent.

  • platform/mac/fast/css3-text/css3-text-decoration/text-decoration-thickness-expected.html: Renamed from LayoutTests/fast/css3-text/css3-text-decoration/text-decoration-thickness-expected.html.
  • platform/mac/fast/css3-text/css3-text-decoration/text-decoration-thickness.html: Renamed from LayoutTests/fast/css3-text/css3-text-decoration/text-decoration-thickness.html.
9:54 AM Changeset in webkit [176262] by hyatt@apple.com
  • 8 edits
    2 adds in trunk

Improve Ruby selection (getting rid of overlap and improving gap filling)
https://bugs.webkit.org/show_bug.cgi?id=138250

Reviewed by Dean Jackson.

Source/WebCore:

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::blockSelectionGaps):
Add Ruby text in along with the Ruby base.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::inlineSelectionGaps):
Don't let block gaps get filled in here.

  • rendering/RenderRubyBase.h:

Expose accessor to the ruby run.

  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::rubyRun):

  • rendering/RenderRubyText.h:

Add accessor to the ruby run.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Improve selectionTop and selectionBottom of ruby bases to avoid the
ruby text. Improve the selectionTop and selectionBottom of ruby texts
to fill the gap up to the previous/next line as appropriate.

LayoutTests:

Added fast/repaint/selection-ruby-rl.html

  • fast/repaint/selection-ruby-rl-expected.txt: Added.
  • fast/repaint/selection-ruby-rl.html: Added.
9:45 AM Changeset in webkit [176261] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

crypto: Use sequence<> instead of KeyUsage[] in IDL.
https://bugs.webkit.org/show_bug.cgi?id=138823

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-11-18
Reviewed by Darin Adler.

Use sequence<KeyUsage> instead of KeyUsage[] in crypto IDL as per spec: https://dvcs.w3.org/hg/webcrypto-api/raw-file/tip/spec/
Overview.html#SubtleCrypto-method-generateKey

No new tests, no behavior change.

  • crypto/SubtleCrypto.idl:
9:21 AM Changeset in webkit [176260] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix after /webkit2/WebKitWebView/default-context r176256.

Forgot to fix this test before landing.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(testWebViewDefaultContext):

8:31 AM Changeset in webkit [176259] by Philippe Normand
  • 10 edits in trunk/Source/WebCore

HRTFDatabaseLoader is not an absolute condition to run audioContext
https://bugs.webkit.org/show_bug.cgi?id=138829

Reviewed by Jer Noble.

This patch is a port of the following Blink revision by
<keonho07.kim@samsung.com>:
<https://src.chromium.org/viewvc/blink?revision=167887&view=revision>

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::isRunnable): Deleted.

  • Modules/webaudio/AudioContext.h:

(WebCore::AudioContext::hrtfDatabaseLoader): Deleted.

  • Modules/webaudio/AudioDestinationNode.cpp:

(WebCore::AudioDestinationNode::render):

  • Modules/webaudio/OfflineAudioDestinationNode.cpp:

(WebCore::OfflineAudioDestinationNode::offlineRender):

  • Modules/webaudio/PannerNode.cpp:

(WebCore::PannerNode::PannerNode):
(WebCore::PannerNode::process):
(WebCore::PannerNode::initialize):
(WebCore::PannerNode::setPanningModel):

  • Modules/webaudio/PannerNode.h:
  • Modules/webaudio/RealtimeAnalyser.cpp:
  • Modules/webaudio/RealtimeAnalyser.h:
  • platform/audio/HRTFDatabaseLoader.cpp:

(WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):

8:09 AM Changeset in webkit [176258] by commit-queue@webkit.org
  • 29 edits
    5 deletes in trunk

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

seems to have caused regressions on the perf bots (Requested
by lajava on #webkit).

Reverted changeset:

"[CSS Grid Layout] Upgrade align-self and align-items parsing
to CSS 3"
https://bugs.webkit.org/show_bug.cgi?id=133359
http://trac.webkit.org/changeset/176218

7:24 AM Changeset in webkit [176257] by mihnea@adobe.com
  • 5 edits in trunk/LayoutTests

fast/multicol/newmulticol tests use a non-existent resource
https://bugs.webkit.org/show_bug.cgi?id=138800

Reviewed by Andrei Bucur.

Fix path in tests.

  • fast/multicol/newmulticol/compare-with-old-impl/shrink-to-column-height-for-pagination-expected.html:
  • fast/multicol/newmulticol/compare-with-old-impl/shrink-to-column-height-for-pagination.html:
  • fast/multicol/newmulticol/float-multicol-expected.html:
  • fast/multicol/newmulticol/float-multicol.html:
6:19 AM Changeset in webkit [176256] by Carlos Garcia Campos
  • 31 edits in trunk

[GTK] Add API to create a WebKitWebContext
https://bugs.webkit.org/show_bug.cgi?id=138826

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

We have always used a default web context without providing API to
create others. The main reason was that nobody requested it and we
haven't needed it either. The main problem of the default web
context is that you can't configure anything during
construction. This hasn't been a problem so far because all the
web context configuration we expose in the API can be configured
after construction. But now we need to expose API to allow the
user to configure the local storage directory, which is a
construct only configuration. The default web context was also a
problem for our unit tests, because sharing the same context made
it difficult to ensure tests cases are independent to each other.

  • UIProcess/API/gtk/WebKitGeolocationProvider.cpp:

(WebKitGeolocationProvider::~WebKitGeolocationProvider): Reset the
provider to avoid crashes when web context is destroyed and a new
one is created.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextConstructed): Add constructed implementation to
create the WebContext and initialize it.
(webkitWebContextDispose): Detach web context clients to avoid
crashes when a client callback is called on a disposed WebKitWebContext.
(webkit_web_context_class_init): Initialize gettext, add
constructed implementation and add the pointer to the vmethods
when creating signals.
(createDefaultWebContext): Simply create a WebKitWebContext.
(webkit_web_context_new): New public method to create a WebKitWebContext.
(injectedBundleFilename): Deleted.

  • UIProcess/API/gtk/WebKitWebContext.h: Add virtual methods for

signals, so that users can inherit from WebKitWebContext and
override the virtual methods.

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.

Tools:

Use a different WebKitWebContext for every test to ensure test
cases are independent to each other. Tests using DBus to
communicate with the injected bundle extension now use a unique
name for the well known DBus name.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestAuthentication.cpp:

(beforeAll): Remove comment about the order of the tests and
move the success test before the failed one now that tests don't
depend on each others.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:

(beforeAll): Remove call to set the web extensions directory,
since this is now done for all test in the Test constructor.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp:

(beforeAll): Do not create a temporary directory, a temporary data
directory is now created for all tests.
(afterAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp:

(testWebKitDOMNodeHierarchyNavigation): Pass the web extension ID
to the web process test runner.
(testWebKitDOMNodeInsertion): Ditto.
(testWebKitDOMNodeTagNames): Ditto.
(beforeAll): Remove call to set the web extensions directory.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNodeFilter.cpp:

(runTest): Pass the web extension ID to the web process test runner.
(beforeAll): Remove call to set the web extensions directory.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMXPathNSResolver.cpp:

(runTest): Pass the web extension ID to the web process test runner.
(beforeAll): Remove call to set the web extensions directory.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:

(createFileAtDestination): Use Test::dataDirectory() as base dir
for temporary files.
(beforeAll): Do not create a temporary directory.
(afterAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestFrame.cpp:

(webkitFrameTestRun): Pass the web extension ID to the web process
test runner.
(beforeAll): Remove call to set the web extensions directory.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp:

(beforeAll): Remove call to set the web extensions directory.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:

(testProcessPerWebView): Use local member instead of global variable.
(testMultiprocessWebViewCreateReadyClose): Ditto.
(beforeAll): Do not connect to initialize-web-extensions, Test now
connects to the signal for all tests and calls a virtual method
that test can override.
(afterAll):
(initializeWebExtensions): Deleted.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp:

(testPrintOperationPrint): Use Test::dataDirectory() as base dir
for temporary files.
(beforeAll): Do not create a temporary directory.
(afterAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:

(beforeAll): Remove call to set the web extensions directory.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:

(beforeAll): Remove comment about the tests order.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:

(testWebExtensionGetTitle): Build the DBus service name using the
web extension ID.
(testDocumentLoadedSignal): Ditto.
(testWebKitWebViewProcessCrashed): Ditto.
(testWebExtensionIsolatedWorld): Ditto.
(beforeAll): Remove initialization-user-data test, since now all
tests are passing user data to the web extension.
(testWebExtensionInitializationUserData): Deleted.
(initializeWebExtensions): Deleted.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFaviconDatabase.cpp:

(testSetDirectory): Use the web context member inherited from Test.
(testClearDatabase): Ditto.
(testGetFaviconURI): Ditto.
(beforeAll): Do not create a temporary directory.
(afterAll):
(webkitFaviconDatabaseFinalizedCallback): Deleted.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp:

(UserContentManagerTest::UserContentManagerTest):
(beforeAll): Remove call to set the web extensions directory.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:

(testWebContextDefault): Check also that a newly create web
context is not the default web context.
(testWebContextSpellChecker): Use the web context member inherited
from Test.
(testWebContextLanguages): Ditto.

  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:

(methodCallCallback): Remove GetInitializationUserData method.
(webkit_web_extension_initialize_with_user_data): Always create
the DBus name using the user data provided.
(makeBusName): Deleted.

  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp:

(webkit_web_extension_initialize_with_user_data): Create the DBus
name using the user data provided.
(webkit_web_extension_initialize): Deleted.

  • TestWebKitAPI/gtk/WebKit2Gtk/TestMain.cpp:

(Test::dataDirectory): Return the temporary data directory.
(removeNonEmptyDirectory): Also remove directories recursively.
(main): Remove the disk cache directory initialization, since this
is now done in the Test constructor.

  • TestWebKitAPI/gtk/WebKit2Gtk/TestMain.h:

(Test::initializeWebExtensionsCallback): Call the virtual method
initializeWebExtensions()
(Test::Test): Create a new WebKitWebContext and initialize it.
(Test::~Test): Disconnect initialize-web-extensions signal.
(Test::initializeWebExtensions): Set the web extensions directory
and user data.

  • TestWebKitAPI/gtk/WebKit2Gtk/WebProcessTestRunner.cpp:

(WebProcessTestRunner::~WebProcessTestRunner): Use nullptr.
(WebProcessTestRunner::runTest): Build the DBus proxy using a
unique name created with the Test web extension ID.
(WebProcessTestRunner::proxy): Deleted.

  • TestWebKitAPI/gtk/WebKit2Gtk/WebProcessTestRunner.h:
  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:

(WebViewTest::WebViewTest): Create the web view with the Test web
context.

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h: Add optional user

content manager parameter to the constructor.

5:53 AM WebKitGTK/2.6.x edited by Ting-Wei Lan
Add another changeset which fix gtk-doc build problem on FreeBSD (diff)
5:40 AM Changeset in webkit [176255] by ChangSeok Oh
  • 2 edits
    1 add in trunk/Tools

[GTK] Mesa build fails over llvm-3.5
https://bugs.webkit.org/show_bug.cgi?id=138825

Reviewed by Gustavo Noronha Silva.

OwningPtr.h have been removed in llvm-3.5. Instread we should use std::unique_ptr for mesa build.

  • gtk/jhbuild.modules:
  • gtk/patches/mesa-gallivm-Fix-build-after-LLVM-commit-211259.patch: Added.
4:51 AM Changeset in webkit [176254] by jdiggs@igalia.com
  • 3 edits
    2 adds in trunk

AX: [ATK] Crash getting the orientation of a MenuListOption after the MenuList was removed from the document
https://bugs.webkit.org/show_bug.cgi?id=138727

Reviewed by Chris Fleizach.

Source/WebCore:

AccessibilityMenuListOption::elementRect() returns the value of the
grandparent MenuList, asserting that the grandparent exists with that
role. But it is possible to have an existing MenuListOption and remove
the element which had been backing that MenuList from the document.
Adding null checks prior to the assertions prevents our crashing if the
parent or grandparent was removed.

Test: platform/gtk/accessibility/combobox-descendants-orientation-crash.html

  • accessibility/AccessibilityMenuListOption.cpp:

(WebCore::AccessibilityMenuListOption::elementRect):

LayoutTests:

  • platform/gtk/accessibility/combobox-descendants-orientation-crash-expected.txt: Added.
  • platform/gtk/accessibility/combobox-descendants-orientation-crash.html: Added.
3:55 AM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
3:55 AM WebKitGTK/2.6.x edited by clopez@igalia.com
(diff)
3:54 AM WebKitGTK/2.6.x edited by clopez@igalia.com
(diff)
3:49 AM Changeset in webkit [176253] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r176252 - [SOUP] [GnuTLS] Don't use a SSL3.0 record version in client hello.
https://bugs.webkit.org/show_bug.cgi?id=138794

Reviewed by Sergio Villar Senin.

It seems that following POODLE many sites incorrectly banned SSL 3.0
record packet versions. Since GnuTLS uses a SSL 3.0 record to
advertise TLS 1.2, they are effectively banning it even if it doesn't
advertise SSL 3.0. That is a server issue, but it can be worked around
by using the modifier %LATEST_RECORD_VERSION.

With this modifier, GnuTLS will use the latest TLS version record
in client hello instead of using the default SSL 3.0.

  • NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp:

(main):

  • WebProcess/EntryPoint/unix/WebProcessMain.cpp:

(main):

2:35 AM WebKitGTK/2.6.x edited by clopez@igalia.com
(diff)
2:32 AM WebKitGTK/2.4.x edited by clopez@igalia.com
(diff)
2:27 AM WebKitGTK/2.6.x edited by clopez@igalia.com
(diff)
2:26 AM WebKitGTK/2.4.x edited by clopez@igalia.com
(diff)
1:32 AM Changeset in webkit [176252] by clopez@igalia.com
  • 3 edits in trunk/Source/WebKit2

[SOUP] [GnuTLS] Don't use a SSL3.0 record version in client hello.
https://bugs.webkit.org/show_bug.cgi?id=138794

Reviewed by Sergio Villar Senin.

It seems that following POODLE many sites incorrectly banned SSL 3.0
record packet versions. Since GnuTLS uses a SSL 3.0 record to
advertise TLS 1.2, they are effectively banning it even if it doesn't
advertise SSL 3.0. That is a server issue, but it can be worked around
by using the modifier %LATEST_RECORD_VERSION.

With this modifier, GnuTLS will use the latest TLS version record
in client hello instead of using the default SSL 3.0.

  • NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp:

(main):

  • WebProcess/EntryPoint/unix/WebProcessMain.cpp:

(main):

Note: See TracTimeline for information about the timeline view.