⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Sep 11, 2014:

10:32 PM Changeset in webkit [173556] by ap@apple.com
  • 3 edits in trunk/LayoutTests

fast/forms/submit-to-blank-multiple-times.html crashes with JSC_slowPathAllocsBetweenGCs
​https://bugs.webkit.org/show_bug.cgi?id=136716

Reviewed by Darin Adler.

This test used a fake timeout handler, which is not needed, because WRT/WKTR do it for you.
Any time the test took over 2 seconds, we would dump and disable waiting for notifyDone,
but the test would still try to open windows after that.

  • fast/forms/submit-to-blank-multiple-times.html:
  • platform/mac/TestExpectations:
10:08 PM Changeset in webkit [173555] by ryuan.choi@gmail.com
  • 3 edits in trunk/Source/WebCore

Unreviewed build fix attempt on windows port since r173553.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
9:53 PM Changeset in webkit [173554] by Brian Burg
  • 29 edits in trunk/Source

Source/JavaScriptCore:
Web Inspector: disambiguate double and integer primitive types in the protocol
​https://bugs.webkit.org/show_bug.cgi?id=136606

Reviewed by Timothy Hatcher.

Right now it's really easy to mix up doubles and integers when serializing or deserializing
values for the inspector protocol. This patch disambiguates setting/getting doubles and integers
so that it is clearer as to which type is intended.

A new InspectorValue::Type is added for Integer types, and the Number type is renamed to Double.
The existing callsites for asNumber/getNumber/setNumber have been fixed.

Address various integration points to make sure the right type tag is assigned to InspectorValues.

  • bindings/ScriptValue.cpp:

(Deprecated::jsToInspectorValue): Make an Integer if the JSValue is Int52 or smaller.

  • inspector/InjectedScriptManager.cpp:

(Inspector::InjectedScriptManager::injectedScriptForObjectId):

  • inspector/InspectorBackendDispatcher.cpp:

(Inspector::InspectorBackendDispatcher::dispatch):
(Inspector::InspectorBackendDispatcher::sendResponse):
(Inspector::InspectorBackendDispatcher::reportProtocolError):
(Inspector::AsMethodBridges::asInteger):
(Inspector::AsMethodBridges::asDouble):
(Inspector::InspectorBackendDispatcher::getInteger):
(Inspector::InspectorBackendDispatcher::getDouble):
(Inspector::AsMethodBridges::asInt): Deleted.
(Inspector::InspectorBackendDispatcher::getInt): Deleted.

  • inspector/InspectorBackendDispatcher.h:
  • inspector/InspectorProtocolTypes.h: Remove the special case for checking int type tags.

(Inspector::Protocol::ArrayItemHelper<int>::Traits::pushRaw):
(Inspector::Protocol::ArrayItemHelper<double>::Traits::pushRaw):
(Inspector::Protocol::BindingTraits<int>::assertValueHasExpectedType): Deleted.

  • inspector/InspectorValues.cpp: Allow integers and doubles to be convertible using asInteger/asDouble.

(Inspector::InspectorValue::asDouble):
(Inspector::InspectorValue::asInteger):
(Inspector::InspectorBasicValue::asDouble):
(Inspector::InspectorBasicValue::asInteger):
(Inspector::InspectorBasicValue::writeJSON):
(Inspector::InspectorValue::asNumber): Deleted.
(Inspector::InspectorBasicValue::asNumber): Deleted.

  • inspector/InspectorValues.h:

(Inspector::InspectorObjectBase::setInteger):
(Inspector::InspectorObjectBase::setDouble):
(Inspector::InspectorArrayBase::pushInteger):
(Inspector::InspectorArrayBase::pushDouble):
(Inspector::InspectorObjectBase::setNumber): Deleted.
(Inspector::InspectorArrayBase::pushInt): Deleted.
(Inspector::InspectorArrayBase::pushNumber): Deleted.

  • inspector/agents/InspectorDebuggerAgent.cpp:

(Inspector::buildObjectForBreakpointCookie):
(Inspector::InspectorDebuggerAgent::breakpointActionsFromProtocol):
(Inspector::parseLocation):
(Inspector::InspectorDebuggerAgent::didParseSource):

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):

  • inspector/scripts/codegen/generator.py: Update emitted code and rebaseline test results.

(Generator.keyed_get_method_for_type):
(Generator.keyed_set_method_for_type):

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • replay/EncodedValue.cpp:

(JSC::EncodedValue::convertTo<double>):
(JSC::EncodedValue::convertTo<float>):
(JSC::EncodedValue::convertTo<int32_t>):
(JSC::EncodedValue::convertTo<int64_t>):
(JSC::EncodedValue::convertTo<uint32_t>):
(JSC::EncodedValue::convertTo<uint64_t>):

Source/WebCore:
Web Inspector: disambiguate integral and real number primitive types in the protocol
​https://bugs.webkit.org/show_bug.cgi?id=136606

Reviewed by Timothy Hatcher.

Update clients of InspectorValue to disambiguate integer and double primitive types.

No new tests, no behavior changed.

  • inspector/InspectorDOMAgent.cpp:

(WebCore::parseColor):
(WebCore::parseQuad):
(WebCore::InspectorDOMAgent::performSearch):

  • inspector/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):

  • inspector/InspectorIndexedDBAgent.cpp:
  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForPoint):
(WebCore::buildObjectForRect):
(WebCore::buildObjectForSize):
(WebCore::appendPathCommandAndPoints):
(WebCore::InspectorOverlay::reset):

  • inspector/InspectorReplayAgent.cpp:

(WebCore::InspectorReplayAgent::replayToPosition):

  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorCSSId::InspectorCSSId):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::didWriteHTML):
(WebCore::InspectorTimelineAgent::didCompleteRecordEntry):

  • inspector/TimelineRecordFactory.cpp:

(WebCore::TimelineRecordFactory::createGenericRecord):
(WebCore::TimelineRecordFactory::createBackgroundRecord):
(WebCore::TimelineRecordFactory::createGCEventData):
(WebCore::TimelineRecordFactory::createFunctionCallData):
(WebCore::TimelineRecordFactory::createProbeSampleData):
(WebCore::TimelineRecordFactory::createGenericTimerData):
(WebCore::TimelineRecordFactory::createTimerInstallData):
(WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
(WebCore::TimelineRecordFactory::createEvaluateScriptData):
(WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
(WebCore::TimelineRecordFactory::createResourceFinishData):
(WebCore::TimelineRecordFactory::createReceiveResourceData):
(WebCore::TimelineRecordFactory::createLayoutData):
(WebCore::TimelineRecordFactory::createParseHTMLData):
(WebCore::TimelineRecordFactory::createAnimationFrameData):
(WebCore::createQuad):

  • inspector/TimelineRecordFactory.h:

(WebCore::TimelineRecordFactory::createWebSocketCreateData):
(WebCore::TimelineRecordFactory::createGenericWebSocketData):

  • page/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::reportViolation):

9:19 PM Changeset in webkit [173553] by ryuan.choi@gmail.com
  • 8 edits
    4 moves in trunk/Source

[EFL][CoordinatedGraphics] Move CoordinatedGraphicsScene and CoordinatedBackingStore to WebKit2
​https://bugs.webkit.org/show_bug.cgi?id=136770

Reviewed by Gyuyoung Kim.

CoordinatedGraphicsScene and CoordinatedBackingStore is only for UIProcess.
This patch moved them from WebCore to WebKit2/UIProcess/CoordinatedGraphics/.

Source/WebCore:

No new tests, no behavior change.

  • PlatformEfl.cmake:

Source/WebKit2:

  • PlatformEfl.cmake:
  • UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp:
  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp: Renamed from Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStore.cpp.
  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h: Renamed from Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedBackingStore.h.
  • UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp: Renamed from Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp.
  • UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.h: Renamed from Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h.
  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  • UIProcess/CoordinatedGraphics/WebView.cpp:
  • UIProcess/efl/WebViewEfl.cpp:
7:27 PM Changeset in webkit [173552] by commit-queue@webkit.org
  • 7 edits in trunk

The overrideMimeType in XMLHttpRequest should throw the exception.
​https://bugs.webkit.org/show_bug.cgi?id=136699

Patch by Shivakumar JM <​shiva.jm@samsung.com> on 2014-09-11
Reviewed by Darin Adler.

Source/WebCore:

No new tests, modifed test http/tests/xmlhttprequest/exceptions.html.

Set XMLHttpRequest::overrideMimeType to throw an "InvalidStateError" exception, if the state is LOADING or DONE.

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::overrideMimeType):

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

LayoutTests:

Added test to check for "InvalidStateError" exception for overrideMimeType.

  • http/tests/xmlhttprequest/exceptions-expected.txt:
  • http/tests/xmlhttprequest/exceptions.html:
6:50 PM Changeset in webkit [173551] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Web Inspector: Occasional ASSERT closing web inspector
​https://bugs.webkit.org/show_bug.cgi?id=136762

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

Source/JavaScriptCore:

It is harmless, and indeed possible to have an empty set of listeners
now that each Page gets its own PageDebugServer instead of a shared
global. So we should replace the null checks with isEmpty checks.
Since nobody was ever returning null, convert to references as well.

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

(Inspector::ScriptDebugServer::dispatchBreakpointActionLog):
(Inspector::ScriptDebugServer::dispatchBreakpointActionSound):
(Inspector::ScriptDebugServer::dispatchBreakpointActionProbe):
(Inspector::ScriptDebugServer::sourceParsed):
(Inspector::ScriptDebugServer::dispatchFunctionToListeners):
(Inspector::ScriptDebugServer::notifyDoneProcessingDebuggerEvents):
(Inspector::ScriptDebugServer::handlePause):
(Inspector::ScriptDebugServer::needPauseHandling): Deleted.

  • inspector/ScriptDebugServer.h:

Source/WebCore:

  • bindings/js/WorkerScriptDebugServer.h:
  • inspector/PageScriptDebugServer.h:
6:04 PM Changeset in webkit [173550] by msaboff@apple.com
  • 2 edits in trunk/Tools

lldb_webkit.py:btjs doesn't work with release builds
​https://bugs.webkit.org/show_bug.cgi?id=136760

Reviewed by Jer Noble.

If we can't get a result calling JSC::ExecState::describeFrame(), try calling the
mangled name _ZN3JSC9ExecState13describeFrameEv. Also cleaned up the handling if
we can't get a valid result from trying either call. In that case, we fallback to
just showing the PC. Also added check for both entry points. If neither is found,
we issue a warning and output the stack trace without JavaScript annotations.

  • lldb/lldb_webkit.py:

(btjs):

5:40 PM Changeset in webkit [173549] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Simplify DOM tree traversal in FrameSelection::setSelectionFromNone()
​https://bugs.webkit.org/show_bug.cgi?id=136763

Reviewed by Ryosuke Niwa.

We only need to traverse the direct children of the Document element to
find the body. The previous code was potentially traversing descendants.
The new code is consistent with Document::body() except that we only
look for an HTMLBodyElement (and ignore HTMLFrameSetElement).

Also update the code to use tighter typing for clarity.

No new tests, no behavior change.

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setSelectionFromNone):

5:32 PM Changeset in webkit [173548] by Chris Fleizach
  • 5 edits in trunk

AX: Size of web view in Safari as reported by AX changes when adding/removing bars is wrong
​https://bugs.webkit.org/show_bug.cgi?id=136756

Reviewed by Beth Dakin.

Source/WebCore:

topContentInset not only seems to push the scroll view's origin down, but it also shrinks its height as well, which
was not accounted for in the original fix.

Modified: platform/mac-wk2/accessibility/content-inset-scrollview-frame.html

  • accessibility/AccessibilityScrollView.cpp:

(WebCore::AccessibilityScrollView::elementRect):

LayoutTests:

  • platform/mac-wk2/accessibility/content-inset-scrollview-frame-expected.txt:
  • platform/mac-wk2/accessibility/content-inset-scrollview-frame.html:
4:12 PM Changeset in webkit [173547] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Fix assert in QuickConsole - main frame execution context path component
​https://bugs.webkit.org/show_bug.cgi?id=136748

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

This can get called for the MainFrame on page navigations.
In such cases we can return a better result from this method.

  • UserInterface/Views/QuickConsole.js:

(WebInspector.QuickConsole.prototype._insertExecutionContextPathComponentForFrame):

3:46 PM Changeset in webkit [173546] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

[Windows] Unreviewed build fix.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::checkVaryingsPacking):

3:19 PM Changeset in webkit [173545] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.11.6

New tag.

3:18 PM Changeset in webkit [173544] by Beth Dakin
  • 6 edits in trunk/Source/WebCore

WebKit scrollbars flash in non-dominant spaces when entering Mission Control
​https://bugs.webkit.org/show_bug.cgi?id=136761
-and corresponding-
rdar://problem/18195616

Reviewed by Tim Horton.

This patch makes our logic about when to call ScrollableArea::contentAreaDidHide/
Show match the logic in AppKit. We only want these notifications when the window
has become both visible and active (or lost both, in the case of hide).

Re-name setIsVisibleInternal() to setIsVisibleAndActiveInternal(), and call it
only when both visibility and active-state have changed.

  • page/FocusController.cpp:

(WebCore::FocusController::setViewState):
(WebCore::FocusController::setIsVisibleAndActiveInternal):
(WebCore::FocusController::setIsVisibleInternal): Deleted.

  • page/FocusController.h:

FocusController::setViewState() is the only place that needs to call
ScrollableArea::contentAreaDidHide/Show, so remove these callers.

  • page/FrameView.cpp:

(WebCore::FrameView::didMoveOnscreen): Deleted.
(WebCore::FrameView::willMoveOffscreen): Deleted.

  • page/FrameView.h:
  • page/Page.cpp:

(WebCore::Page::setIsVisibleInternal):

3:14 PM Changeset in webkit [173543] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.11-branch/Source/WebCore

Merged r173016. <rdar://problem/18120176>

3:08 PM Changeset in webkit [173542] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.11-branch/Source/WebKit2

Roll out r173450. <rdar://problem/17629840>

2:52 PM Changeset in webkit [173541] by msaboff@apple.com
  • 10 edits
    3 adds in trunk/Source

Move JSScope out of JSFunction into separate JSCallee class
​https://bugs.webkit.org/show_bug.cgi?id=136725

Reviewed by Oliver Hunt.

Created new JSCallee class that contains a JSScope*. Changed JSFunction to inherit from
JSCallee.

Source/JavaScriptCore:

Build changes. Added JSCallee.cpp and JSCallee.h.

  • runtime/JSCallee.cpp: Added.

(JSC::JSCallee::create):
(JSC::JSCallee::destroy):
(JSC::JSCallee::JSCallee):
(JSC::JSCallee::finishCreation):
(JSC::JSCallee::visitChildren):
(JSC::JSCallee::getOwnPropertySlot): Pass through wrapper function.
(JSC::JSCallee::getOwnNonIndexPropertyNames): Pass through wrapper function.
(JSC::JSCallee::put): Pass through wrapper function.
(JSC::JSCallee::deleteProperty): Pass through wrapper function.
(JSC::JSCallee::defineOwnProperty): Pass through wrapper function.

  • runtime/JSCallee.h: Added.

(JSC::JSCallee::scope):
(JSC::JSCallee::scopeUnchecked):
(JSC::JSCallee::setScope):
(JSC::JSCallee::createStructure):
(JSC::JSCallee::offsetOfScopeChain):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::JSFunction):
(JSC::JSFunction::addNameScopeIfNeeded):
(JSC::JSFunction::visitChildren):

  • runtime/JSFunction.h:

(JSC::JSFunction::scope): Deleted.
(JSC::JSFunction::scopeUnchecked): Deleted.
(JSC::JSFunction::setScope): Deleted.
(JSC::JSFunction::offsetOfScopeChain): Deleted.

  • runtime/JSFunctionInlines.h:

(JSC::JSFunction::JSFunction):
Changed to reference JSCallee and its methods.

  • runtime/JSType.h: Added JSCallee as a TypeEnum.

Source/WebCore:

  • ForwardingHeaders/runtime/JSCallee.h: New forwarding header.
2:45 PM Changeset in webkit [173540] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

Do the bmalloc.
​https://bugs.webkit.org/show_bug.cgi?id=132629

Reviewed by Michael Saboff.

64-bit only for now, just to try it out.

  • wtf/FastMalloc.cpp:
2:18 PM Changeset in webkit [173539] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix iOS.

  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::checkVaryingsPacking):

1:58 PM Changeset in webkit [173538] by ggaren@apple.com
  • 4 edits in trunk/Source/bmalloc

bmalloc should segregate medium-sized objects by line like it does for small-sized objects
​https://bugs.webkit.org/show_bug.cgi?id=136693

Reviewed by Gavin Barraclough.

4% reduction in heap size on the MallocBench *_memory_warning benchmarks.

No throughput change.

We keep an array of medium allocators, just like our array of small
allocators.

In future, we can simplify the allocation fast path by merging the small
and medium allocator arrays. For now, this is the simplest change that
gets the win.

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::Allocator):
(bmalloc::Allocator::scavenge):
(bmalloc::Allocator::allocateMedium):

  • bmalloc/Allocator.h:
  • bmalloc/Sizes.h:

(bmalloc::Sizes::mediumSizeClassFor):

1:54 PM Changeset in webkit [173537] by commit-queue@webkit.org
  • 5 edits in trunk/LayoutTests

Unreviewed, rolling out r173530.
​https://bugs.webkit.org/show_bug.cgi?id=136757

Unskipped still fail on bots. (Requested by rfong on #webkit).

Reverted changeset:

"Temporary change to determine why some snapshotting tests are
failing only on bots."
​http://trac.webkit.org/changeset/173530

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

Web Inspector: Hide DOM search result highlights when find banner is not showing
​https://bugs.webkit.org/show_bug.cgi?id=136749

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

Match search highlights in TextEditor by only showing the highlight
when the find banner is showing.

  • UserInterface/Views/DOMTreeOutline.css:

(.showing-find-banner .dom-tree-outline .search-result):
(.dom-tree-outline .search-highlight): Deleted.

1:38 PM Changeset in webkit [173535] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

webkitpy test failures from import-w3c-tests
​https://bugs.webkit.org/show_bug.cgi?id=136752

Patch by Rebecca Hauck <​rhauck@adobe.com> on 2014-09-11
Reviewed by Bem Jones-Bey.

This patch fixes a bug in import-w3c-tests where we were appending
the wrong set of files to the copy_list. This also updates the tests
to clear the failures introduced in the patch for bug 135929.

  • Scripts/webkitpy/w3c/test_converter_unittest.py:

(W3CTestConverterTest.test_read_prefixed_property_list):

  • Scripts/webkitpy/w3c/test_parser.py:

(TestParser.analyze_test):
(TestParser.support_files):

  • Scripts/webkitpy/w3c/test_parser_unittest.py:
1:04 PM Changeset in webkit [173534] by fpizlo@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

REGRESSION (r172129): Vine pages load as blank
​https://bugs.webkit.org/show_bug.cgi?id=136655
rdar://problem/18281215

Reviewed by Michael Saboff.

If lastNode is something that is subject to DCE, then removing the Phantom's reference to something
that lastNode references means that the thing being referenced may no longer be kept alive for OSR.
Teach PhantomRemovalPhase that it's only safe to do this if lastNode is a Phantom. That's probably too
conservative, but that's fine since this is mainly just an optimization to make the IR sane to read and
reasonably compact; it's OK if we miss cases here.

  • dfg/DFGPhantomRemovalPhase.cpp:

(JSC::DFG::PhantomRemovalPhase::run):

  • tests/stress/remove-phantom-after-setlocal.js: Added.
12:57 PM Changeset in webkit [173533] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Add site-specific quirk for entering fullscreen on YouTube.com.
​https://bugs.webkit.org/show_bug.cgi?id=136742

Reviewed by Eric Carlson.

YouTube only resizes its <video> content when entering fullscreen after receiving the "webkitfullscreenchange"
event, which is fired once the animation to enter fullscreen completes. This leaves the apparent <video> content
too small during the animation, especially at the beginning of the animation. Add a site-specific hack for
YouTube sites which fires the "webkitfullscreenchange" event synchronously with the beginning of the enter
fullscreen animation. This will cause YouTube to resize their <video> content during the period of time where we
disable screen updates, and makes the enter fullscreen animation seamless.

Add a static utility method, hostIsYouTube(), for the various pieces of this site-specific hack, and expand it
to match youtube.co.uk, youtube.fr, etc.

  • dom/Document.cpp:

(WebCore::hostIsYouTube): Added.
(WebCore::Document::webkitWillEnterFullScreenForElement): Fire fullscreenchange event if hacks are enabled.
(WebCore::Document::webkitDidEnterFullScreenForElement): Don't fire the event if same.
(WebCore::Document::webkitDidExitFullScreenForElement): Use hostIsYouTube().

12:49 PM Changeset in webkit [173532] by jer.noble@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

More unreviewed gardening. Rebaseline some ML expected results.

  • platform/mac-mountainlion/media/video-controls-captions-trackmenu-sorted-expected.txt: Added.
12:37 PM Changeset in webkit [173531] by betravis@adobe.com
  • 11 edits in trunk

[CSS Font Loading] Enable CSS Font Loading on Mac
​https://bugs.webkit.org/show_bug.cgi?id=135473

Reviewed by Antti Koivisto.

Source/JavaScriptCore:

Enable CSS Font Loading in FeatureDefines.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Enable CSS Font Loading in FeatureDefines, and in
RuntimeEnabledFeatures.

Font Loading tests have been toggled back on in the Mac
TestExpectations file.

  • Configurations/FeatureDefines.xcconfig:
  • bindings/generic/RuntimeEnabledFeatures.cpp:

(WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):

Source/WebKit/mac:

Enable CSS Font Loading in FeatureDefines.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Enable CSS Font Loading in FeatureDefines.

  • Configurations/FeatureDefines.xcconfig:

LayoutTests:

Enable tests on the Mac platform. As more platforms
are added, this should move from the tests defaulting
to disabled to the tests defaulting to enabled.

  • platform/mac/TestExpectations: Mark the Font Loading

tests as enabled.

12:34 PM Changeset in webkit [173530] by roger_fong@apple.com
  • 5 edits in trunk/LayoutTests

Temporary change to determine why some snapshotting tests are failing only on bots.
Unskip skipped snapshotting tests and increase the time before we check the plugin state to 10s.

  • platform/mac-wk2/TestExpectations:
  • plugins/snapshotting/set-plugin-size-to-tiny.html:
  • plugins/snapshotting/simple.html:
  • plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image.html:
12:33 PM Changeset in webkit [173529] by ggaren@apple.com
  • 10 edits in trunk/PerformanceTests

Some MallocBench refinements
​https://bugs.webkit.org/show_bug.cgi?id=136750

Reviewed by Sam Weinig.

  • MallocBench/MallocBench/Interpreter.cpp:

(Interpreter::run): Allow for null entries in the object list so that
we can test in modes that exclude large or small allocations.

  • MallocBench/MallocBench/churn.cpp:

(benchmark_churn):

  • MallocBench/MallocBench/flickr.cpp:

(benchmark_flickr):

  • MallocBench/MallocBench/fragment.cpp:

(benchmark_fragment_iterate):

  • MallocBench/MallocBench/list.cpp:

(benchmark_list_allocate):

  • MallocBench/MallocBench/reddit.cpp:

(benchmark_reddit): Updated test runtimes to weight them more equally,
for the sake of arithmetic mean.

  • MallocBench/MallocBench/stress.cpp:

(Object::Object):
(allocate):
(deallocate):
(benchmark_stress): Verify the contents of memory as we go. Also,
force scavenging each time through the loop to test the scavenging path.

  • MallocBench/MallocBench/theverge.cpp:

(benchmark_theverge):

  • MallocBench/MallocBench/tree.cpp:

(benchmark_tree_churn): Re-weighted, as above.

12:26 PM Changeset in webkit [173528] by Chris Dumez
  • 7 edits in trunk/Source/WebCore

Use tighter typing for Document::ownerElement() return value
​https://bugs.webkit.org/show_bug.cgi?id=136746

Reviewed by Ryosuke Niwa.

Use tighter typing for Document::ownerElement() return value at call
sites to increase code readability a bit and allow the compiler to
generate slightly more efficient code in some cases. In particular,
the more efficient HTMLElement::hasTagName(HTMLQualifiedName) is
now called in several cases instead of the one on Node. This bypasses
unnecessary isHTMLElement() checks.

No new tests, no behavior change.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::alternativeTextForWebArea):

  • dom/Document.cpp:

(WebCore::Document::updateLayout):
(WebCore::Document::topDocument):

  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::insertedInto):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollRectToVisible):

  • rendering/RenderView.cpp:

(WebCore::RenderView::paintBoxDecorations):

12:22 PM Changeset in webkit [173527] by roger_fong@apple.com
  • 9 edits in trunk

Check for varying packing restrictions per program instead of per shader.
​https://bugs.webkit.org/show_bug.cgi?id=136585.
<rdar://problem/16308409>.

Reviewed by Dean Jackson.

Covered by webgl/1.0.2/conformance/ogles/GL/build/build_009_to_016.html.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::linkProgram):
Check for varying packing restrictions when linking the program.

  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::checkVaryingsPacking):
Checks varyings shared by both vertex and fragment shaders and makes sure
they satisfy packing restrictions.

Remove varying packing restrictions checks from ANGLE.

  • src/compiler/translator/Compiler.cpp:

(TCompiler::compile):
(TCompiler::enforcePackingRestrictions):

  • src/compiler/translator/ShHandle.h:
  • platform/mac/TestExpectations:
12:20 PM Changeset in webkit [173526] by Joseph Pecoraro
  • 5 edits in trunk/Source/JavaScriptCore

Unreviewed rebaseline of inspector generator test results after r173120.

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
12:12 PM Changeset in webkit [173525] by ggaren@apple.com
  • 3 edits in trunk/Source/bmalloc

Reviewed by Sam Weinig.

Renamed log => retire for clarity.

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::scavenge):
(bmalloc::Allocator::retire):
(bmalloc::Allocator::allocateMedium):
(bmalloc::Allocator::allocateSlowCase):
(bmalloc::Allocator::log): Deleted.

  • bmalloc/Allocator.h:
12:05 PM Changeset in webkit [173524] by ggaren@apple.com
  • 4 edits in trunk/Source/bmalloc

bmalloc: eager scavenge leaves behind a bogus allocator
​https://bugs.webkit.org/show_bug.cgi?id=136743

Reviewed by Sam Weinig.

Be sure to clear the allocator after logging it in the eager scavenge
case, so that we don't later try to allocate out of the lines that we
have thrown away.

We didn't need to do this previously because scavenge would only happen
at thread exit time, after which no further allocation from the per-thread
cache would take place.

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::scavenge):

  • bmalloc/MediumAllocator.h:

(bmalloc::MediumAllocator::clear):

  • bmalloc/SmallAllocator.h:

(bmalloc::SmallAllocator::clear):

11:48 AM Changeset in webkit [173523] by Beth Dakin
  • 9 edits in trunk

Support rubber-banding in sub-frames
​https://bugs.webkit.org/show_bug.cgi?id=136726
-and corresponding-
rdar://problem/10011924

Reviewed by Tim Horton.

Source/WebCore:

Set the appropriate scroll elasticity for all frames! As long as its enabled, sub-
frames want an elasticity of ScrollElasticityAutomatic, which will allow for
latching.

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):

Account for rubber-banding in sub-frames.
(WebCore::FrameView::isScrollableOrRubberbandable):
(WebCore::FrameView::hasScrollableOrRubberbandableAncestor):

This patch also re-names rubberBandingForOverflowScrollEnabled to
rubberBandingForSubScrollableRegionsEnabled

  • page/Settings.in:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::overhangAmount):
(WebCore::RenderLayer::setHasHorizontalScrollbar):
(WebCore::RenderLayer::setHasVerticalScrollbar):

Source/WebKit/mac:

rubberBandingForOverflowScrollEnabled is re-named to
rubberBandingForSubScrollableRegionsEnabled

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

LayoutTests:

  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
11:35 AM Changeset in webkit [173522] by Joseph Pecoraro
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: DOM Tree search highlights are not appearing
​https://bugs.webkit.org/show_bug.cgi?id=136662

Reviewed by Timothy Hatcher.

When performing a search within the DOMTreeContentView all
search results should immediately highlight. When moving
between search results, emphasize the current with a bouncy.
Remember to remove the highlights when the search is changed
or cleared.

  • UserInterface/Views/DOMTreeContentView.js:

(WebInspector.DOMTreeContentView.prototype.performSearch.searchResultsReady):
(WebInspector.DOMTreeContentView.prototype.searchCleared):
Shor or hide highlights when searches change.

(WebInspector.DOMTreeContentView.prototype.revealResult):
(WebInspector.DOMTreeContentView.prototype._revealSearchResult):
Emphasize the highlight when moving to a new current result.

(WebInspector.DOMTreeContentView.prototype._showSearchHighlights):
(WebInspector.DOMTreeContentView.prototype._hideSearchHighlights):
On each affected DOMTreeElement show or hide search highlights.

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight.animationEnded):
(WebInspector.DOMTreeElement.prototype.emphasizeSearchHighlight):
Give a brief bouncy-highlight when told to emphasize the search highlight.

(WebInspector.DOMTreeElement.prototype.updateTitle):
Remove unused and unnecessary style class on each row.

(WebInspector.DOMTreeElement.prototype._highlightSearchResults):
Update the stale code to use new function names and accessors.

  • UserInterface/Views/DOMTreeOutline.css:

(.dom-tree-outline .search-highlight):
Styles for the search highlight match search highlights in the sidebar.

  • UserInterface/Views/Main.css:

(.bouncy-highlight):

  • UserInterface/Views/TextEditor.css:

Move bouncy-highlight to Main.css.

11:29 AM Changeset in webkit [173521] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk/Source/WebCore

Initial implementation of SVG to OTF font converter
​https://bugs.webkit.org/show_bug.cgi?id=136688

Patch by Myles C. Maxfield <​mmaxfield@apple.com> <​litherum@gmail.com> on 2014-09-11
Reviewed by Darin Adler.

This patch creates a new file and new function which turns an SVG font into an OpenType font.
This function is not very full featured, and as such is never called. However, it works with
fonts that only support simple horizontal basic multilingual plane codepoints. It has only
been tested on OS X, and does not have any automated tests. This patch is only jumping off
point, laying the basic groundwork for a more robust font converter.

The goal of this patch is to eventually allow us to delete the codepath with which we draw
text using SVG fonts. Using a native codepath instead will allow for better performance,
security, and code clarity. In my initial benchmarks, using this converter instead of the
SVG codepath is at least a 100x speed improvement (after running for 4 hours I stepped
away from my machine).

No new tests because the function is not ready to be called (yet!)
Initial implementation of SVG to OTF font converter
​https://bugs.webkit.org/show_bug.cgi?id=136688

  • WebCore.xcodeproj/project.pbxproj: Add new file.
  • svg/SVGPathBuilder.h: Single function. Takes a SVGFontElement and returns a byte
  • svg/SVGToOTFFontConversion.cpp: Added.

(WebCore::write32): Write a big-endian Int32.
(WebCore::write16): Write a big-endian Int16.
(WebCore::overwrite32): Overwrite an existing Int32 in a vector (instead of appending)
(WebCore::SVGToOTFFontConverter::GlyphData::GlyphData): Internal class to hold state during
function calls.
(WebCore::roundDownToPowerOfTwo):
(WebCore::SVGToOTFFontConverter::appendCMAPTable): See function name.
(WebCore::SVGToOTFFontConverter::appendHEADTable): Ditto.
(WebCore::clampTo): Used to clamp data types to fit into other data types.
(WebCore::SVGToOTFFontConverter::appendHHEATable): See function name.
(WebCore::SVGToOTFFontConverter::appendHMTXTable): Ditto.
(WebCore::SVGToOTFFontConverter::appendMAXPTable): Ditto.
(WebCore::SVGToOTFFontConverter::appendNAMETable): Ditto.
(WebCore::SVGToOTFFontConverter::appendOS2Table): Ditto.
(WebCore::SVGToOTFFontConverter::appendPOSTTable): Ditto.
(WebCore::isValidStringForCFF): The CFF font format only allows strings with particular
characters in them.
(WebCore::appendCFFValidString): Append a string assuming it's valid to append.
(WebCore::SVGToOTFFontConverter::appendCFFTable): See function name.
(WebCore::SVGToOTFFontConverter::appendVORGTable): Ditto.
(WebCore::writeCFFEncodedNumber): CFF has this wacky encoding scheme for encoding and
decoding numbers.
(WebCore::CFFBuilder::CFFBuilder): Subclass of SVGPathBuilder, which is used for building
CFF CharStrings (which are glyph path representations).
(WebCore::CFFBuilder::updateForConstituentPoint): Invoked for every point in a path, does
things like updates glyph bounding box information.
(WebCore::CFFBuilder::boundingBox): Getter.
(WebCore::transcodeGlyphPaths): SVG path data string -> CFF CharString
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter): Generate internal state ahead of
time before generating any tables.
(WebCore::isFourByteAligned):
(WebCore::calculateChecksum): OTF files have checksums.
(WebCore::SVGToOTFFontConverter::appendTable): Invoked for each entry in the table of
contents of the OTF font.
(WebCore::SVGToOTFFontConverter::convertSVGToOTFFont): Write out the tables.
(WebCore::convertSVGToOTFFont): Entry point.

  • svg/SVGToOTFFontConversion.h: Added.
11:24 AM Changeset in webkit [173520] by jer.noble@apple.com
  • 5 edits in trunk

[EME] REGRESSION(??): test media/encrypted-media/encrypted-media-v2-syntax.html is failing
​https://bugs.webkit.org/show_bug.cgi?id=136723

Source/WebCore:

Reviewed by Eric Carlson.

Update a comment to point to the implemented Working Draft 18 Feburary 2014 version of the spec.

  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::createSession):

LayoutTests:

Update the test to match the implemented Working Draft 18 Feburary 2014 version of the spec.

Reviewed by Eric Carlson.

  • media/encrypted-media/encrypted-media-v2-syntax-expected.txt:
  • media/encrypted-media/encrypted-media-v2-syntax.html:
11:21 AM Changeset in webkit [173519] by jer.noble@apple.com
  • 5 edits in trunk/LayoutTests

Unreviewed gardening. Rebaseline tests and remove duplicate entry from TestExpectations.

  • platform/mac/TestExpectations:
  • platform/mac/media/video-controls-rendering-expected.txt:
  • platform/mac/media/video-display-toggle-expected.txt:
  • platform/mac/media/video-volume-slider-expected.txt:
11:21 AM Changeset in webkit [173518] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

More unreviewed gardening. Rebaseline media/encrypted-media/encrypted-media-can-play-type.html

  • platform/mac/media/encrypted-media/encrypted-media-can-play-type-expected.txt:
11:18 AM Changeset in webkit [173517] by oliver@apple.com
  • 51 edits
    2 moves in trunk/Source/JavaScriptCore

Rename activation to be more in line with spec language
​https://bugs.webkit.org/show_bug.cgi?id=136721

Reviewed by Michael Saboff.

Somewhat bigger than the last one, but still just a rename.

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CallVariant.h:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::isCaptured):
(JSC::CodeBlock::nameForRegister):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::setActivationRegister):
(JSC::CodeBlock::activationRegister):
(JSC::CodeBlock::uncheckedActivationRegister):
(JSC::CodeBlock::needsActivation):

  • bytecode/Instruction.h:
  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedCodeBlock::setActivationRegister):
(JSC::UnlinkedCodeBlock::activationRegister):
(JSC::UnlinkedCodeBlock::hasActivationRegister):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitReturn):

  • bytecompiler/BytecodeGenerator.h:
  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::scope):

  • debugger/DebuggerScope.cpp:

(JSC::DebuggerScope::isFunctionOrEvalScope):

  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::tryGetActivation):
(JSC::DFG::Graph::tryGetRegisters):

  • dfg/DFGGraph.h:
  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • interpreter/CallFrame.cpp:

(JSC::CallFrame::lexicalEnvironment):
(JSC::CallFrame::setActivation):
(JSC::CallFrame::activation): Deleted.

  • interpreter/CallFrame.h:
  • interpreter/Interpreter.cpp:

(JSC::unwindCallFrame):

  • interpreter/Register.h:
  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JIT.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_tear_off_lexical_environment):
(JSC::JIT::emit_op_tear_off_arguments):
(JSC::JIT::emit_op_create_lexical_environment):
(JSC::JIT::emit_op_tear_off_activation): Deleted.
(JSC::JIT::emit_op_create_activation): Deleted.

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_tear_off_lexical_environment):
(JSC::JIT::emit_op_tear_off_arguments):
(JSC::JIT::emit_op_create_lexical_environment):
(JSC::JIT::emit_op_tear_off_activation): Deleted.
(JSC::JIT::emit_op_create_activation): Deleted.

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/Arguments.cpp:

(JSC::Arguments::visitChildren):
(JSC::Arguments::tearOff):
(JSC::Arguments::didTearOffActivation):

  • runtime/Arguments.h:

(JSC::Arguments::offsetOfActivation):
(JSC::Arguments::argument):
(JSC::Arguments::finishCreation):

  • runtime/CommonSlowPaths.cpp:
  • runtime/JSFunction.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::activationStructure):

  • runtime/JSLexicalEnvironment.cpp: Renamed from Source/JavaScriptCore/runtime/JSActivation.cpp.

(JSC::JSLexicalEnvironment::visitChildren):
(JSC::JSLexicalEnvironment::symbolTableGet):
(JSC::JSLexicalEnvironment::symbolTablePut):
(JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames):
(JSC::JSLexicalEnvironment::symbolTablePutWithAttributes):
(JSC::JSLexicalEnvironment::getOwnPropertySlot):
(JSC::JSLexicalEnvironment::put):
(JSC::JSLexicalEnvironment::deleteProperty):
(JSC::JSLexicalEnvironment::toThis):
(JSC::JSLexicalEnvironment::argumentsGetter):

  • runtime/JSLexicalEnvironment.h: Renamed from Source/JavaScriptCore/runtime/JSActivation.h.

(JSC::JSLexicalEnvironment::create):
(JSC::JSLexicalEnvironment::createStructure):
(JSC::JSLexicalEnvironment::JSLexicalEnvironment):
(JSC::asActivation):
(JSC::Register::lexicalEnvironment):
(JSC::JSLexicalEnvironment::registersOffset):
(JSC::JSLexicalEnvironment::tearOff):
(JSC::JSLexicalEnvironment::isTornOff):
(JSC::JSLexicalEnvironment::storageOffset):
(JSC::JSLexicalEnvironment::storage):
(JSC::JSLexicalEnvironment::allocationSize):
(JSC::JSLexicalEnvironment::isValidIndex):
(JSC::JSLexicalEnvironment::isValid):
(JSC::JSLexicalEnvironment::registerAt):

  • runtime/JSObject.h:
  • runtime/JSScope.cpp:

(JSC::abstractAccess):

  • runtime/JSScope.h:

(JSC::ResolveOp::ResolveOp):

  • runtime/JSSymbolTableObject.cpp:
  • runtime/StrictEvalActivation.h:

(JSC::StrictEvalActivation::create):

  • runtime/VM.cpp:
10:20 AM Changeset in webkit [173516] by commit-queue@webkit.org
  • 10 edits in trunk

[WK2] Authentication dialog is displayed for cross-origin XHR
​https://bugs.webkit.org/show_bug.cgi?id=131349

Patch by Youenn Fablet <​youenn.fablet@crf.canon.fr> on 2014-09-11
Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • WebCore.exp.in: Export of isAllowedToAskUserForCredentials.
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::isAllowedToAskUserForCredentials): Replacing clientCredentialPolicy method. Returns true if credentials can be requested to the user.
(WebCore::ResourceLoader::didReceiveAuthenticationChallenge): Updated to use isAllowedToAskUserForCredentials.

  • loader/ResourceLoader.h: Removing clientCredentialPolicy method and adding isAllowedToAskUserForCredentials method.

Source/WebKit2:

Precomputing client credential policy in the Web Process before sending the resource load task to the Network Process.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge): Added an ASSERT to ensure that credential policy is never set to DoNotAskClientForCrossOriginCredentials.

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::scheduleLoad): Precomputing client credential policy to handle the case of cross-origin requests.

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::willSendRequest): Added a TODO to check whether redirections need a specific handling.

LayoutTests:

  • platform/mac-wk2/TestExpectations: Unskipped tests.
9:13 AM Changeset in webkit [173515] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: Children inside a <legend> are not accessible
​https://bugs.webkit.org/show_bug.cgi?id=136735

Reviewed by Mario Sanchez Prada.

Source/WebCore:

The AX children of a <legend> are being hidden currently, which makes it impossible for
VoiceOver to activate control elements inside of a <legend>.
The solution is that legend elements SHOULD be allowed to have children.

Test: accessibility/legend-children-are-visible.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::canHaveChildren):

LayoutTests:

  • accessibility/legend-children-are-visible-expected.txt: Added.
  • accessibility/legend-children-are-visible.html: Added.
9:12 AM Changeset in webkit [173514] by Brent Fulgham
  • 2 edits in trunk/Tools

Blink merge: Speculative fix for windows run-webkit-tests hangs
​https://bugs.webkit.org/show_bug.cgi?id=136727

Reviewed by Csaba Osztrogonác.

Merged from Blink (patch by Dirk Pranke):
<​https://chromium.googlesource.com/chromium/blink/+/0cdd98d44a20c3951562ccf8b08b1fefba8dac67%5E%21/#F0>

  • Scripts/webkitpy/common/system/executive.py:

(Executive.kill_process):

8:03 AM Changeset in webkit [173513] by b.long@cablelabs.com
  • 2 edits in trunk/Source/WebCore

Fix FIXME's in JSTrackCustom now that AudioTrack and VideoTrack exist.
​https://bugs.webkit.org/show_bug.cgi?id=136552

Reviewed by Eric Carlson.

  • bindings/js/JSTrackCustom.cpp:

(WebCore::toTrack): Add casts for AudioTrack and VideoTrack.

5:20 AM Changeset in webkit [173512] by Philippe Normand
  • 2 edits in trunk/LayoutTests

[GTK] Layout Test http/tests/media/hls/video-controls-live-stream.html is flaky
​https://bugs.webkit.org/show_bug.cgi?id=134575

Unreviewed, marked the test as slow.

  • platform/gtk/TestExpectations:
4:24 AM Changeset in webkit [173511] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

Added myself as a committer.

Unreviewed.

  • Scripts/webkitpy/common/config/contributors.json:
1:59 AM Changeset in webkit [173510] by Carlos Garcia Campos
  • 7 edits
    2 deletes in trunk/Source

[GTK] Merge WebKitAuthenticationWidget into WebKitAuthenticationDialog
​https://bugs.webkit.org/show_bug.cgi?id=136700

Reviewed by Sergio Villar Senin.

Source/WebCore:

Remove WebKitAuthenticationWidget. The only reason why we had this
widget separated in WebCore was to share it between WebKit1 and
WebKit2, but now it's only used by WebKitAuthenticationDialog in WebKit2.

  • PlatformGTK.cmake: Remove files from compilation.
  • platform/gtk/WebKitAuthenticationWidget.cpp: Removed.
  • platform/gtk/WebKitAuthenticationWidget.h: Removed.

Source/WebCore/platform/gtk/po:

  • POTFILES.in: Remove WebKitAuthenticationWidget.cpp and add WebKitAuthenticationDialog.cpp.

Source/WebKit2:

Copy WebKitAuthenticationWidget implementation inside
WebKitAuthenticationDialog using a normal GtkBox instead.

  • UIProcess/API/gtk/WebKitAuthenticationDialog.cpp:

(okButtonClicked):
(cancelButtonClicked):
(packTwoColumnLayoutInBox):
(createLabel):
(createEntry):
(webkitAuthenticationDialogInitialize): Remove the
CredentialStorageMode parameter since it's now a member.
(webkitAuthenticationDialogNew): Initialize the
CredentialStorageMode member too.

  • UIProcess/API/gtk/WebKitAuthenticationDialog.h:
1:52 AM Changeset in webkit [173509] by llango.u-szeged@partner.samsung.com
  • 14 edits
    1 delete in trunk

[JavaScriptCore] Fix FTL on platform EFL.
​https://bugs.webkit.org/show_bug.cgi?id=133571

Reviewed by Filip Pizlo.

.:

Revert r169181.

  • Source/cmake/FindLIBCXXABI.cmake: Removed.
  • Source/cmake/OptionsEfl.cmake:

Source/JavaScriptCore:

There are no compact_unwind sections on Linux systems so FTL crashes.
We have to parse eh_frame in FTLUnwindInfo instead of compact_unwind
and get the information for stack unwinding from there.

  • CMakeLists.txt: Revert r169181.
  • ftl/FTLCompile.cpp:

Change section name literals to use SECTION_NAME macro, because of architecture differencies.
(JSC::FTL::mmAllocateCodeSection):
(JSC::FTL::mmAllocateDataSection):
(JSC::FTL::compile):

  • ftl/FTLJITCode.h:

We need the SECTION_NAME macro in FTLCompile and FTLLink, so we define it here.

  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLState.h:
  • ftl/FTLState.cpp:

(JSC::FTL::State::State):

  • ftl/FTLUnwindInfo.h:
  • ftl/FTLUnwindInfo.cpp:

Lift the eh_frame parsing method from LLVM/libcxxabi project and modify it for our purposes.
Parse eh_frame on Linux instead of compact_unwind.
(JSC::FTL::UnwindInfo::parse):

Tools:

  • efl/install-dependencies: Revert r169181.
  • efl/jhbuild.modules: Clone and build a custom branch.

This branch contains some fix for FTL of platform EFL.
The branch is a fork of llvm r206311.

Sep 10, 2014:

11:41 PM Changeset in webkit [173508] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Minibrowser : Shift+Scroll navigate to back or forward url's
​https://bugs.webkit.org/show_bug.cgi?id=136698

Patch by Tanay C <​tanay.c@samsung.com> on 2014-09-10
Reviewed by Gyuyoung Kim.

  • MiniBrowser/efl/main.c: Add functionality to support shift + mouse scroll navigation

(on_mouse_wheel): Added.
(window_free):
(window_create):

9:42 PM Changeset in webkit [173507] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebCore

Use ASSERT instead of ASSERT_WITH_SECURITY_IMPLICATION
​https://bugs.webkit.org/show_bug.cgi?id=136732

Reviewed by Andy Estes.

Since r173458 changed to use static_cast<> with toFoo, ASSERT_WITH_SECURITY_IMPLICATION doesn't
need to be used anymore. ASSERT is enough for it.

  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::SharedWorkerProxy::addToWorkerDocuments):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::document):

9:01 PM Changeset in webkit [173506] by cavalcantii@gmail.com
  • 2 edits in trunk/Source/WebCore

[SVG] Cleanup iterator code in SMILTimeContainer using range-based loop
​https://bugs.webkit.org/show_bug.cgi?id=136720

Reviewed by Filip Pizlo.

No new tests, no change on behavior.

  • svg/animation/SMILTimeContainer.cpp:

(WebCore::SMILTimeContainer::setElapsed):
(WebCore::SMILTimeContainer::updateAnimations):

7:37 PM Changeset in webkit [173505] by saambarati1@gmail.com
  • 13 edits
    1 add in trunk/Source

Web Inspector: Modify the type profiler runtime protocol to transfer some computation into the WebInspector
​https://bugs.webkit.org/show_bug.cgi?id=136500

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

This patch changes the type profiler protocol to the Web Inspector
by moving the work of calculating computed properties that effect the UI
into the Web Inspector. This makes the Web Inspector have control over the
strings it displays as UI elements representing type information to the user
instead of JavaScriptCore deciding on a convention for these strings.
JavaScriptCore now sends enough information to the Web Inspector so that
it can compute the properties JavaScriptCore used to compute.

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):

  • inspector/protocol/Runtime.json:
  • runtime/TypeProfiler.cpp:

(JSC::TypeProfiler::getTypesForVariableAtOffsetForInspector): Deleted.

  • runtime/TypeProfiler.h:
  • runtime/TypeSet.cpp:

(JSC::TypeSet::inspectorTypeSet):
(JSC::StructureShape::leastCommonAncestor):
(JSC::StructureShape::inspectorRepresentation):

  • runtime/TypeSet.h:

Source/WebInspectorUI:

This patch maintains the same UI in the Web Inspector for displaying
type information, but now accounts for the new protocol for type profiling.

The Inspector now has a TypeSet class that wraps the TypeDescription
protocol object and creates a simple interface for asking protocol objects
about their type.

  • UserInterface/Controllers/TypeTokenAnnotator.js:

(WebInspector.TypeTokenAnnotator.prototype._insertTypeTokensForEachNode):

  • UserInterface/Main.html:
  • UserInterface/Models/TypeSet.js: Added.

(WebInspector.TypeSet):
(WebInspector.TypeSet.fromPayload):
(WebInspector.TypeSet.prototype.isContainedIn):

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation.handler):
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation):

  • UserInterface/Views/TypePropertiesSection.js:

(WebInspector.TypePropertiesSection.prototype.onpopulate):
(WebInspector.TypePropertyTreeElement.prototype.onpopulate):

  • UserInterface/Views/TypeTokenView.js:

(WebInspector.TypeTokenView.prototype.update):
(WebInspector.TypeTokenView.prototype._shouldShowPopover):
(WebInspector.TypeTokenView.prototype._displayTypeName):

6:47 PM Changeset in webkit [173504] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

Fix the build.

  • platform/network/ResourceHandle.h:
  • platform/network/mac/ResourceHandleMac.mm:
6:25 PM Changeset in webkit [173503] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Minibrowser : Add tooltip for toolbar buttons in Minibrowser
​https://bugs.webkit.org/show_bug.cgi?id=136284

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

  • MiniBrowser/efl/main.c:

(window_create):

5:50 PM Changeset in webkit [173502] by mmaxfield@apple.com
  • 6 edits in trunk/Source/WebCore

Delete class SavedDrawingStateForMask
​https://bugs.webkit.org/show_bug.cgi?id=136498

Patch by Myles C. Maxfield <​mmaxfield@apple.com> <​litherum@gmail.com> on 2014-09-09
Reviewed by Darin Adler.

This class is left over from when text-decoration-skip: ink used
GraphicsContext masking.

No new tests because there is no behavior change.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::applyShadowToGraphicsContext):

  • rendering/InlineTextBox.h:
  • rendering/TextPainter.cpp:

(WebCore::TextPainter::TextPainter):
(WebCore::paintTextWithShadows):
(WebCore::TextPainter::paintText):

  • rendering/TextPainter.h:

(WebCore::SavedDrawingStateForMask::SavedDrawingStateForMask): Deleted.

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paintTextWithShadows):

5:47 PM Changeset in webkit [173501] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

Call setCollectsTimingData only once, and before making any {CF,NS}URLConnections
​https://bugs.webkit.org/show_bug.cgi?id=136731
<rdar://problem/18252844>

Reviewed by Simon Fraser.

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::start):
Move setCollectsTimingData to before createCFURLConnection, so the first connection
has timing data associated with it.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::createNSURLConnection):
Move setCollectsTimingData to before we create our NSURLConnection, so the first connection
has timing data associated with it.
Use setCollectsTimingData instead of the NSURLConnection SPI directly.

(WebCore::ResourceHandle::setCollectsTimingData):
Only call _setCollectsTimingData once.

5:38 PM Changeset in webkit [173500] by jer.noble@apple.com
  • 12 edits
    3 adds in trunk/LayoutTests

Unreviewed gardening. Rebaseline failing media/video- tests broken by r156546.

  • platform/mac/TestExpectations:
  • platform/mac/media/video-controls-captions-trackmenu-localized-expected.txt:
  • platform/mac/media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles-expected.txt: Added.
  • platform/mac/media/video-controls-captions-trackmenu-sorted-expected.txt:
  • platform/mac/media/video-controls-no-scripting-expected.txt: Added.
  • platform/mac/media/video-controls-rendering-expected.png:
  • platform/mac/media/video-controls-rendering-expected.txt:
  • platform/mac/media/video-display-toggle-expected.png:
  • platform/mac/media/video-display-toggle-expected.txt:
  • platform/mac/media/video-empty-source-expected.png:
  • platform/mac/media/video-empty-source-expected.txt:
  • platform/mac/media/video-volume-slider-expected.png:
  • platform/mac/media/video-volume-slider-expected.txt:
  • platform/mac/media/volume-bar-empty-when-muted-expected.txt: Added.
5:25 PM Changeset in webkit [173499] by enrica@apple.com
  • 11 edits in trunk/Source/WebCore

Remove iOS-only -webkit-composition-fill-color CSS property.
​https://bugs.webkit.org/show_bug.cgi?id=136728
rdar://problem/10439154

Reviewed by Tim Horton.

This property is no longer used on iOS.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

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

(WebCore::StyleResolver::applyProperty):

  • editing/EditingStyle.cpp:
  • platform/graphics/Color.h:
  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintCompositionBackground):

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):

  • rendering/style/StyleRareInheritedData.h:
5:01 PM Changeset in webkit [173498] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

import-w3c-tests doesn't handle relative paths to support files in ref files correctly
​https://bugs.webkit.org/show_bug.cgi?id=135929

Patch by Rebecca Hauck <​rhauck@adobe.com> on 2014-09-10
Reviewed by Bem Jones-Bey.

The recent refactor of the W3C test repo falsified a bunch of assmumptions that
were made when this script was originally written with respect to relative paths
in ref files. This patch updates import-w3c-tests to update paths in ref files if
they move relative to the test file.

  • Scripts/webkitpy/w3c/test_converter.py:

(convert_for_webkit):
(_W3CTestConverter.init):
(_W3CTestConverter.convert_reference_relpaths):
(_W3CTestConverter.convert_style_data):
(_W3CTestConverter.convert_attributes_if_needed):

  • Scripts/webkitpy/w3c/test_importer.py:

(TestImporter.find_importable_tests):
(TestImporter.import_tests):

  • Scripts/webkitpy/w3c/test_parser.py:

(TestParser.load_file):
(TestParser.analyze_test):
(TestParser.support_files):

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

Apply ARM64-specific lowering to load/store instructions in offlineasm
​https://bugs.webkit.org/show_bug.cgi?id=136569

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

The standard risc lowering of load/store instructions with base +
immediate offset addresses is to move the offset to a temporary, add the
base to the temporary, and then change the load/store to use the
temporary + 0 immediate offset address. However, on ARM64, base +
register offset addressing mode is available, so it is unnecessary to
perform explicit register additions but it is enough to change load/store
to use base + temporary as the address.

  • offlineasm/arm64.rb: Added arm64LowerMalformedLoadStoreAddresses
4:48 PM Changeset in webkit [173496] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

More unreviewed gardening.

  • Mark tests as WontFix which depend on platform support which will never be added.
  • Fix http/tests/media/video-auth.html by marking it as failing on MountainLion.
  • platform/mac/TestExpectations:
3:44 PM Changeset in webkit [173495] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Re-skip some obsolete EME tests.

  • platform/mac/TestExpectations:
3:41 PM Changeset in webkit [173494] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Eliminate typeof "undefined" checks
​https://bugs.webkit.org/show_bug.cgi?id=136691

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-10
Reviewed by Alexey Proskuryakov.

  • UserInterface/Base/Main.js:

(WebInspector.linkifyURLAsNode):
(WebInspector.linkifyStringAsFragment):

  • UserInterface/Protocol/InspectorBackend.js:

(InspectorBackend.Command.prototype._invokeWithArguments):

  • UserInterface/Views/DataGrid.js:

(WebInspector.DataGrid.prototype.get resizeMethod):

  • UserInterface/Views/NavigationBar.js:

(WebInspector.NavigationBar.prototype.get minimumWidth):

3:22 PM Changeset in webkit [173493] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

Remove ImageSource::ShouldSkipMetadata
​https://bugs.webkit.org/show_bug.cgi?id=136713

Reviewed by Pratik Solanki.

  • platform/graphics/ImageSource.h:
  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::createImageSourceOptions):
(WebCore::imageSourceOptions):
(WebCore::ImageSource::frameSizeAtIndex):
(WebCore::ImageSource::createFrameAtIndex):
(WebCore::ImageSource::frameDurationAtIndex):
Remove ShouldSkipMetadata and users. Nobody ever uses DoNotSkipMetadata.

3:13 PM Changeset in webkit [173492] by Joseph Pecoraro
  • 11 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Fix obscure ESLint warnings and skip directories
​https://bugs.webkit.org/show_bug.cgi?id=136686

Reviewed by Timothy Hatcher.

  • .eslintignore: Added.

Skip directories we do not want ESLint to process.

  • .eslintrc:

Add rules we've seen and sort sections.

  • UserInterface/Controllers/FormatterContentBuilder.js:

(FormatterContentBuilder.prototype._appendIndent):

  • UserInterface/Models/Color.js:
  • UserInterface/Models/DOMNodeStyles.js:

(WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:
  • UserInterface/Views/DOMTreeDataGridNode.js:
  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype.ondelete):
(WebInspector.DOMTreeElement.prototype._insertInLastAttributePosition):
(WebInspector.DOMTreeElement.prototype._distinctClosingTagElement):

  • UserInterface/Views/EditingSupport.js:

(WebInspector.EditingConfig):

  • UserInterface/Views/LayerTreeDataGridNode.js:

(WebInspector.LayerTreeDataGridNode.prototype._makeOutlet):

  • UserInterface/Views/TreeOutline.js:

(TreeOutline.prototype.appendChild):
(TreeOutline.prototype.insertChild):
(TreeOutline.prototype.removeChildAtIndex):
(TreeOutline.prototype.removeChild):
(TreeElement.prototype.expandRecursively):
Fix linter issues.

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

Skip some flaky tests that may be affecting subsequent tests.

  • platform/mac/TestExpectations:
2:52 PM Changeset in webkit [173490] by oliver@apple.com
  • 22 edits
    2 moves in trunk/Source/JavaScriptCore

Rename JSVariableObject to JSEnvironmentRecord to align naming with ES spec
​https://bugs.webkit.org/show_bug.cgi?id=136710

Reviewed by Anders Carlsson.

This is a trivial rename.

(JSC::DFG::clobberize):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLAbstractHeapRepository.cpp:
  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileGetClosureRegisters):

  • jit/JITOpcodes32_64.cpp:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitGetClosureVar):
(JSC::JIT::emitPutClosureVar):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitGetClosureVar):
(JSC::JIT::emitPutClosureVar):

  • llint/LLIntOffsetsExtractor.cpp:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSActivation.cpp:

(JSC::JSActivation::getOwnNonIndexPropertyNames):

  • runtime/JSActivation.h:
  • runtime/JSEnvironmentRecord.cpp: Renamed from Source/JavaScriptCore/runtime/JSVariableObject.cpp.
  • runtime/JSEnvironmentRecord.h: Renamed from Source/JavaScriptCore/runtime/JSVariableObject.h.

(JSC::JSEnvironmentRecord::registers):
(JSC::JSEnvironmentRecord::registerAt):
(JSC::JSEnvironmentRecord::addressOfRegisters):
(JSC::JSEnvironmentRecord::offsetOfRegisters):
(JSC::JSEnvironmentRecord::JSEnvironmentRecord):

  • runtime/JSNameScope.h:
  • runtime/JSSegmentedVariableObject.h:
2:45 PM Changeset in webkit [173489] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.11-branch/Source/WebKit2

Merged r173450. <rdar://problem/17629840>

2:42 PM Changeset in webkit [173488] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

"AVF info: hasOfflineRenderer, board-id check : true" in media/track/track-forced-subtitles-in-band.html
​https://bugs.webkit.org/show_bug.cgi?id=124219

Unreviewed gardening. This skip was made unnecessary after selective filtering was added in r160247.

  • platform/mac/TestExpectations:
2:40 PM Changeset in webkit [173487] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.11-branch/Source/WebCore

Merged r173345. <rdar://problem/17457013>

2:38 PM Changeset in webkit [173486] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

More unreviewed gardening of media/ tests; Move tests into the correct sub-groups and add comments
to test expectations without attached bugzilla bugs (due to WontFix, etc.).

  • platform/mac/TestExpectations:
2:38 PM Changeset in webkit [173485] by matthew_hanson@apple.com
  • 1 move in tags/Safari-600.1.17.1

Rename Tag.

1:40 PM Changeset in webkit [173484] by Beth Dakin
  • 3 edits in trunk/Source/WebCore

​https://bugs.webkit.org/show_bug.cgi?id=136650
Rubber-banding in the DOM view of the WebInspector is really jumpy
-and corresponding-
rdar://problem/18166043

Reviewed by Darin Adler.

This patch implements the ScrollableArea virtual function isRubberBandInProgress()
for RenderLayer, and then uses that to determine whether to clamp the scroll
position in updateScrollInfoAfterLayout().

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::isRubberBandInProgress):
(WebCore::RenderLayer::updateScrollInfoAfterLayout):

  • rendering/RenderLayer.h:
1:34 PM Changeset in webkit [173483] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.1.17-branch/Source

Versioning.

1:32 PM Changeset in webkit [173482] by matthew_hanson@apple.com
  • 1 copy in tags/safari-600.1.17.1

New Tag.

1:30 PM Changeset in webkit [173481] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1.17-branch/Source/WebCore

Merge r173218. rdar://problem/18112559

1:14 PM Changeset in webkit [173480] by Julien Brianceau
  • 3 edits in trunk/Source/JavaScriptCore

[mips] Add missing parts and fix LLINT mips backend
​https://bugs.webkit.org/show_bug.cgi?id=136706

Reviewed by Michael Saboff.

  • llint/LowLevelInterpreter.asm: Fix invalid CalleeSave register number.

Implement initPCRelative and setEntryAddress macros.

  • llint/LowLevelInterpreter32_64.asm: Fix register distribution in

doVMEntry macro.

12:59 PM Changeset in webkit [173479] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

More unreviewed gardening; despite the comment, media/audio-repaint.html is failing on all mac ports, not just on Lion.

  • platform/mac/TestExpectations:
12:26 PM Changeset in webkit [173478] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Remove a workaround in frameIsCompleteAtIndex for a problem that was fixed in Lion
​https://bugs.webkit.org/show_bug.cgi?id=136652

Reviewed by Dan Bernstein.

  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::ImageSource::frameIsCompleteAtIndex):
ImageIO returns the right thing now.

12:15 PM Changeset in webkit [173477] by commit-queue@webkit.org
  • 14 edits in trunk/Source/WebInspectorUI

Web Inspector: Fix ESLint consistent-return warnings
​https://bugs.webkit.org/show_bug.cgi?id=136682

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

  • .eslintrc:
  • UserInterface/Controllers/BranchManager.js:

(WebInspector.BranchManager.prototype.createBranch):

  • UserInterface/Controllers/FrameResourceManager.js:

(WebInspector.FrameResourceManager.prototype._addNewResourceToFrame):

  • UserInterface/Models/DOMNodeStyles.js:

(WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):

  • UserInterface/Views/BoxModelDetailsSectionRow.js:

(WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput):

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement.prototype.showChild):
(WebInspector.DOMTreeElement.prototype._startEditingTarget):
(WebInspector.DOMTreeElement.prototype._startEditing):

  • UserInterface/Views/EditingSupport.js:
  • UserInterface/Views/EventListenerSectionGroup.js:

(WebInspector.EventListenerSectionGroup.prototype._nodeTextOrLink):

  • UserInterface/Views/FrameContentView.js:

(WebInspector.FrameContentView.prototype._showContentViewForIdentifier):

  • UserInterface/Views/NavigationBar.js:

(WebInspector.NavigationBar.prototype.insertNavigationItem):
(WebInspector.NavigationBar.prototype.removeNavigationItem):

  • UserInterface/Views/QuickConsole.js:

(WebInspector.QuickConsole.prototype._insertExecutionContextPathComponentForFrame):

  • UserInterface/Views/Sidebar.js:

(WebInspector.Sidebar.prototype.addSidebarPanel):
(WebInspector.Sidebar.prototype.removeSidebarPanel):

  • UserInterface/Views/TextEditor.js:

(WebInspector.TextEditor.prototype.addStyleClassToLine):
(WebInspector.TextEditor.prototype.removeStyleClassFromLine):
(WebInspector.TextEditor.prototype.toggleStyleClassForLine):

11:58 AM Changeset in webkit [173476] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebCore

Laying out a TextRun using an SVG font is O(n2)
​https://bugs.webkit.org/show_bug.cgi?id=136584

Reviewed by Darin Adler.

Addressing post-commit review from Darin.

No new tests.

  • platform/graphics/Font.h:

(WebCore::Font::treatAsSpace): Un-inline.
(WebCore::Font::treatAsZeroWidthSpace): Ditto.
(WebCore::Font::treatAsZeroWidthSpaceInComplexScript): Ditto.

  • svg/SVGFontData.cpp:

(WebCore::computeNormalizedSpaces): Avoid unnecessary copy.

11:15 AM Changeset in webkit [173475] by roger_fong@apple.com
  • 4 edits in trunk/LayoutTests

Unreviewed. Fix a snapshotting test. Test was incorrect as it assumed the wrong window size.

  • platform/mac-wk2/TestExpectations: Remove some duplicate test expectations.
  • platform/mac-wk2/plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image-expected.txt:
  • plugins/snapshotting/snapshot-plugin-not-quite-blocked-by-image.html:
11:10 AM Changeset in webkit [173474] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Curl] Optimization; avoid reallocating string many times.
​https://bugs.webkit.org/show_bug.cgi?id=136704

Patch by ​peavo@outlook.com <​peavo@outlook.com> on 2014-09-10
Reviewed by Alex Christensen.

Adding individual characters to a string is inefficient, the string will be reallocated each time.

  • platform/network/curl/CookieJarCurl.cpp:

(WebCore::readCurlCookieToken):

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

Versioning.

10:45 AM Changeset in webkit [173472] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Rollout r173446, the skipped tests still fail only on the bots.

  • platform/mac-wk2/TestExpectations:
10:43 AM Changeset in webkit [173471] by matthew_hanson@apple.com
  • 1 copy in branches/safari-600.1.17-branch

New Branch.

10:18 AM Changeset in webkit [173470] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Group all the media expectations together logically.

  • platform/mac/TestExpectations:
9:43 AM Changeset in webkit [173469] by saambarati1@gmail.com
  • 6 edits
    2 adds in trunk/Source/JavaScriptCore

TypeSet needs a mode where it no longer profiles structure shapes
​https://bugs.webkit.org/show_bug.cgi?id=136263

Reviewed by Filip Pizlo.

The TypeSet data structure used to gather as many StructureShape
objects as it encountered during type profiling. But, this meant
that there was no upper limit on how many objects it could allocate.
This patch places a fixed upper bound on the number of StructureShapes
allocated per TypeSet to prevent using too much memory for little gain
in type profiling usefulness.

StructureShape objects are now also aware of when they are created
from Structures which are dictionaries.

In total, this patch lays the final groundwork needed in refactoring
the inspector protocol for the type profiler.

  • runtime/Structure.cpp:

(JSC::Structure::toStructureShape):

  • runtime/TypeProfiler.cpp:

(JSC::TypeProfiler::typeInformationForExpressionAtOffset):

  • runtime/TypeSet.cpp:

(JSC::TypeSet::TypeSet):
(JSC::TypeSet::addTypeInformation):
(JSC::StructureShape::StructureShape):
(JSC::StructureShape::toJSONString):
(JSC::StructureShape::enterDictionaryMode):

  • runtime/TypeSet.h:

(JSC::TypeSet::isOverflown):

  • tests/typeProfiler/dictionary-mode.js: Added.

(wrapper):

  • tests/typeProfiler/driver/driver.js:
  • tests/typeProfiler/overflow.js: Added.

(wrapper.Proto):
(wrapper):

9:35 AM Changeset in webkit [173468] by Antti Koivisto
  • 7 edits in trunk/Source/WebKit2

NetworkResourceLoader cleanups
​https://bugs.webkit.org/show_bug.cgi?id=136701

Reviewed by Darin Adler.

After smashing NetworkResourceLoader together with the clients it can be made nicer.

  • NetworkProcess/NetworkResourceLoadScheduler.cpp:

(WebKit::NetworkResourceLoadScheduler::scheduleLoader):
(WebKit::NetworkResourceLoadScheduler::removeLoader):

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::SynchronousLoadData::SynchronousLoadData):

The original request is now part of the loader.

(WebKit::sendReplyToSynchronousRequest):
(WebKit::NetworkResourceLoader::NetworkResourceLoader):

Instead of copying everything out from NetworkResourceLoadParameters just include the whole thing as a const field.
SanboxExtension construction moves to NetworkResourceLoadParameters::decode()
Stuff that is related to starting the load moves to start().

(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::start):
(WebKit::NetworkResourceLoader::setDefersLoading):

Eliminate m_deferredRequest since we now always remember the original request.

(WebKit::NetworkResourceLoader::cleanup):
(WebKit::NetworkResourceLoader::didConvertHandleToDownload):
(WebKit::NetworkResourceLoader::abort):
(WebKit::NetworkResourceLoader::didReceiveResponseAsync):
(WebKit::NetworkResourceLoader::didFail):
(WebKit::NetworkResourceLoader::willSendRequestAsync):
(WebKit::NetworkResourceLoader::continueWillSendRequest):

Eliminate unnecessary m_suggestedRequestForWillSendRequest.

(WebKit::NetworkResourceLoader::wasBlocked):
(WebKit::NetworkResourceLoader::cannotShowURL):
(WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
(WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
(WebKit::NetworkResourceLoader::receivedCancellation):
(WebKit::NetworkResourceLoader::startBufferingTimerIfNeeded):
(WebKit::NetworkResourceLoader::consumeSandboxExtensions):
(WebKit::NetworkResourceLoader::invalidateSandboxExtensions):
(WebKit::NetworkResourceLoader::sendAbortingOnFailure):

  • NetworkProcess/NetworkResourceLoader.h:

(WebKit::NetworkResourceLoader::originalRequest):
(WebKit::NetworkResourceLoader::currentRequest):
(WebKit::NetworkResourceLoader::sessionID):
(WebKit::NetworkResourceLoader::defersLoading):
(WebKit::NetworkResourceLoader::isLoadingMainResource):
(WebKit::NetworkResourceLoader::request): Deleted.
(WebKit::NetworkResourceLoader::sendAbortingOnFailure): Deleted.

Made private and moved to cpp.

  • NetworkProcess/mac/NetworkDiskCacheMonitor.mm:

(WebKit::NetworkDiskCacheMonitor::NetworkDiskCacheMonitor):

Use original request instead of the current one. This might fix a bug where we didn't use file backing over redirects.

  • Shared/Network/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::decode):

Decode to SanboxExtensions to the actual type rather than a handle.

  • Shared/Network/NetworkResourceLoadParameters.h:
9:22 AM Changeset in webkit [173467] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed, rolling out r173446.
​https://bugs.webkit.org/show_bug.cgi?id=136707

These two tests fail consistently on Mavericks and ML WK2
bots. (Requested by jernoble|laptop on #webkit).

Reverted changeset:

"Unskip two snapshotting tests that work for me consistently
locally."
​http://trac.webkit.org/changeset/173446

9:00 AM Changeset in webkit [173466] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Fix ESLint no-undef warnings
​https://bugs.webkit.org/show_bug.cgi?id=136660

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

  • UserInterface/Models/DOMSearchMatchObject.js:

(WebInspector.DOMSearchMatchObject.prototype._generateClassName):
(WebInspector.DOMSearchMatchObject.titleForDOMNode):

  • UserInterface/Models/Gradient.js:

(WebInspector.Gradient.fromString):

  • UserInterface/Views/CodeMirrorAdditions.js:
  • UserInterface/Views/ReplayDashboardView.js:

(WebInspector.ReplayDashboardView):

8:58 AM Changeset in webkit [173465] by commit-queue@webkit.org
  • 1 edit
    1 add in trunk/Source/WebCore

[Curl] Compile error, CertificateInfo.h is not found.
​https://bugs.webkit.org/show_bug.cgi?id=136703

Patch by ​peavo@outlook.com <​peavo@outlook.com> on 2014-09-10
Reviewed by Alex Christensen.

Curl also needs to implement the CertificateInfo class.

  • platform/network/curl/CertificateInfo.h: Added.

(WebCore::CertificateInfo::CertificateInfo):

8:54 AM Changeset in webkit [173464] by Simon Fraser
  • 7 edits in trunk/Source/WebCore

Clean up some ENABLE(PICTURE_SIZES) stuff, don't change function signatures inside #ifdefs
​https://bugs.webkit.org/show_bug.cgi?id=136654

Reviewed by Darin Adler.

Adding parameters inside an #ifdef makes for unreadable code, so remove some
#if ENABLE(PICTURE_SIZES) related to the preload scanner and always pass the arguments.
Reduced the argument count on some functions by just passing a Document&.

Also fix a couple of uses of #if ENABLE_PICTURE_SIZES.

  • html/HTMLImageElement.h:
  • html/parser/HTMLDocumentParser.cpp:

(WebCore::HTMLDocumentParser::pumpTokenizer):
(WebCore::HTMLDocumentParser::insert):
(WebCore::HTMLDocumentParser::append):
(WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan):

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::TokenPreloadScanner::scan):
(WebCore::HTMLPreloadScanner::scan):

  • html/parser/HTMLPreloadScanner.h:
  • html/parser/HTMLSrcsetParser.cpp:

(WebCore::pickBestImageCandidate):
(WebCore::bestFitSourceForImageAttributes):

  • html/parser/HTMLSrcsetParser.h:
8:51 AM Changeset in webkit [173463] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove unused Console search highlight methods
​https://bugs.webkit.org/show_bug.cgi?id=136661

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

ESLint's no-undef warning complained about some undefined references
in these functions that would have thrown exceptions. Turns out this
code is unused, and we do highlighting in the console separately.

  • UserInterface/Views/ConsoleCommand.js:

(WebInspector.ConsoleCommand.prototype.clearHighlight): Deleted.
(WebInspector.ConsoleCommand.prototype.highlightSearchResults): Deleted.
(WebInspector.ConsoleCommand.prototype.matchesRegex): Deleted.

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl.prototype.clearHighlight): Deleted.
(WebInspector.ConsoleMessageImpl.prototype.highlightSearchResults): Deleted.
(WebInspector.ConsoleMessageImpl.prototype.matchesRegex): Deleted.

8:49 AM Changeset in webkit [173462] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Fix ESLint* no-avoidable-bind warnings
​https://bugs.webkit.org/show_bug.cgi?id=136690

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

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.LocalJSONObject.prototype._children):

  • UserInterface/Views/CSSStyleDetailsSidebarPanel.js:

(WebInspector.CSSStyleDetailsSidebarPanel):

  • UserInterface/Views/LayerTreeSidebarPanel.js:

(WebInspector.LayerTreeSidebarPanel.prototype._updateDataGrid):

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._filterMessages):

  • UserInterface/Views/TextResourceContentView.js:

(WebInspector.TextResourceContentView.prototype.get supplementalRepresentedObjects):

7:59 AM Changeset in webkit [173461] by galpeter@inf.u-szeged.hu
  • 2 edits in trunk/Source/JavaScriptCore

[MIPS] branch32WithPatch missing
​https://bugs.webkit.org/show_bug.cgi?id=136696

Reviewed by Michael Saboff.

Added the missing branch32WithPatch. The implementation
is currently the same as the branchPtrithPatch because
the macro assembler supports only 32 bit MIPS.

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::branch32WithPatch):

7:57 AM Changeset in webkit [173460] by Dániel Bátyai
  • 2 edits in trunk/Source/JavaScriptCore

Fix !ENABLE(DFG_JIT) build
​https://bugs.webkit.org/show_bug.cgi?id=136702

Reviewed by Michael Saboff.

  • bytecode/CallEdgeProfile.h:
7:47 AM Changeset in webkit [173459] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: aria-labelledby is not honoring sub-node text
​https://bugs.webkit.org/show_bug.cgi?id=136689

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Test: accessibility/aria-labelledby-with-descendants.html

When aria-labelledby retrieves the textUnderElements it needs to consider
all sub-children, including focusable content.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::accessibleNameForNode):

LayoutTests:

  • accessibility/aria-labelledby-with-descendants-expected.txt: Added.
  • accessibility/aria-labelledby-with-descendants.html: Added.
6:23 AM Changeset in webkit [173458] by gyuyoung.kim@samsung.com
  • 9 edits in trunk/Source/WebCore

Use toDocument instead of static_cast<Document*>
​https://bugs.webkit.org/show_bug.cgi?id=136694

Reviewed by Andy Estes.

Clean up static_cast<Document*>.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::document):

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::document):

  • bindings/gobject/WebKitDOMPrivate.cpp:

(WebKit::wrap):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::dispatchErrorEvent): Add a line to remove .get().

  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::SharedWorkerProxy::addToWorkerDocuments):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::document):
(WebCore::XMLHttpRequest::open):

3:12 AM Changeset in webkit [173457] by Yusuke Suzuki
  • 13 edits
    2 deletes in trunk/Source/WebCore

Merge CheckingContexts from SelectorCompiler and SelectorChecker
​https://bugs.webkit.org/show_bug.cgi?id=135255

Reviewed by Benjamin Poulain.

In this patch, we merge SelectorChecker::SelectorCheckingContext and SelectorCompiler::CheckingContext.
We expose only SelectorChecker::CheckingContext. That is the same to the old SelectorCompiler::CheckingContext.

In SelectorChecker.cpp, we define SelectorChecker::CheckingContextWithStatus and use it internally.
And we move VisitedMatchType from SelectorChecker.h to SelectorChecker.cpp.

VisitedMatchType is also explicitly used by SelectorCheckerFastPath. However, SelectorCheckerFastPath is now
used only from SelectorQuery (Style resolution algorithm no longer uses it: r171059).
In this patch, we remove SelectorCheckerFastPath since the major cases are covered by CSS JIT.
In RightMostWithIdMatch, Element#matches and multiple selectors querySelector('a, b') cases,
CSS JIT is not used. So dropping fast path affects them. But 1) these cases are rare or 2) the target node
is typically only one since nodes are filtered before matching. So it doesn't have performance regression.

And now since CheckingContextWithStatus is the derived class of CheckingContext, we can use
the same test functions; template parameter is not necessary. It reduces code size.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSAllInOne.cpp:
  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::ruleMatches):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::CheckingContextWithStatus::CheckingContextWithStatus):
(WebCore::SelectorChecker::match):
(WebCore::checkingContextForParent):
(WebCore::SelectorChecker::matchRecursively):
(WebCore::canMatchHoverOrActiveInQuirksMode):
(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::checkScrollbarPseudoClass):

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::CheckingContext::CheckingContext):
(WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext): Deleted.

  • css/SelectorCheckerFastPath.cpp: Removed.
  • css/SelectorCheckerFastPath.h: Removed.
  • css/SelectorCheckerTestFunctions.h:

(WebCore::scrollbarMatchesEnabledPseudoClass):
(WebCore::scrollbarMatchesDisabledPseudoClass):
(WebCore::scrollbarMatchesHoverPseudoClass):
(WebCore::scrollbarMatchesActivePseudoClass):
(WebCore::scrollbarMatchesHorizontalPseudoClass):
(WebCore::scrollbarMatchesVerticalPseudoClass):
(WebCore::scrollbarMatchesDecrementPseudoClass):
(WebCore::scrollbarMatchesIncrementPseudoClass):
(WebCore::scrollbarMatchesStartPseudoClass):
(WebCore::scrollbarMatchesEndPseudoClass):
(WebCore::scrollbarMatchesDoubleButtonPseudoClass):
(WebCore::scrollbarMatchesSingleButtonPseudoClass):
(WebCore::scrollbarMatchesNoButtonPseudoClass):
(WebCore::scrollbarMatchesCornerPresentPseudoClass):

  • css/StyleResolver.h:

(WebCore::checkRegionSelector):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorFragment::appendUnoptimizedPseudoClassWithContext):
(WebCore::SelectorCompiler::addScrollbarPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::addFlagsToElementStyleFromContext):
(WebCore::SelectorCompiler::SelectorCodeGenerator::branchOnResolvingModeWithCheckingContext):
(WebCore::SelectorCompiler::elementIsActiveForStyleResolution):
(WebCore::SelectorCompiler::setElementStyleFromContextIsAffectedByEmptyAndUpdateRenderStyleIfNecessary):
(WebCore::SelectorCompiler::elementIsHoveredForStyleResolution):
(WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::makeElementStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateRequestedPseudoElementEqualsToSelectorPseudoElement):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsScopeRoot):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateMarkPseudoStyleForPseudoElement):

  • cssjit/SelectorCompiler.h:

(WebCore::SelectorCompiler::CheckingContext::CheckingContext): Deleted.

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::SelectorDataList):
(WebCore::SelectorDataList::selectorMatches):
(WebCore::SelectorDataList::executeCompiledSelectorCheckerWithCheckingContext):
(WebCore::isCompiledSelector):
(WebCore::SelectorDataList::compileSelector):
(WebCore::SelectorDataList::execute):

  • dom/SelectorQuery.h:

(WebCore::SelectorDataList::SelectorData::SelectorData):

1:37 AM Changeset in webkit [173456] by commit-queue@webkit.org
  • 8 edits in trunk

[GTK] allow overwriting destination of download
​https://bugs.webkit.org/show_bug.cgi?id=136372

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

Source/WebKit2:

  • UIProcess/API/gtk/WebKitDownload.cpp:

(webkitDownloadGetProperty): Added
(webkit_download_class_init): Install webkitDownloadGetProperty
(webkitDownloadDecideDestinationWithSuggestedFilename): Add
allowOverwrite parameter and set it appropriately
(webkit_download_get_allow_overwrite): Added
(webkit_download_set_allow_overwrite): Added

  • UIProcess/API/gtk/WebKitDownload.h: New API
  • UIProcess/API/gtk/WebKitDownloadClient.cpp:

(decideDestinationWithSuggestedFilename): Pass allowOverwrite to
webkitDownloadDecideDestinationWithSuggestedFilename

  • UIProcess/API/gtk/WebKitDownloadPrivate.h: Add allowOverwrite

parameter to webkitDownloadDecideDestinationWithSuggestedFilename

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: New API

Tools:

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:

(downloadLocalFileSuccessfully): Split from testDownloadLocalFile
(testDownloadLocalFile): Split off downloadLocalFileSuccessfully
(createFileAtDestination): Added
(testDownloadOverwriteDestinationAllowed): Added
(testDownloadOverwriteDestinationDisallowed): Added
(testDownloadLocalFileError): Use new DownloadErrorTest::ExpectedError
(testDownloadRemoteFileError): Use new DownloadErrorTest::ExpectedError
(beforeAll): New tests

12:21 AM Changeset in webkit [173455] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Clean up the WebKit build from unused parameter warning in Webkit2/UIProcess module
​https://bugs.webkit.org/show_bug.cgi?id=136670

Patch by Rohit Kumar <​kumar.rohit@samsung.com> on 2014-09-10
Reviewed by Martin Robinson.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):

Sep 9, 2014:

8:59 PM Changeset in webkit [173454] by jer.noble@apple.com
  • 4 edits in trunk

[MSE] http/tests/media/media-source/mediasource-config-change-mp4-v-bitrate.html failing after r173318
​https://bugs.webkit.org/show_bug.cgi?id=136676

Reviewed by Eric Carlson.

Source/WebCore:

Revert the inadvertant conditional change introduced in r173318.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::setDurationInternal):

LayoutTests:

  • platform/mac/TestExpectations:
5:05 PM Changeset in webkit [173453] by roger_fong@apple.com
  • 4 edits in trunk/Source/WebCore

Unreviewed build fix for Windows.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
4:31 PM Changeset in webkit [173452] by dfarler@apple.com
  • 7 edits in trunk

iOS Simulator: run-webkit-tests chokes on unterminated UTF-8 when writing a test result
​https://bugs.webkit.org/show_bug.cgi?id=135551

Reviewed by Daniel Bates.

Prevent printing invalid Unicode strings going to stderr.
Also, make filesystem.py more tolerant about receiving
Unicode (encoded as UTF-8) when writing to files, in the
rare case that an NSError description will make it to
stderr, such as -[LTRelayController createUniqueApp].

  • LayoutTestRelay/LayoutTestRelay/LTRelayController.m:

(-[LTRelayController launchSimulator]): Removed.
(-[LTRelayController createUniqueApp]):
Don't explicitly try to uninstall the app. It is automatically handled
when installing an app with the same bundle identifier.
(-[LTRelayController start]):
(-[LTRelayController bootDevice]): Removed.
The device already boots as a part of starting the simulator. Attempting
to boot a second time may cause spurious stderr output.

  • Scripts/webkitpy/port/driver.py:

(IOSSimulatorDriver._setup_environ_for_driver):
Explicitly set DEVELOPER_DIR once so xcode-select isn't called.
Open the iOS Simulator once instead of the LayoutTestRelay trying
to do it.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort._get_crash_log):
Make sure stderr is at least an empty string.
(IOSSimulatorPort):
(IOSSimulatorPort.developer_dir):
New property for setting up DEVELOPER_DIR in the driver environment.

4:21 PM Changeset in webkit [173451] by matthew_hanson@apple.com
  • 5 edits in tags/Safari-600.1.22/Source

Versioning.

4:16 PM Changeset in webkit [173450] by enrica@apple.com
  • 5 edits in trunk/Source/WebKit2

REGRESSION (WebKit2): -webkit-touch-callout: none has no effect.
​https://bugs.webkit.org/show_bug.cgi?id=136685
rdar://problem/17629840

Reviewed by Benjamin Poulain.

We need to check if the touch callout is enabled for the element before starting
the long press gesture.
The information about the touch callout is returned together with the rest of data
returned by the InteractionInformationAtPosition.

  • Shared/InteractionInformationAtPosition.cpp:

(WebKit::InteractionInformationAtPosition::encode):
(WebKit::InteractionInformationAtPosition::decode):

  • Shared/InteractionInformationAtPosition.h:

(WebKit::InteractionInformationAtPosition::InteractionInformationAtPosition):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _actionForLongPress]):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPositionInformation):

4:12 PM Changeset in webkit [173449] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.1.22

New Tag.

4:04 PM Changeset in webkit [173448] by mitz@apple.com
  • 3 edits in trunk/Tools

Clean up the MiniBrowser Xcode project
​https://bugs.webkit.org/show_bug.cgi?id=136684

Reviewed by Tim Horton.

  • MiniBrowser/Configurations/Base.xcconfig: Enabled warnings recommended by Xcode 6.
  • MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Removed explicit linking against

WebKit2.framework. Upgraded project file version.

4:03 PM Changeset in webkit [173447] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

3:52 PM Changeset in webkit [173446] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unskip two snapshotting tests that work for me consistently locally.

  • platform/mac-wk2/TestExpectations:
3:47 PM Changeset in webkit [173445] by mitz@apple.com
  • 3 edits in trunk/Source/WebCore

FrameLoader::prepareForHistoryNavigation is unused
​https://bugs.webkit.org/show_bug.cgi?id=136683

Reviewed by Tim Horton.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::prepareForHistoryNavigation): Deleted.

  • loader/FrameLoader.h: Removed the declaration.
2:58 PM Changeset in webkit [173444] by Manuel Rego Casasnovas
  • 4 edits
    4 adds in trunk

[CSS Grid Layout] Ignore ::first-letter pseudo-element
​https://bugs.webkit.org/show_bug.cgi?id=136625

Reviewed by Darin Adler.

Source/WebCore:

According to the spec the ::first-letter pseudo-element do not apply to
grid containers (neither to flexboxes).

Fixed issue in RenderBlock::getFirstLetter() that applies to both grids
and flexboxes. Basically if the grid's or flexbox's container was
defining the ::first-line pseudo-element and the grid or flexbox itself
too, the value from the grid or flexbox was being applied to the items.
Added the proper check to avoid this.

Added two new tests for grid and modified one flexbox test to cover the
issue explained above.

Tests: css3/flexbox/flexbox-ignore-container-firstLetter.html

fast/css-grid-layout/grid-container-ignore-first-letter.html
fast/css-grid-layout/grid-item-first-letter-valid.html

  • rendering/RenderBlock.cpp:

(WebCore::isRenderBlockFlowOrRenderButton): New method refactoring
similar calls through the source code.
(WebCore::RenderBlock::firstLineBlock): Use
isRenderBlockFlowOrRenderButton().
(WebCore::findFirstLetterBlock): Modify it to use
isRenderBlockFlowOrRenderButton() in order to include grids and not only
check flexboxes.
(WebCore::RenderBlock::getFirstLetter): Use
isRenderBlockFlowOrRenderButton().
(WebCore::RenderBlock::updateFirstLetter): Early return if
firstLetterContainer is null (in the case of flexboxes or grids).

LayoutTests:

  • css3/flexbox/flexbox-ignore-container-firstLetter.html: Modify test,

in order to actually check that the ::first-letter in a regular
container is ignored in the flexbox.

  • fast/css-grid-layout/grid-container-ignore-first-letter-expected.txt: Added.
  • fast/css-grid-layout/grid-container-ignore-first-letter.html: Added.
  • fast/css-grid-layout/grid-item-first-letter-valid-expected.txt: Added.
  • fast/css-grid-layout/grid-item-first-letter-valid.html: Added.
2:49 PM Changeset in webkit [173443] by benjamin@webkit.org
  • 12 edits in trunk/Source

Disable the "unreachable-code" warning
​https://bugs.webkit.org/show_bug.cgi?id=136677

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-09-09
Reviewed by Darin Adler.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:

Source/ThirdParty:

  • gtest/xcode/Config/General.xcconfig:

Source/WebInspectorUI:

  • Configurations/Base.xcconfig:

Source/WebKit/mac:

  • Configurations/Base.xcconfig:

Source/WebKit2:

  • Configurations/Base.xcconfig:

Source/WTF:

The warning causes various build errors depending on which Clang you are using.

For example, with recent clangs, it breaks all the ARCHS dependent code like this:

if (sizeof(uintptr_t) == 4)

Something for 32 bits.

else

Somethign for 64 bits.

  • Configurations/Base.xcconfig:
2:43 PM Changeset in webkit [173442] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Cocoa] -[WKBackForwardList backList] contains an unnecessary nil check
​https://bugs.webkit.org/show_bug.cgi?id=136680

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKBackForwardList.mm:

(-[WKBackForwardList backList]): Removed nil check.
(-[WKBackForwardList forwardList]): Ditto.

2:03 PM Changeset in webkit [173441] by benjamin@webkit.org
  • 8 edits
    14 adds in trunk

Add support for :read-write/:read-only matching editable content
​https://bugs.webkit.org/show_bug.cgi?id=136668

Reviewed by Antti Koivisto.

Source/WebCore:

This is the second part of the update of :read-write/:read-only to the latest spec
(​http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting.html#selectors).

The selectors :read-write/:read-only should match elements that are editable. The exact definition is:
"elements that are editing hosts or editable and are neither input elements nor textarea elements".

Matching that definition is really easy. It was done by updating HTMLElement's matchesReadWritePseudoClass()
to consider both contentEditable and designMode.

The tricky part is making that efficient in all cases. Matching contentEditable is horribly inefficient
compared to the other primitives. We don't want to execute that for every element.

Since matchesReadWritePseudoClass() was used by the theming code, that code was adjusted to
-Avoid calling that on regular HTMLElement, limiting the query to <input> and <textarea> where it is fast.
-Avoid the call entirely when possible.

Tests: fast/css/read-only-read-write-contenteditable-basics.html

fast/css/read-only-read-write-designmode-basics.html
fast/css/read-only-read-write-webkit-user-modify.html
fast/selectors/read-only-read-write-contenteditable-basics.html
fast/selectors/read-only-read-write-contenteditable-svg-foreignObject.html
fast/selectors/read-only-read-write-designmode-basics.html
fast/selectors/read-only-read-write-style-update.html

  • html/HTMLElement.cpp:

(WebCore::contentEditableType):
This code is a generalization of the code that was in HTMLElement::contentEditable().
It is used by both matchesReadWritePseudoClass() and contentEditable() to determine
a valid state from the value of contentEditable.

(WebCore::HTMLElement::matchesReadWritePseudoClass):
Per the definition of editable content, we first check if the current element is an editing host,
if not we look for an editing host. If there are none, test for designMode.

(WebCore::HTMLElement::contentEditable):

(WebCore::RenderTheme::isReadOnlyControl):
The old definition would only match <input> and <textarea>. The code was updated to keep the same
behavior after matchesReadWritePseudoClass() is udpated. This avoids the performance problem of calling
matchesReadWritePseudoClass() on regular HTMLElement.

  • platform/ControlStates.h:

ReadOnlyState was only used by ThemeMac for convertControlStatesToThemeDrawState().
In turn, convertControlStatesToThemeDrawState() was only used for painting
"-webkit-inner-spin-button". Buttons are not read-write to begin with.
The whole code looks like legacy from styling of input elements and was removed.

Removing ReadOnlyState removes the expensive part of extractControlStatesForRenderer().

  • html/HTMLElement.h:
  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::readOnlyAttributeChanged):

  • platform/mac/ThemeMac.mm:

(WebCore::convertControlStatesToThemeDrawState):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::extractControlStatesForRenderer):

LayoutTests:

  • fast/css/read-only-read-write-contenteditable-basics-expected.html: Added.
  • fast/css/read-only-read-write-contenteditable-basics.html: Added.
  • fast/css/read-only-read-write-designmode-basics-expected.html: Added.
  • fast/css/read-only-read-write-designmode-basics.html: Added.
  • fast/css/read-only-read-write-webkit-user-modify-expected.txt: Added.
  • fast/css/read-only-read-write-webkit-user-modify.html: Added.
  • fast/selectors/read-only-read-write-contenteditable-basics-expected.txt: Added.
  • fast/selectors/read-only-read-write-contenteditable-basics.html: Added.
  • fast/selectors/read-only-read-write-contenteditable-svg-foreignObject-expected.txt: Added.
  • fast/selectors/read-only-read-write-contenteditable-svg-foreignObject.html: Added.
  • fast/selectors/read-only-read-write-designmode-basics-expected.txt: Added.
  • fast/selectors/read-only-read-write-designmode-basics.html: Added.
  • fast/selectors/read-only-read-write-style-update-expected.txt: Added.
  • fast/selectors/read-only-read-write-style-update.html: Added.
1:56 PM Changeset in webkit [173440] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

[Mac] Unreviewed gardening. Mark two media-source tests as failing.

  • platform/mac/TestExpectations:
1:30 PM Changeset in webkit [173439] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE] media/media-source tests broken after r173318
​https://bugs.webkit.org/show_bug.cgi?id=136675

Reviewed by Eric Carlson.

Fixes the following tests:

http/tests/media/media-source/mediasource-play.html
http/tests/media/media-source/mediasource-remove.html
media/media-source/media-source-monitor-source-buffers.html
media/media-source/media-source-overlapping-append-buffered.html

In r173318, a for loop was converted to a C++11 loop, but in so doing, left
pre-initialized, empty values in the beginning of returned Vector, which caused
the calling algorithm to miscalculate the amount of data buffered by the media
source.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::activeRanges):

1:12 PM Changeset in webkit [173438] by dbates@webkit.org
  • 3 edits in trunk/Tools

svn-{apply, unapply} fails to apply/unapply SVN 1.7 patch that adds new file with property change
​https://bugs.webkit.org/show_bug.cgi?id=136379

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

Fixes an issue where svn-{apply, unapply} fail to apply or unapply, respectively,
a patch generated using Subversion 1.7.4 (r1295709) that both adds a new file F
and sets a property on F (say, the executable bit).

  • Scripts/svn-apply:

(patch): Only add file if the diff has text chunks.

  • Scripts/svn-unapply:

(patch): Only delete added file if the diff has text chunks.

12:51 PM Changeset in webkit [173437] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Fix syntax on some expected failures.

  • platform/mac/TestExpectations:
12:46 PM Changeset in webkit [173436] by Joseph Pecoraro
  • 53 edits in trunk/Source/WebInspectorUI

Web Inspector: Fix ESLint no-trailing-spaces warnings
​https://bugs.webkit.org/show_bug.cgi?id=136657

Reviewed by NOBODY (OOPS!).

  • .eslintrc:
  • UserInterface/Base/DOMUtilities.js:
  • UserInterface/Base/URLUtilities.js:

(relativePath):

  • UserInterface/Base/Utilities.js:
  • UserInterface/Controllers/CodeMirrorColorEditingController.js:

(WebInspector.CodeMirrorColorEditingController.prototype._colorPickerColorChanged):

  • UserInterface/Controllers/CodeMirrorDragToAdjustNumberController.js:

(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.set enabled):
(WebInspector.CodeMirrorDragToAdjustNumberController.prototype.dragToAdjustControllerCanAdjustObjectAtPoint):

  • UserInterface/Controllers/CodeMirrorEditingController.js:

(WebInspector.CodeMirrorEditingController.prototype.handleKeydownEvent):

  • UserInterface/Controllers/CodeMirrorGradientEditingController.js:

(WebInspector.CodeMirrorGradientEditingController.prototype.gradientSliderStopWasSelected):

  • UserInterface/Controllers/CodeMirrorTokenTrackingController.js:

(WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):

  • UserInterface/Controllers/DragToAdjustController.js:

(WebInspector.DragToAdjustController.prototype.set active):
(WebInspector.DragToAdjustController.prototype._setDragging):
(WebInspector.DragToAdjustController.prototype._setTracksMouseClickAndDrag):

  • UserInterface/External/Esprima/esprima.js:
  • UserInterface/Models/ApplicationCacheFrame.js:

(WebInspector.ApplicationCacheFrame):

  • UserInterface/Models/ApplicationCacheManifest.js:

(WebInspector.ApplicationCacheManifest):
(WebInspector.ApplicationCacheManifest.prototype.get manifestURL):

  • UserInterface/Models/CookieStorageObject.js:
  • UserInterface/Models/DOMSearchMatchObject.js:

(WebInspector.DOMSearchMatchObject.prototype.get title):
(WebInspector.DOMSearchMatchObject.titleForDOMNode):

  • UserInterface/Models/DatabaseObject.js:

(WebInspector.DatabaseObject.prototype.getTableNames):

  • UserInterface/Models/DatabaseTableObject.js:

(WebInspector.DatabaseTableObject):

  • UserInterface/Models/Gradient.js:

(WebInspector.Gradient.fromString):
(WebInspector.RadialGradient.prototype.toString):

  • UserInterface/Models/IssueMessage.js:

(WebInspector.IssueMessage.prototype._formatTextIfNecessary):

  • UserInterface/Models/Resource.js:

(WebInspector.Resource.prototype.getImageSize.imageDidLoad):
(WebInspector.Resource.prototype.getImageSize):

  • UserInterface/Models/Script.js:

(WebInspector.Script.prototype._makeSyntaxTree):

  • UserInterface/Models/SourceCodeLocation.js:

(WebInspector.SourceCodeLocation.prototype.hasDifferentDisplayLocation):

  • UserInterface/Models/TextMarker.js:
  • UserInterface/Protocol/PageObserver.js:
  • UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:

(WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.set applicationCacheFrame):
(WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.refresh):
(WebInspector.ApplicationCacheDetailsSidebarPanel.prototype._networkStateUpdated):

  • UserInterface/Views/ApplicationCacheFrameTreeElement.js:

(WebInspector.ApplicationCacheFrameTreeElement):

  • UserInterface/Views/ApplicationCacheManifestTreeElement.js:

(WebInspector.ApplicationCacheManifestTreeElement.prototype.get name):
(WebInspector.ApplicationCacheManifestTreeElement.prototype.get secondaryName):

  • UserInterface/Views/ButtonNavigationItem.js:

(WebInspector.ButtonNavigationItem):

  • UserInterface/Views/ColorPicker.js:
  • UserInterface/Views/ColorWheel.js:

(WebInspector.ColorWheel.prototype._draw):

  • UserInterface/Views/CompletionSuggestionsView.js:

(WebInspector.CompletionSuggestionsView.prototype.show):

  • UserInterface/Views/ConsoleCommand.js:
  • UserInterface/Views/ConsolePrompt.js:
  • UserInterface/Views/ContentFlowTreeElement.js:
  • UserInterface/Views/CookieStorageTreeElement.js:

(WebInspector.CookieStorageTreeElement):

  • UserInterface/Views/EventListenerSectionGroup.js:

(WebInspector.EventListenerSectionGroup.prototype._functionTextOrLink):

  • UserInterface/Views/GeneralTreeElementPathComponent.js:
  • UserInterface/Views/GoToLineDialog.js:

(WebInspector.GoToLineDialog.prototype._handleKeydownEvent):

  • UserInterface/Views/LayerTreeDataGridNode.js:

(WebInspector.LayerTreeDataGridNode.prototype._makeNameCell):

  • UserInterface/Views/LayerTreeSidebarPanel.js:
  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView.prototype._highlightRanges):

  • UserInterface/Views/NavigationBar.js:

(WebInspector.NavigationBar):

  • UserInterface/Views/NavigationItem.js:

(WebInspector.NavigationItem):

  • UserInterface/Views/ResourceDetailsSidebarPanel.js:

(WebInspector.ResourceDetailsSidebarPanel.prototype._refreshImageSizeSection):

  • UserInterface/Views/ScopeBar.js:
  • UserInterface/Views/ScopeBarItem.js:

(WebInspector.ScopeBarItem):

  • UserInterface/Views/ScopeChainDetailsSidebarPanel.js:

(WebInspector.ScopeChainDetailsSidebarPanel):

  • UserInterface/Views/ScriptTimelineDataGridNode.js:

(WebInspector.ScriptTimelineDataGridNode.prototype.updateRangeTimes):

  • UserInterface/Views/ScriptTreeElement.js:

(WebInspector.ScriptTreeElement):

  • UserInterface/Views/SearchBar.js:
  • UserInterface/Views/SearchResultTreeElement.js:

(WebInspector.SearchResultTreeElement.truncateAndHighlightTitle):

  • UserInterface/Views/Slider.js:

Conflicts:

Source/WebInspectorUI/UserInterface/Controllers/CodeMirrorColorEditingController.js

12:28 PM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
12:27 PM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
12:25 PM Changeset in webkit [173435] by clopez@igalia.com
  • 4 edits in trunk

[GTK] Unreviewed GTK gardening.

Tools:

  • Scripts/run-gtk-tests:

(TestRunner): Skip TestSSL:webkit2/WebKitWebView/ssl (fails since r173423).

LayoutTests:

  • platform/gtk/TestExpectations: Report and mark new failures after r173328 and r173418.

Update some expectations for new cases.

12:07 PM Changeset in webkit [173434] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Skip some WebGL tests failing on Mavericks and MountainLion bots.

  • platform/mac/TestExpectations:
11:38 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
11:27 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
10:34 AM Changeset in webkit [173433] by commit-queue@webkit.org
  • 15 edits in trunk/Source/WebInspectorUI

Web Inspector: Fix ESLint eqeqeq warnings
​https://bugs.webkit.org/show_bug.cgi?id=136658

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-09
Reviewed by Andy Estes.

  • UserInterface/Controllers/DOMTreeManager.js:

(WebInspector.DOMTreeManager.prototype.mycallback):
(WebInspector.DOMTreeManager.prototype.searchResult):

  • UserInterface/Models/Breakpoint.js:

(WebInspector.Breakpoint.prototype.clearActions):

  • UserInterface/Models/DOMTree.js:

(WebInspector.DOMTree.prototype._requestRootDOMNode.rootObjectAvailable):
(WebInspector.DOMTree.prototype._requestRootDOMNode.rootDOMNodeAvailable):
(WebInspector.DOMTree.prototype._requestRootDOMNode.dispatchCallbacks):
(WebInspector.DOMTree.prototype._requestRootDOMNode):

  • UserInterface/Models/ProbeSet.js:

(WebInspector.ProbeSet.prototype.removeProbe):

  • UserInterface/Models/ProbeSetDataTable.js:

(WebInspector.ProbeSetDataTable.prototype.addSampleForProbe):

  • UserInterface/Views/CodeMirrorAdditions.js:
  • UserInterface/Views/CookieStorageContentView.js:

(WebInspector.CookieStorageContentView.prototype._filterCookies):
(WebInspector.cookieMatchesResourceURL):

  • UserInterface/Views/DOMStorageContentView.js:

(WebInspector.DOMStorageContentView.prototype._editingCallback):

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement):
(WebInspector.DOMTreeElement.prototype._updateChildren):
(WebInspector.DOMTreeElement.prototype._startEditingTarget):
(WebInspector.DOMTreeElement.prototype._textNodeEditingCommitted):

  • UserInterface/Views/DataGrid.js:

(WebInspector.DataGrid.prototype._resizerDragging):

  • UserInterface/Views/DatabaseContentView.js:

(WebInspector.DatabaseContentView.prototype._queryError):

  • UserInterface/Views/DetailsSectionSimpleRow.js:

(.valueElementClicked):
(WebInspector.DetailsSectionSimpleRow):

  • UserInterface/Views/Slider.js:

(WebInspector.Slider.prototype.get _maxX):

  • UserInterface/Views/TreeOutline.js:

(TreeElement.prototype.expand):

10:31 AM Changeset in webkit [173432] by jonowells@apple.com
  • 7 edits in trunk/Source/WebInspectorUI

Web Inspector: Fix ESLint no-extra-semi
​https://bugs.webkit.org/show_bug.cgi?id=136666

Reviewed by Andy Estes.

Add explicit no-extra-semi rule to .eslintrc. Remove all unnecessary
semicolons as identified by ESLint.

  • .eslintrc:
  • Tools/PrettyPrinting/Formatter.js:

(Formatter):

  • UserInterface/Controllers/Formatter.js:

(Formatter):

  • UserInterface/Models/Resource.js:

(WebInspector.Resource.prototype.getImageSize.imageDidLoad):
(WebInspector.Resource.prototype.getImageSize):

  • UserInterface/Views/LayerTreeSidebarPanel.js:

(WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid.comparator):
(WebInspector.LayerTreeSidebarPanel.prototype._sortDataGrid):

  • UserInterface/Views/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertyTreeElement.prototype.callback):
(WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):

10:29 AM Changeset in webkit [173431] by jonowells@apple.com
  • 73 edits in trunk/Source/WebInspectorUI

Web Inspector: Fix ESLint semi (missing semicolon)
​https://bugs.webkit.org/show_bug.cgi?id=136665

Reviewed by Andy Estes.

Add missing semicolons as identified by ESLint. Add explicit semi rule to .eslintrc.

  • .eslintrc:
  • Tools/PrettyPrinting/FormatterContentBuilder.js:
  • Tools/PrettyPrinting/FormatterDebug.js:

(Formatter.prototype.debug):

  • UserInterface/Base/DOMUtilities.js:
  • UserInterface/Base/EventListener.js:

(WebInspector.EventListener):
(WebInspector.EventListener.prototype.this._callback):
(WebInspector.EventListener.prototype.connect):

  • UserInterface/Base/Object.js:

(WebInspector.Object):
(WebInspector.Object.addConstructorFunctions):
(WebInspector.Event):

  • UserInterface/Base/URLUtilities.js:

(WebInspector.displayNameForURL):
(WebInspector.displayNameForHost):

  • UserInterface/Base/Utilities.js:

(.):

  • UserInterface/Controllers/BranchManager.js:

(WebInspector.BranchManager):

  • UserInterface/Controllers/CSSStyleManager.js:

(WebInspector.CSSStyleManager):

  • UserInterface/Controllers/CodeMirrorColorEditingController.js:

(WebInspector.CodeMirrorColorEditingController):

  • UserInterface/Controllers/CodeMirrorEditingController.js:

(WebInspector.CodeMirrorEditingController):

  • UserInterface/Controllers/CodeMirrorGradientEditingController.js:

(WebInspector.CodeMirrorGradientEditingController):
(WebInspector.CodeMirrorGradientEditingController.prototype.popoverDidPresent):

  • UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
  • UserInterface/Controllers/FormatterContentBuilder.js:
  • UserInterface/Controllers/FormatterSourceMap.js:

(WebInspector.FormatterSourceMap.fromBuilder):

  • UserInterface/Controllers/IssueManager.js:

(WebInspector.IssueManager):

  • UserInterface/Controllers/LogManager.js:

(WebInspector.LogManager):

  • UserInterface/Models/BreakpointAction.js:
  • UserInterface/Models/CSSCompletions.js:

(WebInspector.CSSCompletions):
(WebInspector.CSSCompletions.requestCSSNameCompletions):

  • UserInterface/Models/CSSKeywordCompletions.js:

(WebInspector.CSSKeywordCompletions.forProperty):
(WebInspector.CSSKeywordCompletions.isColorAwareProperty):

  • UserInterface/Models/CSSStyleSheet.js:

(WebInspector.CSSStyleSheet.resetUniqueDisplayNameNumbers):

  • UserInterface/Models/Color.js:

(WebInspector.Color):
(WebInspector.Color.fromString):

  • UserInterface/Models/DOMNode.js:

(WebInspector.DOMNode):

  • UserInterface/Models/DOMSearchMatchObject.js:

(WebInspector.DOMSearchMatchObject.titleForDOMNode):

  • UserInterface/Models/ExecutionContext.js:

(WebInspector.ExecutionContext.supported):

  • UserInterface/Models/Gradient.js:

(WebInspector.LinearGradient):
(WebInspector.LinearGradient.linearGradientWithComponents):
(WebInspector.RadialGradient):
(WebInspector.RadialGradient.radialGradientWithComponents):

  • UserInterface/Models/IssueMessage.js:

(WebInspector.IssueMessage):

  • UserInterface/Models/ReplaySessionSegment.js:

(WebInspector.IncompleteSessionSegment):

  • UserInterface/Models/Resource.js:

(WebInspector.Resource.prototype.associateWithScript):

  • UserInterface/Models/Script.js:

(WebInspector.Script.resetUniqueDisplayNameNumbers):

  • UserInterface/Models/Setting.js:

(WebInspector.Setting):

  • UserInterface/Models/SourceCodePosition.js:

(WebInspector.SourceCodePosition):

  • UserInterface/Models/SourceMap.js:

(WebInspector.SourceMap):
(WebInspector.SourceMap.StringCharIterator):

  • UserInterface/Models/TextMarker.js:

(WebInspector.TextMarker):

  • UserInterface/Models/TextRange.js:

(WebInspector.TextRange):

  • UserInterface/Protocol/InspectorFrontendHostStub.js:

(.WebInspector.InspectorFrontendHostStub):

  • UserInterface/Protocol/MessageDispatcher.js:

(WebInspector.dispatchNextQueuedMessageFromBackend):
(WebInspector.dispatchMessageFromBackend):

  • UserInterface/Protocol/RemoteObject.js:

(WebInspector.RemoteObject):
(WebInspector.RemoteObject.fromPrimitiveValue):
(WebInspector.RemoteObject.fromLocalObject):
(WebInspector.RemoteObject.resolveNode):
(WebInspector.RemoteObject.fromPayload):
(WebInspector.RemoteObject.type):
(WebInspector.RemoteObjectProperty):
(WebInspector.RemoteObjectProperty.fromPrimitiveValue):
(WebInspector.LocalJSONObject):

  • UserInterface/Protocol/ReplayObserver.js:

(WebInspector.ReplayPosition.fromProtocol):

  • UserInterface/Views/BreakpointActionView.js:

(WebInspector.BreakpointActionView.displayStringForType):

  • UserInterface/Views/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype.if):

  • UserInterface/Views/ClusterContentView.js:

(WebInspector.ClusterContentView.prototype.goBack):
(WebInspector.ClusterContentView.prototype.goForward):

  • UserInterface/Views/CodeMirrorAdditions.js:
  • UserInterface/Views/ColorWheel.js:

(WebInspector.ColorWheel):

  • UserInterface/Views/ConsoleMessage.js:

(WebInspector.ConsoleMessage):
(WebInspector.ConsoleMessage.create):

  • UserInterface/Views/ConsoleMessageImpl.js:

(WebInspector.ConsoleMessageImpl):

  • UserInterface/Views/ContextMenu.js:

(WebInspector.ContextMenuItem):
(WebInspector.ContextSubMenuItem):
(WebInspector.ContextMenu):
(WebInspector.ContextMenu.Provider):
(WebInspector.ContextMenu.registerProvider):
(WebInspector.contextMenuItemSelected):
(WebInspector.contextMenuCleared):

  • UserInterface/Views/DOMTreeElement.js:

(WebInspector.DOMTreeElement):

  • UserInterface/Views/DOMTreeOutline.js:

(WebInspector.DOMTreeOutline):

  • UserInterface/Views/DOMTreeUpdater.js:

(WebInspector.DOMTreeUpdater):

  • UserInterface/Views/DatabaseContentView.js:

(WebInspector.DatabaseContentView):

  • UserInterface/Views/EditingSupport.js:

(WebInspector.isBeingEdited):
(WebInspector.markBeingEdited):
(WebInspector.isEditingAnyField):
(WebInspector.isEventTargetAnEditableField):
(WebInspector.EditingConfig):
(WebInspector.startEditing):

  • UserInterface/Views/EventListenerSection.js:

(WebInspector.EventListenerSection):

  • UserInterface/Views/EventListenerSectionGroup.js:

(WebInspector.EventListenerSectionGroup):

  • UserInterface/Views/FindBanner.js:
  • UserInterface/Views/GeneralTreeElement.js:

(WebInspector.GeneralTreeElement):

  • UserInterface/Views/GoToLineDialog.js:

(WebInspector.GoToLineDialog):

  • UserInterface/Views/IndeterminateProgressSpinner.js:

(WebInspector.IndeterminateProgressSpinner):

  • UserInterface/Views/LayoutTimelineDataGrid.js:

(WebInspector.LayoutTimelineDataGrid):

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView):

  • UserInterface/Views/NavigationItem.js:
  • UserInterface/Views/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertiesSection):
(WebInspector.ObjectPropertiesSection.CompareProperties):
(WebInspector.ObjectPropertyTreeElement):

  • UserInterface/Views/ProbeSetDetailsSection.js:
  • UserInterface/Views/PropertiesSection.js:

(WebInspector.PropertiesSection):

  • UserInterface/Views/ResourceTreeElement.js:

(WebInspector.ResourceTreeElement.compareResourceTreeElements):
(WebInspector.ResourceTreeElement.compareFolderAndResourceTreeElements):

  • UserInterface/Views/ScriptTimelineDataGrid.js:

(WebInspector.ScriptTimelineDataGrid):

  • UserInterface/Views/SearchResultTreeElement.js:

(WebInspector.SearchResultTreeElement.truncateAndHighlightTitle):

  • UserInterface/Views/TimelineRuler.js:

(WebInspector.TimelineRuler):
(WebInspector.TimelineRuler.prototype.get allowsClippedLabels):
(WebInspector.TimelineRuler.prototype._handleMouseUp):

  • UserInterface/Views/Toolbar.js:
  • UserInterface/Views/TreeOutline.js:

(TreeOutline.prototype.appendChild):
(TreeOutline.prototype.insertChild):
(TreeOutline.prototype.removeChildAtIndex):
(TreeOutline.prototype.removeChild):
(TreeOutline.prototype.removeChildren):
(TreeOutline.prototype.removeChildrenRecursive):
(TreeOutline.prototype._rememberTreeElement):
(TreeOutline.prototype._forgetTreeElement):
(TreeOutline.prototype._forgetChildrenRecursive):
(TreeOutline.prototype.getCachedTreeElement):
(TreeOutline.prototype.findTreeElement):
(TreeOutline.prototype._treeElementDidChange):
(TreeOutline.prototype.treeElementFromPoint):
(TreeOutline.prototype._treeKeyDown):
(TreeOutline.prototype.expand):
(TreeOutline.prototype.collapse):
(TreeOutline.prototype.revealed):
(TreeOutline.prototype.reveal):
(TreeOutline.prototype.select):
(TreeOutline.prototype.revealAndSelect):
(TreeElement.prototype._attach):
(TreeElement.prototype._detach):
(TreeElement.treeElementMouseDown):
(TreeElement.treeElementToggled):
(TreeElement.treeElementDoubleClicked):
(TreeElement.prototype.collapse):
(TreeElement.prototype.collapseRecursively):
(TreeElement.prototype.expand):
(TreeElement.prototype.expandRecursively):
(TreeElement.prototype.hasAncestor):
(TreeElement.prototype.reveal):
(TreeElement.prototype.revealed):
(TreeElement.prototype.selectOnMouseDown):
(TreeElement.prototype.select):
(TreeElement.prototype.revealAndSelect):
(TreeElement.prototype.deselect):
(TreeElement.prototype.onpopulate):
(TreeElement.prototype.traverseNextTreeElement):
(TreeElement.prototype.traversePreviousTreeElement):
(TreeElement.prototype.isEventWithinDisclosureTriangle):

  • UserInterface/Views/TreeOutlineDataGridSynchronizer.js:

(WebInspector.TreeOutlineDataGridSynchronizer):

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

Update my email in contributors.json
​https://bugs.webkit.org/show_bug.cgi?id=136671

Patch by Christophe Dumez <Chris Dumez> on 2014-09-09
Reviewed by Andreas Kling.

  • Scripts/webkitpy/common/config/contributors.json:
8:58 AM Changeset in webkit [173429] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit2

Make DrawingArea a real MessageReceiver
​https://bugs.webkit.org/show_bug.cgi?id=136438

Reviewed by Darin Adler.

  • WebProcess/WebPage/DrawingArea.cpp:

(WebKit::DrawingArea::DrawingArea):
(WebKit::DrawingArea::~DrawingArea):

  • WebProcess/WebPage/DrawingArea.h:
  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::~WebPage):
(WebKit::WebPage::didReceiveMessage):
Make DrawingArea a real MessageReceiver instead of a LegacyReceiver that
jumps through WebPage to receive its messages.

8:09 AM Changeset in webkit [173428] by commit-queue@webkit.org
  • 3 edits
    4 adds in trunk

AX: HTML5 landmark (and related) elements should not be ignored.
​https://bugs.webkit.org/show_bug.cgi?id=135116

Patch by Takeshi Kurosawa <​taken.spc@gmail.com> on 2014-09-09
Reviewed by Chris Fleizach.

Make sure following element should not be ignored in computeAccessibilityIsIgnored

  • header, aside, address, main, nav, article, section
  • dt, dd

Source/WebCore:

Tests: platform/mac/accessibility/descriptionlist-not-ignored.html

platform/mac/accessibility/landmark-not-ignored.html

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::computeAccessibilityIsIgnored):

LayoutTests:

  • platform/mac/accessibility/descriptionlist-not-ignored-expected.txt: Added.
  • platform/mac/accessibility/descriptionlist-not-ignored.html: Added.
  • platform/mac/accessibility/landmark-not-ignored-expected.txt: Added.
  • platform/mac/accessibility/landmark-not-ignored.html: Added.
4:39 AM Changeset in webkit [173427] by svillar@igalia.com
  • 3 edits in trunk/Source/WebCore

[CSS Grid Layout] RenderGrid methods should take RenderBox references
​https://bugs.webkit.org/show_bug.cgi?id=136630

Reviewed by Darin Adler.

RenderGrid has several methods that take pointers to RenderBox
instances but the body of those methods assumes that the objects
will never be NULL. We should replace them by references.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::RenderGrid::logicalContentHeightForChild):
(WebCore::RenderGrid::minContentForChild):
(WebCore::RenderGrid::maxContentForChild):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctions):
(WebCore::RenderGrid::resolveContentBasedTrackSizingFunctionsForItems):
(WebCore::RenderGrid::insertItemIntoGrid):
(WebCore::RenderGrid::placeItemsOnGrid):
(WebCore::RenderGrid::createEmptyGridAreaAtSpecifiedPositionsOutsideGrid):
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
(WebCore::RenderGrid::placeAutoMajorAxisItemsOnGrid):
(WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
(WebCore::RenderGrid::layoutGridItems):
(WebCore::RenderGrid::cachedGridCoordinate):
(WebCore::RenderGrid::gridAreaBreadthForChild):
(WebCore::RenderGrid::findChildLogicalPosition):

  • rendering/RenderGrid.h:
3:34 AM Changeset in webkit [173426] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Remove unnecessary assert that is getting hit in some scenarios.

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::certificateInfo):

2:22 AM Changeset in webkit [173425] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Try to fix windows build.

  • platform/network/cf/ResourceResponseCFNet.cpp:

(WebCore::ResourceResponse::platformCertificateInfo):

1:56 AM Changeset in webkit [173424] by mihnea@adobe.com
  • 3 edits
    2 adds in trunk

[CSSRegions]Incorrect layout for multicol element transformed into region
​https://bugs.webkit.org/show_bug.cgi?id=136459

Reviewed by David Hyatt.

Source/WebCore:

Until we will support the multicolumn region functionality, a multicolumn element
that also has flow-from style is not transformed into a region (​https://bugs.webkit.org/show_bug.cgi?id=135153).

However, when a multicolumn element with flow-from style dynamically loses
its multicolumn style while keeping the flow-from style, we have to transform
the element into a region by detaching and attaching the associated DOM node,
in the same way we are proceeding when an element receives a different flow-from style.

Test: fast/regions/multicol/nested-multicol-into-region-dynamic.html

  • style/StyleResolveTree.cpp:

(WebCore::Style::determineChange):

LayoutTests:

  • fast/regions/multicol/nested-multicol-into-region-dynamic-expected.txt: Added.
  • fast/regions/multicol/nested-multicol-into-region-dynamic.html: Added.
1:19 AM Changeset in webkit [173423] by Antti Koivisto
  • 22 edits
    1 move in trunk/Source

Pass certificate info as part of ResourceResponse
​https://bugs.webkit.org/show_bug.cgi?id=136611

Reviewed by Darin Adler.

Source/WebCore:

The current way of passing certificate info separately from ResourceResponse and then jamming it back
is complex and confusing. This patch makes it a true part of the ResourceResponse.

With this patch we also only create and pass the certificate info object for the main resource. It is
a big and complex object and we never look into it for any other resource type.

  • WebCore.exp.in:
  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::ResourceResponseBase):

Mark initialized for synthetic responses, unitialized for those backed by a platform request.

(WebCore::ResourceResponseBase::initializeCertificateInfo):

Calling this pulls the certificate info out from the platform type.
It shoud only be used for resources that need it.

(WebCore::ResourceResponseBase::certificateInfo):

  • platform/network/ResourceResponseBase.h:

(WebCore::ResourceResponseBase::platformCertificateInfo):
(WebCore::ResourceResponseBase::platformSuggestedFileName):
(WebCore::ResourceResponseBase::encode):
(WebCore::ResourceResponseBase::decode):

Encode and decode certificate info if it is present.

  • platform/network/cf/ResourceResponse.h:
  • platform/network/mac/CertificateInfo.h:
  • platform/network/mac/CertificateInfoMac.mm:

(WebCore::CertificateInfo::CertificateInfo):

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::platformCertificateInfo):
(WebCore::ResourceResponse::setCertificateChain): Deleted.
(WebCore::ResourceResponse::certificateChain): Deleted.

  • platform/network/soup/ResourceResponse.h:
  • platform/network/soup/ResourceResponseSoup.cpp:

(WebCore::ResourceResponse::platformCertificateInfo):

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponseAsync):

Initialize the certificate info only if requested.

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::didReceiveResponse):
(WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo): Deleted.

Rename didReceiveResponseWithCertificateInfo -> didReceiveResponse as it is now part of the response.

  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Network/WebResourceLoader.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

Request certificate info for the main resource only.

(WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::certificateInfo):

12:57 AM Changeset in webkit [173422] by mihnea@adobe.com
  • 2 edits in trunk/Source/WebCore

[CSSRegions] Use C++11 range-based loops in FlowThreadController
​https://bugs.webkit.org/show_bug.cgi?id=136634

Reviewed by Andrei Bucur.

No new tests as no new functionality was introduced.

  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
(WebCore::FlowThreadController::styleDidChange):
(WebCore::FlowThreadController::layoutRenderNamedFlowThreads):
(WebCore::FlowThreadController::updateFlowThreadsChainIfNecessary):
(WebCore::FlowThreadController::updateFlowThreadsNeedingLayout):
(WebCore::FlowThreadController::updateFlowThreadsNeedingTwoStepLayout):
(WebCore::FlowThreadController::resetFlowThreadsWithAutoHeightRegions):
(WebCore::FlowThreadController::updateFlowThreadsIntoMeasureContentPhase):
(WebCore::FlowThreadController::updateFlowThreadsLayerToRegionMappingsIfNeeded):
(WebCore::FlowThreadController::updateNamedFlowsLayerListsIfNeeded):
(WebCore::FlowThreadController::collectFixedPositionedLayers):
(WebCore::FlowThreadController::isAutoLogicalHeightRegionsCountConsistent):

Sep 8, 2014:

11:36 PM Changeset in webkit [173421] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Minor refactor in CSSComputedStyleDeclaration
​https://bugs.webkit.org/show_bug.cgi?id=136664

Reviewed by Darin Adler.

The "if (length.isPercentNotCalculated()) createValue() else zoomAdjustedPixelValue()"
pattern occurred a number of times here, so factor into percentageOrZoomAdjustedValue().

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::positionOffsetValue): l -> length
(WebCore::percentageOrZoomAdjustedValue):
(WebCore::getBorderRadiusCornerValues):
(WebCore::getBorderRadiusCornerValue):
(WebCore::scrollSnapDestination):
(WebCore::scrollSnapPoints):
(WebCore::scrollSnapCoordinates):

11:34 PM Changeset in webkit [173420] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[WebKit2] Fix build error in WebKit2/WebProcess module
​https://bugs.webkit.org/show_bug.cgi?id=136667

Patch by Shivakumar JM <​shiva.jm@samsung.com> on 2014-09-08
Reviewed by Darin Adler.

Fix the build error by handling default case.

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::maximumBufferingTime):

11:07 PM Changeset in webkit [173419] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

Application Cache Storage: failed to execute statement "DELETE FROM CacheGroups" error "no such table: CacheGroups"
​https://bugs.webkit.org/show_bug.cgi?id=136647

Reviewed by Darin Adler.

  • loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::verifySchemaVersion):

Don't try to delete the tables if we can't expect to have them yet.

7:56 PM Changeset in webkit [173418] by mmaxfield@apple.com
  • 6 edits
    2 adds in trunk

REGRESSION (r172153): Text drawn with wrong color when second text shadow has zero offset and blur (breaks buttons at aws.amazon.com)
​https://bugs.webkit.org/show_bug.cgi?id=136612

Reviewed by Darin Adler.

Source/WebCore:

r172153 was fundamentally broken, and would restore graphics contexts that had never been saved. This patch
reimplements r172153 by using "continue" to skip loop iterations instead of changing the internal logic of
the loop.

In addition, I have refactored InlineTextBox::applyShadowToGraphicsContext() to take an extra boolean
reference as an out parameter in order to make it obvious it if saved a graphics context that needs
to be restored. This should make it less likely to make these kinds of mistakes in the future.

Test: fast/text/empty-shadow-with-color.html

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::applyShadowToGraphicsContext): Add bool reference out param.

  • rendering/InlineTextBox.h: Ditto.
  • rendering/TextPainter.cpp:

(WebCore::isEmptyShadow): Change logic to not skip loop iterations on a null shadow.
(WebCore::paintTextWithShadows): Use continue to skip loop iterations for empty shadows. In addition,
use the out param in InlineTextBox::applyShadowToGraphicsContext().

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paintTextWithShadows): Update for new sigurature of
InlineTextBox::applyShadowToGraphicsContext().

LayoutTests:

Make sure that text is drawn with correct color when second text shadow has zero offset and blur

  • fast/text/empty-shadow-with-color-expected.html: Added.
  • fast/text/empty-shadow-with-color.html: Added.
7:31 PM Changeset in webkit [173417] by mmaxfield@apple.com
  • 2 edits in trunk/PerformanceTests

PerformanceTests/SVG/SVG-Text.html has unparsable output
​https://bugs.webkit.org/show_bug.cgi?id=136648

Reviewed by Gavin Barraclough.

I need to clean up the arbitrary text on the page before telling
the test runner infrastructure that the test is complete.

  • SVG/SVG-Text.html:
7:03 PM Changeset in webkit [173416] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. More webgl conformance test gardening.

  • platform/mac/TestExpectations:
6:46 PM Changeset in webkit [173415] by mjs@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fix 32-bit Mac build for new warnings
​https://bugs.webkit.org/show_bug.cgi?id=136624

Reviewed by Darin Adler.

(Jessie already fixed this but my version with typedefs seems a tiny bit cleaner.)

  • Carbon/HIViewAdapter.m:

(+[HIViewAdapter bindHIViewToNSView:nsView:]): Need to use explicit casting now.

6:39 PM Changeset in webkit [173414] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

[EFL] Enable fixed layout by default
​https://bugs.webkit.org/show_bug.cgi?id=136607

Reviewed by Csaba Osztrogonác.

Fixed layout is being used by Tizen platform by default. However, the feature
has still many defects now. So, we need to enable it by default, then should fix
those bugs.

  • MiniBrowser/efl/main.c:
5:34 PM Changeset in webkit [173413] by fpizlo@apple.com
  • 22 edits
    2 adds in trunk/Source

DFG should have a reusable SSA builder
​https://bugs.webkit.org/show_bug.cgi?id=136331

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

We want to implement sophisticated SSA transformations like object allocation sinking
(​https://bugs.webkit.org/show_bug.cgi?id=136330), but to do that, we need to be able to do
updates to SSA that require inserting new Phi's. This requires calculating where Phis go.
Previously, our Phi calculation was based on Aycock and Horspool's algorithm, and our
implementation of this algorithm only worked when doing CPS->SSA conversion. The code
could not be reused for cases where some phase happens to know that it introduced a few
defs in some blocks and it wants to figure out where the Phis should go. Moreover, even
the general algorithm of Aycock and Horspool is not well suited to such targetted SSA
updates, since it requires first inserting maximal Phis. That scales well when the Phis
were already there (like in our CPS form) but otherwise it's quite unnatural and may be
difficult to make efficient.

The usual way of handling both SSA conversion and SSA update is to use Cytron et al's
algorithm based on dominance frontiers. For a while now, I've been working on creating a
Cytron-based SSA calculator that can be used both as a replacement for our current SSA
converter and as a reusable tool for any phase that needs to do SSA update. I previously
optimized our dominator calculation and representation to use dominator trees computed
using Lengauer and Tarjan's algorithm - mainly to make it more scalable to enumerate over
the set of blocks that dominate you or vice-versa, and then I implemented a dominance
frontier calculator. This patch implements the final step towards making SSA update
available to all SSA phases: it implements an SSACalculator that can tell you where Phis
go when given an arbitrary set of Defs. To keep things simple, and to ensure that we have
good test coverage for this SSACalculator, this patch replaces the old Aycock-Horspool
SSA converter with one based on the SSACalculator.

This has no observable impact. It does reduce the amount of code in SSAConversionPhase.
But even better, it makes SSAConversionPhase have significantly less tricky logic. It
mostly just relies on SSACalculator to do the tricky stuff, and SSAConversionPhase mostly
just reasons about the weirdnesses unique to the ThreadedCPS form that it sees as input.
In fact, using the Cytron et al approach means that there isn't really any "smoke and
mirrors" trickyness related to SSA. SSACalculator's only "tricks" are using the pruned
iterated dominance frontier to place Phi's and using the dom tree to find reaching defs.
The complexity is mostly confined to Dominators, which computes various dominator-related
properties over the control flow graph. That class can be difficult to understand, but at
least it follows well-known graph theory wisdom.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGAnalysis.h:
  • dfg/DFGCSEPhase.cpp:
  • dfg/DFGDCEPhase.cpp:

(JSC::DFG::DCEPhase::run):

  • dfg/DFGDominators.h:

(JSC::DFG::Dominators::immediateDominatorOf):
(JSC::DFG::Dominators::forAllBlocksInIteratedDominanceFrontierOf):
(JSC::DFG::Dominators::forAllBlocksInPrunedIteratedDominanceFrontierOf):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::blocksInPreOrder):
(JSC::DFG::Graph::blocksInPostOrder):
(JSC::DFG::Graph::getBlocksInPreOrder): Deleted.
(JSC::DFG::Graph::getBlocksInPostOrder): Deleted.

  • dfg/DFGGraph.h:
  • dfg/DFGLICMPhase.cpp:

(JSC::DFG::LICMPhase::run):

  • dfg/DFGNodeFlags.h:
  • dfg/DFGPhase.cpp:

(JSC::DFG::Phase::beginPhase):
(JSC::DFG::Phase::endPhase):

  • dfg/DFGPhase.h:
  • dfg/DFGSSACalculator.cpp: Added.

(JSC::DFG::SSACalculator::Variable::dump):
(JSC::DFG::SSACalculator::Variable::dumpVerbose):
(JSC::DFG::SSACalculator::Def::dump):
(JSC::DFG::SSACalculator::SSACalculator):
(JSC::DFG::SSACalculator::~SSACalculator):
(JSC::DFG::SSACalculator::newVariable):
(JSC::DFG::SSACalculator::newDef):
(JSC::DFG::SSACalculator::nonLocalReachingDef):
(JSC::DFG::SSACalculator::reachingDefAtTail):
(JSC::DFG::SSACalculator::dump):

  • dfg/DFGSSACalculator.h: Added.

(JSC::DFG::SSACalculator::Variable::index):
(JSC::DFG::SSACalculator::Variable::Variable):
(JSC::DFG::SSACalculator::Def::variable):
(JSC::DFG::SSACalculator::Def::block):
(JSC::DFG::SSACalculator::Def::value):
(JSC::DFG::SSACalculator::Def::Def):
(JSC::DFG::SSACalculator::variable):
(JSC::DFG::SSACalculator::computePhis):
(JSC::DFG::SSACalculator::phisForBlock):
(JSC::DFG::SSACalculator::reachingDefAtHead):

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::SSAConversionPhase):
(JSC::DFG::SSAConversionPhase::run):
(JSC::DFG::SSAConversionPhase::forwardPhiChildren): Deleted.
(JSC::DFG::SSAConversionPhase::forwardPhi): Deleted.
(JSC::DFG::SSAConversionPhase::forwardPhiEdge): Deleted.
(JSC::DFG::SSAConversionPhase::deduplicateChildren): Deleted.

  • dfg/DFGSSAConversionPhase.h:
  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::Validate):
(JSC::DFG::Validate::dumpGraphIfAppropriate):
(JSC::DFG::validate):

  • dfg/DFGValidate.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):

  • runtime/Options.h:

Source/WTF:

Update the alloc() method to use variadic templates. This makes it more natural to use.

  • wtf/SegmentedVector.h:

(WTF::SegmentedVector::alloc):

5:33 PM Changeset in webkit [173412] by Lucas Forschler
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

5:24 PM Changeset in webkit [173411] by Lucas Forschler
  • 1 copy in tags/Safari-600.1.21

New Tag.

5:21 PM Changeset in webkit [173410] by commit-queue@webkit.org
  • 54 edits
    2 deletes in trunk/Source

Unreviewed, rolling out r173402.
​https://bugs.webkit.org/show_bug.cgi?id=136649

Breaking buildw with error "unable to restore file position to
0x00000c60 for section DWARF.debug_info (errno = 9)"
(Requested by mlam_ on #webkit).

Reverted changeset:

"Move CallFrame and Register inlines functions out of
JSScope.h."
​https://bugs.webkit.org/show_bug.cgi?id=136579
​http://trac.webkit.org/changeset/173402

5:18 PM Changeset in webkit [173409] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Skip some WebGL conformance tests that may be passing on the bots now.

  • platform/mac/TestExpectations:
5:08 PM Changeset in webkit [173408] by roger_fong@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/ThirdParty

Unreviewed build fix for FHPrime 64bit builds.

  • gtest/msvc/gtest-md.vcxproj:
5:02 PM Changeset in webkit [173407] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Inspector frequently restores wrong view when opened (often Timelines instead of Resource)
​https://bugs.webkit.org/show_bug.cgi?id=135965

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

There were numerous subtle race conditions in state restoration.
This patch intends to fix a number of them to get what feels
like sane behavior for selected sidebar state restoration.

  1. Starting a Timeline recording no longer automatically switches to the TimelineContentView.

This was making every reload switch to Timelines. If you had
a resource selected (e.g. the DOM Tree) we should go back
to showing the DOM tree.

  1. Background sidebars should not reveal and select tree elements.

This was making resources get selected in Timelines when reloading the page
because the background Resources sidebar was restoring selection of the resource.
That is an unexpected selection and breaks the experience of Timelines.

  1. ContentView changes during page navigation / reload should not be saved, and improve Resource restoration.

If a TimelineContentView was in the ContentBrowser back/forward history,
a reload with a resource selected in the Resources sidebar would end up
showing the Timelines sidebar. This was because when ContentViews are
closed during the navigation, the ContentBrowser would fall back to the
remaining TimelineContentView and switch to its only allowed sidebar
(Timelines). ResourceSidebarPanel, knowing a resource was selected,
would select the MainFrame intending to stay in the Resource sidebar,
but the resource is okay with showing in any sidebar, so we stay on Timelines.

  1. Resource sidebar state restoration should propertly restore selection.

On reload, state restoration would know the resource to re-select in the
Resources sidebar. As ResourceTreeElements are added to the sidebar
they are checked against the state restoration cookie. If they match,
they would select the element and delete the cookie. Unfortunately,
if this was the first TreeElement child being added to a FrameTreeElement,
the FrameTreeElement onpopulate would remove all children and re-add
them in a unique way. Unfortunately this means the TreeElement we
selected based on the cookie, immediately got thrown away and recreated,
and we no longer reveal and select it. This is a special case for
FrameTreeElements which use the onpopulate SPI. So, instead of starting
processing the new element queue, if this is the first time just trigger
the onpopulate and elements are made just once.

  1. Show Error Console triggering early, could have unexpected sidebar behavior.

Opening Web Inspector directly to the console can run before
WebInspector.contentLoaded (DOMContentLoaded). So in that case
WebInspector.showFullHeightConsole was not handling if the contentBrowser
had no content view yet, and the sidebar might be-reopened later on
in contentLoaded based on the setting value.

  1. Improve automatic resource selection for sidebars with multiple tree outlines.

Selecting a call frame tree element was unexpectedly changing the
selection to a Resource where the breakpoint was set. This was
because we were only looking at one of potentially many content
tree outlines in the sidebar to see if there was a user action.

  • UserInterface/Base/Main.js:

(WebInspector.contentLoaded):
(WebInspector.showFullHeightConsole):
(WebInspector.toggleConsoleView):
(WebInspector._mainResourceDidChange):
(WebInspector._provisionalLoadStarted):
(WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar):
(WebInspector._updateCookieForInspectorViewState):
(WebInspector._contentBrowserCurrentContentViewDidChange):

  • UserInterface/Views/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):

  • UserInterface/Views/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):

  • UserInterface/Views/TimelineSidebarPanel.js:

(WebInspector.TimelineSidebarPanel.prototype._recordingLoaded):

5:00 PM Changeset in webkit [173406] by commit-queue@webkit.org
  • 5 edits
    3 adds in trunk

Web Inspector: Add layout test for lowercase CSSProperty names
​https://bugs.webkit.org/show_bug.cgi?id=135961

Patch by Matt Baker <Matt Baker> on 2014-09-08
Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

Modified test components to support testing CSSStyleManager and related classes:

  • Added required models to Test.html
  • Added CSSCompletions initialization to Test.js
  • CSSCompletions doesn't assume presence of CodeMirror.
  • UserInterface/Base/Test.js:

(WebInspector.loaded):

  • UserInterface/Models/CSSCompletions.js:
  • UserInterface/Test.html:

LayoutTests:

Added test to check that property names in matched CSS rules are returned in lowercase
when specified with upper or mixed case in the original CSS source.

  • inspector/css/matched-style-properties-expected.txt: Added.
  • inspector/css/matched-style-properties.html: Added.
4:59 PM Changeset in webkit [173405] by commit-queue@webkit.org
  • 5 edits in trunk

Web Inspector: Fixes to layout test infrastructure
​https://bugs.webkit.org/show_bug.cgi?id=136360

Patch by Matt Baker <Matt Baker> on 2014-09-08
Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

Added missing includes to Test.html, which was breaking tests that
depended on SourceCodeLocation and LazySourceCodeLocation. Also fixed
bug which prevented test results from being resent after reloading the
page under test.

  • UserInterface/Base/Test.js:

(InspectorTest.reloadPage):

  • UserInterface/Test.html:

LayoutTests:

Updated expected results to reflect breakpoint resolution changes in r171784.

  • inspector/debugger/probe-manager-add-remove-actions-expected.txt:
4:54 PM Changeset in webkit [173404] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.11-branch/Source

Versioning.

4:41 PM Changeset in webkit [173403] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.11.5

New tag.

3:58 PM Changeset in webkit [173402] by mark.lam@apple.com
  • 54 edits
    2 adds in trunk/Source

Move CallFrame and Register inlines functions out of JSScope.h.
<​https://webkit.org/b/136579>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

This include fixing up some files to #include JSCInlines.h to pick up
these inline functions. I also added JSCellInlines.h to JSCInlines.h
since it is included from many of the affected .cpp files.

  • API/ObjCCallbackFunction.mm:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bindings/ScriptValue.cpp:
  • inspector/InjectedScriptHost.cpp:
  • inspector/InjectedScriptManager.cpp:
  • inspector/JSGlobalObjectInspectorController.cpp:
  • inspector/JSJavaScriptCallFrame.cpp:
  • inspector/ScriptDebugServer.cpp:
  • interpreter/CallFrameInlines.h:

(JSC::CallFrame::vm):
(JSC::CallFrame::lexicalGlobalObject):
(JSC::CallFrame::globalThisValue):

  • interpreter/RegisterInlines.h: Added.

(JSC::Register::operator=):
(JSC::Register::scope):

  • runtime/ArgumentsIteratorConstructor.cpp:
  • runtime/JSArrayIterator.cpp:
  • runtime/JSCInlines.h:
  • runtime/JSCJSValue.cpp:
  • runtime/JSMapIterator.cpp:
  • runtime/JSPromiseConstructor.cpp:
  • runtime/JSPromiseDeferred.cpp:
  • runtime/JSPromiseFunctions.cpp:
  • runtime/JSPromisePrototype.cpp:
  • runtime/JSPromiseReaction.cpp:
  • runtime/JSScope.h:

(JSC::Register::operator=): Deleted.
(JSC::Register::scope): Deleted.
(JSC::ExecState::vm): Deleted.
(JSC::ExecState::lexicalGlobalObject): Deleted.
(JSC::ExecState::globalThisValue): Deleted.

  • runtime/JSSetIterator.cpp:
  • runtime/MapConstructor.cpp:
  • runtime/MapData.cpp:
  • runtime/MapIteratorPrototype.cpp:
  • runtime/MapPrototype.cpp:
  • runtime/SetConstructor.cpp:
  • runtime/SetIteratorPrototype.cpp:
  • runtime/SetPrototype.cpp:
  • runtime/WeakMapConstructor.cpp:
  • runtime/WeakMapPrototype.cpp:

Source/WebCore:

No new tests.

Added #include of the appropriate *Inlines.h files. Unlike in
JavaScriptCore, I #include'd the specific needed *Inlines.h instead of
JSCInlines.h. This is done to minimize the need for WebCore to be
rebuilt when JSC changes are introduced.

  • ForwardingHeaders/interpreter/RegisterInlines.h: Added.
  • bindings/js/JSAudioBufferSourceNodeCustom.cpp:
  • bindings/js/JSAudioTrackCustom.cpp:
  • bindings/js/JSBiquadFilterNodeCustom.cpp:
  • bindings/js/JSCSSStyleDeclarationCustom.cpp:
  • bindings/js/JSCanvasRenderingContext2DCustom.cpp:
  • bindings/js/JSCommandLineAPIHostCustom.cpp:
  • bindings/js/JSCustomSQLStatementErrorCallback.cpp:
  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSDOMStringListCustom.cpp:
  • bindings/js/JSDOMWindowBase.cpp:
  • bindings/js/JSDOMWindowShell.cpp:
  • bindings/js/JSDocumentCustom.cpp:
  • bindings/js/JSHTMLDocumentCustom.cpp:
  • bindings/js/JSOscillatorNodeCustom.cpp:
  • bindings/js/JSPannerNodeCustom.cpp:
  • bindings/js/JSPopStateEventCustom.cpp:
  • dom/TreeWalker.cpp:
  • html/HTMLPlugInImageElement.cpp:
  • inspector/CommandLineAPIModule.cpp:
  • inspector/InspectorController.cpp:
3:33 PM Changeset in webkit [173401] by dino@apple.com
  • 5 edits
    2 adds in trunk/Source/WebCore

Separate the Apple media controls module from other ports
​https://bugs.webkit.org/show_bug.cgi?id=136644
rdar://problem/18270969

Reviewed by Eric Carlson.

Make a mediaControlsBase.{js|css} that acts as the base
class for the EFL and GTK ports (they were using mediaControlsApple).
Over time, the Apple-specific controls may use more of the
Base class.

  • Modules/mediacontrols/mediaControlsBase.css: Added.
  • Modules/mediacontrols/mediaControlsBase.js: Added.
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::mediaControlsStyleSheet): Load Base rather than Apple.
(WebCore::RenderThemeEfl::mediaControlsScript): Ditto.

  • rendering/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::mediaControlsScript): Ditto.

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

Investigate test failures on ML caused by MediaTime refactoring
​https://bugs.webkit.org/show_bug.cgi?id=136532

Added another test that appears to have been affected by this refactoring.

  • platform/mac/TestExpectations:
2:38 PM Changeset in webkit [173399] by Simon Fraser
  • 3 edits in trunk/Source/WebKit2

Fix the iOS build.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
2:22 PM Changeset in webkit [173398] by jochen@chromium.org
  • 2 edits in trunk/Source/WebCore

Always update the referrer header in CachedResource
​https://bugs.webkit.org/show_bug.cgi?id=136642

Reviewed by Alexey Proskuryakov.

If a request already includes a referrer header, and the document has
a non-default referrer policy, it is possible that we have to modify
the referrer header.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::addAdditionalRequestHeaders):

1:51 PM Changeset in webkit [173397] by commit-queue@webkit.org
  • 182 edits in trunk

Remove FILTERS flag
​https://bugs.webkit.org/show_bug.cgi?id=136571

Patch by Eva Balazsfalvi <​evab.u-szeged@partner.samsung.com> on 2014-09-08
Reviewed by Darin Adler.

.:

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests required, no new functionality.

  • CMakeLists.txt:
  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.make:
  • dom/DOMImplementation.cpp:

(WebCore::isSupportedSVG10Feature):
(WebCore::isSupportedSVG11Feature):

  • platform/graphics/cpu/arm/filters/FEBlendNEON.h:
  • platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h:
  • platform/graphics/cpu/arm/filters/FEGaussianBlurNEON.h:
  • platform/graphics/cpu/arm/filters/NEONHelpers.h:
  • platform/graphics/filters/DistantLightSource.cpp:
  • platform/graphics/filters/DistantLightSource.h:
  • platform/graphics/filters/FEBlend.cpp:
  • platform/graphics/filters/FEBlend.h:
  • platform/graphics/filters/FEColorMatrix.cpp:
  • platform/graphics/filters/FEColorMatrix.h:
  • platform/graphics/filters/FEComponentTransfer.cpp:
  • platform/graphics/filters/FEComponentTransfer.h:
  • platform/graphics/filters/FEComposite.cpp:
  • platform/graphics/filters/FEComposite.h:
  • platform/graphics/filters/FEConvolveMatrix.cpp:
  • platform/graphics/filters/FEConvolveMatrix.h:
  • platform/graphics/filters/FEDiffuseLighting.cpp:
  • platform/graphics/filters/FEDiffuseLighting.h:
  • platform/graphics/filters/FEDisplacementMap.cpp:
  • platform/graphics/filters/FEDisplacementMap.h:
  • platform/graphics/filters/FEDropShadow.cpp:
  • platform/graphics/filters/FEDropShadow.h:
  • platform/graphics/filters/FEFlood.cpp:
  • platform/graphics/filters/FEFlood.h:
  • platform/graphics/filters/FEGaussianBlur.cpp:
  • platform/graphics/filters/FEGaussianBlur.h:
  • platform/graphics/filters/FELighting.cpp:
  • platform/graphics/filters/FELighting.h:
  • platform/graphics/filters/FEMerge.cpp:
  • platform/graphics/filters/FEMerge.h:
  • platform/graphics/filters/FEMorphology.cpp:
  • platform/graphics/filters/FEMorphology.h:
  • platform/graphics/filters/FEOffset.cpp:
  • platform/graphics/filters/FEOffset.h:
  • platform/graphics/filters/FESpecularLighting.cpp:
  • platform/graphics/filters/FESpecularLighting.h:
  • platform/graphics/filters/FETile.cpp:
  • platform/graphics/filters/FETile.h:
  • platform/graphics/filters/FETurbulence.cpp:
  • platform/graphics/filters/FETurbulence.h:
  • platform/graphics/filters/Filter.h:
  • platform/graphics/filters/FilterEffect.cpp:
  • platform/graphics/filters/FilterEffect.h:
  • platform/graphics/filters/LightSource.h:
  • platform/graphics/filters/PointLightSource.cpp:
  • platform/graphics/filters/PointLightSource.h:
  • platform/graphics/filters/SourceAlpha.cpp:
  • platform/graphics/filters/SourceAlpha.h:
  • platform/graphics/filters/SourceGraphic.cpp:
  • platform/graphics/filters/SourceGraphic.h:
  • platform/graphics/filters/SpotLightSource.cpp:
  • platform/graphics/filters/SpotLightSource.h:
  • rendering/svg/RenderSVGResource.cpp:

(WebCore::removeFromCacheAndInvalidateDependencies):

  • rendering/svg/RenderSVGResourceFilter.cpp:
  • rendering/svg/RenderSVGResourceFilter.h:
  • rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
  • rendering/svg/RenderSVGResourceFilterPrimitive.h:
  • rendering/svg/RenderSVGRoot.cpp:
  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::intersectRepaintRectWithResources):

  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::writeSVGResourceContainer):
(WebCore::writeResources):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::~SVGRenderingContext):
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

  • rendering/svg/SVGRenderingContext.h:

(WebCore::SVGRenderingContext::SVGRenderingContext):

  • rendering/svg/SVGResources.cpp:

(WebCore::targetReferenceFromResource):
(WebCore::SVGResources::buildCachedResources):
(WebCore::SVGResources::removeClientFromCache):
(WebCore::SVGResources::resourceDestroyed):
(WebCore::SVGResources::buildSetOfResources):
(WebCore::SVGResources::resetFilter):
(WebCore::SVGResources::dump):

  • rendering/svg/SVGResources.h:

(WebCore::SVGResources::filter):
(WebCore::SVGResources::ClipperFilterMaskerData::ClipperFilterMaskerData):

  • rendering/svg/SVGResourcesCycleSolver.cpp:

(WebCore::SVGResourcesCycleSolver::breakCycle):

  • svg/SVGAnimatedEnumeration.cpp:

(WebCore::enumerationValueForTargetAttribute):

  • svg/SVGComponentTransferFunctionElement.cpp:
  • svg/SVGComponentTransferFunctionElement.h:
  • svg/SVGComponentTransferFunctionElement.idl:
  • svg/SVGFEBlendElement.cpp:
  • svg/SVGFEBlendElement.h:
  • svg/SVGFEBlendElement.idl:
  • svg/SVGFEColorMatrixElement.cpp:
  • svg/SVGFEColorMatrixElement.h:
  • svg/SVGFEColorMatrixElement.idl:
  • svg/SVGFEComponentTransferElement.cpp:
  • svg/SVGFEComponentTransferElement.h:
  • svg/SVGFEComponentTransferElement.idl:
  • svg/SVGFECompositeElement.cpp:
  • svg/SVGFECompositeElement.h:
  • svg/SVGFECompositeElement.idl:
  • svg/SVGFEConvolveMatrixElement.cpp:
  • svg/SVGFEConvolveMatrixElement.h:
  • svg/SVGFEConvolveMatrixElement.idl:
  • svg/SVGFEDiffuseLightingElement.cpp:
  • svg/SVGFEDiffuseLightingElement.h:
  • svg/SVGFEDiffuseLightingElement.idl:
  • svg/SVGFEDisplacementMapElement.cpp:
  • svg/SVGFEDisplacementMapElement.h:
  • svg/SVGFEDisplacementMapElement.idl:
  • svg/SVGFEDistantLightElement.cpp:
  • svg/SVGFEDistantLightElement.h:
  • svg/SVGFEDistantLightElement.idl:
  • svg/SVGFEDropShadowElement.cpp:
  • svg/SVGFEDropShadowElement.h:
  • svg/SVGFEDropShadowElement.idl:
  • svg/SVGFEFloodElement.cpp:
  • svg/SVGFEFloodElement.h:
  • svg/SVGFEFloodElement.idl:
  • svg/SVGFEFuncAElement.cpp:
  • svg/SVGFEFuncAElement.h:
  • svg/SVGFEFuncAElement.idl:
  • svg/SVGFEFuncBElement.cpp:
  • svg/SVGFEFuncBElement.h:
  • svg/SVGFEFuncBElement.idl:
  • svg/SVGFEFuncGElement.cpp:
  • svg/SVGFEFuncGElement.h:
  • svg/SVGFEFuncGElement.idl:
  • svg/SVGFEFuncRElement.cpp:
  • svg/SVGFEFuncRElement.h:
  • svg/SVGFEFuncRElement.idl:
  • svg/SVGFEGaussianBlurElement.cpp:
  • svg/SVGFEGaussianBlurElement.h:
  • svg/SVGFEGaussianBlurElement.idl:
  • svg/SVGFEImageElement.cpp:
  • svg/SVGFEImageElement.h:
  • svg/SVGFEImageElement.idl:
  • svg/SVGFELightElement.cpp:
  • svg/SVGFELightElement.h:
  • svg/SVGFEMergeElement.cpp:
  • svg/SVGFEMergeElement.h:
  • svg/SVGFEMergeElement.idl:
  • svg/SVGFEMergeNodeElement.cpp:
  • svg/SVGFEMergeNodeElement.h:
  • svg/SVGFEMergeNodeElement.idl:
  • svg/SVGFEMorphologyElement.cpp:
  • svg/SVGFEMorphologyElement.h:
  • svg/SVGFEMorphologyElement.idl:
  • svg/SVGFEOffsetElement.cpp:
  • svg/SVGFEOffsetElement.h:
  • svg/SVGFEOffsetElement.idl:
  • svg/SVGFEPointLightElement.cpp:
  • svg/SVGFEPointLightElement.h:
  • svg/SVGFEPointLightElement.idl:
  • svg/SVGFESpecularLightingElement.cpp:
  • svg/SVGFESpecularLightingElement.h:
  • svg/SVGFESpecularLightingElement.idl:
  • svg/SVGFESpotLightElement.cpp:
  • svg/SVGFESpotLightElement.h:
  • svg/SVGFESpotLightElement.idl:
  • svg/SVGFETileElement.cpp:
  • svg/SVGFETileElement.h:
  • svg/SVGFETileElement.idl:
  • svg/SVGFETurbulenceElement.cpp:
  • svg/SVGFETurbulenceElement.h:
  • svg/SVGFETurbulenceElement.idl:
  • svg/SVGFilterElement.cpp:
  • svg/SVGFilterElement.h:
  • svg/SVGFilterElement.idl:
  • svg/SVGFilterPrimitiveStandardAttributes.cpp:
  • svg/SVGFilterPrimitiveStandardAttributes.h:
  • svg/graphics/filters/SVGFEImage.cpp:
  • svg/graphics/filters/SVGFEImage.h:
  • svg/graphics/filters/SVGFilter.cpp:
  • svg/graphics/filters/SVGFilter.h:
  • svg/graphics/filters/SVGFilterBuilder.cpp:
  • svg/graphics/filters/SVGFilterBuilder.h:
  • svg/svgtags.in:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.props:
  • win/tools/vsprops/FeatureDefinesCairo.props:
1:36 PM Changeset in webkit [173396] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merged r173365. rdar://problem/18257576

1:10 PM Changeset in webkit [173395] by roger_fong@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/ThirdParty/ANGLE

Unreviewed tentative build fix for FHPrime bots.

  • ANGLE.vcxproj/libGLESv2Common.props:
1:01 PM Changeset in webkit [173394] by Antti Koivisto
  • 7 edits in trunk/Source/WebKit2

Buffer images on web process side
​https://bugs.webkit.org/show_bug.cgi?id=136631

Reviewed by Darin Adler.

We can substantially reduce IPC and decoding time for large images by allowing some buffering.

This patch makes us buffer image data up to 0.5s before sending it over to the web process.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::cleanup):
(WebKit::NetworkResourceLoader::didReceiveBuffer):

Start the timer.

(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::startBufferingTimerIfNeeded):
(WebKit::NetworkResourceLoader::bufferingTimerFired):
(WebKit::NetworkResourceLoader::sendBuffer):

Send the data when the timer fires or the load finishes, whichever happens first.

  • NetworkProcess/NetworkResourceLoader.h:
  • Platform/IPC/ArgumentCoders.h:

Support encoding std::chrono::duration

  • Shared/Network/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):

  • Shared/Network/NetworkResourceLoadParameters.h:

Pass maximimum buffering duration.

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::maximumBufferingTime):

Deterimine duration from the resource type.
Enabled full buffering for font resources. They are not decoded incrementally.

(WebKit::WebResourceLoadScheduler::scheduleLoad):

11:59 AM Changeset in webkit [173393] by mitz@apple.com
  • 4 edits in trunk/Source

HAVE(VOUCHERS) is not available outside of WebKit2
​https://bugs.webkit.org/show_bug.cgi?id=136637

Reviewed by Tim Horton.

Source/WebKit2:

  • config.h: Moved the definition of HAVE_VOUCHERS from here to wtf’s Platform.h.

Source/WTF:

  • wtf/Platform.h: Moved the definition of HAVE_VOUCHERS from WebKit2’s config.h here.
11:57 AM Changeset in webkit [173392] by Simon Fraser
  • 7 edits in trunk/Source/WebCore

Use enum class for the RunPostLayoutTasks enum
​https://bugs.webkit.org/show_bug.cgi?id=136640

Reviewed by Dean Jackson.

Use enum class for RunPostLayoutTasks fixing callers. Add an explanatory comment,
and add some spacing.

  • dom/Document.cpp:

(WebCore::Document::updateLayoutIgnorePendingStylesheets):

  • dom/Document.h:
  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::renderWidgetForJSBindings):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::renderWidgetForJSBindings):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::renderWidgetForJSBindings):

  • testing/Internals.cpp:

(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):

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

[WinCairo] Compile error.
​https://bugs.webkit.org/show_bug.cgi?id=136633

Patch by ​peavo@outlook.com <​peavo@outlook.com> on 2014-09-08
Reviewed by Darin Adler.

Enum name has already been defined.

  • platform/audio/AudioHardwareListener.h:
11:44 AM Changeset in webkit [173390] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.11-branch/Source/WebCore

Merged r173344. <rdar://problem/18267402>

11:32 AM Changeset in webkit [173389] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Remove some unused code in ImageSourceCG
​https://bugs.webkit.org/show_bug.cgi?id=136638

Reviewed by Dan Bernstein.

  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::ImageSource::setData):
Remove this code. Firstly, it's in a USE(CG) && !PLATFORM(COCOA) && !PLATFORM(WIN)
block, and that's simply not a thing. Secondly, the referenced bug was fixed in Lion.

11:14 AM Changeset in webkit [173388] by saambarati1@gmail.com
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

Merge StructureShapes that share the same prototype chain
​https://bugs.webkit.org/show_bug.cgi?id=136549

Reviewed by Filip Pizlo.

Instead of keeping track of many discrete StructureShapes that share
the same prototype chain, TypeSet should merge StructureShapes that
have the same prototype chain and provide a new member variable for
optional structure fields. This provides a cleaner and more concise
interface for dealing with StructureShapes within TypeSet. Instead
of having many discrete shapes that are almost identical, almost
identical shapes will be merged together with an interface for
understanding what fields the shapes being merged together differ in.

  • runtime/TypeSet.cpp:

(JSC::TypeSet::addTypeInformation):
(JSC::StructureShape::addProperty):
(JSC::StructureShape::toJSONString):
(JSC::StructureShape::inspectorRepresentation):
(JSC::StructureShape::hasSamePrototypeChain):
(JSC::StructureShape::merge):

  • runtime/TypeSet.h:
  • tests/typeProfiler/optional-fields.js: Added.

(wrapper.func):
(wrapper):

11:04 AM Changeset in webkit [173387] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the build after r173383, part 4.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:

Machine finally caught up so I could actually test the fixes!

10:53 AM Changeset in webkit [173386] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Try to fix the build after r173383, part 3.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
10:45 AM Changeset in webkit [173385] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WTF

Try to fix the build after r173383, part 2.

  • wtf/OSObjectPtr.h:
10:37 AM Changeset in webkit [173384] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WTF

Try to fix the build after r173383.

  • wtf/OSObjectPtr.h:
10:26 AM Changeset in webkit [173383] by weinig@apple.com
  • 2 edits in trunk/Source/WTF

Make OSObjectPtr a bit more like RefPtr
​https://bugs.webkit.org/show_bug.cgi?id=136613

Reviewed by Darin Adler.

Address some of Darin's feedback by:

  • Making the adopting constructor private and friending adoptOSObject().
  • Implementing the assignment operator using swap.
  • Adding a move assignment operator.
  • wtf/OSObjectPtr.h:

(WTF::OSObjectPtr::operator=):
(WTF::OSObjectPtr::swap):
(WTF::OSObjectPtr::OSObjectPtr):

10:10 AM Changeset in webkit [173382] by gyuyoung.kim@samsung.com
  • 13 edits in trunk/Source/WebCore

Introduce CSS_RULE_TYPE_CASTS, and use it
​https://bugs.webkit.org/show_bug.cgi?id=136628

Reviewed by Darin Adler.

As a step to use toFoo, this patch introduces toCSSFooRule(). This will help to detect
wrong type cast. Additionally some missing type casts are clean up as well.

No new tests, no behavior changes.

  • bindings/gobject/WebKitDOMPrivate.cpp:

(WebKit::wrap):

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::addFontFaceRule):

  • css/CSSImportRule.h:
  • css/CSSMediaRule.h:
  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGridTemplateRowsAndAreas):

  • css/CSSRule.h:
  • css/CSSStyleRule.h:
  • css/CSSSupportsRule.h:
  • css/InspectorCSSOMWrappers.cpp:

(WebCore::InspectorCSSOMWrappers::collect):

  • css/WebKitCSSRegionRule.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::asCSSStyleRule):
(WebCore::InspectorCSSAgent::collectStyleSheets):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::asCSSRuleList):
(WebCore::fillMediaListChain):

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::serializeCSSStyleSheet):

10:05 AM Changeset in webkit [173381] by ap@apple.com
  • 4 edits in trunk/Tools

Dashboard metrics should ignore commits that didn't trigger builds
​https://bugs.webkit.org/show_bug.cgi?id=136618

Reviewed by Darin Adler.

Commits that didn't trigger builds are ones like ChangeLog updates, patches for
other platforms etc. It does not make sense to count wait time for these, as it
can be arbitrarily long.

The new algorithm is much slower asymptotically, but it's OK, computers are fast.

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

(BuildbotIteration.prototype._parseData): Record changes that triggered the iteration.

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

We used to walk the timeline to see which revisions are fully tested, but that's not
correct. A revision that's only tested by a subset of queues finishes independently
of another that's tested by another subset. Now, we just search for the answer for
each revision individually.

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

(MetricsView.prototype._update.appendQueueResults): Added worst revision number, which
the analyzer now reports. Removed best time, which is more confusing than meaningful.

9:11 AM Changeset in webkit [173380] by jberlin@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

32-bit build fix after r173364.

  • Carbon/HIViewAdapter.m:

(+[HIViewAdapter bindHIViewToNSView:nsView:]):

8:28 AM Changeset in webkit [173379] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Build fix.

Added back SPI that is still in use.

  • Misc/WebNSURLExtras.h:
  • Misc/WebNSURLExtras.mm:

(-[NSURL _webkit_URLByRemovingFragment]):

8:21 AM Changeset in webkit [173378] by mitz@apple.com
  • 4 edits in trunk/Source

Source/WebKit/mac:
iOS Simulator build fix.

  • Misc/WebKitSystemBits.m:

(WebMemorySize):

Source/WebKit2:
Build fix.

  • Platform/IPC/Connection.h:
8:21 AM Changeset in webkit [173377] by jberlin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

More 32-bit Release build fixes after r173364.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

7:45 AM Changeset in webkit [173376] by jberlin@webkit.org
  • 2 edits in trunk/Source/WTF

More build fixes after r173374.

  • wtf/dtoa/strtod.cc:
7:33 AM Changeset in webkit [173375] by jberlin@webkit.org
  • 2 edits in trunk/Source/WTF

Build fix after r173374.

  • wtf/dtoa/strtod.cc:
7:26 AM Changeset in webkit [173374] by jberlin@webkit.org
  • 2 edits in trunk/Source/WTF

Speculative build fix after r173364.

  • wtf/dtoa/strtod.cc:
3:01 AM Changeset in webkit [173373] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

[EFL[WK2] MiniBrowser comes to crash on debug mode
​https://bugs.webkit.org/show_bug.cgi?id=136617

Reviewed by Csaba Osztrogonác.

Fix wrong ASSERTION use in applyCursorFromEcoreX().

  • platform/efl/EflScreenUtilities.cpp: Change ASSERT(!window) with *ASSERT(window)*

(WebCore::applyCursorFromEcoreX):

2:32 AM Changeset in webkit [173372] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Remove EWebLauncher from webkitdirs.pm
​https://bugs.webkit.org/show_bug.cgi?id=136622

Patch by Tibor Meszaros <​tmeszaros.u-szeged@partner.samsung.com> on 2014-09-08
Reviewed by Gyuyoung Kim.

  • Scripts/webkitdirs.pm:

(launcherName):

Sep 7, 2014:

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

Fix typos in last patch to fix build.

Unreviewed build fix.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::silentSavePlanForGPR):
(JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode):

7:16 PM Changeset in webkit [173370] by mjs@apple.com
  • 10 edits in trunk/Source

Introduce COMPILER_QUIRK(CONSIDERS_UNREACHABLE_CODE) and use it
​https://bugs.webkit.org/show_bug.cgi?id=136616

Reviewed by Darin Adler.
Source/JavaScriptCore:


Many compilers will analyze unrechable code paths (e.g. after an
unreachable code path), so sometimes they need dead code initializations.
But clang with suitable warnings will complain about unreachable code. So
use the quirk to include it conditionally.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::printGetByIdOp):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::handleExitCounts):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThread):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::silentSavePlanForGPR):

  • jsc.cpp:
  • runtime/JSArray.cpp:

(JSC::JSArray::fillArgList):
(JSC::JSArray::copyToArguments):

  • runtime/RegExp.cpp:

(JSC::RegExp::compile):
(JSC::RegExp::compileMatchOnly):

Source/WTF:

  • wtf/Compiler.h: Define the quirk for all compilers but clang.
6:36 PM Changeset in webkit [173369] by gyuyoung.kim@samsung.com
  • 5 edits in trunk/Source/WebCore

Introduce toBasicShapeFoo() instead of static_cast<BasicShapeFoo*>
​https://bugs.webkit.org/show_bug.cgi?id=136609

Reviewed by Darin Adler.

To use BasicShapeFoo() helps to detect wrong type casting and improve code readability.

No new tests, no behavior changes.

  • css/BasicShapeFunctions.cpp:

(WebCore::valueForBasicShape):

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createShape):

  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShape::canBlend):
(WebCore::BasicShapeCircle::blend):
(WebCore::BasicShapeEllipse::blend):
(WebCore::BasicShapePolygon::blend):
(WebCore::BasicShapeInset::blend):

  • rendering/style/BasicShapes.h:
12:14 PM Changeset in webkit [173368] by Darin Adler
  • 2 edits in trunk/Source/WebKit/mac

Fix build failure seen on Mountain Lion buildbot.

  • Misc/WebNSDataExtras.h: Make WEB_GUESS_MIME_TYPE_PEEK_LENGTH an unsigned instead

of an int, to avoid warning about mixing signs.

10:56 AM Changeset in webkit [173367] by weinig@apple.com
  • 16 edits
    1 move
    2 adds in trunk

XPCPtr should be converted into an all purpose smart pointer for os_objects
​https://bugs.webkit.org/show_bug.cgi?id=136602

Reviewed by Darin Adler.

Source/WebKit2:

  • DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm:

(DatabaseServiceInitializer):

  • NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:

(WebKit::NetworkServiceInitializerDelegate::NetworkServiceInitializerDelegate):
(NetworkServiceInitializer):

  • Platform/IPC/Connection.h:

(IPC::Connection::Identifier::Identifier):

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::ConnectionTerminationWatchdog::createConnectionTerminationWatchdog):
(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):

  • Platform/IPC/mac/XPCPtr.h: Removed.
  • PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:

(WebKit::PluginServiceInitializerDelegate::PluginServiceInitializerDelegate):
(PluginServiceInitializer):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:

(WebKit::XPCServiceInitializerDelegate::XPCServiceInitializerDelegate):
(WebKit::XPCServiceInitializer):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:

(WebKit::XPCServiceInitializerDelegate::checkEntitlements):
(WebKit::XPCServiceInitializerDelegate::hasEntitlement):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:

(WebKit::XPCServiceEventHandler):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:

(WebKit::XPCServiceEventHandler):

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToService):
(WebKit::connectToReExecService):

  • WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:

(WebContentServiceInitializer):
Update after the rename of XPCPtr to OSObjectPtr.

Source/WTF:

  • WTF.xcodeproj/project.pbxproj:
  • wtf/OSObjectPtr.h: Copied from Source/WebKit2/Platform/IPC/mac/XPCPtr.h.

(WTF::retainOSObject):
(WTF::releaseOSObject):
(WTF::OSObjectPtr::OSObjectPtr):
(WTF::OSObjectPtr::~OSObjectPtr):
(WTF::OSObjectPtr::operator=):
(WTF::adoptOSObject):
(IPC::XPCPtr::XPCPtr): Deleted.
(IPC::XPCPtr::~XPCPtr): Deleted.
(IPC::XPCPtr::operator=): Deleted.
(IPC::adoptXPC): Deleted.
Rename/move XPCPtr to OSObjectPtr and make it work with any os_object.

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/darwin: Added.
  • TestWebKitAPI/Tests/WTF/darwin/OSObjectPtr.cpp: Added.

Add basic unit tests for OSObjectPtr.

2:30 AM Changeset in webkit [173366] by timothy@apple.com
  • 3 edits in trunk/Source/WebInspectorUI

Use a <circle> instead of a <path> in DownloadArrow.svg.
​https://bugs.webkit.org/show_bug.cgi?id=136608

Reviewed by Antoine Quint.

  • UserInterface/Images/DownloadArrow.svg:
  • UserInterface/Views/TreeElementStatusButton.css:

(.item > .status > .status-button > svg .filled):
(body.mac-platform.legacy .item > .status > .status-button > svg .filled):
(:focus .item.selected > .status > .status-button > svg .filled):
(.item > .status > .status-button > svg .stroked):
(body.mac-platform.legacy .item > .status > .status-button > svg .stroked):
(:focus .item.selected > .status > .status-button > svg .stroked):
Tweak CSS selectors to apply to other shapes, not just path.

Sep 6, 2014:

5:19 PM Changeset in webkit [173365] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[Fullscreen] Add a site-specific hack to work around "flash on exit" behavior of YouTube.com.
​https://bugs.webkit.org/show_bug.cgi?id=136604

Reviewed by Eric Carlson.

YouTube.com will cause a "flash" of the full screen sized <video> element upon exiting full
screen because the "fullscreenchange" event is fired asynchronously after the exit animation
completes. Only YouTube sites and embeds, add a site-specific-quirk which runs the "fullscreenchange"
event synchronously at the end of the exit animation. This causes YouTube's video resizing logic
to run during the period of time where we've disabled screen updates, instead of immediately
after.

  • dom/Document.cpp:

(WebCore::Document::webkitDidExitFullScreenForElement):

3:53 PM Changeset in webkit [173364] by Darin Adler
  • 40 edits in trunk/Source

Make updates suggested by new version of Xcode
​https://bugs.webkit.org/show_bug.cgi?id=136603

Reviewed by Mark Rowe.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig: Added CLANG_WARN_UNREACHABLE_CODE, COMBINE_HIDPI_IMAGES,

and ENABLE_STRICT_OBJC_MSGSEND as suggested by Xcode upgrade check.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode): Compile out unreachable code
for clang, since it understands the code is unreachable.

  • runtime/JSArray.cpp:

(JSC::JSArray::fillArgList): Ditto.
(JSC::JSArray::copyToArguments): Ditto.

Source/ThirdParty:

  • gtest/xcode/Config/General.xcconfig: Moved CLANG_WARN_BOOL_CONVERSION,

CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION, and COMBINE_HIDPI_IMAGES
here from project file. Added CLANG_WARN_UNREACHABLE_CODE, ENABLE_STRICT_OBJC_MSGSEND,
and GCC_WARN_64_TO_32_BIT_CONVERSION as suggested by Xcode upgrade check.

  • gtest/xcode/gtest.xcodeproj/project.pbxproj: Updated LastUpgradeCheck and removed

things that are redundant with the xcconfig file above.

Source/ThirdParty/ANGLE:

  • ANGLE.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.
  • Configurations/ANGLE.xcconfig: Added CLANG_WARN_BOOL_CONVERSION,

CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION, COMBINE_HIDPI_IMAGES,
and ENABLE_STRICT_OBJC_MSGSEND as suggested by Xcode upgrade check.

Source/WebCore:

  • Configurations/Base.xcconfig: Added COMBINE_HIDPI_IMAGES and

ENABLE_STRICT_OBJC_MSGSEND as suggested by Xcode upgrade check.

  • WebCore.xcodeproj/project.pbxproj: Let Xcode remove an orphaned item from the file,

and also updated LastUpgradeCheck.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateTextTrackDisplay): Use #if/#else/#endif instead of
using #if/return/#endif and leaving code unreachable.
(WebCore::HTMLMediaElement::configureMediaControls): Ditto.
(WebCore::HTMLMediaElement::configureTextTrackDisplay): Ditto.

  • html/canvas/WebGLDrawBuffers.cpp:

(WebCore::WebGLDrawBuffers::supported): Ditto.

Source/WebInspectorUI:

  • Configurations/Base.xcconfig: Added CLANG_WARN_BOOL_CONVERSION, CLANG_WARN_CONSTANT_CONVERSION,

CLANG_WARN_EMPTY_BODY, CLANG_WARN_ENUM_CONVERSION, CLANG_WARN_INT_CONVERSION,
CLANG_WARN_UNREACHABLE_CODE, CLANG_WARNDUPLICATE_METHOD_MATCH, ENABLE_STRICT_OBJC_MSGSEND,
GCC_WARN_UNDECLARED_SELECTOR, and GCC_WARN_UNUSED_FUNCTION as suggested by Xcode update check.
Also removed duplicate GCC_WARN_UNUSED_VARIABLE line.

  • WebInspectorUI.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.

Source/WebKit/mac:

  • Configurations/Base.xcconfig: Added CLANG_WARN_UNREACHABLE_CODE, COMBINE_HIDPI_IMAGES,

and ENABLE_STRICT_OBJC_MSGSEND as suggested by Xcode upgrade check.

  • History/WebURLsWithTitles.m:

(+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]): Use NSUInteger instead of
unsigned for correctness, and to quiet the 32-to-64-bit compiler warning (which is
not turned on because it gives us too many false positives).

  • Misc/WebElementDictionary.mm:

(-[WebElementDictionary objectForKey:]): Ditto.

  • Misc/WebNSDataExtras.m:

(-[NSData _webkit_guessedMIMETypeForXML]): Ditto.
(-[NSData _webkit_guessedMIMEType]): Ditto.
(-[NSData _webkit_parseRFC822HeaderFields]): Ditto.
(-[NSData _web_locationAfterFirstBlankLine]): Ditto.

  • Misc/WebNSURLExtras.h: Removed unused _web_URLWithLowercasedScheme, _web_hostData,

_webkit_URLByRemovingFragment, _webkit_URLByRemovingResourceSpecifier, _webkit_isFTPDirectoryURL,
_webkit_shouldLoadAsEmptyDocument, _web_hostNameNeedsDecodingWithRange:,
_web_hostNameNeedsEncodingWithRange:, _web_decodeHostNameWithRange:, _web_encodeHostNameWithRange:,
and _webkit_URLFragment methods.

  • Misc/WebNSURLExtras.mm:

(-[NSURL _web_URLByTruncatingOneCharacterBeforeComponent:]): Deleted.
(-[NSURL _webkit_URLByRemovingFragment]): Deleted.
(-[NSURL _webkit_URLByRemovingResourceSpecifier]): Deleted.
(-[NSURL _webkit_isFTPDirectoryURL]): Deleted.
(-[NSURL _webkit_shouldLoadAsEmptyDocument]): Deleted.
(-[NSURL _web_URLWithLowercasedScheme]): Deleted.
(-[NSString _webkit_isFTPDirectoryURL]): Deleted.
(-[NSString _web_hostNameNeedsDecodingWithRange:]): Deleted.
(-[NSString _web_hostNameNeedsEncodingWithRange:]): Deleted.
(-[NSString _web_decodeHostNameWithRange:]): Deleted.
(-[NSString _web_encodeHostNameWithRange:]): Deleted.
(-[NSString _webkit_URLFragment]): Deleted.

  • Plugins/WebPluginDatabase.mm:

(-[WebPluginDatabase removePluginInstanceViewsFor:]): Use a modern for loop
to iterate an array instead of a loop using the type "unsigned int".

  • WebCoreSupport/WebOpenPanelResultListener.mm:

(-[WebOpenPanelResultListener chooseFilenames:]): Use NSUInteger instead of int.

  • WebView/WebDelegateImplementationCaching.mm:

(CallDelegate): Use wtfCallIMP in one overload that was instead just calling the
directly without a proper type for the function pointer. This might have been causing
an actual problem on 64-bit systems, and it was different from all the other CallDelegate
functions that were already doing this correctly.

  • WebView/WebTextCompletionController.mm:

(-[WebTextCompletionController _placePopupWindow:]): Use NSUInteger instead of int.

Source/WebKit2:

  • Configurations/Base.xcconfig: Added CLANG_WARN_UNREACHABLE_CODE, COMBINE_HIDPI_IMAGES,

and ENABLE_STRICT_OBJC_MSGSEND as suggested by the Xcode upgrade check.

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::initializeCocoaOverrides): Changed NSConcreteTask_launch to use the same technique
as the other functions in this file, doing the type casting right at the call to
method_setImplementation so the global has a suitable type for making a function call,
rather than relying on the abilty to call through a type without a specific argument list.

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::pathExtension): Use size_t for the result of String::reverseFind rather than
converting it to an int. Also don't rely on the fact that WTF's notFound becomes -1 when
cast from size_t to int.

  • WebKit2.xcodeproj/project.pbxproj: Let Xcode delete some orphaned items, and updated

LastUpgradeCheck.

Source/WTF:

  • Configurations/Base.xcconfig: Added CLANG_WARN_UNREACHABLE_CODE,

COMBINE_HIDPI_IMAGES, and ENABLE_STRICT_OBJC_MSGSEND as suggested by
Xcode upgrade check.

  • WTF.xcodeproj/project.pbxproj: Updated LastUpgradeCheck.
1:52 PM Changeset in webkit [173363] by Brian Burg
  • 12 edits in trunk/Source

Web Inspector: convert DockSide to an enum class
​https://bugs.webkit.org/show_bug.cgi?id=136601

Reviewed by Timothy Hatcher.

Source/WebCore:

  • inspector/InspectorFrontendClient.h:
  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
(WebCore::InspectorFrontendClientLocal::requestSetDockSide):
(WebCore::InspectorFrontendClientLocal::canAttachWindow):
(WebCore::InspectorFrontendClientLocal::setAttachedWindow):

  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::requestSetDockSide):

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorFrontendClient::frontendLoaded):
(-[WebInspectorWindowController attachWindow:]):
(-[WebInspectorWindowController attach]):
(-[WebInspectorWindowController detach]):

  • WebInspector/WebInspectorFrontend.mm:

(-[WebInspectorFrontend attach]):

Source/WebKit/win:

  • WebCoreSupport/WebInspectorClient.cpp:

(WebInspectorFrontendClient::frontendLoaded):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:

(WebKit::WebInspectorFrontendClient::attachWindow):

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::attachedBottom):
(WebKit::WebInspector::attachedRight):
(WebKit::WebInspector::detached):

12:27 PM Changeset in webkit [173362] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

11:49 AM Changeset in webkit [173361] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.20

New tag.

10:58 AM Changeset in webkit [173360] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Serialize ResourceResponses using WebKit types
​https://bugs.webkit.org/show_bug.cgi?id=136545

Fix the failing webarchive tests.

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::initNSURLResponse): Map empty text encoding name to nil NSString.

10:27 AM Changeset in webkit [173359] by saambarati1@gmail.com
  • 2 edits in trunk/Tools

Unreviewed. Add myself as a committer.

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

[WinCairo][Curl] fileExists() incorrectly claims folder does not exist.
​https://bugs.webkit.org/show_bug.cgi?id=136598

Patch by ​peavo@outlook.com <​peavo@outlook.com> on 2014-09-06
Reviewed by Alex Christensen.

The fileExists() function will always return false on Windows,
if the filename parameter ends with a slash or backslash.

  • platform/network/curl/CurlCacheManager.cpp:

(WebCore::CurlCacheManager::setCacheDirectory): Add slash after call to fileExists().

9:04 AM Changeset in webkit [173357] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

New clang warns about boolean checks for |this| pointer in RenderObject debug methods
<​http://webkit.org/b/136599>

Reviewed by Zalan Bujtas.

Ignores the following static analyzer warnings:

Source/WebCore/rendering/RenderObject.cpp:1465:10: error: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion]

if (!this) {

~~

Source/WebCore/rendering/RenderObject.cpp:1584:10: error: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion]

if (!this)

~~

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::showRenderObject):
(WebCore::RenderObject::showRenderSubTreeAndMark):
Add "#pragma clang" preprocessor macros to ignore this warning
since the code is only compiled for Debug builds. Also add a
pragma for the pragma so older clangs don't complain about an
unkonwn pragma.

8:33 AM Changeset in webkit [173356] by Antti Koivisto
  • 14 edits in trunk

Serialize ResourceResponses using WebKit types
​https://bugs.webkit.org/show_bug.cgi?id=136545

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Serialization is faster and we can mostly avoid having NSURLResponses in web process.

  • WebCore.exp.in:
  • platform/network/ResourceLoadTiming.h:

(WebCore::ResourceLoadTiming::encode):
(WebCore::ResourceLoadTiming::decode):

  • platform/network/ResourceResponseBase.h:

(WebCore::ResourceResponseBase::encode):
(WebCore::ResourceResponseBase::decode):

Serialize from the WebCore data instead of serializing NSURLResponse.

  • platform/network/cf/ResourceResponseCFNet.cpp:

(WebCore::ResourceResponse::cfURLResponse):

Synthesize CFURLResponse by creating NSURLResponse on Cocoa platforms so we don't need copy code.
This has negligible performance impact, NSURLResponse is just a wrapper around CFURLResponse.

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::nsURLResponse):
(WebCore::ResourceResponse::setCertificateChain):

Avoid unnecessary NSURLRequest instantiation in debug builds.

Source/WebKit2:

Remove the WK2 serialization code for responses. It moves to the types itself in WebCore where it is
close to the data being serialized and less likely to get out of sync.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ResourceResponse>::encode): Deleted.
(IPC::ArgumentCoder<ResourceResponse>::decode): Deleted.

  • Shared/WebCoreArgumentCoders.h:
  • Shared/mac/WebCoreArgumentCodersMac.mm:

(IPC::ArgumentCoder<ResourceResponse>::encodePlatformData): Deleted.
(IPC::ArgumentCoder<ResourceResponse>::decodePlatformData): Deleted.

LayoutTests:

Remove failure expectations for tests fixed by this patch.

http/tests/xmlhttprequest/web-apps/012.html
http/tests/xmlhttprequest/web-apps/013.html

  • platform/mac-wk2/TestExpectations:
8:02 AM Changeset in webkit [173355] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

HTMLElement.cpp does not compile with new clang
<​http://webkit.org/b/136600>

Reviewed by Chris Fleizach.

Fixes the following static analyzer warning:

Source/WebCore/html/HTMLElement.cpp:545:10: error: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Werror,-Wundefined-bool-conversion]

if (!this
!parentNode())

~~

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::setOuterText): Remove "!this" check added
in r75738. It would only cover up real bugs, and isn't even hit
in layout tests.

4:17 AM Changeset in webkit [173354] by ryuan.choi@gmail.com
  • 8 edits
    1 delete in trunk/Source

[EFL] Drop evas object cursor support
​https://bugs.webkit.org/show_bug.cgi?id=136324

Reviewed by Gyuyoung Kim.

Removed evas object cursor because there are some bugs.
ewebkit will only support ecore_x_cursor because ewebkit is available with X, now.

Source/WebCore:

  • platform/efl/DefaultTheme/CMakeLists.txt: Removed cursor related code.
  • platform/efl/DefaultTheme/default.edc: Ditto.
  • platform/efl/DefaultTheme/widget/cursor/cursor.edc: Removed.
  • platform/efl/EflScreenUtilities.cpp:

(WebCore::getEcoreCursor):
(WebCore::applyCursorFromEcoreX): Renamed applyFallbackCursor.
(WebCore::createCustomCursor): Added to make custom cursor.
(WebCore::applyFallbackCursor): Deleted.

  • platform/efl/EflScreenUtilities.h:

Source/WebKit2:

  • UIProcess/API/efl/EwkView.cpp:

(EwkViewEventHandler<EVAS_CALLBACK_MOUSE_IN>::handleEvent):
(EwkView::EwkView):
(EwkView::updateCursor): Simplifies not to use evas object cursor.
(EwkView::setCursor): Ditto.

  • UIProcess/API/efl/EwkView.h:
3:36 AM Changeset in webkit [173353] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

Unreviewed, EFL build fix when SHARED_CORE is on.

  • TestWebKitAPI/PlatformEfl.cmake:
12:07 AM Changeset in webkit [173352] by commit-queue@webkit.org
  • 4 edits in trunk

Unreviewed, rolling out r173335.
​https://bugs.webkit.org/show_bug.cgi?id=136597

Broke webgl/1.0.2/conformance/glsl/misc/shader-varying-
packing-restrictions.html (Requested by ap on #webkit).

Reverted changeset:

"Remove statically used varyings from packing restrictions
check."
​https://bugs.webkit.org/show_bug.cgi?id=136585
​http://trac.webkit.org/changeset/173335

12:02 AM Changeset in webkit [173351] by commit-queue@webkit.org
  • 13 edits in trunk/Source

Unreviewed, rolling out r173340 and r173342.
​https://bugs.webkit.org/show_bug.cgi?id=136596

Broke many tests (Requested by ap on #webkit).

Reverted changesets:

"Remove PLATFORM(IOS) from WebCore/editing (Part 3)."
​https://bugs.webkit.org/show_bug.cgi?id=136474
​http://trac.webkit.org/changeset/173340

"Build fix after r173340."
​http://trac.webkit.org/changeset/173342

Sep 5, 2014:

9:58 PM Changeset in webkit [173350] by commit-queue@webkit.org
  • 13 edits in trunk/Source

Use WTFString::split(char) in more places
​https://bugs.webkit.org/show_bug.cgi?id=136543

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-05
Reviewed by Sam Weinig.

Source/WebCore:

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::nodeForPath):

  • mathml/MathMLMencloseElement.cpp:

(WebCore::MathMLMencloseElement::collectStyleForPresentationAttribute):

  • page/PerformanceResourceTiming.cpp:

(WebCore::passesTimingAllowCheck):

  • platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:

(WebCore::Extensions3DOpenGLCommon::initializeAvailableExtensions):

  • platform/graphics/opengl/GLPlatformContext.cpp:

(WebCore::parseExtensions):

  • platform/gtk/PasteboardHelper.cpp:

(WebCore::PasteboardHelper::fillDataObjectFromDropData):

  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::loadResponseHeaders):

  • platform/network/curl/CurlCacheManager.cpp:

(WebCore::CurlCacheManager::loadIndex):

Source/WebKit2:

  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:

(WebKit::PluginVersion::parse):

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::initInspectorServer):

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::isTransparentSilverlightBackgroundValue):

9:14 PM Changeset in webkit [173349] by mmaxfield@apple.com
  • 11 edits
    2 adds in trunk

Laying out a TextRun using an SVG font is O(n2)
​https://bugs.webkit.org/show_bug.cgi?id=136584

Reviewed by Andreas Kling.

PerformanceTests:

Time how long it takes to lay out and render some text using an SVG font.

  • SVG/SVG-Text.html: Added.
  • SVG/resources/graffiti.svg: Added.

Source/WebCore:

Caching the version of the run with normalized spaces leads to a 5x speedup on the
performance test this patch adds.

Note that SVGFontData::applySVGGlyphSelection() is still unnecesarrily O(n), so more
work can be done here. In particular, the call to collectGlyphsForString() can likely
be sped up.

No new correctness tests because there is no behavior change.
Performance Test: SVG/SVG-Text.html

  • platform/graphics/Font.h:

(WebCore::Font::treatAsSpace): Make inline.
(WebCore::Font::treatAsZeroWidthSpace): Ditto.
(WebCore::Font::treatAsZeroWidthSpaceInComplexScript): Ditto.

  • platform/graphics/SimpleFontData.h: Add String cache argument.
  • platform/graphics/TextRun.h: Move member variables around for better packing.

(WebCore::TextRun::TextRun): Ditto.

  • platform/graphics/WidthIterator.cpp: Add String cache argument.

(WebCore::WidthIterator::glyphDataForCharacter): Ditto.
(WebCore::WidthIterator::advanceInternal): Create String cache and pass it to
glyphDataForCharacter.

  • platform/graphics/WidthIterator.h: Add String cache argument.
  • rendering/svg/SVGTextRunRenderingContext.cpp: Ditto.

(WebCore::SVGTextRunRenderingContext::glyphDataForCharacter): Ditto.

  • rendering/svg/SVGTextRunRenderingContext.h: Ditto.
  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::applySVGGlyphSelection): Call computeNormalizedSpaces
to consult with the cache.
(WebCore::computeNormalizedSpaces): Compute cached String value.

  • svg/SVGFontData.h: Add String cache argument.
7:24 PM Changeset in webkit [173348] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r169407): Calls to RenderStyle::getRoundedBorderFor() in computeRoundedRectForBoxShape() still include RenderView pointer
<​http://webkit.org/b/136591>
<rdar://problem/18143731>

Reviewed by Simon Fraser.

In r169407, the RenderView* argument was removed from
RenderStyle::getRoundedBorderFor(). This argument was not
removed from these calls in computeRoundedRectForBoxShape(), but
because getRoundedBorderFor() always returned a reference, and
because the default for the next argument was true, there was no
actual change in behavior from this bug.

No new tests since there is no change in behavior.

  • rendering/shapes/BoxShape.cpp:

(WebCore::computeRoundedRectForBoxShape): Remove RenderView*
arguments from calls to getRoundedBorderFor().

5:25 PM Changeset in webkit [173347] by Simon Fraser
  • 3 edits in trunk/LayoutTests

Change this test not to use a percentage width, and to use a non-blurred
shadow to avoid different results on Retina display systems.

  • platform/mac-wk2/tiled-drawing/scrolling/frames/fixed-inside-frame-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/frames/fixed-inside-frame.html:
5:16 PM Changeset in webkit [173346] by ggaren@apple.com
  • 8 edits in trunk/Source

bmalloc should honor the FastMalloc statistics API
​https://bugs.webkit.org/show_bug.cgi?id=136592

Reviewed by Gavin Barraclough.

Source/bmalloc:

We do this by tracking "size" and "capacity" in the VM heap.

The VM heap's "capacity" is all the VM we ever allocated.

The VM heap's "size" the subset of VM currently held onto by the
VM heap (and therefore not in use by the regular heap).

Somewhat ironically, reducing the process's memory footprint, increases
the size of the VM heap, since the VM heap holds the pages that are
purely virtual and not physical.

  • bmalloc/Heap.cpp:

(bmalloc::Heap::size):
(bmalloc::Heap::capacity):

  • bmalloc/Heap.h:
  • bmalloc/VMHeap.cpp:

(bmalloc::VMHeap::VMHeap):
(bmalloc::VMHeap::allocateSmallChunk):
(bmalloc::VMHeap::allocateMediumChunk):
(bmalloc::VMHeap::allocateLargeChunk):

  • bmalloc/VMHeap.h:

(bmalloc::VMHeap::size):
(bmalloc::VMHeap::capacity):
(bmalloc::VMHeap::allocateSmallPage):
(bmalloc::VMHeap::allocateMediumPage):
(bmalloc::VMHeap::allocateLargeRange):
(bmalloc::VMHeap::deallocateSmallPage):
(bmalloc::VMHeap::deallocateMediumPage):
(bmalloc::VMHeap::deallocateLargeRange):

  • bmalloc/bmalloc.h:

(bmalloc::api::heapSize):
(bmalloc::api::heapCapacity):

Source/WTF:

  • wtf/FastMalloc.cpp:

(WTF::fastMallocStatistics):

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

[iOS] Work around bug 136593 by disabling the PDFDocumentImage live resize optimization there
​https://bugs.webkit.org/show_bug.cgi?id=136594
rdar://problem/17457013

Reviewed by Simon Fraser.

  • platform/graphics/cg/PDFDocumentImage.cpp:

(WebCore::PDFDocumentImage::updateCachedImageIfNeeded):
Disable the optimization on iOS, because bug 136593 rears its head
most often on iOS because it is more common to have contexts that always
use low-quality image interpolation on that platform.

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

Doing a navigation on a non-opaque WKWebView can result in an empty layer tree
​https://bugs.webkit.org/show_bug.cgi?id=136590
<rdar://problem/18234000>

Reviewed by Simon Fraser.

  • page/FrameView.cpp:

(WebCore::FrameView::setTransparent):
Avoid scheduling a compositing layer update if the RenderView isn't the
one associated with this FrameView. This can happen during a navigation,
before the new Document (and RenderView) is swapped in. This is particularly
bad in the case of setTransparent because it is called from Frame::createView,
which is right in the middle of that transition window. If we let the compositing
layer update go ahead, it can end up detaching the new Document's layer tree,
and we have no mechanism that would cause it to reattach.

5:06 PM Changeset in webkit [173343] by jpfau@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, skip tests for a feature that isn't supported

  • platform/mac/TestExpectations:
4:54 PM Changeset in webkit [173342] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Build fix after r173340.

  • WebCoreSupport/WebEditorClient.h:

(kit):
(core):

4:40 PM Changeset in webkit [173341] by Lucas Forschler
  • 2 edits in trunk/Tools

<​https://webkit.org/b/136586> Add bots to Apple build/test queues

Reviewed by Daniel Bates.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
4:30 PM Changeset in webkit [173340] by enrica@apple.com
  • 13 edits in trunk/Source

Remove PLATFORM(IOS) from WebCore/editing (Part 3).
​https://bugs.webkit.org/show_bug.cgi?id=136474

Reviewed by Benjamin Poulain.

This patch removes the use of PLATFORM(IOS) from TextAffinity.h
and removes the assumption that EAffinity values match NSSelectionAffinity
values. It also removes the includes in TextAffinity.h, creating the need to
include explicitly the files when necessary. It also removes the unnecessary
use of platform specific types, replacing them with WebCore types.

Source/WebCore:

  • editing/TextAffinity.h:

(kit): Deleted.
(core): Deleted.

  • editing/cocoa/HTMLConverter.mm:
  • page/mac/WebCoreFrameView.h:
  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::platformSetScrollPosition):
(WebCore::ScrollView::platformSetScrollOrigin):

  • platform/ios/wak/WAKScrollView.mm:

(-[WAKScrollView setScrollOrigin:updatePositionAtAll:immediately:]):
(-[WAKScrollView scrollOrigin]):

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.h: Added kit and core for EAffinity.
  • WebView/WebFrameView.mm:

(-[WebFrameView _scrollToBeginningOfDocument]):
(-[WebFrameView _scrollToEndOfDocument]):

Source/WebKit2:

  • WebProcess/InjectedBundle/API/mac/WKDOMInternals.mm:
  • WebProcess/WebPage/WKAccessibilityWebPageObjectIOS.mm:

(-[WKAccessibilityWebPageObject accessibilityHitTest:]):

4:01 PM Changeset in webkit [173339] by jpfau@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Add test after r173324

Rubber-stamped by Simon Fraser.

  • storage/indexeddb/version-change-event-expected.txt: Added.
  • storage/indexeddb/version-change-event.html: Added.
4:00 PM Changeset in webkit [173338] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

bmalloc should honor the FastMalloc scavenging API
​https://bugs.webkit.org/show_bug.cgi?id=136588

Reviewed by Andreas Kling.

  • wtf/FastMalloc.cpp:

(WTF::releaseFastMallocFreeMemory):

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

Unreviewed GTK build fix; include StringPrintStream to pull in toString().

  • html/HTMLMediaElement.h:
3:11 PM Changeset in webkit [173336] by beidson@apple.com
  • 5 edits in trunk

Allow pages with unload handlers in the page cache
<rdar://problem/11084669> and ​https://bugs.webkit.org/show_bug.cgi?id=136535

Reviewed by Oliver Hunt.

Source/WebCore:

This will match what iOS has been doing for some time.

Updated tests for new behavior.

  • history/PageCache.cpp:

(WebCore::logCanCacheFrameDecision):
(WebCore::PageCache::canCachePageContainingThisFrame):

LayoutTests:

  • fast/frames/frame-crash-with-page-cache-expected.txt:
  • fast/frames/resources/cached-page-1.html:
3:09 PM Changeset in webkit [173335] by roger_fong@apple.com
  • 4 edits in trunk

Remove statically used varyings from packing restrictions check.
​https://bugs.webkit.org/show_bug.cgi?id=136585.
<rdar://problem/16308409>

Reviewed by Dean Jackson.

  • src/compiler/translator/Compiler.cpp:

(TCompiler::enforcePackingRestrictions):

  • platform/mac/TestExpectations: Unskip build_009_to_016.html conformance test.
2:32 PM Changeset in webkit [173334] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

2014-09-05 Geoffrey Garen <​ggaren@apple.com>

Rolled out <​http://trac.webkit.org/changeset/173313>.

It seems to have broken the PLT bot.

Do the bmalloc.
​https://bugs.webkit.org/show_bug.cgi?id=132629

  • wtf/FastMalloc.cpp:
2:08 PM Changeset in webkit [173333] by commit-queue@webkit.org
  • 7 edits
    3 adds in trunk

Web Inspector: breakpoint actions should work regardless of Content Security Policy
​https://bugs.webkit.org/show_bug.cgi?id=136542

Patch by Matt Baker <Matt Baker> on 2014-09-05
Reviewed by Mark Lam.

Source/JavaScriptCore:

Added JSC::DebuggerEvalEnabler, an RAII object which enables eval on a
JSGlobalObject for the duration of a scope, returning the eval enabled state to its
original value when the scope exits. Used by JSC::DebuggerCallFrame::evaluate
to allow breakpoint actions to execute JS in pages with a Content Security Policy
that would normally prohibit this (such as Inspector's Main.html).

Refactored Inspector::InjectedScriptBase to use the RAII object instead of manually
setting eval enabled and then resetting the original eval enabled state.

NOTE: The JS::DebuggerEvalEnabler constructor checks the passed in ExecState pointer
for null to be equivalent with the original code in Inspector::InjectedScriptBase.
InjectedScriptBase is getting the ExecState from ScriptObject::scriptState(), which
can currently be null.

(JSC::DebuggerCallFrame::evaluate):

  • debugger/DebuggerEvalEnabler.h: Added.

(JSC::DebuggerEvalEnabler::DebuggerEvalEnabler):
(JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler):

  • inspector/InjectedScriptBase.cpp:

(Inspector::InjectedScriptBase::callFunctionWithEvalEnabled):

LayoutTests:

Added test for "Evaluate JavaScript" breakpoint actions for breakpoints set on
pages with a CSP that does not allow 'unsafe-eval'.

  • inspector/debugger/breakpoint-action-eval-expected.txt: Added.
  • inspector/debugger/breakpoint-action-eval.html: Added.
1:57 PM Changeset in webkit [173332] by ap@apple.com
  • 2 edits in trunk/Tools

Buildbot metrics page gives wrong results after a new bot gets added
​https://bugs.webkit.org/show_bug.cgi?id=136516

Reviewed by Tim Horton.

Part 2: Fix elapsed times.

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

(Analyzer.prototype._countTimes): Made lastTestedRevisionByQueue contain undefined values
until the first build in a queue. This happens to work as needed with _fullyTestedRevisionNumber().

1:25 PM Changeset in webkit [173331] by clopez@igalia.com
  • 6 edits in trunk

[SOUP] Implement ResourceResponse::platformSuggestedFilename() when USE(SOUP) is enabled.
​https://bugs.webkit.org/show_bug.cgi?id=136562

Reviewed by Martin Robinson.

Source/WebCore:

No new tests, this makes existing tests pass.

  • platform/network/soup/ResourceResponseSoup.cpp:

(WebCore::ResourceResponse::platformSuggestedFilename):
Implement ResourceResponse::platformSuggestedFilename() for SOUP after r173272, r173301 and r173305.

Tools:

  • Scripts/run-gtk-tests:

(TestRunner): Remove failure expectations for tests that now pass.

LayoutTests:

  • platform/gtk/TestExpectations: Remove failure expectations for tests that now pass.
1:05 PM Changeset in webkit [173330] by msaboff@apple.com
  • 3 edits
    2 adds in trunk/LayoutTests

ARM32 iOS: JSC Test math.js fails
​https://bugs.webkit.org/show_bug.cgi?id=136261

Reviewed by Geoffrey Garen.

Split out the failing tests to a new test script math-denorm.js. Added check
at the top of the new file to skip the tests when running on ARM for iOS.

  • js/math-denorm-expected.txt: Added.
  • js/math-expected.txt:
  • js/script-tests/math-denorm.js: Added.
  • js/script-tests/math.js:
1:05 PM Changeset in webkit [173329] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

[Curl] Compile error.
​https://bugs.webkit.org/show_bug.cgi?id=136574

Patch by ​peavo@outlook.com <​peavo@outlook.com> on 2014-09-05
Reviewed by Alex Christensen.

The ResourceResponse::setSuggestedFilename method is no longer available.

  • platform/network/curl/CurlCacheEntry.cpp:

(WebCore::CurlCacheEntry::setResponseFromCachedHeaders):

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownload::didReceiveHeader):

  • platform/network/curl/MultipartHandle.cpp:

(WebCore::MultipartHandle::didReceiveResponse):

  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::headerCallback):

  • platform/network/curl/ResourceResponse.h:

(WebCore::ResourceResponse::platformSuggestedFilename):

1:04 PM Changeset in webkit [173328] by benjamin@webkit.org
  • 21 edits
    12 adds in trunk

Update the current matching of :read-only and :read-write to the latest spec
​https://bugs.webkit.org/show_bug.cgi?id=136566

Reviewed by Antti Koivisto.

Source/WebCore:

WebKit's implementation of :read-only and :read-write dated from 2008 and
it was based on the web form spec (​http://www.w3.org/TR/web-forms-2/).
That spec is very dead now.

There are new definitions of :read-only and :read-write in three specs:
-the HTML living spec: ​http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting.html#selector-read-only
-Selectors level 4: ​http://dev.w3.org/csswg/selectors4/#rw-pseudos
-CSS 3 UI: ​http://www.w3.org/TR/css3-ui/

All the definitions say about the same thing. The definitions of Selector Level 4 and
CSS 3 UI are very vague and poorly worded. I used the HTML when something was ambiguous.

In the new definitions, :read-only and :read-write are opposite. It is no longer possible to
match both selector simultaneously for the same element.
Consequently, I got rid of Element:matchesReadOnlyPseudoClass(). Matching :read-only is now equivalent
to :not(:read-write).

The existing definition of :read-write was matching the spec so I could reuse that.

There is one more part to the new spec that is not addressed here: the pseudo class :read-write should
now also match arbitrary editable HTMLElement (e.g. an element with contenteditable). This will be fixed
in a follow up.

Tests: fast/css/read-only-read-write-input-basics.html

fast/css/read-only-read-write-textarea-basics.html
fast/selectors/read-only-read-write-input-basics.html
fast/selectors/read-only-read-write-input-in-fieldset.html
fast/selectors/read-only-read-write-textarea-basics.html
fast/selectors/read-only-read-write-textarea-in-fieldset.html

  • css/SelectorCheckerTestFunctions.h:

(WebCore::matchesReadOnlyPseudoClass):

  • dom/Element.cpp:

(WebCore::Element::matchesReadOnlyPseudoClass): Deleted.

  • dom/Element.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::matchesReadOnlyPseudoClass): Deleted.

  • html/HTMLInputElement.h:
  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::matchesReadOnlyPseudoClass): Deleted.

  • html/HTMLTextAreaElement.h:
  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::matchesReadOnlyPseudoClass): Deleted.

  • html/shadow/SliderThumbElement.h:
  • html/shadow/SpinButtonElement.cpp:

(WebCore::SpinButtonElement::matchesReadOnlyPseudoClass): Deleted.

  • html/shadow/SpinButtonElement.h:
  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::isReadOnlyControl):

LayoutTests:

  • fast/css/readonly-pseudoclass-opera-005.html:

This was one of the original test.
With the new definition, input[type=radio] is always :read-only.

  • fast/forms/input-live-pseudo-selectors-expected.txt:
  • fast/forms/resources/input-live-pseudo-selectors.js:
  • fast/forms/resources/live-pseudo-selectors.css:

(:read-only): Deleted.

  • fast/forms/resources/select-live-pseudo-selectors.js:
  • fast/forms/resources/textarea-live-pseudo-selectors.js:
  • fast/forms/textarea-live-pseudo-selectors-expected.txt:

Those various tests were mostly testing form validation. The selectors
for :read-only and :read-write were in the way of testing.

They were only 3 cases tested and they are covered by the new tests.

  • fast/css/read-only-read-write-input-basics-expected.html: Added.
  • fast/css/read-only-read-write-input-basics.html: Added.
  • fast/css/read-only-read-write-textarea-basics-expected.html: Added.
  • fast/css/read-only-read-write-textarea-basics.html: Added.
  • fast/selectors/read-only-read-write-input-basics-expected.txt: Added.
  • fast/selectors/read-only-read-write-input-basics.html: Added.
  • fast/selectors/read-only-read-write-input-in-fieldset-expected.txt: Added.
  • fast/selectors/read-only-read-write-input-in-fieldset.html: Added.
  • fast/selectors/read-only-read-write-textarea-basics-expected.txt: Added.
  • fast/selectors/read-only-read-write-textarea-basics.html: Added.
  • fast/selectors/read-only-read-write-textarea-in-fieldset-expected.txt: Added.
  • fast/selectors/read-only-read-write-textarea-in-fieldset.html: Added.

New tests covering basic features for <input> and <textarea>. The definition for
other editable content is ignored for now.

12:42 PM Changeset in webkit [173327] by commit-queue@webkit.org
  • 5 edits
    1 add in trunk/Source/JavaScriptCore

[WinCairo] jsc.exe won't run.
​https://bugs.webkit.org/show_bug.cgi?id=136481

Patch by ​peavo@outlook.com <​peavo@outlook.com> on 2014-09-05
Reviewed by Alex Christensen.

We need to define WIN_CAIRO to avoid looking for the AAS folder.

12:33 PM Changeset in webkit [173326] by ddkilzer@apple.com
  • 12 edits in trunk/Source

JavaScriptCore should build with newer clang
<​http://webkit.org/b/136002>
<rdar://problem/18020616>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Other than the JSC::SourceProvider::asID() change (which simply
removes code that the optimizing compiler would have discarded
in Release builds), we move the |this| checks in OpaqueJSString
to NULL checks in to JSBase, JSObjectRef, JSScriptRef,
JSStringRef{CF} and JSValueRef.

Note that the following function arguments are _not_ NULL-checked
since doing so would just cover up bugs (and were not needed to
prevent any tests from failing):

  • |script| in JSEvaluateScript(), JSCheckScriptSyntax();
  • |body| in JSObjectMakeFunction();
  • |source| in JSScriptCreateReferencingImmortalASCIIText() (which is a const char* anyway);
  • |source| in JSScriptCreateFromString().
  • API/JSBase.cpp:

(JSEvaluateScript): Add NULL check for |sourceURL|.
(JSCheckScriptSyntax): Ditto.

  • API/JSObjectRef.cpp:

(JSObjectMakeFunction): Ditto.

  • API/JSScriptRef.cpp:

(JSScriptCreateReferencingImmortalASCIIText): Ditto.
(JSScriptCreateFromString): Add NULL check for |url|.

  • API/JSStringRef.cpp:

(JSStringGetLength): Return early if NULL pointer is passed in.
(JSStringGetCharactersPtr): Ditto.
(JSStringGetUTF8CString): Ditto. Also check |buffer| parameter.

  • API/JSStringRefCF.cpp:

(JSStringCopyCFString): Ditto.

  • API/JSValueRef.cpp:

(JSValueMakeString): Add NULL check for |string|.

  • API/OpaqueJSString.cpp:

(OpaqueJSString::string): Remove code that checks |this|.
(OpaqueJSString::identifier): Ditto.
(OpaqueJSString::characters): Ditto.

  • API/OpaqueJSString.h:

(OpaqueJSString::is8Bit): Remove code that checks |this|.
(OpaqueJSString::characters8): Ditto.
(OpaqueJSString::characters16): Ditto.
(OpaqueJSString::length): Ditto.

  • parser/SourceProvider.h:

(JSC::SourceProvider::asID): Remove code that checks |this|.

Source/WebKit2:

  • Shared/API/c/WKString.cpp:

(WKStringCreateWithJSString): Add NULL check to prevent
WebKitTestRunner crashes that relied on the previous |this|
behavior where NULL values were allowed.

12:25 PM Changeset in webkit [173325] by akling@apple.com
  • 12 edits in trunk/Source/WebCore

CTTE: SVGResourcesCache should only allow RenderElements.
<​https://webkit.org/b/136578>

Only RenderElement subclasses can use SVG resources.
Codify this by making SVGResourcesCache::m_cache keyed on RenderElement.

Reviewed by Antti Koivisto.

  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::selfWillPaint):

  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::imageChanged):

  • rendering/svg/RenderSVGResource.cpp:

(WebCore::requestPaintingResource):
(WebCore::removeFromCacheAndInvalidateDependencies):

  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::applyClippingToContext):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced):

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
(WebCore::RenderSVGShape::markerRect):
(WebCore::RenderSVGShape::drawMarkers):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::invalidateResourcesOfChildren):
(WebCore::SVGRenderSupport::intersectRepaintRectWithResources):
(WebCore::SVGRenderSupport::filtersForceContainerLayout):
(WebCore::SVGRenderSupport::pointInClippingArea):

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

  • rendering/svg/SVGResourcesCache.cpp:

(WebCore::resourcesCacheFromRenderer):
(WebCore::SVGResourcesCache::cachedResourcesForRenderer):
(WebCore::SVGResourcesCache::clientLayoutChanged):
(WebCore::SVGResourcesCache::clientDestroyed):
(WebCore::SVGResourcesCache::resourceDestroyed):
(WebCore::SVGResourcesCache::cachedResourcesForRenderObject): Deleted.

  • rendering/svg/SVGResourcesCache.h:
  • rendering/svg/SVGResourcesCycleSolver.cpp:

(WebCore::SVGResourcesCycleSolver::resourceContainsCycles):

12:20 PM Changeset in webkit [173324] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

IDB version changed events should have a valid eventType()
​https://bugs.webkit.org/show_bug.cgi?id=136583

Reviewed by Brady Eidson.

IDBDatabase::dispatchEvent() asserts that the event type is versionchangeEvent,
but the version changed event created with an empty event type. Correct this.

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::onVersionChange):

12:16 PM Changeset in webkit [173323] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Increase number of maximum active WebGL contexts.
​https://bugs.webkit.org/show_bug.cgi?id=136551.
<rdar://problem/18236425>

Reviewed by Brent Fulgham.

Test covered by Khronos conformance test:
webgl/1.0.2/conformance/context/context-creation-and-destruction.html

  • platform/graphics/mac/GraphicsContext3DMac.mm:
12:09 PM Changeset in webkit [173322] by ap@apple.com
  • 4 edits in trunk/Tools

Dashboard metrics page wastes a lot of time sorting iterations
​https://bugs.webkit.org/show_bug.cgi?id=136559

Reviewed by Tim Horton.

Also fixes comments here and there, and adds a missing "var".

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

(BuildbotIteration.prototype._parseData):
(BuildbotIteration.prototype._updateWithData):

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

(BuildbotQueue.prototype.loadAll):

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

(Analyzer.prototype._countTimes):

11:57 AM Changeset in webkit [173321] by Simon Fraser
  • 6 edits in trunk/Source

Remove some PLATFORM(IOS) code in Color.h/cpp
​https://bugs.webkit.org/show_bug.cgi?id=136582

Reviewed by Dan Bates.
Source/WebCore:

Remove Color::tap which is unused, and remove createCGColorWithDeviceWhite()
which was only called in one file in WebKit.

  • WebCore.exp.in:
  • platform/graphics/Color.h:
  • platform/graphics/cg/ColorCG.cpp:

(WebCore::createCGColorWithDeviceWhite): Deleted.

Source/WebKit/ios:

createCGColorWithDeviceWhite() is only used here so make it a local static function.

  • WebView/WebPDFViewIOS.mm:

(createCGColorWithDeviceWhite):

11:54 AM Changeset in webkit [173320] by Beth Dakin
  • 17 edits in trunk/Source

ScrollablArea::handleWheelEvent() should return early if the ScrollableArea is not
actually scrollable
​https://bugs.webkit.org/show_bug.cgi?id=136558

Reviewed by Simon Fraser.

Source/WebCore:

This patch requires adding a new virtual function to ScrollableArea called
isScrollableOrRubberbandable(). Unfortunately, there is already a virtual function
of that name that exists on RenderLayerModelObject, which is only problematic
because RenderListBox inherits from both RenderLayerModelObject and
ScrollableArea. This patch resolves that conflict in the simplest way, by re-
naming the RenderLayerModelObject version of the function to
isScrollableOrRubberbandableBox(). It’s a little unfortunate, but simpler than the
other solutions I came up with.

New ScrollableArea virtual function.

  • page/FrameView.cpp:

(WebCore::FrameView::isScrollableOrRubberbandable):

  • page/FrameView.h:

The point of the whole patch! Return early if you can’t scroll or rubber band.

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::handleWheelEvent):

New ScrollableArea virtual function.

  • platform/ScrollableArea.h:
  • platform/win/PopupMenuWin.h:

Re-name.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::isScrollableOrRubberbandableBox):
(WebCore::RenderBox::isScrollableOrRubberbandable): Deleted.

  • rendering/RenderBox.h:

Implement new ScrollableArea virtual function, and adapt to the re-name.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::isScrollableOrRubberbandable):
(WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):

  • rendering/RenderLayer.h:

Re-name.

  • rendering/RenderLayerModelObject.h:

(WebCore::RenderLayerModelObject::isScrollableOrRubberbandableBox):
(WebCore::RenderLayerModelObject::isScrollableOrRubberbandable): Deleted.

Implement ScrollableArea virtual function.

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::isScrollableOrRubberbandable):

  • rendering/RenderListBox.h:

Re-name.

  • rendering/RenderView.cpp:

(WebCore::RenderView::isScrollableOrRubberbandableBox):
(WebCore::RenderView::isScrollableOrRubberbandable): Deleted.

  • rendering/RenderView.h:

Source/WebKit2:

New ScrollableArea virtual function.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
11:42 AM Changeset in webkit [173319] by clopez@igalia.com
  • 5 edits in trunk

[GTK] Unreviewed GTK gardening.

Tools:

  • Scripts/run-gtk-tests:

(TestRunner): Skip tests failing since r173272.

LayoutTests:

  • platform/gtk/TestExpectations: Report and mark new failures after r173049 and r173272.

Update some expectations for new cases.

  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt: Rebaseline after r173049.
11:38 AM Changeset in webkit [173318] by jer.noble@apple.com
  • 75 edits
    2 copies
    2 moves
    1 delete in trunk

Refactoring: make MediaTime the primary time type for audiovisual times.
​https://bugs.webkit.org/show_bug.cgi?id=133579

Reviewed by Eric Carlson.

Source/JavaScriptCore:

Add a utility function which converts a MediaTime to a JSNumber.

  • runtime/JSCJSValue.h:

(JSC::jsNumber):

Source/WebCore:

In order to limit the number of floating-point rounding errors for media systems which
can make use of rational time objects.

Add some convenience methods to convert between QTTime and MediaTime.

  • platform/graphics/mac/MediaTimeQTKit.h: Added.
  • platform/graphics/mac/MediaTimeQTKit.mm: Added.

(WebCore::toMediaTime):
(WebCore::toQTTime):

Rename MediaTimeMac -> MediaTimeAVFoundation:

  • platform/graphics/avfoundation/MediaTimeAVFoundation.cpp: Renamed from Source/WebCore/platform/mac/MediaTimeMac.cpp.

(WebCore::toMediaTime):
(WebCore::toCMTime):

  • platform/graphics/avfoundation/MediaTimeAVFoundation.h: Renamed from Source/WebCore/platform/mac/MediaTimeMac.h.

Use MediaTime instead of double:

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::duration):
(WebCore::MediaSource::currentTime):
(WebCore::MediaSource::buffered):
(WebCore::MediaSource::setDuration):
(WebCore::MediaSource::activeRanges):

  • Modules/mediasource/MediaSource.h:
  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::remove):
(WebCore::SourceBuffer::removeCodedFrames):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
(WebCore::SourceBuffer::hasCurrentTime):
(WebCore::SourceBuffer::hasFutureTime):
(WebCore::SourceBuffer::canPlayThrough):

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDataCueCustom.cpp:

(WebCore::JSDataCueConstructor::constructJSDataCue):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:

(WebCore::ValueToString<MediaTime>::string):

  • html/MediaFragmentURIParser.cpp:

(WebCore::MediaFragmentURIParser::MediaFragmentURIParser):
(WebCore::MediaFragmentURIParser::startTime):
(WebCore::MediaFragmentURIParser::endTime):
(WebCore::MediaFragmentURIParser::parseTimeFragment):
(WebCore::MediaFragmentURIParser::parseNPTFragment):
(WebCore::MediaFragmentURIParser::parseNPTTime):
(WebCore::MediaFragmentURIParser::invalidTimeValue): Deleted.

  • html/MediaFragmentURIParser.h:
  • html/TimeRanges.h:

(WebCore::TimeRanges::ranges):

  • html/track/DataCue.cpp:

(WebCore::DataCue::DataCue):

  • html/track/DataCue.h:

(WebCore::DataCue::create):

  • html/track/InbandDataTextTrack.cpp:

(WebCore::InbandDataTextTrack::addDataCue):
(WebCore::InbandDataTextTrack::updateDataCue):
(WebCore::InbandDataTextTrack::removeDataCue):

  • html/track/InbandDataTextTrack.h:
  • html/track/InbandGenericTextTrack.cpp:

(WebCore::InbandGenericTextTrack::updateCueFromCueData):
(WebCore::InbandGenericTextTrack::addGenericCue):
(WebCore::InbandGenericTextTrack::removeGenericCue):

  • html/track/InbandTextTrack.cpp:

(WebCore::InbandTextTrack::startTimeVariance):

  • html/track/InbandTextTrack.h:
  • html/track/InbandWebVTTTextTrack.cpp:

(WebCore::InbandWebVTTTextTrack::newCuesParsed):

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::addCue):
(WebCore::TextTrack::hasCue):

  • html/track/TextTrack.h:

(WebCore::TextTrack::startTimeVariance):

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::create):
(WebCore::TextTrackCue::TextTrackCue):
(WebCore::TextTrackCue::setStartTime):
(WebCore::TextTrackCue::setEndTime):
(WebCore::TextTrackCue::hasEquivalentStartTime):

  • html/track/TextTrackCue.h:

(WebCore::TextTrackCue::startTime):
(WebCore::TextTrackCue::endTime):

  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGeneric::TextTrackCueGeneric):

  • html/track/TextTrackCueGeneric.h:
  • html/track/TextTrackCueList.cpp:

(WebCore::TextTrackCueList::add):

  • html/track/VTTCue.cpp:

(WebCore::VTTCue::VTTCue):
(WebCore::VTTCue::markFutureAndPastNodes):
(WebCore::VTTCue::updateDisplayTree):

  • html/track/VTTCue.h:

(WebCore::VTTCue::create):

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::WebVTTParser):
(WebCore::WebVTTParser::resetCueValues):
(WebCore::WebVTTParser::collectTimeStamp):
(WebCore::WebVTTTreeBuilder::constructTreeFromToken):

  • html/track/WebVTTParser.h:

(WebCore::WebVTTCueData::startTime):
(WebCore::WebVTTCueData::setStartTime):
(WebCore::WebVTTCueData::endTime):
(WebCore::WebVTTCueData::setEndTime):
(WebCore::WebVTTCueData::WebVTTCueData): Deleted.

  • platform/graphics/InbandTextTrackPrivateClient.h:

(WebCore::GenericCueData::startTime):
(WebCore::GenericCueData::setStartTime):
(WebCore::GenericCueData::endTime):
(WebCore::GenericCueData::setEndTime):
(WebCore::GenericCueData::GenericCueData):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::duration):
(WebCore::MediaPlayer::startTime):
(WebCore::MediaPlayer::initialTime):
(WebCore::MediaPlayer::currentTime):
(WebCore::MediaPlayer::seekWithTolerance):
(WebCore::MediaPlayer::seek):
(WebCore::MediaPlayer::maxTimeSeekable):
(WebCore::MediaPlayer::minTimeSeekable):
(WebCore::MediaPlayer::mediaTimeForTimeValue):
(WebCore::MediaPlayer::totalFrameDelay):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::durationMediaTime):
(WebCore::MediaPlayerPrivateInterface::currentMediaTime):
(WebCore::MediaPlayerPrivateInterface::seek):
(WebCore::MediaPlayerPrivateInterface::seekWithTolerance):
(WebCore::MediaPlayerPrivateInterface::startTime):
(WebCore::MediaPlayerPrivateInterface::initialTime):
(WebCore::MediaPlayerPrivateInterface::seekable):
(WebCore::MediaPlayerPrivateInterface::maxMediaTimeSeekable):
(WebCore::MediaPlayerPrivateInterface::minMediaTimeSeekable):
(WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValue):
(WebCore::MediaPlayerPrivateInterface::totalFrameDelay):
(WebCore::MediaPlayerPrivateInterface::startTimeDouble): Deleted.
(WebCore::MediaPlayerPrivateInterface::maxTimeSeekableDouble): Deleted.
(WebCore::MediaPlayerPrivateInterface::mediaTimeForTimeValueDouble): Deleted.

  • platform/graphics/MediaSourcePrivateClient.h:
  • platform/graphics/TrackPrivateBase.h:

(WebCore::TrackPrivateBase::startTimeVariance):

  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.cpp:

(WebCore::InbandMetadataTextTrackPrivateAVF::InbandMetadataTextTrackPrivateAVF):
(WebCore::InbandMetadataTextTrackPrivateAVF::addDataCue):
(WebCore::InbandMetadataTextTrackPrivateAVF::updatePendingCueEndTimes):
(WebCore::InbandMetadataTextTrackPrivateAVF::flushPartialCues):

  • platform/graphics/avfoundation/InbandMetadataTextTrackPrivateAVF.h:

(WebCore::IncompleteMetaDataCue::IncompleteMetaDataCue):
(WebCore::IncompleteMetaDataCue::startTime):

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:

(WebCore::InbandTextTrackPrivateAVF::processCue):
(WebCore::InbandTextTrackPrivateAVF::resetCueValues):

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
(WebCore::MediaPlayerPrivateAVFoundation::durationMediaTime):
(WebCore::MediaPlayerPrivateAVFoundation::seek):
(WebCore::MediaPlayerPrivateAVFoundation::seekWithTolerance):
(WebCore::MediaPlayerPrivateAVFoundation::maxMediaTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundation::minMediaTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundation::maxTimeLoaded):
(WebCore::MediaPlayerPrivateAVFoundation::didLoadingProgress):
(WebCore::MediaPlayerPrivateAVFoundation::updateStates):
(WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged):
(WebCore::MediaPlayerPrivateAVFoundation::seekableTimeRangesChanged):
(WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
(WebCore::MediaPlayerPrivateAVFoundation::didEnd):
(WebCore::MediaPlayerPrivateAVFoundation::invalidateCachedDuration):
(WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification):
(WebCore::MediaPlayerPrivateAVFoundation::extraMemoryCost):
(WebCore::MediaPlayerPrivateAVFoundation::duration): Deleted.
(WebCore::MediaPlayerPrivateAVFoundation::maxTimeSeekableDouble): Deleted.
(WebCore::MediaPlayerPrivateAVFoundation::minTimeSeekable): Deleted.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

(WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification):
(WebCore::MediaPlayerPrivateAVFoundation::Notification::time):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration):
(WebCore::MediaPlayerPrivateAVFoundationCF::currentTime):
(WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformDuration):
(WebCore::MediaPlayerPrivateAVFoundationCF::currentTime):
(WebCore::MediaPlayerPrivateAVFoundationCF::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded):
(WebCore::MediaPlayerPrivateAVFoundationCF::mediaTimeForTimeValue): Deleted.
(WebCore::AVFWrapper::seekToTime): Deleted.
(WebCore::LegibleOutputData::LegibleOutputData): Deleted.
(WebCore::AVFWrapper::createImageForTimeInRect): Deleted.
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMinTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationCF::platformMaxTimeLoaded):
(WebCore::MediaPlayerPrivateAVFoundationCF::mediaTimeForTimeValue): Deleted.
(WebCore::AVFWrapper::seekToTime): Deleted.
(WebCore::LegibleOutputData::LegibleOutputData): Deleted.
(WebCore::AVFWrapper::createImageForTimeInRect): Deleted.

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

(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
(WebCore::MediaPlayerPrivateAVFoundationObjC::currentMediaTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMinTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeSeekable):
(WebCore::MediaPlayerPrivateAVFoundationObjC::platformMaxTimeLoaded):
(WebCore::MediaPlayerPrivateAVFoundationObjC::mediaTimeForTimeValue):
(WebCore::MediaPlayerPrivateAVFoundationObjC::processCue):
(WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):
(WebCore::MediaPlayerPrivateAVFoundationObjC::durationDidChange):
(-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
(-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]):
(WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime): Deleted.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationMediaTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::initialTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxMediaTimeSeekable):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minMediaTimeSeekable):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalFrameDelay):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationDouble): Deleted.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentTimeDouble): Deleted.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTimeDouble): Deleted.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxTimeSeekableDouble): Deleted.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minTimeSeekable): Deleted.

  • platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
  • platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:

(WebCore::InbandMetadataTextTrackPrivateGStreamer::addDataCue):

  • platform/graphics/gstreamer/InbandMetadataTextTrackPrivateGStreamer.h:

(WebCore::InbandMetadataTextTrackPrivateGStreamer::addDataCue):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection):
(WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):
(WebCore::MediaPlayerPrivateGStreamer::processMpegTsSection):
(WebCore::MediaPlayerPrivateGStreamer::processTableOfContentsEntry):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::maxValueForTimeRanges):
(WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
(WebCore::MediaPlayerPrivateQTKit::durationMediaTime):
(WebCore::MediaPlayerPrivateQTKit::currentMediaTime):
(WebCore::MediaPlayerPrivateQTKit::seek):
(WebCore::MediaPlayerPrivateQTKit::doSeek):
(WebCore::MediaPlayerPrivateQTKit::cancelSeek):
(WebCore::MediaPlayerPrivateQTKit::seekTimerFired):
(WebCore::MediaPlayerPrivateQTKit::seeking):
(WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
(WebCore::MediaPlayerPrivateQTKit::buffered):
(WebCore::MediaPlayerPrivateQTKit::maxMediaTimeSeekable):
(WebCore::MediaPlayerPrivateQTKit::maxMediaTimeLoaded):
(WebCore::MediaPlayerPrivateQTKit::didLoadingProgress):
(WebCore::MediaPlayerPrivateQTKit::updateStates):
(WebCore::MediaPlayerPrivateQTKit::timeChanged):
(WebCore::MediaPlayerPrivateQTKit::didEnd):
(WebCore::MediaPlayerPrivateQTKit::maxMediaTimeSeekable):
(WebCore::MediaPlayerPrivateQTKit::maxMediaTimeLoaded):
(WebCore::MediaPlayerPrivateQTKit::createQTTime): Deleted.
(WebCore::MediaPlayerPrivateQTKit::duration): Deleted.
(WebCore::MediaPlayerPrivateQTKit::currentTime): Deleted.
(WebCore::MediaPlayerPrivateQTKit::maxTimeSeekable): Deleted.
(WebCore::MediaPlayerPrivateQTKit::maxTimeLoaded): Deleted.
(WebCore::MediaPlayerPrivateQTKit::mediaTimeForTimeValue): Deleted.

  • platform/mac/PlatformClockCM.mm:
  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::maxMediaTimeSeekable):
(WebCore::MockMediaPlayerMediaSource::currentMediaTime):
(WebCore::MockMediaPlayerMediaSource::durationMediaTime):
(WebCore::MockMediaPlayerMediaSource::seekWithTolerance):
(WebCore::MockMediaPlayerMediaSource::totalFrameDelay):
(WebCore::MockMediaPlayerMediaSource::maxTimeSeekableDouble): Deleted.
(WebCore::MockMediaPlayerMediaSource::currentTimeDouble): Deleted.
(WebCore::MockMediaPlayerMediaSource::durationDouble): Deleted.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
  • platform/mock/mediasource/MockMediaSourcePrivate.cpp:

(WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate):

  • platform/mock/mediasource/MockMediaSourcePrivate.h:
  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

(WebCore::MockSourceBufferPrivate::enqueueSample):

Source/WTF:

Add a unary minus operator, and add unimplemented private casting operators, to make
unintentional double->MediaTime and MediaTime->double casts hard errors.

  • wtf/MediaTime.cpp:

(WTF::MediaTime::operator-):

  • wtf/MediaTime.h:

LayoutTests:

Update the http/media tests to use byte-ranges, and update our byte-range CGI script
to return correct headers. Remove the platform expected results for media/video-seek-past-end-paused.html
now that we pass.

  • http/tests/media/reload-after-dialog.html:
  • http/tests/media/video-error-abort.html:
  • http/tests/media/video-throttled-load.cgi:
  • platform/mac/media/video-seek-past-end-paused-expected.txt: Removed.
  • platform/mac/TestExpectations:
11:33 AM Changeset in webkit [173317] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

[iOS] Another attempt to fix the iOS build after <​http://trac.webkit.org/changeset/173309>
(​https://bugs.webkit.org/show_bug.cgi?id=136564)

Move #endif inside -viewDidMoveToWindow up one line such that the closing brace ('}') is after it.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView viewDidMoveToWindow]):

11:25 AM Changeset in webkit [173316] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

[iOS] Another attempt to fix the iOS build after <​http://trac.webkit.org/changeset/173309>
(​https://bugs.webkit.org/show_bug.cgi?id=136564)

Add !PLATFORM(IOS)-guard in -viewDidMoveToWindow around code that references WebHTMLViewPrivate.flagsChangedEventMonitor.
The instance variable WebHTMLViewPrivate.flagsChangedEventMonitor is guarded by !PLATFORM(IOS).

  • WebView/WebHTMLView.mm:

(-[WebHTMLView viewDidMoveToWindow]):

11:16 AM Changeset in webkit [173315] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

[iOS] Fix the iOS build after <​http://trac.webkit.org/changeset/173309>
(​https://bugs.webkit.org/show_bug.cgi?id=136564)

Include more code inside the !PLATFORM(IOS)-guarded section in -setDataSource:.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView setDataSource:]):

11:15 AM Changeset in webkit [173314] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

REGRESSION(r173272): Two blob tests failing on WK1
​https://bugs.webkit.org/show_bug.cgi?id=136573

Reviewed by Alexey Proskuryakov.

http/tests/fileapi/blob-url-in-subframe.html
http/tests/security/mixedContent/blob-url-in-iframe.html

  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::notifyResponseOnSuccess):

No need to set this twice.

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::initNSURLResponse):

Also test that it is an HTTP URL before using NSHTTPURLResponse. Blobs create non-HTTP URLs with status codes.
Pass the accidentally lost expected content length.

11:07 AM Changeset in webkit [173313] by ggaren@apple.com
  • 2 edits in trunk/Source/WTF

Do the bmalloc.
​https://bugs.webkit.org/show_bug.cgi?id=132629

Reviewed by Michael Saboff.

64-bit only for now, just to try it out.

  • wtf/FastMalloc.cpp:
9:17 AM Changeset in webkit [173312] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

ARM: Add more coverage to ARMv7 disassembler
​https://bugs.webkit.org/show_bug.cgi?id=136565

Reviewed by Mark Lam.

Added ARMV7 disassembler support for Push/Pop multiple and floating point instructions
VCMP, VCVT[R] between floating point and integer, and VLDR.

  • disassembler/ARMv7/ARMv7DOpcode.cpp:

(JSC::ARMv7Disassembler::ARMv7DOpcodeDataPushPopMultiple::appendRegisterList):
(JSC::ARMv7Disassembler::ARMv7DOpcodeDataPopMultiple::format):
(JSC::ARMv7Disassembler::ARMv7DOpcodeDataPushMultiple::format):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::format):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::format):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::format):

  • disassembler/ARMv7/ARMv7DOpcode.h:

(JSC::ARMv7Disassembler::ARMv7DOpcodeDataPushPopMultiple::registerList):
(JSC::ARMv7Disassembler::ARMv7DOpcodeDataPushPopMultiple::condition):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::condition):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::dBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::vd):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::szBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::eBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::mBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCMP::vm):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::condition):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::dBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::op2):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::vd):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::szBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::op):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::mBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVCVTBetweenFPAndInt::vm):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::condition):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::uBit):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::rn):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::vd):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::doubleReg):
(JSC::ARMv7Disassembler::ARMv7DOpcodeVLDR::immediate8):

7:18 AM Changeset in webkit [173311] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

Move computeInlinePreferredLogicalWidths() from RenderBlock to RenderBlockFlow
​https://bugs.webkit.org/show_bug.cgi?id=136461

Reviewed by Darin Adler.

This patch enables us to go from const_cast<RenderBlockFlow*>(this)->computeInlinePreferredLogicalWidths()
to computeInlinePreferredLogicalWidths().

Covered by existing tests.

  • rendering/RenderBlock.cpp:

(WebCore::InlineMinMaxIterator::endOfInline): Deleted.
(WebCore::InlineMinMaxIterator::next): Deleted.
(WebCore::getBPMWidth): Deleted.
(WebCore::getBorderPaddingMargin): Deleted.
(WebCore::stripTrailingSpace): Deleted.
(WebCore::preferredWidth): Deleted.
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths): Deleted.

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

(WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths):
(WebCore::InlineMinMaxIterator::initial): The (parent == current) condition was used as 'initial' state before.
and in order to make computeInlinePreferredLogicalWidths const, InlineMinMaxIterator() needs to take const RenderObject*.
(WebCore::InlineMinMaxIterator::next):
(WebCore::getBPMWidth):
(WebCore::getBorderPaddingMargin):
(WebCore::stripTrailingSpace):
(WebCore::preferredWidth):
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths):

  • rendering/RenderBlockFlow.h:
3:25 AM Changeset in webkit [173310] by Dániel Bátyai
  • 2 edits in trunk/Source/WTF

Enable GenGC on ARM Traditional
​https://bugs.webkit.org/show_bug.cgi?id=136567

Reviewed by Csaba Osztrogonác.

  • wtf/Platform.h:
1:01 AM Changeset in webkit [173309] by mjs@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Use tracking areas instead of (SPI) mouse moved notifications, and follow flags changes with an event monitor
​https://bugs.webkit.org/show_bug.cgi?id=136564

Reviewed by Dan Bernstein.

WebKit1 depended on mouse moved event notifications to track mouse
moves, and on being specially called by Safari to track flags
changes. WebKit2 does both these things better - it uses a tracking area
and event monitors. Copy those approaches.

  • WebKit.order: Remove reference to obsolete call.
  • WebView/WebHTMLView.mm:

(-[WebHTMLViewPrivate dealloc]): No need to deallocate tracking
area, since we now just always have one.
(-[WebHTMLViewPrivate clear]): ditto
(-[WebHTMLView _postFakeMouseMovedEventForFlagsChangedEvent:]):
New method that posts a fake mouse move event in response to
a flags change event, for use by the event monitor.
(+[WebHTMLView _postFlagsChangedEvent:]): Empty this old call,
still kept around for benefit of older Safari.
(-[WebHTMLView _updateMouseoverWithEvent:]): Handle Dashboard's
special mouseover mode (previously handled in a weird way).
(-[WebHTMLView close]): No more need to mess with mouse moved observer.
(-[WebHTMLView viewWillMoveToWindow:]): ditto
(-[WebHTMLView viewDidMoveToWindow]): ditto; but now hook up a flags
changed monitor.
(-[WebHTMLView windowDidBecomeKey:]): No need to handle non-key window
tracking area or mouse moved observer.
(-[WebHTMLView windowDidResignKey:]): ditto
(-[WebHTMLView windowWillOrderOnScreen:]): No need to mess with mouse
moved observer.
(-[WebHTMLView windowWillOrderOffScreen:]): ditto
(-[WebHTMLView mouseMoved:]): Converted from the old mouseMovedNotification:
(-[WebHTMLView setDataSource:]): Change if around body to early return. Hook
up tracking area - we have to do it here, because before this point, the
WebHTMLView does not know its WebView, which is where dashboard settings
live.
(-[WebHTMLView _removeMouseMovedObserverUnconditionally]): Deleted.
(-[WebHTMLView addMouseMovedObserver]): Deleted.
(-[WebHTMLView removeMouseMovedObserver]): Deleted.

Sep 4, 2014:

10:58 PM Changeset in webkit [173308] by ap@apple.com
  • 2 edits in trunk/LayoutTests

platform/mac-wk2/tiled-drawing/scrolling/frames/frameset-nested-frame-scrollability.html is flakey
​https://bugs.webkit.org/show_bug.cgi?id=136554

  • platform/mac-wk2/TestExpectations: Marking it as such.
8:36 PM Changeset in webkit [173307] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Move PropertySlot's inline functions back to PropertySlot.h.
<​https://webkit.org/b/136547>

Reviewed by Filip Pizlo.

  • runtime/JSObject.h:

(JSC::PropertySlot::getValue): Deleted.

  • runtime/PropertySlot.h:

(JSC::PropertySlot::getValue):

8:32 PM Changeset in webkit [173306] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed, speculative build fix on GTK port since r173305.

  • UIProcess/API/gtk/WebKitURISchemeRequest.cpp:

(webkitURISchemeRequestReadCallback):

8:15 PM Changeset in webkit [173305] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, build fix for EFL and GTK ports since r173272.

  • platform/network/soup/ResourceResponseSoup.cpp:

(WebCore::ResourceResponse::updateFromSoupMessageHeaders):

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

Make sure that deleting all code first processes the call edge log, and reenable call edge profiling.

Rubber stamped by Sam Weinig.

  • debugger/Debugger.cpp:

(JSC::Debugger::forEachCodeBlock):
(JSC::Debugger::setSteppingMode):
(JSC::Debugger::recompileAllJSFunctions):

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::recompileAllJSFunctionsForTypeProfiling):

  • runtime/Options.h: Reenable call edge profiling.
  • runtime/VM.cpp:

(JSC::VM::prepareToDiscardCode): Make sure this also processes the call edge log, in case any call edge profiles are about to be destroyed.
(JSC::VM::discardAllCode):
(JSC::VM::releaseExecutableMemory):
(JSC::VM::setEnabledProfiler):
(JSC::VM::waitForCompilationsToComplete): Deleted.

  • runtime/VM.h: Rename waitForCompilationsToComplete() back to prepareToDiscardCode() because the purpose of the method - now as ever - is to do all of the things that need to be done to ensure that code may be safely deleted.
6:52 PM Changeset in webkit [173303] by psolanki@apple.com
  • 4 edits in trunk/Source/WebCore

Unreviewed. Speculative build fix. Add platformSuggestedFilename() to all the ResourceResponse header files.

  • platform/network/curl/ResourceResponse.h:

(WebCore::ResourceResponse::platformSuggestedFilename):

  • platform/network/soup/ResourceResponse.h:
  • platform/network/win/ResourceResponse.h:

(WebCore::ResourceResponse::platformSuggestedFilename):

6:37 PM Changeset in webkit [173302] by Simon Fraser
  • 4 edits in trunk/LayoutTests

Rebaseline three blending tests which no longer need backing store.

  • css3/blending/blend-mode-blended-element-overlapping-composited-sibling-should-have-compositing-layer-expected.txt:
  • css3/blending/blend-mode-parent-of-composited-blended-has-layer-expected.txt:
  • css3/blending/blend-mode-with-composited-descendant-should-have-layer-expected.txt:
6:36 PM Changeset in webkit [173301] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Another speculative build fix after r173272. Add a stub implementation for
ResourceResponse::platformSuggestedFilename(). Filed bug 136562 for proper fix.

  • platform/network/soup/ResourceResponseSoup.cpp:

(ResourceResponse::platformSuggestedFilename):

6:09 PM Changeset in webkit [173300] by psolanki@apple.com
  • 4 edits in trunk/Source/WebCore

Unreviewed. Speculative EFL and GTK build fix after r173272. Remove the filename argument
from the various ResourceResponse constructors.

  • platform/network/curl/ResourceResponse.h:

(WebCore::ResourceResponse::ResourceResponse):

  • platform/network/soup/ResourceResponse.h:

(WebCore::ResourceResponse::ResourceResponse):

  • platform/network/win/ResourceResponse.h:

(WebCore::ResourceResponse::ResourceResponse):

6:02 PM Changeset in webkit [173299] by psolanki@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Bring back [WebPreferences setDiskImageCacheEnabled:] for backwards compatibility
​https://bugs.webkit.org/show_bug.cgi?id=136560

Reviewed by Joseph Pecoraro.

I removed the disk image caching code in r173265. However, we still have clients that call
setDiskImageCacheEnabled. Add in a stub method until we can wean the clients off this call.

  • WebView/WebPreferences.mm:

(-[WebPreferences setDiskImageCacheEnabled:]):

  • WebView/WebPreferencesPrivate.h:
5:57 PM Changeset in webkit [173298] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Ensure that the call frame set up by vmEntryToNative does not overlap with the stack of the callee
​https://bugs.webkit.org/show_bug.cgi?id=136485

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

Changed makeHostFunctionCall to keep the stack pointer above the call
frame set up by doVMEntry. Thus the callee will/can not override the top
of the call frame.

Refactored the two (32_64 and 64) versions of makeHostFunctionCall to be
more alike to help future maintenance.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
5:55 PM Changeset in webkit [173297] by Simon Fraser
  • 2 edits in trunk/Tools

Add some logging to help diagnose assertions in dumpWebViewAsPixelsAndCompareWithExpected() on bots
​https://bugs.webkit.org/show_bug.cgi?id=136561

Reviewed by Tim Horton.

Log for calloc() and CGBitmapContextCreate() failures.

  • DumpRenderTree/mac/PixelDumpSupportMac.mm:

(createBitmapContext):
(createBitmapContextFromWebView):

5:29 PM Changeset in webkit [173296] by aestes@apple.com
  • 2 edits in trunk/Tools

Fix the Mac Production build after r173283.

  • WebKitTestRunner/config.h: Reverted to defining WEBCORE_EXPORT for now.
5:23 PM Changeset in webkit [173295] by Simon Fraser
  • 3 edits
    2 adds in trunk

border-radius should not force layer backing store
​https://bugs.webkit.org/show_bug.cgi?id=136555

Reviewed by Dean Jackson.

Source/WebCore:

Border-radius is not a reason to allocate backing store; it's not relevant unless
we also have a border or background, and hasBoxDecorations() already checks for that.

With that gone, we can now use renderer.hasBoxDecorations() (which also checks for
a background), but it doesn't check for outlines, so do that in addition.

Test: compositing/backing/border-radius-no-backing.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

LayoutTests:

Test that dumps layers on some composited elements with border-radius

  • compositing/backing/border-radius-no-backing-expected.txt: Added.
  • compositing/backing/border-radius-no-backing.html: Added.
5:23 PM Changeset in webkit [173294] by Simon Fraser
  • 3 edits
    2 adds in trunk

CSS filter on a compositing layer should not cause unncessary backing store allocation
​https://bugs.webkit.org/show_bug.cgi?id=136557

Reviewed by Dean Jackson.

Source/WebCore:

Remove the style.hasFilter() check from hasBoxDecorations(), since filters aren't
a box decoration. This allows creation of simple container layers with composited filters.

Test: compositing/backing/filter-no-backing.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

LayoutTests:

Dump the layer tree on some layer configs with filters.

  • compositing/backing/filter-no-backing-expected.txt: Added.
  • compositing/backing/filter-no-backing.html: Added.
5:23 PM Changeset in webkit [173293] by Simon Fraser
  • 4 edits
    4 adds in trunk

Improve the logic for compositing backing store avoidance
​https://bugs.webkit.org/show_bug.cgi?id=136556

Reviewed by Dean Jackson.

Source/WebCore:

Avoid backing store allocation in more cases by improving the logic that detects
whether a RenderLayer has any painted, non-layer descendent renderers.

Rename RenderLayer::hasNonEmptyChildRenderers() to hasPaintingNonLayerDescendants(),
and make it recur 3 levels deep, walking child lists of up to 20 siblings looking
for renderers that paint anything. Any renderer with box decorations paints;
replaced elements paint, and non-whitespace text nodes paint. We can avoid
making backing store when whitespace nodes are present only when user-select is none,
since we have to ensure that there's backing store to paint the selection into.

Tests: compositing/backing/inline-block-no-backing.html

compositing/backing/whitespace-nodes-no-backing.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::hasNonEmptyChildRenderers): Call the recursive hasPaintingNonLayerDescendants().
(WebCore::RenderLayer::hasBoxDecorationsOrBackground):
(WebCore::RenderLayer::isVisuallyNonEmpty): Do the cheap tests first. Use isRenderReplaced()
rather than isReplaced(), since the latter includes inline-blocks.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateConfiguration): Don't run the isSimpleContainerCompositingLayer()
logic in the root layer, since it always wants backing store.
(WebCore::RenderLayerBacking::updateAfterDescendents): Ditto.
(WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): isReplaced() includes
inline-block, so use isRenderReplaced() instead.

LayoutTests:

Tests that dump the layer tree (showing backing store) for various combinations
of child renderers and whitespace.

  • compositing/backing/inline-block-no-backing-expected.txt: Added.
  • compositing/backing/inline-block-no-backing.html: Added.
  • compositing/backing/whitespace-nodes-no-backing-expected.txt: Added.
  • compositing/backing/whitespace-nodes-no-backing.html: Added.
5:09 PM Changeset in webkit [173292] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS] Fix the iOS build after <​http://trac.webkit.org/changeset/173258>
(​https://bugs.webkit.org/show_bug.cgi?id=136494)

Use ENABLE_TOUCH_EVENT instead of ENABLE(TOUCH_EVENT) as the latter isn't available
to some clients of this private header.

  • platform/ios/wak/WAKResponder.h:
4:50 PM Changeset in webkit [173291] by Beth Dakin
  • 2 edits in trunk/LayoutTests

Another speculative fix for the bots.

  • platform/mac-wk2/tiled-drawing/scrolling/root-overflow-with-mousewheel.html:
4:47 PM Changeset in webkit [173290] by Brent Fulgham
  • 4 edits in trunk/Tools

[Win] webkitpy test suite frequently fails to complete
​https://bugs.webkit.org/show_bug.cgi?id=136546

Reviewed by Daniel Bates.

Properly convert the ASCII crash log produced by ntsd into
a unicode string as early as possible so that we handle it
properly when generating our logs and other test support output.

We were mixing ASCII/unicode strings under Windows, which was
causing test system failures when we processed some crash logs.

Also do a better job of handling garbage pid entries in the
Cygwin lock files.

  • Scripts/webkitpy/common/system/crashlogs.py:

(CrashLogs._find_newest_log_win): The ntsd '.logopen' command
creates an ASCII file. Decode it as ASCII, not 'utf-8', and
handle the strings as unicode from that point on.

  • Scripts/webkitpy/port/http_lock.py:

(HttpLock._current_lock_pid): Add logging and handle case of
the current_pid failing to cleanly convert to 'int'.

  • Scripts/webkitpy/port/win.py:

(WinPort): Add 64-bit architecture as a known target for the
Windows build.

4:38 PM Changeset in webkit [173289] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Clicking on a select element should never hide the popup menu.
​https://bugs.webkit.org/show_bug.cgi?id=136548.
<rdar://problem/10215926>
Reviewed by Simon Fraser.

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::menuListDefaultEventHandler):
Never call hidePopup as a result of a click on a select element.
The only way you can properly hide a popup is to click again or lose focus on the popup itself.

4:13 PM Changeset in webkit [173288] by aestes@apple.com
  • 5 edits in trunk

Address additional review feedback after landing r173283.

Reviewed by Daniel Bates.

  • DumpRenderTree/config.h: Removed redundant includes.
  • TestWebKitAPI/config.h: Ditto.
  • WebKitTestRunner/config.h: Ditto.
3:39 PM Changeset in webkit [173287] by enrica@apple.com
  • 6 edits in trunk/Source/WebCore

Remove PLATFORM(IOS) from WebCore/editing (Part 2).
​https://bugs.webkit.org/show_bug.cgi?id=136474

Reviewed by Tim Horton.

Removing some more PLATFORM(IOS) from the editing code.
Most of these changes are fixes that were made for IOS but never merged
to OpenSource.

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyBlockStyle):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::doApply):

  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
(WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):

  • editing/VisibleUnits.cpp:

(WebCore::startOfDocument):
(WebCore::endOfDocument):

  • editing/ios/EditorIOS.mm: No need for platform guard, this file is not built for Mac.
3:31 PM Changeset in webkit [173286] by Beth Dakin
  • 2 edits in trunk/LayoutTests

Speculative fix for a test failing on the bot.

  • platform/mac-wk2/tiled-drawing/scrolling/root-overflow-with-mousewheel.html:
3:24 PM Changeset in webkit [173285] by Lucas Forschler
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

3:19 PM Changeset in webkit [173284] by Lucas Forschler
  • 1 copy in tags/Safari-600.1.19

New Tag.

2:59 PM WebKitGtkLayoutTests edited by b.long@cablelabs.com
Remove extra argument in WebKitTestRunner example (diff)
2:58 PM WebKitGtkLayoutTests edited by b.long@cablelabs.com
Add info about running WebKitTestRunner (diff)
2:36 PM Changeset in webkit [173283] by aestes@apple.com
  • 10 edits in trunk

[Cocoa] Some WebKitLegacy headers migrated from WebCore incorrectly contain WEBCORE_EXPORT
​https://bugs.webkit.org/show_bug.cgi?id=136521

Reviewed by Anders Carlsson.

Source/WebCore:

  • platform/ios/wak/WebCoreThread.h: Stopped defining WEBCORE_EXPORT.

Source/WebKit/mac:

Taught MigrateHeaders.make to remove WEBCORE_EXPORT from headers using this sed expression:

s/( *)WEBCORE_EXPORT /\1/g

This removes WEBCORE_EXPORT and a single following space character but preserves preceeding whitespace.

  • MigrateHeaders.make:

Source/WebKit2:

  • config.h: Included <WebCore/PlatformExportMacros.h> instead of defining WEBCORE_EXPORT.

Tools:

  • DumpRenderTree/config.h: Included <WebCore/PlatformExportMacros.h> instead of defining WEBCORE_EXPORT.
  • TestWebKitAPI/config.h: Ditto.
  • WebKitTestRunner/config.h: Ditto.
2:23 PM Changeset in webkit [173282] by msaboff@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

REGRESSION(r173031): crashes during run-layout-jsc on x86/Linux
​https://bugs.webkit.org/show_bug.cgi?id=136436

Reviewed by Geoffrey Garen.

Instead of trying to calculate a stack pointer that allows for possible
stacked argument space, just use the "home" stack pointer location.
That stack pointer provides space for the worst case number of stacked
arguments on architectures that use stacked arguments. It also provides
stack space so that the return PC and caller frame pointer that are stored
as part of making the call to operationCallEval will not override any part
of the callee frame created on the stack.

Changed compileCallEval() to use the stackPointer value of the calling
function. That stack pointer is calculated to have enough space for
outgoing stacked arguments. By moving the stack pointer to its "home"
position, the caller frame and return PC are not set as part of making
the call to operationCallEval(). Moved the explicit setting of the
callerFrame field of the callee CallFrame from operationCallEval() to
compileCallEval() since it has been the artifact of making a call for
most architectures. Simplified the exception logic in compileCallEval()
as a result of the change. To be compliant with the stack state
expected by virtualCallThunkGenerator(), moved the stack pointer to
point above the CallerFrameAndPC of the callee CallFrame.

  • jit/JIT.h: Changed callOperationNoExceptionCheck(J_JITOperation_EE, ...)

to callOperation(J_JITOperation_EE, ...) as it now can do a typical exception
check.

  • jit/JITCall.cpp & jit/JITCall32_64.cpp:

(JSC::JIT::compileCallEval): Use the home stack pointer when making the call
to operationCallEval. Since the stack pointer adjustment no longer needs
to be done after making the call to operationCallEval(), the exception check
logic can be simplified.
(JSC::JIT::compileCallEvalSlowCase): Restored the stack pointer to point
to above the calleeFrame as this is what the generated thunk expects.

  • jit/JITInlines.h:

(JSC::JIT::callOperation): Refactor of callOperationNoExceptionCheck
with the addition of a standard exception check.
(JSC::JIT::callOperationNoExceptionCheck): Deleted.

  • jit/JITOperations.cpp:

(JSC::operationCallEval): Eliminated the explicit setting of caller frame
as that is now done in the code generated by compileCallEval().

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

Initial letters should clear one another.
​https://bugs.webkit.org/show_bug.cgi?id=136514

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/css-generated-content/initial-letter-clearance.html.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
Compute the required clearance and add it both to the block's logical height
and to the logical top offset of the float.

(WebCore::RenderBlockFlow::lowestInitialLetterLogicalBottom):

  • rendering/RenderBlockFlow.h:

A new method for determining the lowest floating initial letter.

LayoutTests:

  • fast/css-generated-content/initial-letter-clearance.html: Added.
  • platform/mac/fast/css-generated-content/initial-letter-clearance-expected.png: Added.
  • platform/mac/fast/css-generated-content/initial-letter-clearance-expected.txt: Added.
2:16 PM Changeset in webkit [173280] by fpizlo@apple.com
  • 2 edits in trunk/Source/WTF

Beef up the DFG's CFG analyses to include iterated dominance frontiers and more user-friendly BlockSets
​https://bugs.webkit.org/show_bug.cgi?id=136520

Fix bug found in Geoff's review but not landed in previous commit.

  • wtf/BitVector.cpp:

(WTF::BitVector::equalsSlowCaseFast): return true.

2:08 PM Changeset in webkit [173279] by fpizlo@apple.com
  • 14 edits
    2 adds in trunk/Source

Beef up the DFG's CFG analyses to include iterated dominance frontiers and more user-friendly BlockSets
​https://bugs.webkit.org/show_bug.cgi?id=136520

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Add code to compute iterated dominance frontiers. This involves using BlockSet a lot, so
this patch also makes BlockSet a lot more user-friendly.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGBasicBlock.h:
  • dfg/DFGBlockSet.cpp: Added.

(JSC::DFG::BlockSet::dump):

  • dfg/DFGBlockSet.h:

(JSC::DFG::BlockSet::iterator::iterator):
(JSC::DFG::BlockSet::iterator::operator++):
(JSC::DFG::BlockSet::iterator::operator==):
(JSC::DFG::BlockSet::iterator::operator!=):
(JSC::DFG::BlockSet::Iterable::Iterable):
(JSC::DFG::BlockSet::Iterable::begin):
(JSC::DFG::BlockSet::Iterable::end):
(JSC::DFG::BlockSet::iterable):
(JSC::DFG::BlockAdder::BlockAdder):
(JSC::DFG::BlockAdder::operator()):

  • dfg/DFGBlockSetInlines.h: Added.

(JSC::DFG::BlockSet::iterator::operator*):

  • dfg/DFGDominators.cpp:

(JSC::DFG::Dominators::strictDominatorsOf):
(JSC::DFG::Dominators::dominatorsOf):
(JSC::DFG::Dominators::blocksStrictlyDominatedBy):
(JSC::DFG::Dominators::blocksDominatedBy):
(JSC::DFG::Dominators::dominanceFrontierOf):
(JSC::DFG::Dominators::iteratedDominanceFrontierOf):

  • dfg/DFGDominators.h:

(JSC::DFG::Dominators::forAllStrictDominatorsOf):
(JSC::DFG::Dominators::forAllDominatorsOf):
(JSC::DFG::Dominators::forAllBlocksStrictlyDominatedBy):
(JSC::DFG::Dominators::forAllBlocksDominatedBy):
(JSC::DFG::Dominators::forAllBlocksInDominanceFrontierOf):
(JSC::DFG::Dominators::forAllBlocksInIteratedDominanceFrontierOf):
(JSC::DFG::Dominators::forAllBlocksInDominanceFrontierOfImpl):
(JSC::DFG::Dominators::forAllBlocksInIteratedDominanceFrontierOfImpl):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dumpBlockHeader):

  • dfg/DFGInvalidationPointInjectionPhase.cpp:

(JSC::DFG::InvalidationPointInjectionPhase::run):

Source/WTF:

Give BitVector a way to quickly find the next set (or unset) bit. Make BitVector equality
faster. Fix a minor closure goof in Spectrum.

  • wtf/BitVector.cpp:

(WTF::BitVector::equalsSlowCase):
(WTF::BitVector::equalsSlowCaseFast):
(WTF::BitVector::equalsSlowCaseSimple):

  • wtf/BitVector.h:

(WTF::BitVector::findBit):
(WTF::BitVector::findBitFast):
(WTF::BitVector::findBitSimple):
(WTF::BitVector::findBitInWord):

  • wtf/Spectrum.h:

(WTF::Spectrum::removeIf):

2:07 PM Changeset in webkit [173278] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Use WTFString::find(char) in more places
​https://bugs.webkit.org/show_bug.cgi?id=136541

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-04
Reviewed by Daniel Bates.

  • Modules/plugins/YouTubePluginReplacement.cpp:

(WebCore::queryKeysAndValues):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::parseAttribute):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parametersForPlugin):

  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::decodedSnippetForAttribute):

  • page/UserContentURLPattern.cpp:

(WebCore::UserContentURLPattern::parse):

1:59 PM Changeset in webkit [173277] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Try to fix iOS build.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::initForSynthesizedDocument):

1:54 PM Changeset in webkit [173276] by mjs@apple.com
  • 10 edits in trunk/Source

Remove WebCoreSystemInterface glue for otherwise unused WKSI calls
​https://bugs.webkit.org/show_bug.cgi?id=136527

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • WebCore.exp.in:
  • WebCore.order:
  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

1:48 PM Changeset in webkit [173275] by Beth Dakin
  • 3 edits
    2 adds in trunk

REGRESSION (r172832): Poor 2-finger scrolling performance at theverge.com articles
(all tiles repaint)
​https://bugs.webkit.org/show_bug.cgi?id=136433
-and corresponding-
rdar://problem/18193942

Reviewed by Tim Horton.

Source/WebCore:

We should ensure that we are only setting scroll elasticity for layers that return
true for scrollsOverflow(). When overflow:scroll is set on the root element, we
wound up setting the ScrollElasticity for the root, which messed up with the
special way that the root is meant to scroll. Even though overflow:scroll has been
set on the root, scrollsOverflow() is still false because we knew not to set
hasOverflowClip() since it’s the root, which is why this check works.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::setHasHorizontalScrollbar):
(WebCore::RenderLayer::setHasVerticalScrollbar):

Really, we should have never even called RenderLayer::setHasVerticalScrollbar or
RenderLayer::setHasHorizontalScrollbar since it’s wrong to be creating a scrollbar
on RenderLayer for the root. We should make sure, in addition to the other
requirements consulted, that the renderer has an overflow clip before we create
the scrollbars.
(WebCore::RenderLayer::updateScrollbarsAfterStyleChange):

LayoutTests:

  • platform/mac-wk2/tiled-drawing/scrolling/root-overflow-with-mousewheel-expected.txt: Added.
  • platform/mac-wk2/tiled-drawing/scrolling/root-overflow-with-mousewheel.html: Added.
1:23 PM Changeset in webkit [173274] by Antti Koivisto
  • 2 edits in trunk/Source/WebKit/win

Try to fix windows build.

  • WebURLResponse.cpp:

(WebURLResponse::createInstance):
(WebURLResponse::initWithURL):

1:01 PM Changeset in webkit [173273] by ap@apple.com
  • 2 edits in trunk/Tools

REGRESSION: Dashboard metrics page aggregation counts performance bots
​https://bugs.webkit.org/show_bug.cgi?id=136539

Reviewed by Tim Horton.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsMain.js:
1:00 PM Changeset in webkit [173272] by Antti Koivisto
  • 16 edits in trunk/Source

Remove ResourceResponse::m_suggestedFilename
​https://bugs.webkit.org/show_bug.cgi?id=136534

Reviewed by Alexey Proskuryakov.

Source/WebCore:

This will simplify things.

  • WebCore.exp.in:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::handleSubstituteDataLoadNow):
(WebCore::DocumentLoader::maybeLoadEmpty):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::willLoadMediaElementURL):

  • loader/appcache/ApplicationCacheStorage.cpp:

(WebCore::ApplicationCacheStorage::loadCache):

  • loader/archive/ArchiveResource.cpp:

(WebCore::ArchiveResource::create):

  • platform/network/BlobResourceHandle.cpp:

(WebCore::BlobResourceHandle::notifyResponseOnSuccess):
(WebCore::BlobResourceHandle::notifyResponseOnError):

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::ResourceResponseBase):
(WebCore::ResourceResponseBase::adopt):
(WebCore::ResourceResponseBase::copyData):
(WebCore::ResourceResponseBase::suggestedFilename):
(WebCore::ResourceResponseBase::httpStatusText):
(WebCore::ResourceResponseBase::setHTTPStatusText):
(WebCore::ResourceResponseBase::httpHeaderField):
(WebCore::ResourceResponseBase::setHTTPHeaderField):
(WebCore::ResourceResponseBase::addHTTPHeaderField):
(WebCore::ResourceResponseBase::httpHeaderFields):
(WebCore::ResourceResponseBase::isAttachment):
(WebCore::ResourceResponseBase::wasCached):
(WebCore::ResourceResponseBase::connectionReused):
(WebCore::ResourceResponseBase::setConnectionReused):
(WebCore::ResourceResponseBase::connectionID):
(WebCore::ResourceResponseBase::setConnectionID):

Remove AllFields initialization. It was only used to get m_suggestedFilename.
Rename CommonAndUncommonFields to AllFields

(WebCore::ResourceResponseBase::setSuggestedFilename): Deleted.

No more setter.

  • platform/network/ResourceResponseBase.h:

(WebCore::ResourceResponseBase::platformSuggestedFileName):

Get the suggested filename from the platform class on-demand.

  • platform/network/cf/ResourceResponse.h:

(WebCore::ResourceResponse::ResourceResponse):

Remove never-used file name constructor parameter.

  • platform/network/cf/ResourceResponseCFNet.cpp:

(WebCore::ResourceResponse::platformLazyInit):

  • platform/network/mac/ResourceResponseMac.mm:

(WebCore::ResourceResponse::initNSURLResponse):

Synthesize HTTP response properly so it can hold Content-Disposition for file name (and other headers).

(WebCore::ResourceResponse::platformLazyInit):

Don't pull the suggested filename anymore.

(WebCore::ResourceResponse::platformSuggestedFilename):

Get the suggested name from the (possibly synthetic) NSURLRequest.

Source/WebKit2:

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ResourceResponse>::encode):
(IPC::ArgumentCoder<ResourceResponse>::decode):

No more m_suggestedFilename.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::addArchiveResource):

Fake the suggested filename by using the Content-Disposition header.

12:54 PM Changeset in webkit [173271] by andersca@apple.com
  • 4 edits in trunk/Source/WTF

Make hash table classes final
​https://bugs.webkit.org/show_bug.cgi?id=136540

Reviewed by Antti Koivisto.

We don't want anybody inheriting from these classes, so make them final.

  • wtf/HashCountedSet.h:
  • wtf/HashMap.h:
  • wtf/HashSet.h:
12:45 PM Changeset in webkit [173270] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Perl test fix.

  • Scripts/webkitperl/auto-version_unittest/versionStampTests.pl: Correct test to check for

VersionStamp.exe tool, not just the driver script.

12:10 PM Changeset in webkit [173269] by mark.lam@apple.com
  • 50 edits in trunk/Source/JavaScriptCore

Fixed indentations and some style warnings in JavaScriptCore/runtime.
<​https://webkit.org/b/136518>

Reviewed by Michael Saboff.

Also removed some superflous spaces. There are no semantic changes.

  • runtime/Completion.h:
  • runtime/ConstructData.h:
  • runtime/DateConstructor.h:
  • runtime/DateInstance.h:
  • runtime/DateInstanceCache.h:
  • runtime/DatePrototype.h:
  • runtime/Error.h:
  • runtime/ErrorConstructor.h:
  • runtime/ErrorInstance.h:
  • runtime/ErrorPrototype.h:
  • runtime/FunctionConstructor.h:
  • runtime/FunctionPrototype.h:
  • runtime/GetterSetter.h:
  • runtime/Identifier.h:
  • runtime/InitializeThreading.h:
  • runtime/InternalFunction.h:
  • runtime/JSAPIValueWrapper.h:
  • runtime/JSFunction.h:
  • runtime/JSLock.h:
  • runtime/JSNotAnObject.h:
  • runtime/JSONObject.h:
  • runtime/JSString.h:
  • runtime/JSTypeInfo.h:
  • runtime/JSWrapperObject.h:
  • runtime/Lookup.h:
  • runtime/MathObject.h:
  • runtime/NativeErrorConstructor.h:
  • runtime/NativeErrorPrototype.h:
  • runtime/NumberConstructor.h:
  • runtime/NumberObject.h:
  • runtime/NumberPrototype.h:
  • runtime/NumericStrings.h:
  • runtime/ObjectConstructor.h:
  • runtime/ObjectPrototype.h:
  • runtime/PropertyDescriptor.h:
  • runtime/Protect.h:
  • runtime/PutPropertySlot.h:
  • runtime/RegExp.h:
  • runtime/RegExpCachedResult.h:
  • runtime/RegExpConstructor.h:
  • runtime/RegExpMatchesArray.h:
  • runtime/RegExpObject.h:
  • runtime/RegExpPrototype.h:
  • runtime/SmallStrings.h:
  • runtime/StringConstructor.h:
  • runtime/StringObject.h:
  • runtime/StringPrototype.h:
  • runtime/StructureChain.h:
  • runtime/VM.h:
11:43 AM Changeset in webkit [173268] by commit-queue@webkit.org
  • 123 edits in trunk

Remove CSS_FILTERS flag
​https://bugs.webkit.org/show_bug.cgi?id=136529

Patch by Eva Balazsfalvi <​evab.u-szeged@partner.samsung.com> on 2014-09-04
Reviewed by Dirk Schulze.

.:

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests, no behaviour changed.

  • Configurations/FeatureDefines.xcconfig:
  • DerivedSources.cpp:
  • WebCore.exp.in:
  • bindings/js/JSCSSValueCustom.cpp:

(WebCore::toJS):

  • bindings/objc/DOMCSS.mm:

(kitClass):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForFilter):
(WebCore::isLayoutDependent):
(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSComputedStyleDeclaration.h:
  • css/CSSFilterImageValue.cpp:
  • css/CSSFilterImageValue.h:
  • css/CSSImageGeneratorValue.cpp:

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

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseGeneratedImage):
(WebCore::CSSParser::parseFilterImage):
(WebCore::CSSParser::parseFilter):

  • css/CSSParser.h:
  • css/CSSPropertyNames.in:
  • css/CSSValue.cpp:

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

  • css/CSSValue.h:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::State::clear):
(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::generatedOrPendingFromValue):
(WebCore::StyleResolver::loadPendingResources):

  • css/StyleResolver.h:
  • css/WebKitCSSFilterValue.cpp:
  • css/WebKitCSSFilterValue.h:
  • css/WebKitCSSFilterValue.idl:
  • loader/cache/CachedSVGDocumentReference.cpp:
  • loader/cache/CachedSVGDocumentReference.h:
  • page/FrameView.cpp:

(WebCore::FrameView::scrollContentsFastPath):

  • page/animation/AnimationBase.cpp:

(WebCore::AnimationBase::AnimationBase):

  • page/animation/AnimationBase.h:
  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFilter):
(WebCore::blendFunc):
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • page/animation/ImplicitAnimation.cpp:

(WebCore::ImplicitAnimation::reset):
(WebCore::ImplicitAnimation::checkForMatchingFilterFunctionLists):

  • page/animation/ImplicitAnimation.h:
  • page/animation/KeyframeAnimation.cpp:

(WebCore::KeyframeAnimation::KeyframeAnimation):
(WebCore::KeyframeAnimation::checkForMatchingFilterFunctionLists):

  • page/animation/KeyframeAnimation.h:
  • platform/graphics/GraphicsLayer.cpp:

(WebCore::GraphicsLayer::validateFilterOperations):

  • platform/graphics/GraphicsLayer.h:
  • platform/graphics/GraphicsLayerAnimation.cpp:

(WebCore::applyFilterAnimation):
(WebCore::GraphicsLayerAnimation::applyInternal):

  • platform/graphics/GraphicsLayerAnimation.h:
  • platform/graphics/IntRectExtent.h:
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::propertyIdToString):
(WebCore::supportsAcceleratedFilterAnimations):
(WebCore::GraphicsLayerCA::filtersCanBeComposited):
(WebCore::GraphicsLayerCA::moveOrCopyAnimations):
(WebCore::GraphicsLayerCA::setFilters):
(WebCore::GraphicsLayerCA::addAnimation):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateFilters):
(WebCore::GraphicsLayerCA::ensureStructuralLayer):
(WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
(WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCAAnimation.h:
  • platform/graphics/ca/PlatformCAFilters.h:
  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/mac/PlatformCAAnimationMac.h:
  • platform/graphics/ca/mac/PlatformCAAnimationMac.mm:

(PlatformCAAnimationMac::setFromValue):
(PlatformCAAnimationMac::setToValue):
(PlatformCAAnimationMac::setValues):

  • platform/graphics/ca/mac/PlatformCAFiltersMac.mm:

(PlatformCAFilters::animatedFilterPropertyName):

  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::clone):
(PlatformCALayerMac::filtersCanBeComposited):

  • platform/graphics/ca/win/PlatformCAAnimationWin.cpp:

(PlatformCAAnimationWin::setFromValue):
(PlatformCAAnimationWin::setToValue):
(PlatformCAAnimationWin::setValues):

  • platform/graphics/ca/win/PlatformCAAnimationWin.h:
  • platform/graphics/ca/win/PlatformCAFiltersWin.cpp:

(PlatformCAFilters::animatedFilterPropertyName):

  • platform/graphics/ca/win/PlatformCALayerWin.cpp:

(PlatformCALayerWin::clone):

  • platform/graphics/ca/win/PlatformCALayerWin.h:
  • platform/graphics/filters/FilterOperation.cpp:
  • platform/graphics/filters/FilterOperation.h:
  • platform/graphics/filters/FilterOperations.cpp:
  • platform/graphics/filters/FilterOperations.h:
  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
(WebCore::GraphicsLayerTextureMapper::setFilters):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:
  • platform/graphics/texmap/TextureMapper.h:
  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGLData::TextureMapperGLData):
(WebCore::prepareFilterProgram):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::BitmapTextureGL::applyFilters):

  • platform/graphics/texmap/TextureMapperGL.h:
  • platform/graphics/texmap/TextureMapperImageBuffer.cpp:

(WebCore::BitmapTextureImageBuffer::applyFilters):

  • platform/graphics/texmap/TextureMapperImageBuffer.h:
  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::setAnimatedFilters):
(WebCore::TextureMapperLayer::computeOverlapRegions):
(WebCore::TextureMapperLayer::paintIntoSurface):
(WebCore::TextureMapperLayer::setFilters):
(WebCore::TextureMapperLayer::syncAnimations):

  • platform/graphics/texmap/TextureMapperLayer.h:

(WebCore::TextureMapperLayer::hasFilters):

  • platform/graphics/texmap/TextureMapperShaderProgram.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::didChangeFilters):
(WebCore::CoordinatedGraphicsLayer::setFilters):
(WebCore::CoordinatedGraphicsLayer::syncFilters):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::setLayerFiltersIfNeeded):
(WebCore::CoordinatedGraphicsScene::setLayerState):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
  • rendering/FilterEffectRenderer.cpp:
  • rendering/FilterEffectRenderer.h:
  • rendering/RenderElement.cpp:

(WebCore::RenderElement::adjustStyleDifference):

  • rendering/RenderElement.h:

(WebCore::RenderElement::hasFilter): Deleted.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::~RenderLayer):
(WebCore::transparencyClipBox):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::RenderLayerBacking):
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore::RenderLayerBacking::updateFilters):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::startAnimation):
(WebCore::RenderLayerBacking::startTransition):
(WebCore::RenderLayerBacking::graphicsLayerToCSSProperty):
(WebCore::RenderLayerBacking::cssToGraphicsLayerProperty):

  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
(WebCore::RenderLayerCompositor::requiresCompositingForFilters):

  • rendering/RenderLayerFilterInfo.cpp:
  • rendering/RenderLayerFilterInfo.h:
  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::styleWillChange):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint):
(WebCore::RenderObject::repaintUsingContainer):

  • rendering/RenderView.cpp:

(WebCore::RenderView::RenderView):

  • rendering/RenderView.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout):
(WebCore::RenderStyle::changeRequiresLayerRepaint):

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleFilterData.cpp:
  • rendering/style/StyleFilterData.h:
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
(WebCore::StyleRareNonInheritedData::hasFilters):

  • rendering/style/StyleRareNonInheritedData.h:
  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::markAllClientLayersForInvalidation):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(IPC::ArgumentCoder<WebCore::FilterOperations>::decode):
(IPC::ArgumentCoder<GraphicsLayerAnimation>::encode):
(IPC::ArgumentCoder<GraphicsLayerAnimation>::decode):
(IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::encode):
(IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::decode):

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
  • Shared/WebCoreArgumentCoders.cpp:
  • Shared/WebCoreArgumentCoders.h:
  • WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp:

(WebKit::GraphicsLayerCARemote::filtersCanBeComposited):

  • WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:

(WebKit::PlatformCAAnimationRemote::setFromValue):
(WebKit::PlatformCAAnimationRemote::setToValue):
(WebKit::PlatformCAAnimationRemote::setValues):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::updateClonedLayerProperties):
(WebKit::PlatformCALayerRemote::filtersCanBeComposited):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.props:
  • win/tools/vsprops/FeatureDefinesCairo.props:

LayoutTests:

  • platform/efl/TestExpectations:
11:27 AM Changeset in webkit [173267] by zandobersek@gmail.com
  • 5 edits
    1 delete in trunk

Unreviewed, rolling out r173201.
​https://bugs.webkit.org/show_bug.cgi?id=136538

Improves the situation but also introduces additional crashes.
(Requested by zdobersek on #webkit).

Reverted changeset:

"GMainLoopSource is exposed to race conditions"
​https://bugs.webkit.org/show_bug.cgi?id=135800
​http://trac.webkit.org/changeset/173201

Patch by Commit Queue <​commit-queue@webkit.org> on 2014-09-04

11:07 AM Changeset in webkit [173266] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r173248.
​https://bugs.webkit.org/show_bug.cgi?id=136536

call edge profiling and polymorphic call inlining are still
causing crashes (Requested by eric_carlson on #webkit).

Reverted changeset:

"Reenable call edge profiling and polymorphic call inlining,
now that a bunch of the bugs"
​http://trac.webkit.org/changeset/173248

10:36 AM Changeset in webkit [173265] by psolanki@apple.com
  • 29 edits
    3 deletes in trunk/Source

Remove iOS specific disk image cache
​https://bugs.webkit.org/show_bug.cgi?id=136517

Reviewed by Antti Koivisto.

Disk image cache code unnecessarily complicates SharedBuffer implementation. We can remove
this now since we don't enable it in WebKit2 on iOS.

Source/WebCore:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/ResourceBuffer.cpp:

(WebCore::ResourceBuffer::isUsingDiskImageCache): Deleted.

  • loader/ResourceBuffer.h:
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::canUseDiskImageCache): Deleted.
(WebCore::CachedImage::useDiskImageCache): Deleted.

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

(WebCore::CachedResource::isUsingDiskImageCache): Deleted.

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::canUseDiskImageCache): Deleted.
(WebCore::CachedResource::useDiskImageCache): Deleted.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::TypeStatistic::addResource):
(WebCore::MemoryCache::dumpStats):
(WebCore::MemoryCache::dumpLRULists):
(WebCore::MemoryCache::flushCachedImagesToDisk): Deleted.

  • loader/cache/MemoryCache.h:

(WebCore::MemoryCache::TypeStatistic::TypeStatistic):

  • loader/ios/DiskImageCacheClientIOS.h: Removed.
  • loader/ios/DiskImageCacheIOS.h: Removed.
  • loader/ios/DiskImageCacheIOS.mm: Removed.
  • platform/Logging.h:
  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::SharedBuffer):
(WebCore::SharedBuffer::~SharedBuffer):
(WebCore::SharedBuffer::data):
(WebCore::SharedBuffer::append):
(WebCore::SharedBuffer::buffer):
(WebCore::SharedBuffer::getSomeData):
(WebCore::SharedBuffer::isAllowedToBeMemoryMapped): Deleted.
(WebCore::SharedBuffer::allowToBeMemoryMapped): Deleted.
(WebCore::SharedBuffer::failedMemoryMap): Deleted.
(WebCore::SharedBuffer::markAsMemoryMapped): Deleted.
(WebCore::SharedBuffer::memoryMappedNotificationCallbackData): Deleted.
(WebCore::SharedBuffer::memoryMappedNotificationCallback): Deleted.
(WebCore::SharedBuffer::setMemoryMappedNotificationCallback): Deleted.

  • platform/SharedBuffer.h:

(WebCore::SharedBuffer::isMemoryMapped): Deleted.

  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::SharedBuffer):

  • platform/mac/SharedBufferMac.mm:

(-[WebCoreSharedBufferData length]):
(-[WebCoreSharedBufferData bytes]):
(WebCore::SharedBuffer::createCFData):
(-[WebCoreSharedBufferData initWithMemoryMappedSharedBuffer:]): Deleted.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/ios:

  • WebCoreSupport/WebDiskImageCacheClientIOS.h: Removed.
  • WebCoreSupport/WebDiskImageCacheClientIOS.mm: Removed.
  • WebView/WebPDFViewPlaceholder.mm:

(-[WebPDFViewPlaceholder finishedLoadingWithDataSource:]):
(-[WebPDFViewPlaceholder dataSourceMemoryMapped]): Deleted.
(-[WebPDFViewPlaceholder dataSourceMemoryMapFailed]): Deleted.

Source/WebKit/mac:

  • Misc/WebCache.mm:

(+[WebCache statistics]):

  • WebView/WebDataSource.mm:

(-[WebDataSource _setAllowToBeMemoryMapped]):
(-[WebDataSource setDataSourceDelegate:]):
(-[WebDataSource dataSourceDelegate]):
(-[WebDataSource dealloc]):
(BufferMemoryMapped): Deleted.

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

(+[WebPreferences initialize]):
(-[WebPreferences diskImageCacheEnabled]): Deleted.
(-[WebPreferences setDiskImageCacheEnabled:]): Deleted.
(-[WebPreferences diskImageCacheMinimumImageSize]): Deleted.
(-[WebPreferences setDiskImageCacheMinimumImageSize:]): Deleted.
(-[WebPreferences diskImageCacheMaximumCacheSize]): Deleted.
(-[WebPreferences setDiskImageCacheMaximumCacheSize:]): Deleted.
(-[WebPreferences _diskImageCacheSavedCacheDirectory]): Deleted.
(-[WebPreferences _setDiskImageCacheSavedCacheDirectory:]): Deleted.

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

(-[WebView _commonInitializationWithFrameName:groupName:]):
(+[WebView _handleMemoryWarning]):
(-[WebView _preferencesChanged:]):

Source/WTF:

  • wtf/FeatureDefines.h:
10:21 AM Changeset in webkit [173264] by Brian Burg
  • 6 edits in trunk/Source/JavaScriptCore

Web Inspector: the profiler should not accrue time to nodes while the debugger is paused
​https://bugs.webkit.org/show_bug.cgi?id=136352

Reviewed by Timothy Hatcher.

Hook up pause/continue events to the LegacyProfiler and any active
ProfilerGenerators. If the debugger is paused, all intervening call
entries will be created with totalTime as 0.0.

  • inspector/ScriptDebugServer.cpp:

(Inspector::ScriptDebugServer::handlePause):

  • profiler/LegacyProfiler.cpp: Move from typedef'd callbacks to using

std::function. This allows callbacks to take different argument types.

(JSC::callFunctionForProfilesWithGroup):
(JSC::LegacyProfiler::willExecute):
(JSC::LegacyProfiler::didExecute):
(JSC::LegacyProfiler::exceptionUnwind):
(JSC::LegacyProfiler::didPause):
(JSC::LegacyProfiler::didContinue):
(JSC::dispatchFunctionToProfiles): Deleted.

  • profiler/LegacyProfiler.h:
  • profiler/ProfileGenerator.cpp:

(JSC::ProfileGenerator::ProfileGenerator):
(JSC::ProfileGenerator::endCallEntry):
(JSC::ProfileGenerator::didExecute): Deleted.

  • profiler/ProfileGenerator.h:

(JSC::ProfileGenerator::didPause):
(JSC::ProfileGenerator::didContinue):

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

Unreviewed, rolling out r173245.
​https://bugs.webkit.org/show_bug.cgi?id=136533

Broke JSC tests. (Requested by ddkilzer on #webkit).

Reverted changeset:

"JavaScriptCore should build with newer clang"
​https://bugs.webkit.org/show_bug.cgi?id=136002
​http://trac.webkit.org/changeset/173245

10:00 AM Changeset in webkit [173262] by Brian Burg
  • 8 edits in trunk/Source

LegacyProfiler: ProfileNodes should be used more like structs
​https://bugs.webkit.org/show_bug.cgi?id=136381

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Previously, both the profile generator and individual profile nodes
were collectively responsible for creating new Call entries and
maintaining data structure invariants. This complexity is unnecessary.

This patch centralizes profile data creation inside the profile generator.
The profile nodes manage nextSibling and parent pointers, but do not
collect the current time or create new Call entries themselves.

Since ProfileNode::nextSibling and its callers are only used within
debug printing code, it should be compiled out for release builds.

  • profiler/ProfileGenerator.cpp:

(JSC::ProfileGenerator::ProfileGenerator):
(JSC::AddParentForConsoleStartFunctor::operator()):
(JSC::ProfileGenerator::beginCallEntry): create a new Call entry.
(JSC::ProfileGenerator::endCallEntry): finish the last Call entry.
(JSC::ProfileGenerator::willExecute): inline ProfileNode::willExecute()
(JSC::ProfileGenerator::didExecute): inline ProfileNode::didExecute()
(JSC::ProfileGenerator::stopProfiling): Only walk up the spine.
(JSC::ProfileGenerator::removeProfileStart):
(JSC::ProfileGenerator::removeProfileEnd):

  • profiler/ProfileGenerator.h:
  • profiler/ProfileNode.cpp:

(JSC::ProfileNode::ProfileNode):
(JSC::ProfileNode::addChild):
(JSC::ProfileNode::removeChild):
(JSC::ProfileNode::spliceNode): Renamed from insertNode.
(JSC::ProfileNode::debugPrintRecursively):
(JSC::ProfileNode::willExecute): Deleted.
(JSC::ProfileNode::insertNode): Deleted.
(JSC::ProfileNode::stopProfiling): Deleted.
(JSC::ProfileNode::traverseNextNodePostOrder):
(JSC::ProfileNode::endAndRecordCall): Deleted.
(JSC::ProfileNode::debugPrintDataSampleStyle):

  • profiler/ProfileNode.h:

(JSC::ProfileNode::Call::setStartTime):
(JSC::ProfileNode::Call::setTotalTime):
(JSC::ProfileNode::appendCall):
(JSC::ProfileNode::firstChild):
(JSC::ProfileNode::lastChild):
(JSC::ProfileNode::nextSibling):
(JSC::ProfileNode::setNextSibling):

Source/WebCore:

  • inspector/ScriptProfileNode.idl: Remove an unused property.
9:46 AM Changeset in webkit [173261] by commit-queue@webkit.org
  • 1 edit
    2 deletes in trunk/Source/WebCore

Remove Qt cruft: MIMESniffing.cpp and MIMESniffing.h
​https://bugs.webkit.org/show_bug.cgi?id=136528

Patch by Renato Nagy <​rnagy@inf.u-szeged.hu> on 2014-09-04
Reviewed by Alexey Proskuryakov.

  • platform/network/MIMESniffing.cpp: Removed.
  • platform/network/MIMESniffing.h: Removed.
9:33 AM Changeset in webkit [173260] by ap@apple.com
  • 2 edits in trunk/Tools

Buildbot metrics page gives wrong results after a new bot gets added
​https://bugs.webkit.org/show_bug.cgi?id=136516

Part 1: Fix red/green counters. Dashboard is considered green at a given time
if all the bots that ever had results before this time are green.

This doesn't (and cannot) address situations where the bot gets removed and then
re-added. It also gives wrong results after a bot gets removed, because it doesn't
know that it was ever displayed on the dashboard.

Reviewed by Darin Adler.

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

(Analyzer.prototype._dashboardIsAllGreen):
(Analyzer.prototype._updateStretchOfRedCounters):
(Analyzer.prototype._countPercentageOfGreen):
(Analyzer.prototype._allQueuesAreSuccessful): Deleted.

9:13 AM Changeset in webkit [173259] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebCore

Introduce CSS_BASIC_SHAPES_TYPE_CASTS, and use it
​https://bugs.webkit.org/show_bug.cgi?id=136403

Reviewed by Daniel Bates.

toCSSBasicShapeFoo() will help to detect wrong type casting. So this patch generates it, and use it
instead of static_cast<const CSSBasicShapeFoo*>().

No new tests no behavior changes.

  • css/BasicShapeFunctions.cpp:

(WebCore::basicShapeForValue):

  • css/CSSBasicShapes.cpp:

(WebCore::CSSBasicShapeCircle::equals):
(WebCore::CSSBasicShapeEllipse::equals):
(WebCore::CSSBasicShapePolygon::equals):
(WebCore::CSSBasicShapeInset::equals):

  • css/CSSBasicShapes.h:
8:42 AM Changeset in webkit [173258] by dbates@webkit.org
  • 13 edits in trunk/Source

[iOS] Make iOS build when ENABLE_TOUCH_EVENT and ENABLE_IOS_TOUCH_EVENTS disabled
​https://bugs.webkit.org/show_bug.cgi?id=136494

Reviewed by Andy Estes.

Source/WebCore:

  • WebCore.exp.in: Add ENABLE(IOS_TOUCH_EVENTS) and ENABLE(TOUCH_EVENTS) guards. Also, sort this file using

the script Tools/Scripts/sort-export-file.

  • bindings/js/JSDocumentCustom.cpp: Add ENABLE(TOUCH_EVENTS)-guard around headers JSTouch.h and JSTouchList.h.
  • page/ios/WebEventRegion.mm: Substitute ENABLE(IOS_TOUCH_EVENTS) for ENABLE(TOUCH_EVENTS) since this

code is specific to the iOS touch machinery.

  • page/scrolling/ScrollingCoordinator.cpp: Add ENABLE(IOS_TOUCH_EVENTS) and ENABLE(TOUCH_EVENTS) guards.

(WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): Substitute ENABLE(IOS_TOUCH_EVENTS) for PLATFORM(IOS).

  • platform/ios/ScrollAnimatorIOS.h: Add ENABLE(TOUCH_EVENTS) guard.
  • platform/ios/ScrollAnimatorIOS.mm:

(WebCore::ScrollAnimatorIOS::ScrollAnimatorIOS): Ditto.

  • platform/ios/wak/WAKResponder.h: Ditto.
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer): Add ENABLE(IOS_TOUCH_EVENTS) guard.
(WebCore::RenderLayer::~RenderLayer): Substitute ENABLE(IOS_TOUCH_EVENTS) for PLATFORM(IOS) since this
code is specific to the iOS touch machinery.

  • rendering/RenderLayer.h: Add ENABLE(IOS_TOUCH_EVENTS) guard.

Source/WebKit/mac:

  • MigrateHeaders.make: Migrate header WebEventRegion.h only when ENABLE_IOS_TOUCH_EVENTS is defined.
  • WebView/WebView.mm: Substitute ENABLE(IOS_TOUCH_EVENTS) for ENABLE(TOUCH_EVENTS).
4:14 AM Changeset in webkit [173257] by clopez@igalia.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r173240) [GTK] Debug build broken.

Unreviewed build fix after r173240.

  • dom/EventListenerMap.h: Add missing include.
1:28 AM Changeset in webkit [173256] by mitz@apple.com
  • 6 edits in trunk/Source/WebCore

Get rid of HIGH_DPI_CANVAS leftovers
​https://bugs.webkit.org/show_bug.cgi?id=136491

Reviewed by Benjamin Poulain.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::HTMLCanvasElement): Removed m_deviceScaleFactor initializer.
(WebCore::HTMLCanvasElement::reset): Removed checking if the scale factor has changed and
updating m_deviceScaleFactor.
(WebCore::HTMLCanvasElement::convertLogicalToDevice): Removed scaling by the device scale
factor.
(WebCore::HTMLCanvasElement::convertDeviceToLogical): Ditto.
(WebCore::HTMLCanvasElement::createImageBuffer): Replaced m_deviceScaleFactor with a literal
1.
(WebCore::HTMLCanvasElement::targetDeviceScaleFactor): Deleted.

  • html/HTMLCanvasElement.h: Removed m_deviceScaleFactor member variable and its getter.
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::putImageData): Removed scaling by the device scale
factor.

  • html/canvas/CanvasRenderingContext2D.h:

(WebCore::CanvasRenderingContext2D::webkitBackingStorePixelRatio): Changed to return 1.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::texImage2D): Replaced deviceScaleFactor() with 1.
(WebCore::WebGLRenderingContext::texSubImage2D): Ditto.

12:41 AM Changeset in webkit [173255] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

Initialize m_usesNetworkProcess earlier in WebProcess::initializeWebProcess()
​https://bugs.webkit.org/show_bug.cgi?id=136478

Reviewed by Alexey Proskuryakov.

The soup network backend uses WebProcess::usesNetworkProcess()
from WebProcess::platformSetCacheModel() and
WebProcess::platformInitializeWebProcess(), both called before the
m_usesNetworkProcess member has been initialized.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess): Move the
m_usesNetworkProcess initialization at the beginning right before
calling platformInitializeWebProcess().

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformSetCacheModel): Remove the early
return when using the network process, since this was dead code
before this change, and not really needed now that
usesNetworkProcess() will return true.
(WebKit::WebProcess::platformInitializeWebProcess): Remove comment
that is not accurate since r171156.

12:03 AM Changeset in webkit [173254] by commit-queue@webkit.org
  • 25 edits
    2 adds in trunk

XMLHttpRequest always defaults Content-Type to application/xml, while it should depend on data type
​https://bugs.webkit.org/show_bug.cgi?id=11049

Patch by Youenn Fablet <​youenn.fablet@crf.canon.fr> on 2014-09-03
Reviewed by Darin Adler.

Source/WebCore:

Updated default mime type when sending text (changed from application/xml to text/plain;charset=UTF-8)
Updated default mime type when sending document (set to application/xml;charset=UTF-8 for XML documents and text/html;charset=UTF-8 for HTML documents)

Test: http/tests/xmlhttprequest/post-content-type-document.html

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::send): updating default Content-Type valuess.

LayoutTests:

  • http/tests/xmlhttprequest/methods-lower-case-expected.txt: Rebaseline (application/xml -> text/plain;charset=UTF-8).
  • http/tests/xmlhttprequest/post-content-type-document.html: New test to cover default mime type for XML and HTML document data types.
  • http/tests/xmlhttprequest/post-content-type-document-expected.txt: Ditto.
  • http/tests/xmlhttprequest/post-content-type-expected.txt: Rebaseline (application/xml -> text/plain;charset=UTF-8).
  • http/tests/xmlhttprequest/post-content-type.html: Ditto.
  • http/tests/xmlhttprequest/request-encoding2.html: Ditto.
  • platform/gtk/http/tests/xmlhttprequest/methods-async-expected.txt: Ditto.
  • platform/gtk/http/tests/xmlhttprequest/methods-expected.txt: Ditto.
  • platform/gtk/http/tests/xmlhttprequest/workers/methods-async-expected.txt: Ditto.
  • platform/gtk/http/tests/xmlhttprequest/workers/methods-expected.txt: Ditto.
  • platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-async-expected.txt: Ditto.
  • platform/gtk/http/tests/xmlhttprequest/workers/shared-worker-methods-expected.txt: Ditto.

Sep 3, 2014:

11:46 PM Changeset in webkit [173253] by ddkilzer@apple.com
  • 2 edits in trunk/Websites/bugs.webkit.org

Make images work with patches created using svn 1.7
<​http://webkit.org/b/136507>

Reviewed by Darin Adler.

  • PrettyPatch/PrettyPatch.rb:

(PrettyPatch.prettify): Delete redundant patches that claim
newly added images are actually removed.
(PrettyPatch.SVN_BINARY_FILE_MARKER_FORMAT): Rename from
BINARY_FILE_MARKER_FORMAT.
(PrettyPatch.SVN_IMAGE_FILE_MARKER_FORMAT): Rename from
IMAGE_FILE_MARKER_FORMAT.
(PrettyPatch.SVN_PROPERTY_CHANGES_FORMAT): Add. Used to find
and ignore property changes in svn 1.7 patches.
(PrettyPatch.SVN_START_OF_BINARY_DATA_FORMAT): Rename from
START_OF_BINARY_DATA_FORMAT.
(FileDiff.filename): Add read-only accessor.
(FileDiff.image): Add read-only accessor.
(FileDiff.image_url): Add read-only accessor.
(FileDiff.initialize): Add special case for svn-1.7 image
patches that add a file. Update various regex constants per
above.

11:43 PM Changeset in webkit [173252] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[SOUP] Race condition when downloading a file due to the intermediate temporary file
​https://bugs.webkit.org/show_bug.cgi?id=136423

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-09-03
Reviewed by Carlos Garcia Campos.

  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::DownloadClient): Replace m_destinationURI with
m_destinationFile and add m_createdDestination.
(WebKit::DownloadClient::deleteFilesIfNeeded): Added.
(WebKit::DownloadClient::downloadFailed): Call deleteFilesIfNeeded.
(WebKit::DownloadClient::didReceiveResponse): Attempt to create the
destination file before the intermediate file. Fail here if the file
exists and overwrite is not allowed, so we don't erroneously fire the
didCreateDestination event or waste time downloading the file when we
know the download will fail.
(WebKit::DownloadClient::didFinishLoading): Unconditionally overwrite
the empty destination file.
(WebKit::DownloadClient::cancel): Call deleteFilesIfNeeded.
(WebKit::DownloadClient::deleteIntermediateFileInNeeded): Deleted.

10:53 PM Changeset in webkit [173251] by Brian Burg
  • 30 edits
    4 moves in trunk/Source

Web Inspector: fix prefixes for subclasses of JSC::ConsoleClient
​https://bugs.webkit.org/show_bug.cgi?id=136476

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • inspector/JSGlobalObjectConsoleClient.cpp: Renamed from Source/JavaScriptCore/inspector/JSConsoleClient.cpp.
  • inspector/JSGlobalObjectConsoleClient.h: Renamed from Source/JavaScriptCore/inspector/JSConsoleClient.h.
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::reportAPIException):

  • inspector/JSGlobalObjectInspectorController.h:

Source/WebCore:

No new tests. No behavior changed.

  • CMakeLists.txt:
  • WebCore.exp.in:
  • WebCore.order:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSCustomXPathNSResolver.cpp:

(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):

  • bindings/js/ScriptCachedFrameData.cpp:

(WebCore::ScriptCachedFrameData::restore):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::clearWindowShell):
(WebCore::ScriptController::initScript):

  • css/CSSParser.cpp:

(WebCore::CSSParser::logError):

  • dom/Document.cpp:

(WebCore::Document::addConsoleMessage):
(WebCore::Document::addMessage):

  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::muteConsole):
(WebCore::PageDebuggerAgent::unmuteConsole):
(WebCore::PageDebuggerAgent::breakpointActionLog):

  • inspector/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::muteConsole):
(WebCore::PageRuntimeAgent::unmuteConsole):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::console):
(WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
(WebCore::DOMWindow::close):
(WebCore::DOMWindow::printErrorMessage):
(WebCore::DOMWindow::pageConsole): Deleted.

  • page/DOMWindow.h:
  • page/Page.cpp:

(WebCore::Page::Page):

  • page/Page.h:
  • page/PageConsoleClient.cpp: Renamed from Source/WebCore/page/PageConsole.cpp.
  • page/PageConsoleClient.h: Renamed from Source/WebCore/page/PageConsole.h.
  • testing/Internals.cpp:

(WebCore::Internals::consoleProfiles):

  • testing/Internals.h:
  • xml/XSLStyleSheetLibxslt.cpp:

(WebCore::XSLStyleSheet::parseString):

  • xml/XSLTProcessorLibxslt.cpp:

(WebCore::XSLTProcessor::parseErrorFunc):
(WebCore::docLoaderFunc):

Source/WebKit/mac:

  • Misc/WebCoreStatistics.mm:

(+[WebCoreStatistics shouldPrintExceptions]):
(+[WebCoreStatistics setShouldPrintExceptions:]):

Source/WebKit/win:

  • WebCoreStatistics.cpp:

(WebCoreStatistics::shouldPrintExceptions):
(WebCoreStatistics::setShouldPrintExceptions):

9:29 PM Changeset in webkit [173250] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Websocket Layout Tests passed in latest build.
​https://bugs.webkit.org/show_bug.cgi?id=136278

Unreviewed gardening.

Websocket Layout Tests passed in latest build, possibly because r172438.

Patch by Shivakumar JM <​shiva.jm@samsung.com> on 2014-09-03

  • platform/efl/TestExpectations:
7:54 PM Changeset in webkit [173249] by mjs@apple.com
  • 5 edits in trunk/Source/WebCore

Fix a few leftovers from removing MIME-related WKSI usage
​https://bugs.webkit.org/show_bug.cgi?id=136513

Reviewed by Alexey Proskuryakov.

  • WebCore.exp.in:
  • WebCore.order:
  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/WebCoreSystemInterface.mm:
7:10 PM Changeset in webkit [173248] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Reenable call edge profiling and polymorphic call inlining, now that a bunch of the bugs
are fixed.

  • runtime/Options.h:
6:43 PM Changeset in webkit [173247] by jpfau@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, mark test as crashing

  • platform/wk2/TestExpectations:
5:55 PM Changeset in webkit [173246] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

Text caret changes to color of text in Mail and Notes
​https://bugs.webkit.org/show_bug.cgi?id=135904

Patch by Myles C. Maxfield <​mmaxfield@apple.com> on 2014-09-03
Reviewed by Simon Fraser.

Source/WebCore:

Consult with the background color of spans inside editable divs to determine what color
the caret should be.

Test: editing/caret/color-span-inside-editable.html

  • editing/FrameSelection.cpp:

(WebCore::CaretBase::paintCaret):

LayoutTests:

Make sure the caret is the correct color.

  • editing/caret/color-span-inside-editable-expected.html: Added.
  • editing/caret/color-span-inside-editable.html: Added.
5:53 PM Changeset in webkit [173245] by ddkilzer@apple.com
  • 11 edits in trunk/Source

JavaScriptCore should build with newer clang
<​http://webkit.org/b/136002>
<rdar://problem/18020616>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Other than the JSC::SourceProvider::asID() change (which simply
removes code that the optimizing compiler would have discarded
in Release builds), we move the |this| checks in OpaqueJSString
to NULL checks in to JSBase, JSScriptRef, JSStringRef{CF} and
JSValueRef.

  • API/JSBase.cpp:

(JSEvaluateScript): Use String() in case |script| or |sourceURL|
are NULL.

  • API/JSScriptRef.cpp:

(JSScriptCreateReferencingImmortalASCIIText): Use String() in
case |url| is NULL.

  • API/JSStringRef.cpp:

(JSStringGetLength): Return early if NULL pointer is passed in.
(JSStringGetCharactersPtr): Ditto.
(JSStringGetUTF8CString): Ditto. Also check |buffer| parameter.

  • API/JSStringRefCF.cpp:

(JSStringCopyCFString): Ditto.

  • API/JSValueRef.cpp:

(JSValueMakeString): Use String() in case |string| is NULL.

  • API/OpaqueJSString.cpp:

(OpaqueJSString::string): Remove code that checks |this|.
(OpaqueJSString::identifier): Ditto.
(OpaqueJSString::characters): Ditto.

  • API/OpaqueJSString.h:

(OpaqueJSString::is8Bit): Remove code that checks |this|.
(OpaqueJSString::characters8): Ditto.
(OpaqueJSString::characters16): Ditto.
(OpaqueJSString::length): Ditto.

  • parser/SourceProvider.h:

(JSC::SourceProvider::asID): Remove code that checks |this|.

Source/WebKit2:

  • Shared/API/c/WKString.cpp:

(WKStringCreateWithJSString): Add NULL check to prevent
WebKitTestRunner crashes that relied on the previous |this|
behavior where NULL values were allowed.

5:28 PM Changeset in webkit [173244] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

CallEdgeProfile::visitWeak() shouldn't attempt to despecify empty profiles
​https://bugs.webkit.org/show_bug.cgi?id=136511

Reviewed by Geoffrey Garen.

  • bytecode/CallEdgeProfile.cpp:

(JSC::CallEdgeProfile::worthDespecifying):
(JSC::CallEdgeProfile::visitWeak):
(JSC::CallEdgeProfile::mergeBack):

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

Fix the iOS build after r173230

  • WebCore.exp.in:
4:48 PM Changeset in webkit [173242] by ddkilzer@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION (r167325): (null) entry added to Xcode project file when JSBoundFunction.h was removed
<​http://webkit.org/b/136509>

Reviewed by Daniel Bates.

entry left behind when JSBoundFunction.h was removed.

4:10 PM Changeset in webkit [173241] by mmaxfield@apple.com
  • 3 edits in trunk/Source/WebCore

Remove unnecessary function from TextPainter
​https://bugs.webkit.org/show_bug.cgi?id=136497

Reviewed by Simon Fraser.

Function is never called.

No new tests because there is no behavior change.

  • rendering/TextPainter.cpp:

(WebCore::TextPainter::paintTextInContext): Deleted.

  • rendering/TextPainter.h:
3:56 PM Changeset in webkit [173240] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Don't use DEPRECATED_DEFINE_STATIC_LOCAL for mutexes
​https://bugs.webkit.org/show_bug.cgi?id=136510

Reviewed by Andreas Kling.

Mutexes are intended to be used from multiple threads, and DEPRECATED_DEFINE_STATIC_LOCAL is not thread safe.

  • bindings/objc/DOMInternal.mm:

(wrapperCacheLock):
(getDOMWrapper):
(addDOMWrapper):
(removeDOMWrapper):
Use LazyNeverDestroyed + std::call_once, and switch the mutex over to an std::mutex.

  • dom/EventListenerMap.cpp:

(WebCore::EventListenerMap::assertNoActiveIterators):
(WebCore::EventListenerIterator::EventListenerIterator):
(WebCore::EventListenerIterator::~EventListenerIterator):
(WebCore::activeIteratorCountMutex):
(WebCore::EventListenerMap::EventListenerMap): Deleted.

  • dom/EventListenerMap.h:

Use an std::atomic<int> instead of a mutex here.

3:55 PM Changeset in webkit [173239] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Unreviewed test fix.

  • Scripts/webkitperl/auto-version_unittest/versionStampTests.pl: Don't fail

test if user doesn't have the VersionStamp.exe program.

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

Avoid warning if a process does not have access to com.apple.webinspector
​https://bugs.webkit.org/show_bug.cgi?id=136473

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-03
Reviewed by Alexey Proskuryakov.

Pre-check for access to the mach port to avoid emitting warnings
in syslog for processes that do not have access.

  • inspector/remote/RemoteInspector.mm:

(Inspector::canAccessWebInspectorMachPort):
(Inspector::RemoteInspector::shared):

3:44 PM Changeset in webkit [173237] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Temporarily disable call edge profiling. It is causing crashes and I'm still investigating
them.

  • runtime/Options.h:
3:26 PM Changeset in webkit [173236] by Brent Fulgham
  • 2 edits in trunk/LayoutTests

[Win] Mark a number of passing tests.

  • platform/win/TestExpectations: Update expectations based on passes

on multiple test bots.

3:15 PM Changeset in webkit [173235] by enrica@apple.com
  • 24 edits in trunk/Source

Remove PLATFORM(IOS) from WebCore/editing (Part 1).
​https://bugs.webkit.org/show_bug.cgi?id=136474

Reviewed by Tim Horton.

Source/WebCore:

This is the first part of the work to remove PLATFORM(IOS) everywhere
in the editing code.

  • dom/Range.cpp:

(WebCore::Range::create): Adding create function that takes VisiblePosition.

  • dom/Range.h:
  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::apply):
(WebCore::CompositeEditCommand::inputText):

  • editing/CompositeEditCommand.h:
  • editing/DeleteButton.h: No need for the platform guard since it is already under

DELETION_UI

  • editing/DeleteButtonController.cpp:

(WebCore::DeleteButtonController::enable):
(WebCore::DeleteButtonController::disable):

  • editing/EditAction.h:
  • editing/EditCommand.h:

(WebCore::EditCommand::isInsertTextCommand):

  • editing/Editor.cpp:

(WebCore::ClearTextCommand::CreateAndApply):

  • editing/Editor.h:
  • editing/EditorCommand.cpp:

(WebCore::executeClearText):
(WebCore::enabledCopy):
(WebCore::enabledCut):
(WebCore::enabledClearText):
(WebCore::createCommandMap):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::modifyExtendingRight):
(WebCore::FrameSelection::modifyExtendingForward):
(WebCore::FrameSelection::modifyMovingRight):
(WebCore::FrameSelection::modifyMovingForward):
(WebCore::FrameSelection::modifyExtendingLeft):
(WebCore::FrameSelection::modifyExtendingBackward):
(WebCore::FrameSelection::modifyMovingLeft):
(WebCore::FrameSelection::modifyMovingBackward):

  • editing/InsertTextCommand.h:
  • editing/TextCheckingHelper.cpp:
  • editing/TextGranularity.h:
  • editing/VisiblePosition.h:

(WebCore::operator>=):

  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):

  • editing/VisibleUnits.cpp:
  • editing/VisibleUnits.h:

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.mm:

(undoNameForEditAction):

Source/WebKit2:

  • UIProcess/WebEditCommandProxy.cpp:

(WebKit::WebEditCommandProxy::nameForEditAction):

3:02 PM Changeset in webkit [173234] by andersca@apple.com
  • 8 edits in trunk/Source/WebCore

Get rid of some uses of OwnPtr
​https://bugs.webkit.org/show_bug.cgi?id=136503

Reviewed by Sam Weinig.

  • dom/ElementRareData.cpp:
  • dom/ElementRareData.h:

(WebCore::ElementRareData::create): Deleted.

  • dom/MutationObserverRegistration.cpp:

(WebCore::MutationObserverRegistration::create): Deleted.

  • dom/MutationObserverRegistration.h:
  • dom/Node.cpp:

(WebCore::Node::materializeRareData):
(WebCore::Node::didMoveToNewDocument):
(WebCore::eventTargetDataMap):
(WebCore::Node::eventTargetData):
(WebCore::Node::ensureEventTargetData):
(WebCore::Node::mutationObserverRegistry):
(WebCore::Node::registerMutationObserver):
(WebCore::Node::unregisterMutationObserver):
(WebCore::Node::notifyMutationObserversNodeWillDetach):

  • dom/Node.h:
  • dom/NodeRareData.h:

(WebCore::NodeListsNodeData::NodeListsNodeData):
(WebCore::NodeRareData::NodeRareData):
(WebCore::NodeRareData::clearNodeLists):
(WebCore::NodeRareData::ensureNodeLists):
(WebCore::NodeRareData::ensureMutationObserverData):
(WebCore::NodeListsNodeData::create): Deleted.
(WebCore::NodeMutationObserverData::create): Deleted.
(WebCore::NodeRareData::create): Deleted.

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

​https://bugs.webkit.org/show_bug.cgi?id=136395
Need a way to get userAgent from WKWebView.

Add _userAgent property to return user agent string from WKWebView.

Patch by Yongjun Zhang <​yongjun_zhang@apple.com> on 2014-09-03
Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _userAgent]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
2:50 PM Changeset in webkit [173232] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[MIPS] Wrong register usage in LLInt op_catch.
​https://bugs.webkit.org/show_bug.cgi?id=125168

Patch by Balazs Kilvady <​kilvadyb@homejinni.com> on 2014-09-03
Reviewed by Geoffrey Garen.

Fix register usage and add PIC header to all the ops in LLInt.

  • offlineasm/instructions.rb:
  • offlineasm/mips.rb:
2:42 PM Changeset in webkit [173231] by dburkart@apple.com
  • 2 edits in trunk/Tools

Add myself as a committer.

2:32 PM Changeset in webkit [173230] by mjs@apple.com
  • 31 edits
    2 moves in trunk/Source

Clean up naming for and slightly refactor legacy video fullscreen support
​https://bugs.webkit.org/show_bug.cgi?id=136446

Reviewed by Jer Noble.

Key changes:
supportsFullscreenForNode(Node*) --> supportsVideoFullscreen()
enterFullscreenForNode(Node*) --> enterVideoFullscreenForVideoElement(HTMLVideoElement*)
exitFullscreenForNode(Node*) --> exitVideoFullscreen()

The old versions had unnecessary parameters, did not clearly distinguish their purpose
from enterFullscreenForElement and friends, and wrongly claimed generality to all Nodes.
Also changed many other places to use HTMLVideoElement* instead of Node* or
HTMLMediaElement* when they were in fact only used for video elements and would only
work for such.

Source/WebCore:

The implications of this include a bunch of renaming in some iOS fullscreen code.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Rename m_isFullscreen flag to
m_isInVideoFullscreen, since it only covers the case of legacy video fullscreen,
not element fullscreen.
(WebCore::HTMLMediaElement::stop): ditto
(WebCore::HTMLMediaElement::requiresTextTrackRepresentation): ditto
(WebCore::HTMLMediaElement::isFullscreen): ditto
(WebCore::HTMLMediaElement::enterFullscreen): Rename m_isFullscreen flag to
m_isInVideoFullscreen. Hoist video element check here from all supportsFullscrenForNode
clients. Adjust for relevant ChromeClient refactorings.
(WebCore::HTMLMediaElement::enterFullscreen): ditto above

  • html/HTMLMediaElement.h:
  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::supportsFullscreen): Adjust for relevant ChromeClient
refactorings.

  • page/ChromeClient.h:

(WebCore::ChromeClient::supportsVideoFullscreen): Renamed from
supportsFullscreenForNode, and removed Node* parameter.
(WebCore::ChromeClient::enterVideoFullscreenForVideoElement): Renamed from
enterFulscreenForNode and changed Node* parameter to HTMLVideoElement*.
(WebCore::ChromeClient::exitVideoFullscreen): Renamed from
exitFullscreenForNode, and removed Node* parameter.

  • platform/ios/WebVideoFullscreenControllerAVKit.h:
  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

(-[WebVideoFullscreenController videoElement]): Renamed from mediaElement;
return a video element and not just a media element.
(-[WebVideoFullscreenController dealloc]): Renamed _mediaElement data member
to _videoElement and changed type accordingly.
(-[WebVideoFullscreenController setVideoElement:]): Renamed from setMediaElement:
and adjust parameter type accordingly.
(-[WebVideoFullscreenController enterFullscreen:]): Video elements, not media
elements.
(-[WebVideoFullscreenController exitFullscreen]): ditto
(-[WebVideoFullscreenController didCleanupFullscreen]): ditto

  • platform/ios/WebVideoFullscreenInterface.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.h: Remove gratuitous HTMLMEdiaElement.h include

and fix declarations accordingly.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Include WTFString.h
  • platform/ios/WebVideoFullscreenModelVideoElement.h: Renamed from Source/WebCore/platform/ios/WebVideoFullscreenModelMediaElement.h.
  • platform/ios/WebVideoFullscreenModelVideoElement.mm: Renamed from Source/WebCore/platform/ios/WebVideoFullscreenModelMediaElement.mm.

(WebVideoFullscreenModelVideoElement) Renamed from WebVideoFullscreenModelMediaElement
(WebVideoFullscreenModelVideoElement::setVideoElement): Renamed from setMediaElement and
change param type accordingly. Also no need to check for actual videoness of the element.
(WebVideoFullscreenModelVideoElement::updateForEventName): Rename data member from m_mediaElement
to m_videoElement and change type accordingly.
(WebVideoFullscreenModelVideoElement::setVideoFullscreenLayer): ditto
(WebVideoFullscreenModelVideoElement::play): ditto
(WebVideoFullscreenModelVideoElement::pause): ditto
(WebVideoFullscreenModelVideoElement::togglePlayState): ditto
(WebVideoFullscreenModelVideoElement::beginScrubbing): ditto
(WebVideoFullscreenModelVideoElement::endScrubbing): ditto
(WebVideoFullscreenModelVideoElement::seekToTime): ditto
(WebVideoFullscreenModelVideoElement::fastSeek): ditto
(WebVideoFullscreenModelVideoElement::beginScanningForward): ditto
(WebVideoFullscreenModelVideoElement::beginScanningBackward): ditto
(WebVideoFullscreenModelVideoElement::endScanning): ditto
(WebVideoFullscreenModelVideoElement::requestExitFullscreen): ditto
(WebVideoFullscreenModelVideoElement::setVideoLayerFrame): ditto
(WebVideoFullscreenModelVideoElement::setVideoLayerGravity): ditto
(WebVideoFullscreenModelVideoElement::updateLegibleOptions): ditto

  • platform/mac/WebVideoFullscreenController.h:
  • platform/mac/WebVideoFullscreenController.mm:

(-[WebVideoFullscreenController videoElement]): Renamed from mediaElement
and update return type accordingly.
(-[WebVideoFullscreenController setVideoElement:]): Renamed from
setMediaElement and update return type accordingly.
(-[WebVideoFullscreenController videoElementRect]): Renamed
from mediaElementRect.
(-[WebVideoFullscreenController enterFullscreen:]): Update for
rename.
(-[WebVideoFullscreenController exitFullscreen]): ditto
(-[WebVideoFullscreenController updatePowerAssertions]): Rename
member from _mediaElement to _videoElement
(-[WebVideoFullscreenController _requestExit]): ditto

  • WebCore.exp.in: Adjust for function and class renames.
  • WebCore.xcodeproj/project.pbxproj: Adjust for file renames.

Source/WebKit/mac:

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

(WebChromeClient::supportsVideoFullscreen): Adjust for main refactoring.
Also no more need to check for video elementness.
(WebChromeClient::enterVideoFullscreenForVideoElement): Adjust for main refactoring.
(WebChromeClient::exitVideoFullscreen): ditto

  • WebView/WebView.mm:

(-[WebView _enterVideoFullscreenForVideoElement:]): Adjust for main
refactoring.
(-[WebView _exitVideoFullscreen]): ditto
(-[WebView _close]): ditto

  • WebView/WebViewInternal.h:

Source/WebKit/win:

  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::supportsVideoFullscreen): Adjust for the
main refactoring.
(WebChromeClient::enterVideoFullscreenForVideoElement): ditto
(WebChromeClient::exitVideoFullscreen): ditto

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

(WebView::enterVideoFullscreenForVideoElement): Adjust for the
main refactoring.
(WebView::exitVideoFullscreen): ditto.

  • WebView.h:
  • FullscreenVideoController.cpp: Use video elements, not media elements throughout

(FullscreenVideoController::LayerClient::platformCALayerLayoutSublayersOfLayer):
(FullscreenVideoController::setVideoElement):
(FullscreenVideoController::enterFullscreen):
(FullscreenVideoController::exitFullscreen):
(FullscreenVideoController::canPlay):
(FullscreenVideoController::play):
(FullscreenVideoController::pause):
(FullscreenVideoController::volume):
(FullscreenVideoController::setVolume):
(FullscreenVideoController::currentTime):
(FullscreenVideoController::setCurrentTime):
(FullscreenVideoController::duration):
(FullscreenVideoController::beginScrubbing):
(FullscreenVideoController::endScrubbing):
(FullscreenVideoController::onChar):
(FullscreenVideoController::onKeyDown):
(FullscreenVideoController::onMouseUp):

  • FullscreenVideoController.h:

(FullscreenVideoController::videoElement):

Source/WebKit2:

Legacy video fullscreen in WebKit2 is only supported on iOS (for other ports that support
it, it's WK1 only).

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::supportsVideoFullscreen): Adjust for renames as
mentioned.
(WebKit::WebChromeClient::enterVideoFullscreenForVideoElement): ditto
(WebKit::WebChromeClient::exitVideoFullscreen): ditto

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/ios/WebVideoFullscreenManager.h:
  • WebProcess/ios/WebVideoFullscreenManager.mm:

(WebKit::clientRectForElement): No need to be generic to node.
(WebKit::WebVideoFullscreenManager::supportsVideoFullscreen): Adjust for the
main refactoring. Also change m_node to m_videoElement with appropriate type change.
(WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): ditto
(WebKit::WebVideoFullscreenManager::exitVideoFullscreen): ditto
(WebKit::WebVideoFullscreenManager::didEnterFullscreen): ditto
(WebKit::WebVideoFullscreenManager::didExitFullscreen): ditto
(WebKit::WebVideoFullscreenManager::didCleanupFullscreen): ditto

2:30 PM Changeset in webkit [173229] by benjamin@webkit.org
  • 16 edits
    20 adds in trunk

Fix style invalidation of elements with multiple siblings dependencies
​https://bugs.webkit.org/show_bug.cgi?id=136472

Reviewed by Andreas Kling.

Source/WebCore:

Previously, style invalidation of siblings was driven by a pair of flags:
-ChildrenAffectedByDirectAdjacentRules.
-ChildrenAffectedByForwardPositionalRules.

When ChildrenAffectedByDirectAdjacentRules was set, the element after an element
with "needsStyleRecalc" was also recomputed. While this work for pair of elements:

a + b

It does not work for more than that. For example, with

a.propery + b + c

When the state of <a> changes, the style of <b> was updated, which is useless. The style
of <c> was untouched, which is incorrect.

When ChildrenAffectedByForwardPositionalRules, all elements after one with "needsStyleRecalc"
were invalidated. While more correct, it caused avalanche of style recalc and was not a very
useful "optimization".


To fix the correctness issues (e.g. "a + b + c"), I could have gone two ways:
1) Invalidate the parent of a, b, c. The children would always get a correct style

when their parent's style would be resolved.

2) Create invalidation relations to enforce that the right siblings are invalidated.

I have decided for a weak version of (2). The reason is that most DOM trees are very
shallow while being very wide. Invalidating the parent generally causes massive style
recalculation.

To keep things simple for now, there is no explicit dependency list between siblings.
Instead, each element has a pair of flag:
1) The element's style depends on the state of a previous sibling.
2) The element's state affects following siblings.

With the notation "<-" for (1), "->" for (2), the selector "a + b + c" create this kind
of marking:

a + b + c
-> ->

<-

When <a> is invalidated, the style resolver will go through the chain of dependent elements
and invalidate any element that can be affected by a prior invalidation, here <c>.

Overlaps are possible. For example with the two selector, "a + b + c", "b ~ d"
the marking would be

a + b + c + d
-> -> ->

<- <-

A change in <a> would invalidate both <c> and <d>. This is overkill, but the end result
is correct and it is a net improvement over the previous flags.

As usual, the CSS JIT makes an effort at compile time to reduce tree marking. SelectorChecker
marks everything as usual.

Tests: fast/css/direct-adjacent-style-update-optimization.html

fast/css/indirect-adjacent-style-update-optimization.html
fast/css/non-matching-adjacent-style-update.html
fast/selectors/first-of-type-direct-adjacent-style-update.html
fast/selectors/first-of-type-sibling-style-update.html
fast/selectors/id-direct-adjacent-style-update.html
fast/selectors/id-sibling-style-update.html
fast/selectors/nth-child-as-first-simple-selector-style-update.html
fast/selectors/nth-child-direct-adjacent-style-update.html
fast/selectors/nth-child-style-update.html

  • css/SelectorChecker.cpp:

(WebCore::isFirstOfType):
(WebCore::countElementsBefore):
(WebCore::countElementsOfTypeBefore):
Counting selectors are not unlike adjacent combinators, they are handled the exact same way.
For example a :nth-child(4) would generate somewhat similar marking as

:first-child + * + * + *

Everything prior to the element with the counter affects the style of the element.

(WebCore::hasScrollbarPseudoElement):
The assertion was incorrect. You can get an scrollbar pseudo ID on an element without scrollbar.
It will never match, but such case is possible.

(WebCore::SelectorChecker::matchRecursively):
(WebCore::SelectorChecker::checkOne):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::canShareStyleWithElement):
Previously, any subtree affected by sibling selectors were unshareable. That was done by checking
for Element::hasFlagsSetDuringStylingOfChildren().

Now that sibling relation are local, they no longer prevent sharing of all children. Instead, we can
test locally for subgroup with sibling relations.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::isAdjacentRelation):
(WebCore::SelectorCompiler::shouldMarkStyleIsAffectedByPreviousSibling):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateDirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateIndirectAdjacentTreeWalker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::markElementIfResolvingStyle):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::markParentElementIfResolvingStyle): Deleted.

  • dom/Document.cpp:

(WebCore::nodeOrItsAncestorNeedsStyleRecalc):

  • dom/Element.cpp:

(WebCore::checkForSiblingStyleChanges):
(WebCore::Element::hasFlagsSetDuringStylingOfChildren):
(WebCore::Element::setChildrenAffectedByForwardPositionalRules): Deleted.
(WebCore::Element::rareDataChildrenAffectedByForwardPositionalRules): Deleted.

  • dom/Element.h:

(WebCore::Element::affectsNextSiblingElementStyle):
(WebCore::Element::setAffectsNextSiblingElementStyle):
(WebCore::Element::setStyleIsAffectedByPreviousSibling):
(WebCore::Element::childrenAffectedByPositionalRules): Deleted.
(WebCore::Element::childrenAffectedByDirectAdjacentRules): Deleted.
(WebCore::Element::childrenAffectedByForwardPositionalRules): Deleted.
(WebCore::Element::setChildrenAffectedByDirectAdjacentRules): Deleted.
(WebCore::Element::setChildrenAffectedByForwardPositionalRules): Deleted.

  • dom/ElementRareData.h:

(WebCore::ElementRareData::ElementRareData):
(WebCore::ElementRareData::resetDynamicRestyleObservations):
(WebCore::ElementRareData::childrenAffectedByForwardPositionalRules): Deleted.
(WebCore::ElementRareData::setChildrenAffectedByForwardPositionalRules): Deleted.

  • dom/Node.h:

(WebCore::Node::styleIsAffectedByPreviousSibling):
(WebCore::Node::flagAffectsNextSiblingElementStyle):
(WebCore::Node::flagStyleIsAffectedByPreviousSibling):
(WebCore::Node::flagChildrenAffectedByDirectAdjacentRulesFlag): Deleted.

  • html/HTMLElement.h:

(WebCore::HTMLElement::isHTMLUnknownElement):

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

(WebCore::Style::resetStyleForNonRenderedDescendants):
(WebCore::Style::resolveTree):

LayoutTests:

The test coverage was pretty bad. :(
I tried to cover the most obvious problems.

  • fast/css/direct-adjacent-style-update-optimization-expected.txt: Added.
  • fast/css/direct-adjacent-style-update-optimization.html: Added.
  • fast/css/indirect-adjacent-style-update-optimization-expected.txt: Added.
  • fast/css/indirect-adjacent-style-update-optimization.html: Added.
  • fast/css/non-matching-adjacent-style-update-expected.txt: Added.
  • fast/css/non-matching-adjacent-style-update.html: Added.
  • fast/selectors/attribute-direct-adjacent-style-update-expected.txt:
  • fast/selectors/class-direct-adjacent-style-update-expected.txt:
  • fast/selectors/first-child-direct-adjacent-style-update-expected.txt:
  • fast/selectors/first-of-type-direct-adjacent-style-update-expected.txt: Copied from LayoutTests/fast/selectors/attribute-direct-adjacent-style-update-expected.txt.
  • fast/selectors/first-of-type-direct-adjacent-style-update.html: Added.
  • fast/selectors/first-of-type-sibling-style-update-expected.txt: Added.
  • fast/selectors/first-of-type-sibling-style-update.html: Added.
  • fast/selectors/id-direct-adjacent-style-update-expected.txt: Copied from LayoutTests/fast/selectors/attribute-direct-adjacent-style-update-expected.txt.
  • fast/selectors/id-direct-adjacent-style-update.html: Added.
  • fast/selectors/id-sibling-style-update-expected.txt: Added.
  • fast/selectors/id-sibling-style-update.html: Added.
  • fast/selectors/nth-child-as-first-simple-selector-style-update-expected.txt: Added.
  • fast/selectors/nth-child-as-first-simple-selector-style-update.html: Added.
  • fast/selectors/nth-child-direct-adjacent-style-update-expected.txt: Copied from LayoutTests/fast/selectors/attribute-direct-adjacent-style-update-expected.txt.
  • fast/selectors/nth-child-direct-adjacent-style-update.html: Added.
  • fast/selectors/nth-child-style-update-expected.txt: Added.
  • fast/selectors/nth-child-style-update.html: Added.
2:29 PM Changeset in webkit [173228] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard performance popover is unstyled
​https://bugs.webkit.org/show_bug.cgi?id=136499

Reviewed by Tim Horton.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css:

(.performance-popover):
(.performance-popover .dashboard-link):

2:25 PM Changeset in webkit [173227] by benjamin@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Add a test case for Element.matches() with :scope
​https://bugs.webkit.org/show_bug.cgi?id=136475

Reviewed by Andreas Kling.

There was not test for this use case. Looks like everything works fine.

  • fast/selectors/matches-scope-expected.txt: Added.
  • fast/selectors/matches-scope.html: Added.
2:18 PM Changeset in webkit [173226] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Dump SimpleLineLayout info in showRenderTree() output
​https://bugs.webkit.org/show_bug.cgi?id=136489

Reviewed by Zalan Bujtas.

Include info about SimpleLineLayout to showRenderTree() output.

Also show RenderText length, and truncate the RenderText contents
to 80 chars (since the string is replicated in inline boxes or simple line layout output).

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::showLineTreeAndMark):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::showRenderObject):

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::printPrefix):
(WebCore::SimpleLineLayout::showLineTreeForFlow):

  • rendering/SimpleLineLayoutFunctions.h:
2:01 PM Changeset in webkit [173225] by saambarati1@gmail.com
  • 10 edits
    8 adds in trunk

Create tests for type profiling
​https://bugs.webkit.org/show_bug.cgi?id=136161

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

The type profiler is now being tested. These are basic tests that don't
check every edge case, but will catch any major failures in the type profiler.
These tests cover:

  • The basic, inheritance-based type system in TypeSet.
  • Function return types.
  • Correct merging of types for multiple assignments to one variable.

This patch also provides an API for writing new tests for
the type profiler. The API works by passing in a function and a
unique substring of an expression contained in that function, and
returns an object representing type information for that expression.

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionFindTypeForExpression):
(functionReturnTypeFor):

  • runtime/TypeProfiler.cpp:

(JSC::TypeProfiler::typeInformationForExpressionAtOffset):

  • runtime/TypeProfiler.h:
  • runtime/TypeProfilerLog.h:
  • runtime/TypeSet.cpp:

(JSC::TypeSet::toJSONString):
(JSC::StructureShape::toJSONString):

  • runtime/TypeSet.h:
  • tests/typeProfiler: Added.
  • tests/typeProfiler.yaml: Added.
  • tests/typeProfiler/basic.js: Added.

(wrapper.foo):
(wrapper):

  • tests/typeProfiler/captured.js: Added.

(wrapper.changeFoo):
(wrapper):

  • tests/typeProfiler/driver: Added.
  • tests/typeProfiler/driver/driver.js: Added.

(assert):

  • tests/typeProfiler/inheritance.js: Added.

(wrapper.A):
(wrapper.B):
(wrapper.C):
(wrapper):

  • tests/typeProfiler/return.js: Added.

(foo):
(Ctor):

Tools:

Have run-javascriptcore-tests run the newly created
tests for the type profiler.

  • Scripts/run-javascriptcore-tests:
  • Scripts/run-jsc-stress-tests:
2:00 PM Changeset in webkit [173224] by ggaren@apple.com
  • 7 edits in trunk/Source/bmalloc

bmalloc crashes on the EWS bots (due to bad large object allocation)
​https://bugs.webkit.org/show_bug.cgi?id=136469

Reviewed by Andreas Kling.

It's possible to convince bmalloc to perform a bad large object allocation,
through these steps:

(1) Insert object A into freelist F0.

(2) Split, merge and split again A's neighbors such that object B is
inserted into freelist F0, with boundary tag and size equal to object A,
but pointer not completely equal to object A. Put object B at the head of F0.

(3) Allocate some other object from F0, swapping its position in the
freelist with object B, such that object A is now ahead of object B.

--> Now, the next allocation for size A/B will allocate object A, which
has a slightly wrong idea about where the object actually begins.
Immediately, you'll corrupt a little memory, and over time, you'll also
corrupt boundary tag metadata.

The solution is to store the begin pointer in the boundary tag. Luckily,
this doesn't make the tag any bigger, and it's not a noticeable slowdown
on MallocBench.

  • bmalloc/Algorithm.h:

(bmalloc::rightShift):

  • bmalloc/BeginTag.h:

(bmalloc::BeginTag::isInFreeList): This is the bug fix. Make sure to
validate the start pointer when popping off the free list. Through a
very uncommon set of steps, it is possible to have an item in the free
list that is valid by all accounts except for its start pointer.

  • bmalloc/BoundaryTag.h:

(bmalloc::BoundaryTag::compactBegin):
(bmalloc::BoundaryTag::setRange):
(bmalloc::BoundaryTag::setSize): Deleted. Record a compact version of the
start pointer. We don't need the whole pointer -- just the offset, in
largeAlignment increments, into the relevant boundary tag bucket.

  • bmalloc/BoundaryTagInlines.h:

(bmalloc::validateNext):
(bmalloc::BoundaryTag::init):
(bmalloc::BoundaryTag::mergeLarge):
(bmalloc::BoundaryTag::splitLarge):

  • bmalloc/SegregatedFreeList.cpp:

(bmalloc::SegregatedFreeList::insert):
(bmalloc::SegregatedFreeList::takeGreedy):
(bmalloc::SegregatedFreeList::take): Provide the whole range instead of
the size when establishing a boundary tag, as required by the new
interface.

  • bmalloc/Sizes.h:
1:59 PM Changeset in webkit [173223] by ggaren@apple.com
  • 3 edits
    2 adds in trunk/PerformanceTests

MallocBench should have a stress test for correctness
​https://bugs.webkit.org/show_bug.cgi?id=136468

Reviewed by Andreas Kling.

Added a stress test that allocates randomized sizes of randomized
lifetimes in randomized order.

This version of the test reproduces the EWS crash seen in bmalloc
(<​https://bugs.webkit.org/show_bug.cgi?id=132629>).

  • MallocBench/MallocBench.xcodeproj/project.pbxproj:
  • MallocBench/MallocBench/Benchmark.cpp: Sort!
  • MallocBench/MallocBench/stress.cpp: Added.

(Object::Object):
(SizeStream::SizeStream):
(SizeStream::next):
(benchmark_stress): Usually, we random(0). Surprisingly, though, only
random(1) reproduces the bug I was looking for.

  • MallocBench/MallocBench/stress.h: Added.
1:53 PM Changeset in webkit [173222] by Julien Brianceau
  • 3 edits in trunk/Source/JavaScriptCore

Add missing implementations to fix build for sh4 architecture
​https://bugs.webkit.org/show_bug.cgi?id=136455

Reviewed by Geoffrey Garen.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::store8):
(JSC::MacroAssemblerSH4::moveWithPatch):
(JSC::MacroAssemblerSH4::branchAdd32):
(JSC::MacroAssemblerSH4::branch32WithPatch):
(JSC::MacroAssemblerSH4::abortWithReason):
(JSC::MacroAssemblerSH4::canJumpReplacePatchableBranch32WithPatch):
(JSC::MacroAssemblerSH4::startOfPatchableBranch32WithPatchOnAddress):
(JSC::MacroAssemblerSH4::revertJumpReplacementToPatchableBranch32WithPatch):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::emitFunctionPrologue):
(JSC::AssemblyHelpers::emitFunctionEpilogue):

1:26 PM Changeset in webkit [173221] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebCore

iOS build fix after r173217

  • platform/graphics/ios/FontServicesIOS.h:

(WebCore::FontServicesIOS::capHeight):

  • platform/graphics/ios/FontServicesIOS.mm:

(WebCore::FontServicesIOS::FontServicesIOS):
This fixes the build, but I don't know if it's completely correct.

1:18 PM Changeset in webkit [173220] by andersca@apple.com
  • 4 edits
    2 deletes in trunk/Source/WebCore

Get rid of DOMImplementationFront
​https://bugs.webkit.org/show_bug.cgi?id=136495

Reviewed by Andreas Kling.

DOMImplementationFront was used in a workaround for a GCC bug, and since we're building with clang
on Mac this is no longer an issue.

  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOMImplementationFront.cpp: Removed.
  • bindings/objc/DOMImplementationFront.h: Removed.

Remove files.

  • bindings/objc/DOMUtility.mm:

(JSC::createDOMWrapper):
Remove call to implementationFront.

  • bindings/scripts/CodeGeneratorObjC.pm:

(GetImplClassName):
Remove DOMImplementation special case

(AddIncludesForType):
Ditto.

(GenerateHeader):
Use the class header name in the #import in the internal header.

(GenerateImplementation):
Remove DOMImplementation special case.

1:12 PM Changeset in webkit [173219] by Brent Fulgham
  • 3 edits in trunk/Tools

[Win] Revise test environment for Windows build.
​https://bugs.webkit.org/show_bug.cgi?id=136486

Reviewed by David Kilzer.

The various calls to get the Safari path really only have
meaning on the Mac. Other ports get access to the build
and test environment separately, so remove the various
checks in the Safari-specific code to simplify things.

Remove some 64-bit hacks used on Windows now that the
various tools know how to find the 64-bit runtime environment.

  • Scripts/run-javascriptcore-tests:
  • Scripts/webkitdirs.pm:

(safariPathFromSafariBundle): Revise to expect Mac.
(installedSafariPath): Ditto.
(safariPath): Ditto.
(appleApplicationSupportPath): Get rid of 64-bit Windows hack.
(setPathForRunningWebKitApp): Get rid of unused SafariPath
argument for Windows runs.

12:57 PM Changeset in webkit [173218] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Improper release of unretained AVCFAssetResourceLoaderRef
​https://bugs.webkit.org/show_bug.cgi?id=136493
<rdar://problem/18112559>

Reviewed by Eric Carlson.

Don't bother wrapping the return value of AVCFURLAssetGetResourceLoader in a
RetainPtr. We don't hold onto this value or want to control its lifetime; we just
want to pass it to the AVCFAssetResourceLoaderSetCallbacks function.

Use of the RetainPtr created a double-release and crash.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::AVFWrapper::createAssetForURL):

12:26 PM Changeset in webkit [173217] by hyatt@apple.com
  • 22 edits
    15 adds in trunk

Add support for the initial-letter CSS property to first-letter
​https://bugs.webkit.org/show_bug.cgi?id=136484

Reviewed by Dean Jackson.
Source/WebCore:


New tests in fast/css-generated-content/initial-letter-*.html

This patch add support for the CSS initial-letter property, enabling
better drop caps support in WebKit. Letters size to a specified number of
paragraph lines, and align to the cap-height of the first line and the baseline
of the last line.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):
Add -webkit-initial-letter to the list.

  • css/CSSLineBoxContainValue.cpp:

(WebCore::CSSLineBoxContainValue::customCSSText):

  • css/CSSLineBoxContainValue.h:

Add support for a new value of line-box-contain, initial-letter, that causes
lines to use cap-height above the baseline and the glyph bounds below the
baseline.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
Add support for parsing of initial-letter.

(WebCore::CSSParser::parseLineBoxContain):
Add the new line-box-contain value for first-letters with initial-letter set.

  • css/CSSPropertyNames.in:

Add the new initial-letter property.

  • css/CSSValueKeywords.in:

Add the new initial-letter line-box-contain value.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
Map initial-letter into the RenderStyle.

  • platform/graphics/FontMetrics.h:

(WebCore::FontMetrics::hasCapHeight):
(WebCore::FontMetrics::floatCapHeight):
(WebCore::FontMetrics::setCapHeight):
(WebCore::FontMetrics::capHeight):

  • platform/graphics/ios/SimpleFontDataIOS.mm:

(WebCore::SimpleFontData::platformInit):

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::platformInit):
Add support for cap-height to the font system. iOS and Mac have been patched.
Other platforms will need to add support for cap-height to get this feature.
hasCapHeight() will return false for unsupported platforms for graceful
degradation.

  • rendering/RenderBlock.cpp:

(WebCore::styleForFirstLetter):
Modified to check for initialLetterDrop/Height and to adjust the style
accordingly (e.g., to apply float when needed).

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
Code to adjust the float's position and margin to do cap-height alignment
and sunken letters.

  • rendering/RenderBlockFlow.h:

Remove the const from computeLogicalLocationForFloat, since the margin of the
float can now be modified dynamically for sunken first-letters.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::ascentAndDescentForBox):
Add support for initial-letter line-box-contain value.

  • rendering/RootInlineBox.h:

Add the includeInitialLetterForBox method to support the new line-box-contain value.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout):

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleRareNonInheritedData.cpp:

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):

  • rendering/style/StyleRareNonInheritedData.h:

Normal maintenance stuff for addition of a new CSS property (making sure it is diffed
properly for layout changes and copied on assignment, etc.)

LayoutTests:

  • fast/css-generated-content/initial-letter-basic.html: Added.
  • fast/css-generated-content/initial-letter-border-padding.html: Added.
  • fast/css-generated-content/initial-letter-descender.html: Added.
  • fast/css-generated-content/initial-letter-raised.html: Added.
  • fast/css-generated-content/initial-letter-sunken.html: Added.
  • platform/mac/fast/css-generated-content/initial-letter-basic-expected.png: Added.
  • platform/mac/fast/css-generated-content/initial-letter-basic-expected.txt: Added.
  • platform/mac/fast/css-generated-content/initial-letter-border-padding-expected.png: Added.
  • platform/mac/fast/css-generated-content/initial-letter-border-padding-expected.txt: Added.
  • platform/mac/fast/css-generated-content/initial-letter-descender-expected.png: Added.
  • platform/mac/fast/css-generated-content/initial-letter-descender-expected.txt: Added.
  • platform/mac/fast/css-generated-content/initial-letter-raised-expected.png: Added.
  • platform/mac/fast/css-generated-content/initial-letter-raised-expected.txt: Added.
  • platform/mac/fast/css-generated-content/initial-letter-sunken-expected.png: Added.
  • platform/mac/fast/css-generated-content/initial-letter-sunken-expected.txt: Added.
12:22 PM Changeset in webkit [173216] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Prevent double-release on AVCFURLAssetRef
​https://bugs.webkit.org/show_bug.cgi?id=136492
<rdar://problem/18206746>

Reviewed by Eric Carlson.

The AVFWrapper::setAsset method needs to retain the passed argument, since it
originates from AVCFPlayerItemGetAsset, which does not increment the
reference count of its return value as expected by Cocoa Get/Create/Copy
semantics.

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::AVFWrapper::setAsset): Retain the passed argument.

12:17 PM Changeset in webkit [173215] by mitz@apple.com
  • 13 edits in trunk/Source

Get rid of HIGH_DPI_CANVAS leftovers
​https://bugs.webkit.org/show_bug.cgi?id=136491

Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Removed definition of ENABLE_HIGH_DPI_CANVAS

and removed it from FEATURE_DEFINES.

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Removed definition of ENABLE_HIGH_DPI_CANVAS

and removed it from FEATURE_DEFINES.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::targetDeviceScaleFactor): Removed #if ENABLE(HIGH_DPI_CANVAS)
code.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig: Removed definition of ENABLE_HIGH_DPI_CANVAS

and removed it from FEATURE_DEFINES.

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig: Removed definition of ENABLE_HIGH_DPI_CANVAS

and removed it from FEATURE_DEFINES.

Source/WTF:

  • wtf/FeatureDefines.h: Removed definition of ENABLE_HIGH_DPI_CANVAS.
11:58 AM Changeset in webkit [173214] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

CallEdgeProfile::visitWeak() should gracefully handle the case where primaryCallee duplicates an entry in otherCallees
​https://bugs.webkit.org/show_bug.cgi?id=136490

Reviewed by Geoffrey Garen.

  • bytecode/CallEdgeProfile.cpp:

(JSC::CallEdgeProfile::visitWeak):

11:50 AM Changeset in webkit [173213] by fpizlo@apple.com
  • 2 edits
    1 add in trunk/Source/JavaScriptCore

FTL In implementation sets callReturnLocation incorrectly leading to crashes beneath repatchCall()
​https://bugs.webkit.org/show_bug.cgi?id=136488

Reviewed by Mark Hahnenberg.

  • ftl/FTLCompile.cpp:

(JSC::FTL::generateCheckInICFastPath): The call is in the slow path.

  • tests/stress/ftl-in-overflow.js: Added. This used to crash with 100% with FTL enabled.

(foo):

11:42 AM Changeset in webkit [173212] by commit-queue@webkit.org
  • 32 edits in trunk/Source/WebCore

Use StringBuilder append(char) and appendLiteral in more places
​https://bugs.webkit.org/show_bug.cgi?id=136470

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-03
Reviewed by Andreas Kling.

  • Modules/indexeddb/IDBKeyData.cpp:

(WebCore::IDBKeyData::loggingString):

  • Modules/websockets/WebSocket.cpp:

(WebCore::encodeProtocolString):

  • Modules/websockets/WebSocketExtensionDispatcher.cpp:

(WebCore::WebSocketExtensionDispatcher::createHeaderValue):
(WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension):

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::clientLocation):
(WebCore::WebSocketHandshake::clientHandshakeMessage):

  • css/CSSCalculationValue.cpp:

(WebCore::buildCssText):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::cssText):

  • css/CSSMediaRule.cpp:

(WebCore::CSSMediaRule::cssText):

  • css/CSSSelectorList.cpp:

(WebCore::CSSSelectorList::selectorsText):

  • css/CSSSupportsRule.cpp:

(WebCore::CSSSupportsRule::cssText):

  • css/MediaQuery.cpp:

(WebCore::MediaQuery::serialize):

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::generateUniquePrefix):

  • editing/markup.cpp:

(WebCore::urlToMarkup):

  • fileapi/FileReaderLoader.cpp:

(WebCore::FileReaderLoader::convertToDataURL):

  • html/EmailInputType.cpp:

(WebCore::EmailInputType::sanitizeValue):

  • html/FormController.cpp:

(WebCore::recordFormStructure):

  • html/parser/XSSAuditorDelegate.cpp:

(WebCore::buildConsoleError):

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTParser::collectCueText):

  • mathml/MathMLMencloseElement.cpp:

(WebCore::MathMLMencloseElement::longDivLeftPadding):

  • page/PageSerializer.cpp:

(WebCore::SerializerMarkupAccumulator::appendElement):

  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::toRawString):

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::synchronousScrollingReasonsAsText):

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::logThreadedScrollingMode):

  • platform/PODInterval.h:

(WebCore::PODInterval::toString):

  • platform/PODRedBlackTree.h:

(WebCore::PODRedBlackTree::dumpFromNode):

  • platform/UUID.cpp:

(WebCore::createCanonicalUUIDString):

  • platform/network/ProxyServer.cpp:

(WebCore::appendProxyServerString):
(WebCore::toString):

  • platform/text/DateTimeFormat.cpp:

(WebCore::DateTimeFormat::quoteAndAppendLiteral):

  • platform/text/PlatformLocale.cpp:

(WebCore::DateTimeStringBuilder::zeroPadString):
(WebCore::Locale::convertFromLocalizedNumber):

  • platform/text/TextStream.cpp:

(WebCore::TextStream::operator<<):

  • rendering/RenderListMarker.cpp:

(WebCore::listMarkerText):

  • testing/Internals.cpp:

(WebCore::Internals::parserMetaData):
(WebCore::Internals::getCurrentCursorInfo):

10:57 AM Changeset in webkit [173211] by dburkart@apple.com
  • 7 edits
    1 add in trunk/Tools

Dashboard should show performance bots.
​https://bugs.webkit.org/show_bug.cgi?id=136386

Reviewed by Alexey Proskuryakov.

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

(BuildbotIteration.prototype._parseData.collectPerfTestResults):
(BuildbotIteration.prototype._parseData):
Support possible performance failures.

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

New QueueView to manage the way we present performance data.

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

(BuildbotQueue):
Support new 'performance' and 'performanceTestName' keys.

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

Add performance column to the main page.

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

(WebKitBuildbot):

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(body):
Make sure everything fits on 13 inch screens.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html:
10:37 AM Changeset in webkit [173210] by Brent Fulgham
  • 2 edits
    32 deletes in trunk/LayoutTests

[Win] Unreviewed test gardening.

Remove abandoned results for tests that had been converted to reftest.
Also resolve warnings in TestExpectation file.

  • platform/win/TestExpectations:
  • platform/win/ietestcenter/css3/flexbox: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-baseline-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-baseline-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-center-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-center-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-center-002-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-center-002-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-end-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-end-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-start-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-start-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-stretch-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-align-stretch-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-direction-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-direction-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-002-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-002-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-003-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-003-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-004-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-004-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-005-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-flex-005-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-groups-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-groups-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-groups-002-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-groups-002-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-groups-003-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-groups-003-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-groups-004-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-groups-004-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-layout-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-layout-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-layout-002-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-layout-002-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-layout-003-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-layout-003-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-ordinal-group-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-pack-center-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-pack-center-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-pack-end-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-pack-end-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-pack-justify-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-pack-justify-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-pack-start-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/flexbox/flexbox-pack-start-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid: Removed.
  • platform/win/ietestcenter/css3/grid/display-grid-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/display-grid-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/display-grid-002-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/display-grid-002-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-column-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-column-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-column-002-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-column-002-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-column-003-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-column-003-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-columns-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-columns-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-002-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-002-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-003-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-003-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-004-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-004-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-005-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/grid/grid-items-005-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-block-formatting-context-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-block-formatting-context-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-containing-block-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-containing-block-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-containing-block-002-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-containing-block-002-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-containing-block-003-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-containing-block-003-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-filling-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-filling-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-002-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-002-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-003-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-003-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-004-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-004-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-005-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-005-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-006-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-006-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-007-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-007-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-008-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-008-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-009-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-009-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-010-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-010-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-012-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-012-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-013-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-013-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-014-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-014-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-015-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-applies-to-015-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-negative-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-negative-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-percentage-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/multicolumn/column-width-percentage-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/declaring-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/declaring-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/prefix-008-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/prefix-008-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/prefix-009-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/prefix-009-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/qualifiedNames-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/qualifiedNames-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/scope-003-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/scope-003-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-016-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-016-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-017-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-017-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-018-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-018-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-019-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-019-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-020-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-020-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-021-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-021-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-022-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-022-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-023-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/syntax-023-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/terminology-001-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/namespaces/terminology-001-expected.txt: Removed.
  • platform/win/ietestcenter/css3/valuesandunits: Removed.
  • platform/win/ietestcenter/css3/valuesandunits/units-000-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/valuesandunits/units-010-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/valuesandunits/units-010-expected.txt: Removed.
  • platform/win/ietestcenter/css3/valuesandunits/units-020-expected-expected.txt: Removed.
  • platform/win/ietestcenter/css3/valuesandunits/units-020-expected.txt: Removed.
10:26 AM Changeset in webkit [173209] by betravis@adobe.com
  • 5 edits
    2 adds in trunk

[CSS Font Loading] Enable Page Caching
​https://bugs.webkit.org/show_bug.cgi?id=136044

Reviewed by Andreas Kling.

Source/WebCore:

Modifying FontLoader to track fonts loaded via the loadFont
method as well as via CSS rules. Fonts loaded via loadFont are
tracked in m_numLoadingFromJS, while fonts loaded via CSS rules
are tracked in m_numLoadingFromCSS. The page is cacheable when no
fonts are currently loading.

Added fast/css/fontloader-page-cache.html

  • css/FontLoader.cpp:

(WebCore::LoadFontCallback::create): Modified to take and store
the number of fonts it will be loading.
(WebCore::LoadFontCallback::createFromParams): Ditto.
(WebCore::LoadFontCallback::familyCount): Getter for number of
fonts loaded via this callback.
(WebCore::LoadFontCallback::LoadFontCallback):
(WebCore::LoadFontCallback::notifyLoaded): Callback the FontLoader
to let it update its count when all the fonts have finished loading.
(WebCore::FontLoader::loadFontDone): Ditto.
(WebCore::FontLoader::FontLoader):
(WebCore::FontLoader::beginFontLoading): Track the number of fonts
loading.
(WebCore::FontLoader::fontLoaded): Ditto.
(WebCore::FontLoader::loadError): Ditto.
(WebCore::FontLoader::loadFont):

  • css/FontLoader.h:

(WebCore::FontLoader::loading):

LayoutTests:

Adding test that loads a font then navigates away and back.
Test must also be disabled while feature is turned off.

  • TestExpectations: Skip test.
  • fast/css/fontloader-page-cache-expected.txt: Added.
  • fast/css/fontloader-page-cache.html: Added.
10:05 AM Changeset in webkit [173208] by barraclough@apple.com
  • 4 edits in trunk/Source/WebCore

Simplify DOMTimer::adjustMinimumTimerInterval -> updateTimerIntervalIfNecessary
​https://bugs.webkit.org/show_bug.cgi?id=136402

Reviewed by Andreas Kling.

When the minimum DOM timer interval changes, the Page updates all DOMTimers accordingly.
Updating the fire/repeat interval on TimerBase requires a delta, but in
DOMTimer::adjustMinimumTimerInterval we have the new requested interval. In the case of
timers we can get the current interval to calculate the delta by calling repeatInterval(),
but in the case of one-shot timers neither TimerBase nor DOMTimer have store the interval
that was actually set for the timer (DOMTimer knows the original, unadjusted timer, but
not the actual interval). The way this currently works is that when the minimum interval
changes, Page calls adjustMinimumTimerInterval providing the previous minimum. If the
timer is one-shot, then adjustMinimumTimerInterval will use this to compute the delta
based on what the interval would have been.

We can simplify & unify with the code to throttle interval timers when the nesting
threshold is hit, by instead tracking the current timer interval as a member on DOMTimer &
using this to compute the delta in all cases.

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):

  • adjustMinimumTimerInterval -> updateTimerIntervalIfNecessary
  • page/DOMTimer.cpp:

(WebCore::DOMTimer::DOMTimer):

initialize m_currentTimerInterval

(WebCore::DOMTimer::fired):

  • when the nesting level changes (potentially triggering throttling) just call updateTimerIntervalIfNecessary

(WebCore::DOMTimer::updateTimerIntervalIfNecessary):

  • compute delta based on m_currentTimerInterval

(WebCore::DOMTimer::intervalClampedToMinimum):

  • this now always takes m_originalInterval and scriptExecutionContext()->minimumTimerInterval() as its inputs, so remove arguments.

(WebCore::DOMTimer::adjustMinimumTimerInterval): Deleted.

  • adjustMinimumTimerInterval -> updateTimerIntervalIfNecessary
  • page/DOMTimer.h:
    • adjustMinimumTimerInterval -> updateTimerIntervalIfNecessary, added m_currentTimerInterval
9:12 AM Changeset in webkit [173207] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit/win

Unreviewed build fix after r173200.

  • WebView.cpp:

(WebView::setCacheModel): Use appropriate types for cache sizes to be
64-bit clean on CFNetwork compile.

8:34 AM Changeset in webkit [173206] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[XSLT] Make WebKit build when XSLT is disabled
​https://bugs.webkit.org/show_bug.cgi?id=136471

Reviewed by Simon Fraser.

Fixes a Clang compiler warning that file-static function WebCore::hasNoStyleInformation is unused.
This function is only called from ENABLE(XSLT)-guarded code. So, add a ENABLE(XSLT)-guard around
WebCore::hasNoStyleInformation().

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::hasNoStyleInformation):

7:15 AM Changeset in webkit [173205] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Don't generate superfluous mov instructions for move immediate on ARM64.
​https://bugs.webkit.org/show_bug.cgi?id=136435

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

On ARM64, the size of an immediate operand for a mov instruction is 16
bits. Thus, a move immediate offlineasm instruction may potentially be
split up to several machine level instructions. The current
implementation always emits a mov for the least significant 16 bits of
the value. However, if any of the bits 63:16 are significant then the
first emitted mov already filled bits 15:0 with zeroes (or ones, for
negative values). So, if bits 15:0 of the value are all zeroes (or ones)
then the last mov does not need to be emitted.

  • offlineasm/arm64.rb:
5:45 AM Changeset in webkit [173204] by Lucas Forschler
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

5:39 AM Changeset in webkit [173203] by Lucas Forschler
  • 1 copy in tags/Safari-600.1.18

New Tag.

5:20 AM Changeset in webkit [173202] by Lucas Forschler
  • 1 delete in tags/Safari-600.1.18

Remove Tag.

12:26 AM Changeset in webkit [173201] by zandobersek@gmail.com
  • 5 edits
    1 add in trunk

GMainLoopSource is exposed to race conditions
​https://bugs.webkit.org/show_bug.cgi?id=135800

Reviewed by Carlos Garcia Campos.

Source/WTF:

GMainLoopSource objects can be dispatching tasks on one thread
while having a new task scheduled on a different thread. This
can for instance occur in WebKitVideoSink, where the timeout
callback can be called on main thread while at the same time
it is being rescheduled on a different thread (created through
GStreamer).

The initial solution is to use GMutex to prevent parallel data
access from different threads. In the future I plan to add better
assertions, some meaningful comments and look at the possibility
of creating thread-specific GMainLoopSource objects that wouldn't
require the use of GMutex.

GSource, GCancellable and std::function<> objects are now packed
into an internal Context structure. Using the C++11 move semantics
it's simple to, at the time of dispatch, move the current context
out of the GMainLoopSource object in case the dispatch causes a
rescheduling on that same object.

All the schedule*() methods and the cancelInternal() method callers
now lock the GMutex to ensure no one else is accessing the data at
that moment. Similar goes for the dispatch methods, but those do
the dispatch and possible destruction duties with the mutex unlocked.
The dispatch can cause rescheduling on the same GMainLoopSource object,
which must not be done with a locked mutex.

  • wtf/gobject/GMainLoopSource.cpp:

(WTF::GMainLoopSource::GMainLoopSource):
(WTF::GMainLoopSource::~GMainLoopSource):
(WTF::GMainLoopSource::cancel):
(WTF::GMainLoopSource::cancelInternal):
(WTF::GMainLoopSource::scheduleIdleSource):
(WTF::GMainLoopSource::schedule):
(WTF::GMainLoopSource::scheduleTimeoutSource):
(WTF::GMainLoopSource::scheduleAfterDelay):
(WTF::GMainLoopSource::voidCallback):
(WTF::GMainLoopSource::boolCallback):
(WTF::GMainLoopSource::socketCallback):
(WTF::GMainLoopSource::destroy):
(WTF::GMainLoopSource::reset): Deleted.

  • wtf/gobject/GMainLoopSource.h:

Tools:

Add a unit test for GMainLoopSource that tests different
types of rescheduling tasks on already-active sources.

  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/Tests/WTF/gobject/GMainLoopSource.cpp: Added.

(GMainLoopSourceTest::GMainLoopSourceTest):
(GMainLoopSourceTest::~GMainLoopSourceTest):
(GMainLoopSourceTest::runLoop):
(GMainLoopSourceTest::finish):
(GMainLoopSourceTest::source):
(testGMainLoopSourceBasicRescheduling):
(testGMainLoopSourceReentrantRescheduling):
(testGMainLoopSourceDifferentThreadRescheduling):
(beforeAll):
(afterAll):
(TestWebKitAPI::GMainLoopSourceTest::GMainLoopSourceTest):
(TestWebKitAPI::GMainLoopSourceTest::~GMainLoopSourceTest):
(TestWebKitAPI::GMainLoopSourceTest::runLoop):
(TestWebKitAPI::GMainLoopSourceTest::finish):
(TestWebKitAPI::GMainLoopSourceTest::source):
(TestWebKitAPI::TEST):

Sep 2, 2014:

11:04 PM Changeset in webkit [173200] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/win

[WinCairo] Memory cache capacity is not set.
​https://bugs.webkit.org/show_bug.cgi?id=136432

Patch by ​peavo@outlook.com <​peavo@outlook.com> on 2014-09-02
Reviewed by Alex Christensen.

Reuse code from AppleWin to set memory and disk cache capacity.

  • WebKitSystemBits.cpp:

(WebVolumeFreeSize):

  • WebKitSystemBits.h:
  • WebView.cpp:

(WebView::setCacheModel):

9:58 PM Changeset in webkit [173199] by Brian Burg
  • 21 edits in trunk

LegacyProfiler: remove redundant ProfileNode members and other cleanup
​https://bugs.webkit.org/show_bug.cgi?id=136380

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

ProfileNode's selfTime and totalTime members are redundant and only used
for dumping profile data from debug-only code. Remove the members and compute
the same data on-demand when necessary using a postorder traversal functor.

Remove ProfileNode.head since it is only used to calculate percentages for
dumped profile data. This can be explicitly passed around when needed.

Rename Profile.head to Profile.rootNode, and other various renamings.

Rearrange some header includes so that touching LegacyProfiler-related headers
will no longer cause a full rebuild.

  • inspector/JSConsoleClient.cpp: Add header include.
  • inspector/agents/InspectorProfilerAgent.cpp:

(Inspector::InspectorProfilerAgent::buildProfileInspectorObject):

  • inspector/protocol/Profiler.json: Remove unused Profile.idleTime member.
  • jit/JIT.h: Remove header include.
  • jit/JITCode.h: Remove header include.
  • jit/JITOperations.cpp: Sort and add header include.
  • llint/LLIntSlowPaths.cpp: Sort and add header include.
  • profiler/Profile.cpp: Rename the debug dumping functions. Move the node

postorder traversal code to ProfileNode so we can traverse any subtree.
(JSC::Profile::Profile):
(JSC::Profile::debugPrint):
(JSC::Profile::debugPrintSampleStyle):
(JSC::Profile::forEach): Deleted.
(JSC::Profile::debugPrintData): Deleted.
(JSC::Profile::debugPrintDataSampleStyle): Deleted.

  • profiler/Profile.h:
  • profiler/ProfileGenerator.cpp:

(JSC::ProfileGenerator::ProfileGenerator):
(JSC::AddParentForConsoleStartFunctor::AddParentForConsoleStartFunctor):
(JSC::AddParentForConsoleStartFunctor::operator()):
(JSC::ProfileGenerator::addParentForConsoleStart):
(JSC::ProfileGenerator::didExecute):
(JSC::StopProfilingFunctor::operator()):
(JSC::ProfileGenerator::stopProfiling):
(JSC::ProfileGenerator::removeProfileStart):
(JSC::ProfileGenerator::removeProfileEnd):

  • profiler/ProfileGenerator.h:
  • profiler/ProfileNode.cpp:

(JSC::ProfileNode::ProfileNode):
(JSC::ProfileNode::willExecute):
(JSC::ProfileNode::removeChild):
(JSC::ProfileNode::stopProfiling):
(JSC::ProfileNode::endAndRecordCall):
(JSC::ProfileNode::debugPrint):
(JSC::ProfileNode::debugPrintSampleStyle):
(JSC::ProfileNode::debugPrintRecursively):
(JSC::ProfileNode::debugPrintSampleStyleRecursively):
(JSC::ProfileNode::debugPrintData): Deleted.
(JSC::ProfileNode::debugPrintDataSampleStyle): Deleted.

  • profiler/ProfileNode.h: Calculate per-node self and total times using a postorder traversal.

The forEachNodePostorder functor traverses the subtree rooted at |this|.
(JSC::ProfileNode::create):
(JSC::ProfileNode::calls):
(JSC::ProfileNode::forEachNodePostorder):
(JSC::CalculateProfileSubtreeDataFunctor::returnValue):
(JSC::CalculateProfileSubtreeDataFunctor::operator()):
(JSC::ProfileNode::head): Deleted.
(JSC::ProfileNode::setHead): Deleted.
(JSC::ProfileNode::totalTime): Deleted.
(JSC::ProfileNode::setTotalTime): Deleted.
(JSC::ProfileNode::selfTime): Deleted.
(JSC::ProfileNode::setSelfTime): Deleted.
(JSC::ProfileNode::totalPercent): Deleted.
(JSC::ProfileNode::selfPercent): Deleted.

  • runtime/ConsoleClient.h: Remove header include.

Source/WebCore:

Remove Profile.idleTime, rename head to rootNode, and remove ProfileNode members.

Covered by existing tests.

  • inspector/ScriptProfile.idl:
  • inspector/ScriptProfileNode.idl:
  • inspector/TimelineRecordFactory.cpp:

Source/WebInspectorUI:

Remove unused Profile.idleTime member.

  • UserInterface/Models/Profile.js:

(WebInspector.Profile.prototype.get idleTime): Deleted.

  • UserInterface/Models/ScriptTimelineRecord.js:

(WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):

LayoutTests:

Renamed Profile.head to Profile.rootNode.

  • fast/profiler/resources/profiler-test-JS-resources.js:

(printHeavyProfilesDataWithoutTime):
(printProfilesDataWithoutTime):

8:17 PM Changeset in webkit [173198] by Brian Burg
  • 30 edits
    25 deletes in trunk/Source

Web Inspector: remove ProfilerAgent and legacy profiler files in the frontend
​https://bugs.webkit.org/show_bug.cgi?id=136462

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

It's not used by the frontend anymore.

  • inspector/JSConsoleClient.cpp:

(Inspector::JSConsoleClient::JSConsoleClient): Stub out console.profile/profileEnd
methods since they didn't work for JSContexts anyway.
(Inspector::JSConsoleClient::profile):
(Inspector::JSConsoleClient::profileEnd):

  • inspector/JSConsoleClient.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):

  • inspector/agents/InspectorProfilerAgent.cpp: Removed.
  • inspector/agents/InspectorProfilerAgent.h: Removed.
  • inspector/agents/JSGlobalObjectProfilerAgent.cpp: Removed.
  • inspector/agents/JSGlobalObjectProfilerAgent.h: Removed.
  • inspector/protocol/Profiler.json: Removed.

Source/WebCore:

It's not used by the frontend anymore.

No new tests, no behavior changed.

  • CMakeLists.txt:
  • ForwardingHeaders/inspector/agents/InspectorProfilerAgent.h: Removed.
  • WebCore.order:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorAllInOne.cpp:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorController.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didCommitLoadImpl):

  • inspector/InstrumentingAgents.cpp:

(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::reset):

  • inspector/InstrumentingAgents.h:

(WebCore::InstrumentingAgents::inspectorProfilerAgent): Deleted.
(WebCore::InstrumentingAgents::setInspectorProfilerAgent): Deleted.

  • inspector/PageProfilerAgent.cpp: Removed.
  • inspector/PageProfilerAgent.h: Removed.
  • inspector/TimelineRecordFactory.cpp: Moved these builders to their only callsite.

(WebCore::buildInspectorObject):
(WebCore::buildProfileInspectorObject):
(WebCore::TimelineRecordFactory::appendProfile):

  • inspector/WebProfilerAgent.cpp: Removed.
  • inspector/WebProfilerAgent.h: Removed.
  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::WorkerInspectorController):

  • inspector/WorkerProfilerAgent.cpp: Removed.
  • inspector/WorkerProfilerAgent.h: Removed.
  • inspector/protocol/Timeline.json:

Source/WebInspectorUI:

The legacy profiler manager didn't do anything, and its views and models
have been superseded by new views and models based on the Timeline classes.

  • .eslintrc:
  • UserInterface/Base/Main.js:

(WebInspector.loaded):
(WebInspector.openURL): Remove profile URL handling code.

  • UserInterface/Controllers/LegacyProfileManager.js: Removed.
  • UserInterface/Main.html:
  • UserInterface/Protocol/ConsoleObserver.js:

(WebInspector.ConsoleObserver.prototype.messageAdded):

  • UserInterface/Protocol/InspectorFrontendAPI.js:

(InspectorFrontendAPI.isProfilingJavaScript): Deleted.
(InspectorFrontendAPI.startProfilingJavaScript): Deleted.
(InspectorFrontendAPI.stopProfilingJavaScript): Deleted.

  • UserInterface/Protocol/LegacyProfilerObserver.js: Removed.
  • UserInterface/Views/LegacyBottomUpProfileDataGridTree.js: Removed.
  • UserInterface/Views/LegacyJavaScriptProfileObject.js: Removed.
  • UserInterface/Views/LegacyJavaScriptProfileType.js: Removed.
  • UserInterface/Views/LegacyJavaScriptProfileView.css: Removed.
  • UserInterface/Views/LegacyJavaScriptProfileView.js: Removed.
  • UserInterface/Views/LegacyProfileDataGridTree.js: Removed.
  • UserInterface/Views/LegacyProfileObject.js: Removed.
  • UserInterface/Views/LegacyProfileType.js: Removed.
  • UserInterface/Views/LegacyProfileView.css: Removed.
  • UserInterface/Views/LegacyProfileView.js: Removed.
  • UserInterface/Views/LegacyTopDownProfileDataGridTree.js: Removed.
6:28 PM Changeset in webkit [173197] by jer.noble@apple.com
  • 16 edits
    1 copy
    1 add in trunk/Source/WebCore

[EME][Mac] Refactor CDMPrivateMediaSourceAVFObjC to allow sessions to be created without being attached to an AVStreamDataParser.
​https://bugs.webkit.org/show_bug.cgi?id=136016

Reviewed by Eric Carlson.

The CDMPrivateMediaPlayer class will delegate creation of CDMSession instances to the current MediaPlayer. This
of course requires the MediaKeys object owning the CDM to be attached to a HTMLMediaElement, and specifically to
one with a valid src attribute or source node which has sucessfully begun loading. For certain CDM operations,
it would be better if a given MediaKeys could create a session without actually being connected to a
HTMLMediaElement (yet).

To facilitate this for CDMSessionPrivateMediaSourceAVFObjC, add a new class, CDMPrivateMediaSourceAVFObjC, which
is the primary factory for CDMSessionPrivateMediaSOurceAVFObjC. Disclaim responsibility for creating these sessions
in MediaPlayerPrivateMediaSourceAVFObjC by not passing the "supportsKeySystem" method when registering itself.

Add methods to CDMSessionPrivateMediaSourceAVFObjC to allow SourceBuffers to be added and removed from the session,
to support adding the session to the HTMLMediaElement after the session has been created.

Since MediaPlayerPrivate instance and CDMSession instances must be able to communicate with one another, add a type()
enum and virtual method to allow CDMSession instnaces to be distinguisted from (and casted to) one another.

  • Modules/encryptedmedia/CDM.cpp:

(WebCore::installedCDMFactories): Register CDMPrivateMediaSourceAVFObjC.
(WebCore::CDM::createSession): Notify the MediaPlayer of the new CDMSession.

  • Modules/encryptedmedia/MediaKeySession.h:
  • Modules/encryptedmedia/MediaKeys.cpp:

(WebCore::MediaKeys::setMediaElement): Notify the HTMLMediaElement of any existing sessions.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/CDMSession.h:

(WebCore::CDMSession::type): Added.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::setCDMSession): Pass through to the MediaPlayerPrivate.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::setCDMSession): Added. Default no-op.

  • platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.h: Added.

(WebCore::CDMPrivateMediaSourceAVFObjC::CDMPrivateMediaSourceAVFObjC): Simple constructor.
(WebCore::CDMPrivateMediaSourceAVFObjC::~CDMPrivateMediaSourceAVFObjC): Simple destructor.
(WebCore::CDMPrivateMediaSourceAVFObjC::create): Simple factory.
(WebCore::CDMPrivateMediaSourceAVFObjC::cdm): Simple accessor.

  • platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:

(WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystem): Moved from MediaPlayerPrivateMediaSourceAVFObjC.
(WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystemAndMimeType): Ditto.
(WebCore::CDMPrivateMediaSourceAVFObjC::supportsMIMEType): Ditto.
(WebCore::CDMPrivateMediaSourceAVFObjC::createSession): Returns new CDMSessionMediaSourceAVFObjC.

  • platform/graphics/avfoundation/objc/CDMSessionAVFoundationObjC.h:

(WebCore::CDMSessionAVFoundationObjC::type): Added.

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

(WebCore::CDMSessionMediaSourceAVFObjC::type): Added.
(WebCore::toCDMSessionMediaSourceAVFObjC): Throw assertion if type() is not correct.

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

(WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC): Removed m_parent ivar.
(WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC): Ditto.
(WebCore::CDMSessionMediaSourceAVFObjC::update): Determing which SourceBuffer is protected.
(WebCore::CDMSessionMediaSourceAVFObjC::addSourceBuffer): Added.
(WebCore::CDMSessionMediaSourceAVFObjC::removeSourceBuffer): Added.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine): Remove supportsKeyType parameter.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType): Remove keyType check.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession): Tell the CDMSession about outstanding SourceBuffers.

  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
5:51 PM Changeset in webkit [173196] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[Win] Attempt to fix the Windows build after <​http://trac.webkit.org/changeset/173192>
(​https://bugs.webkit.org/show_bug.cgi?id=136467)

Declare ResourceHandleClient::connectionProperties() when building for iOS or when USE(CFNETWORK).

  • platform/network/ResourceHandleClient.h:
5:46 PM Changeset in webkit [173195] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.11-branch/Source

Versioning.

5:43 PM Changeset in webkit [173194] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.11.4

New tag.

5:25 PM Changeset in webkit [173193] by Gustavo Noronha Silva
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[GTK] Updated German translation
​https://bugs.webkit.org/show_bug.cgi?id=135956

Patch by Christian Stadelmann <​gnome-de@genodeftest.de> on 2014-09-02
Reviewed by Gustavo Noronha.

  • de.po: updated.
5:14 PM Changeset in webkit [173192] by dbates@webkit.org
  • 14 edits
    2 copies in trunk/Source

[iOS] Support using Foundation networking code
​https://bugs.webkit.org/show_bug.cgi?id=136467

Reviewed by Pratik Solanki.

Source/WebCore:

We should support building iOS WebKit with the Foundation networking code
(i.e. !USE(CFNETWORK)).

Additionally, disable USE(CFNETWORK) and use the Foundation networking code
by default when building iOS WebKit without the Apple Internal SDK.

  • Configurations/WebCore.xcconfig: Remove file WebCoreURLResponse.mm from the list of excluded files

so that we compile an implementation for function WebCore::synthesizeRedirectResponseIfNecessary when
building without USE(CFNETWORK).

  • WebCore.exp.in: Add symbols for WebCore::synthesizeRedirectResponseIfNecessary() and WebCore::ResourceHandleClient::willCacheResponseAsync().
  • WebCore.xcodeproj/project.pbxproj: Add new files CFNetworkConnectionCacheSPI.h and CFURLRequestSPI.h.

Also move group platform/spi such that it appears in alphabetical order in the platform group.

  • platform/cf/URLCF.cpp: Remove unnecessary header <CoreFoundation/CFPriv.h>.
  • platform/network/ResourceHandle.h: Declare iOS-specific variant of ResourceHandle::createNSURLConnection().
  • platform/network/ResourceHandleClient.h: Always include header <wtf/RetainPtr.h> when building for iOS.

(WebCore::ResourceHandleClient::connectionProperties): Add PLATFORM(IOS)-guard around declaration.

  • platform/network/cf/ResourceRequestCFNet.cpp: Substitute header CFNetworkConnectionCacheSPI.h for

<CFNetwork/CFNetworkConnectionCachePriv.h>.

  • platform/network/mac/CredentialStorageMac.mm:

(WebCore::CredentialStorage::saveToPersistentStorage): Use Credential::nsCredential() and ProtectionSpace::nsSpace()
instead of WebCore::mac(const {Credential, ProtectionSpace}&) as the latter were removed in <​http://trac.webkit.org/changeset/171801>
and <​http://trac.webkit.org/changeset/171540>, respectively.

  • platform/network/mac/ResourceErrorMac.mm: Add USE(CFNETWORK)-guard around <CFNetwork/CFSocketStreamPriv.h>.
  • platform/network/mac/ResourceHandleMac.mm: Substitute header CFURLRequestSPI.h for <CFNetwork/CFURLRequest.h>.

(WebCore::ResourceHandle::start): Modified to use ResourceHandle::makeDelegate() instead of d->m_proxy, which
was removed in <​http://trac.webkit.org/changeset/147476>.
(WebCore::ResourceHandle::platformLoadResourceSynchronously): Ditto.

  • platform/network/mac/WebCoreURLResponse.mm:

(WebCore::synthesizeRedirectResponseIfNecessary): Add !USE(CFNETWORK)- and PLATFORM(IOS)- guards.

  • platform/spi/cf/CFNetworkConnectionCacheSPI.h: Added.
  • platform/spi/cf/CFURLRequestSPI.h: Added.

Source/WTF:

Disable USE(CFNETWORK) and use the Foundation networking code by default when building
iOS WebKit without the Apple Internal SDK.

  • wtf/Platform.h:
4:09 PM Changeset in webkit [173191] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Pass the resource identifier in willSendRequest callback.
​https://bugs.webkit.org/show_bug.cgi?id=136325

Patch by Yongjun Zhang <​yongjun_zhang@apple.com> on 2014-09-02
Reviewed by Dan Bernstein.

Add two new delegate methods webProcessPlugInBrowserContextController:frame:willSendRequestForResource:request:redirectResponse:
and webProcessPlugInBrowserContextController:frame:didInitiateLoadForResource:request:pageIsProvisionallyLoading:. We will remove
the old willSendRequest and didInitiateLoadForResource when clients adopt the new methods.

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInLoadDelegate.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(willSendRequestForFrame):
(didInitiateLoadForResource):

3:47 PM Changeset in webkit [173190] by mmaxfield@apple.com
  • 5 edits in trunk/Source/WebCore

Use references in public EventSender functions
​https://bugs.webkit.org/show_bug.cgi?id=136463

Reviewed by Dan Bates.

Passing nullptr to EventSender shouldn't be allowed.

No new tests because there is no behavior change.

  • dom/EventSender.h:

(WebCore::EventSender::hasPendingEvents):
(WebCore::EventSender<T>::dispatchEventSoon):
(WebCore::EventSender<T>::cancelEvent):
(WebCore::EventSender<T>::dispatchPendingEvents):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::~HTMLLinkElement):
(WebCore::HTMLLinkElement::notifyLoadedSheetAndAllCriticalSubresources):

  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::~HTMLStyleElement):
(WebCore::HTMLStyleElement::notifyLoadedSheetAndAllCriticalSubresources):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::~ImageLoader):
(WebCore::ImageLoader::setImageWithoutConsideringPendingLoadEvent):
(WebCore::ImageLoader::updateFromElement):
(WebCore::ImageLoader::notifyFinished):
(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):

3:45 PM Changeset in webkit [173189] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS] Exclude touch and gesture files when building without ENABLE_TOUCH_EVENTS
and ENABLE_IOS_GESTURE_EVENTS, respectively
​https://bugs.webkit.org/show_bug.cgi?id=136456

Reviewed by Andy Estes.

It's sufficient to exclude the touch and gesture files when building without
ENABLE_TOUCH_EVENTS and ENABLE_IOS_GESTURE_EVENTS, respectively. Currently we
exclude these files when building without the Apple Internal SDK, which is
heavy handed.

  • Configurations/WebCore.xcconfig:
3:29 PM Changeset in webkit [173188] by akling@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

Optimize own property GetByVals with rope string subscripts.
<​https://webkit.org/b/136458>

For simple JSObjects that don't override getOwnPropertySlot to implement
custom properties, we have a fast path that grabs directly at the object
property storage.

Make this fast path even faster when the property name is an unresolved
rope string by using JSString::toExistingAtomicString(). This is faster
because it avoids allocating a new StringImpl if the string is already
a known Identifier, which is guaranteed to be the case if it's present
as an own property on the object.)

~10% speed-up on Dromaeo/dom-attr.html

Reviewed by Geoffrey Garen.

  • dfg/DFGOperations.cpp:
  • jit/JITOperations.cpp:

(JSC::getByVal):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::getByVal):

When using the fastGetOwnProperty() optimization, get the String
out of JSString by using toExistingAtomicString(). This avoids
StringImpl allocation and lets us bypass the PropertyTable lookup
entirely if no AtomicString is found.

  • runtime/JSCell.h:
  • runtime/JSCellInlines.h:

(JSC::JSCell::fastGetOwnProperty):

Make fastGetOwnProperty() take a PropertyName instead of a String.
This avoids churning the ref count, since we don't need to create
a temporary wrapper around the AtomicStringImpl* found in GetByVal.

  • runtime/PropertyName.h:

(JSC::PropertyName::PropertyName):

Add constructor: PropertyName(AtomicStringImpl*)

  • runtime/PropertyMapHashTable.h:

(JSC::PropertyTable::get):
(JSC::PropertyTable::findWithString): Deleted.

  • runtime/Structure.h:
  • runtime/StructureInlines.h:

(JSC::Structure::get):

Remove code for querying a PropertyTable with an unhashed string key
since the only client is now gone.

2:33 PM Changeset in webkit [173187] by Simon Fraser
  • 2 edits in trunk/Tools

Make sure WK1 prefs are initialized in MiniBrowser
​https://bugs.webkit.org/show_bug.cgi?id=136465

Reviewed by Tim Horton.

Call -didChangeSettings from -awakeFromNib for WK1 windows just as we do
for WK2 windows, to make sure that WebPreferences are updated (to get
layer borders to work consistently).

  • MiniBrowser/mac/WK1BrowserWindowController.m:

(-[WK1BrowserWindowController awakeFromNib]):

2:25 PM Changeset in webkit [173186] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix an assertion sometimes seen under RenderLayerCompositor::detachRootLayer()
​https://bugs.webkit.org/show_bug.cgi?id=136464

Reviewed by Tim Horton.

Don't try to call RenderLayer::isVisuallyNonEmpty() under RenderLayerCompositor::detachRootLayer()
when layout might be stale; there's not point trying to update the backing store state
when detaching, only when attaching.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::rootLayerAttachmentChanged):

2:18 PM Changeset in webkit [173185] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.11-branch/Source/WTF

Merged r173036. <rdar://problem/18203609>

1:20 PM Changeset in webkit [173184] by Simon Fraser
  • 3 edits
    4 adds in trunk

Avoid backing store allocation with some combinations of replaced elements, masking and visibility:hidden
​https://bugs.webkit.org/show_bug.cgi?id=136400

Reviewed by Tim Horton.
Source/WebCore:

RenderLayer::isVisuallyNonEmpty() would return true for replaced elements (e.g. images)
with visibility:hidden, and for layers with a mask, and both would cause additional
backing store in some cases.

We can move the hasVisibleContent() to the top of the function, since visibility:hidden
will always hide any content of this layer. The hasMask() check can also be removed;
a mask can only mask content that is already visible; it never contributes additional
pixels.

Tests: compositing/backing/masked-child-no-backing.html

compositing/backing/replaced-child-no-backing.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

LayoutTests:

  • compositing/backing/masked-child-no-backing-expected.txt: Added.
  • compositing/backing/masked-child-no-backing.html: Added.
  • compositing/backing/replaced-child-no-backing-expected.txt: Added.
  • compositing/backing/replaced-child-no-backing.html: Added.
1:14 PM Changeset in webkit [173183] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Use jsNontrivialString for strings we know are more than a single character
​https://bugs.webkit.org/show_bug.cgi?id=136393

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-09-02
Reviewed by Geoffrey Garen.

  • bindings/js/JSCryptoKeySerializationJWK.cpp:

(WebCore::addUsagesToJSON):

12:07 PM Changeset in webkit [173182] by achristensen@apple.com
  • 53 edits in trunk/Source/WebCore

Fix bindings tests after r173176.
​https://bugs.webkit.org/show_bug.cgi?id=136460

Reviewed by Simon Fraser.

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
  • bindings/scripts/test/JS/JSTestActiveDOMObject.h:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:
  • bindings/scripts/test/JS/JSTestEventConstructor.h:
  • bindings/scripts/test/JS/JSTestEventTarget.cpp:
  • bindings/scripts/test/JS/JSTestEventTarget.h:
  • bindings/scripts/test/JS/JSTestException.cpp:
  • bindings/scripts/test/JS/JSTestException.h:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
  • bindings/scripts/test/JS/JSTestInterface.cpp:
  • bindings/scripts/test/JS/JSTestInterface.h:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
  • bindings/scripts/test/JS/JSTestNamedConstructor.h:
  • bindings/scripts/test/JS/JSTestNode.cpp:
  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:
  • bindings/scripts/test/JS/JSTestNondeterministic.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:
  • bindings/scripts/test/JS/JSTestTypedefs.h:
  • bindings/scripts/test/JS/JSattribute.cpp:
  • bindings/scripts/test/JS/JSattribute.h:
  • bindings/scripts/test/JS/JSreadonly.cpp:
  • bindings/scripts/test/JS/JSreadonly.h:
  • bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h:
  • bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h:
  • bindings/scripts/test/ObjC/DOMTestCallbackInternal.h:
  • bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h:
  • bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h:
  • bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h:
  • bindings/scripts/test/ObjC/DOMTestExceptionInternal.h:
  • bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h:
  • bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h:
  • bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h:
  • bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h:
  • bindings/scripts/test/ObjC/DOMTestNodeInternal.h:
  • bindings/scripts/test/ObjC/DOMTestNondeterministicInternal.h:
  • bindings/scripts/test/ObjC/DOMTestObjInternal.h:
  • bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h:
  • bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h:
  • bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h:
  • bindings/scripts/test/ObjC/DOMattributeInternal.h:
  • bindings/scripts/test/ObjC/DOMreadonlyInternal.h:

Added new WEBCORE_EXPORT macros.

11:30 AM Changeset in webkit [173181] by Simon Fraser
  • 4 edits
    2 adds in trunk

Non-composited child RenderLayers cause allocation of unncessary backing store
​https://bugs.webkit.org/show_bug.cgi?id=136375

Reviewed by David Hyatt.

Source/WebCore:

A composited element that has non-composited descendant elements that fall into
RenderLayers was getting backing store when none was required. descendentLayerPaintsIntoAncestor()
was simply checking the "visibility:visible" bit on descendant non-composited layers,
instead of actually asking them if they have any visual content.

Added a couple of FIXME comments.

Test: compositing/backing/child-layer-no-backing.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::descendentLayerPaintsIntoAncestor):

LayoutTests:

Test with a composited div with various configurations of non-composited child layers.

  • compositing/backing/child-layer-no-backing-expected.txt: Added.
  • compositing/backing/child-layer-no-backing.html: Added.
11:25 AM Changeset in webkit [173180] by saambarati1@gmail.com
  • 13 edits
    5 adds in trunk/Source/WebInspectorUI

Web Inspector: Create a UI for displaying JavaScript type information
​https://bugs.webkit.org/show_bug.cgi?id=135142

Reviewed by Joseph Pecoraro.

JavaScriptCore now has a type profiler. This patch provides a frontend
user interface for displaying this type information in the Web Inspector.
The user interface works by placing inline "type tokens" next to important
JavaScript expressions: function arguments, function return types, and
variable declarations. Type information can also be seen for almost every
JavaScipt expression just by hovering over it while viewing a JavaScript file.

Currently, turning on the type profiler is expensive, so the inspector
ensures to never turn on type profiling until the user specifically asks
for type information to be turned on.

  • UserInterface/Base/Main.js:

(WebInspector.loaded):

  • UserInterface/Controllers/CodeMirrorTokenTrackingController.js:

(WebInspector.CodeMirrorTokenTrackingController.prototype._startTracking):
(WebInspector.CodeMirrorTokenTrackingController.prototype._processNewHoveredToken):
Added a new type profiling mode.

  • UserInterface/Controllers/FormatterSourceMap.js:

(WebInspector.FormatterSourceMap.prototype.originalToFormatted):
(WebInspector.FormatterSourceMap.prototype.originalPositionToFormatted):
(WebInspector.FormatterSourceMap.prototype.formattedToOriginal):
(WebInspector.FormatterSourceMap.prototype.formattedToOriginalOffset):

  • UserInterface/Controllers/TypeTokenAnnotator.js: Added.

(WebInspector.TypeTokenAnnotator):
(WebInspector.TypeTokenAnnotator.prototype.get isActive):
(WebInspector.TypeTokenAnnotator.prototype.get sourceCodeTextEditor):
(WebInspector.TypeTokenAnnotator.prototype.pause):
(WebInspector.TypeTokenAnnotator.prototype.resume):
(WebInspector.TypeTokenAnnotator.prototype.refresh):
(WebInspector.TypeTokenAnnotator.prototype.reset):
(WebInspector.TypeTokenAnnotator.prototype.toggleTypeAnnotations):
(WebInspector.TypeTokenAnnotator.prototype._insertAnnotations.):
(WebInspector.TypeTokenAnnotator.prototype._insertTypeTokensForEachNode):
(WebInspector.TypeTokenAnnotator.prototype._insertToken):
(WebInspector.TypeTokenAnnotator.prototype.isLineTerminator):
(WebInspector.TypeTokenAnnotator.prototype._translateToOffsetAfterFunctionParameterList):
(WebInspector.TypeTokenAnnotator.prototype._clearTimeoutIfNeeded):
This class is responsible for producing the inline "type token" annotations.

  • UserInterface/Images/NavigationItemTypes.svg: Added.
  • UserInterface/Main.html:
  • UserInterface/Models/Script.js:

(WebInspector.Script.prototype.get scriptSyntaxTree):

  • UserInterface/Models/ScriptSyntaxTree.js:

(WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement):
(WebInspector.ScriptSyntaxTree.prototype.):
(WebInspector.ScriptSyntaxTree.prototype.updateTypes):
(WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):

  • UserInterface/Views/ScriptContentView.js:

(WebInspector.ScriptContentView):
(WebInspector.ScriptContentView.prototype.get navigationItems):
(WebInspector.ScriptContentView.prototype._contentDidPopulate):
(WebInspector.ScriptContentView.prototype._toggleTypeAnnotations):
(WebInspector.ScriptContentView.prototype._showJavaScriptTypeInformationSettingChanged):

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor):
(WebInspector.SourceCodeTextEditor.prototype.shown):
(WebInspector.SourceCodeTextEditor.prototype.hidden):
(WebInspector.SourceCodeTextEditor.prototype.canShowTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.showPopoverForTypes):
(WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
(WebInspector.SourceCodeTextEditor.prototype._populateWithContent):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidPause):
(WebInspector.SourceCodeTextEditor.prototype._debuggerDidResume):
(WebInspector.SourceCodeTextEditor.prototype._updateTokenTrackingControllerState):
(WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerNewHighlightCandidate):
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation.handler):
(WebInspector.SourceCodeTextEditor.prototype._tokenTrackingControllerHighlightedJavaScriptTypeInformation):
(WebInspector.SourceCodeTextEditor.prototype._showPopover):
(WebInspector.SourceCodeTextEditor.prototype.editingControllerDidFinishEditing):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._enableScrollEventsForTypeTokenAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._disableScrollEventsForTypeTokenAnnotator):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler.scrollHandler):
(WebInspector.SourceCodeTextEditor.prototype._makeTypeTokenScrollEventHandler):

  • UserInterface/Views/TextContentView.js:

(WebInspector.TextContentView.prototype.get navigationItems):

  • UserInterface/Views/TextEditor.js:

(WebInspector.TextEditor.prototype.set formatted):
(WebInspector.TextEditor.prototype.canShowTypeAnnotations):
(WebInspector.TextEditor.prototype.visibleRangeOffsets):
(WebInspector.TextEditor.prototype.originalOffsetToCurrentPosition):
(WebInspector.TextEditor.prototype.currentOffsetToCurrentPosition):
(WebInspector.TextEditor.prototype.currentPositionToOriginalOffset):
(WebInspector.TextEditor.prototype.currentPositionToCurrentOffset):
(WebInspector.TextEditor.prototype.setInlineWidget):
(WebInspector.TextEditor.prototype.addScrollHandler):
(WebInspector.TextEditor.prototype.removeScrollHandler):
(WebInspector.TextEditor.prototype._scrollIntoViewCentered):

  • UserInterface/Views/TextResourceContentView.js:

(WebInspector.TextResourceContentView):
(WebInspector.TextResourceContentView.prototype.get navigationItems):
(WebInspector.TextResourceContentView.prototype._contentDidPopulate):
(WebInspector.TextResourceContentView.prototype._toggleTypeAnnotations):
(WebInspector.TextResourceContentView.prototype._showJavaScriptTypeInformationSettingChanged):

  • UserInterface/Views/TypePropertiesSection.js: Added.

(WebInspector.TypePropertiesSection):
(WebInspector.TypePropertiesSection.prototype.onpopulate):
(WebInspector.TypePropertiesSection.PropertyComparator):
(WebInspector.TypePropertyTreeElement):
(WebInspector.TypePropertyTreeElement.prototype.onpopulate):

  • UserInterface/Views/TypeTokenView.css: Added.

(.type-token):
(.type-token-left-spacing):
(.type-token-right-spacing):
(.type-token-function, .type-token-boolean):
(.type-token-number):
(.type-token-string):
(.type-token-default):
(.type-token-empty):
(.type-token-many):

  • UserInterface/Views/TypeTokenView.js: Added.

(WebInspector.TypeTokenView):
(WebInspector.TypeTokenView.titleForPopover):
(WebInspector.TypeTokenView.prototype.update):
(WebInspector.TypeTokenView.prototype._setUpMouseoverHandlers):
(WebInspector.TypeTokenView.prototype._shouldShowPopover):
The inline "type token" view.

10:01 AM Changeset in webkit [173179] by Dániel Bátyai
  • 2 edits in trunk/Source/JavaScriptCore

[ARM] MacroAssembler generating incorrect code on ARM32 Traditional
​https://bugs.webkit.org/show_bug.cgi?id=136429

Reviewed by Csaba Osztrogonác.

Changed test32 to use tst to check if reg is zero, instead of cmp.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::test32):

9:52 AM Changeset in webkit [173178] by msaboff@apple.com
  • 5 edits
    2 adds in trunk

Out of bounds write in vmEntryToJavaScript / JSC::JITCode::execute
​https://bugs.webkit.org/show_bug.cgi?id=136305

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

While preparing the callee's CallFrame, ProtoCallFrame fixes any arity mismatch
and then JITCode::execute() calls the normal entrypoint. This is incompatible
with the expectation of FTL generated functions. Changed ProtoCallFrame to not
perform the arity fix, but just flag an arity mismatch. now JITCode::execute()
uses that arity mismatch condition to select the normal or arity check
entrypoint. The entrypoint selection is only done for functions, programs
and eval always have one parameter.

  • interpreter/ProtoCallFrame.cpp:

(JSC::ProtoCallFrame::init): Changed to flag arity mismatch instead of fixing it.

  • interpreter/ProtoCallFrame.h:

(JSC::ProtoCallFrame::needArityCheck): New boolean to signify what entrypoint
should be called.

  • jit/JITCode.cpp:

(JSC::JITCode::execute): Select normal or arity check entrypoint as appropriate.

LayoutTests:

  • js/arity-mismatch-at-vmentry-expected.txt: Added.
  • js/arity-mismatch-at-vmentry.html: Added.
9:47 AM Changeset in webkit [173177] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r173175.
​https://bugs.webkit.org/show_bug.cgi?id=136454

it broke debug builds (Requested by jessieberlin on #webkit).

Reverted changeset:

"Introduce CSS_BASIC_TYPE_CASTS, and use it"
​https://bugs.webkit.org/show_bug.cgi?id=136403
​http://trac.webkit.org/changeset/173175

9:28 AM Changeset in webkit [173176] by Darin Adler
  • 56 edits in trunk/Source/WebCore

2014-09-02 Alex Christensen <​achristensen@webkit.org>

More use of WEBCORE_EXPORT.

Reviewed by Darin Adler.

These changes from a patch attached to ​https://bugs.webkit.org/show_bug.cgi?id=136172
contain more deployment of the WEBCORE_EXPORT macro. As of this writing, the macro is
defined to do nothing, so landing these is a harmless way to get closer to be the point
where we can throw the switch to use these instead of explicit export files on OS X,
iOS, and Windows.

  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSDOMGlobalObject.h:
  • bindings/js/JSDOMWindowBase.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateHeader):

  • bridge/runtime_method.cpp:
  • bridge/runtime_object.cpp:
  • dom/Document.h:
  • dom/Element.h:
  • dom/Position.h:
  • dom/Range.h:
  • dom/StaticNodeList.h:
  • dom/make_names.pl:

(printInit):
(printNamesCppFile):

  • editing/Editor.h:
  • editing/FrameSelection.h:
  • editing/TextIterator.h:
  • inspector/InspectorFrontendClient.h:
  • inspector/InspectorFrontendClientLocal.h:
  • loader/DocumentLoader.h:
  • loader/FrameLoader.h:
  • loader/cache/MemoryCache.h:
  • loader/cocoa/DiskCacheMonitorCocoa.h:
  • loader/mac/LoaderNSURLExtras.h:
  • page/Page.h:
  • page/PageGroup.h:
  • page/SecurityPolicy.h:
  • page/Settings.h:
  • page/make_settings.pl:

(printGetterAndSetter):

  • page/scrolling/ScrollingStateScrollingNode.h:
  • platform/CrossThreadCopier.h:
  • platform/LocalizedStrings.h:
  • platform/MemoryPressureHandler.cpp:
  • platform/PlatformScreen.h:
  • platform/PublicSuffix.h:
  • platform/graphics/Gradient.h:
  • platform/graphics/cocoa/WebActionDisablingCALayerDelegate.h:
  • platform/graphics/filters/FilterOperation.h:
  • platform/ios/WebVideoFullscreenControllerAVKit.h:
  • platform/mac/PlatformEventFactoryMac.h:
  • platform/mac/WebCoreFullScreenPlaceholderView.h:
  • platform/mac/WebCoreFullScreenWindow.h:
  • platform/mac/WebCoreNSStringExtras.h:
  • platform/mac/WebCoreObjCExtras.h:
  • platform/mac/WebFontCache.h:
  • platform/mac/WebVideoFullscreenController.h:
  • platform/mac/WebWindowAnimation.h:
  • platform/network/BlobRegistryImpl.h:
  • platform/network/CredentialStorage.h:
  • platform/network/PlatformCookieJar.h:
  • platform/network/ProxyServer.h:
  • platform/sql/SQLiteStatement.h:
  • platform/text/TextEncoding.h:
  • rendering/HitTestResult.h:
  • rendering/RenderTreeAsText.h:
  • testing/Internals.h:

Add many more correct uses of WEBCORE_EXPORT; remove a few incorrect ones.

9:06 AM Changeset in webkit [173175] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebCore

Introduce CSS_BASIC_TYPE_CASTS, and use it
​https://bugs.webkit.org/show_bug.cgi?id=136403

Reviewed by Darin Adler.

toCSSBasicFoo() will help to detect wrong type casting. So this patch generates it, and use it
instead of static_cast<const CSSBasicFoo*>().

No new tests no behavior changes.

  • css/BasicShapeFunctions.cpp:

(WebCore::basicShapeForValue):

  • css/CSSBasicShapes.cpp:

(WebCore::CSSBasicShapeCircle::equals):
(WebCore::CSSBasicShapeEllipse::equals):
(WebCore::CSSBasicShapePolygon::equals):
(WebCore::CSSBasicShapeInset::equals):

  • css/CSSBasicShapes.h:
9:03 AM Changeset in webkit [173174] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style should complain about C++ comments in Platform.h
​https://bugs.webkit.org/show_bug.cgi?id=133802

Patch by Renato Nagy <​rnagy@inf.u-szeged.hu> on 2014-09-02
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_platformh_comments):
(_process_lines):
(CppChecker):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTest.test_platformh_comment):

9:00 AM Changeset in webkit [173173] by commit-queue@webkit.org
  • 6 edits
    4 adds in trunk

CachedResourceLoader should check redirections to reuse or not cached resources
​https://bugs.webkit.org/show_bug.cgi?id=131757

Patch by Youenn Fablet <​youenn.fablet@crf.canon.fr> on 2014-09-02
Reviewed by Antti Koivisto.

Source/WebCore:

Added cache-control redirection check to properly determine revalidation policy.
Tightened redirection cache-control header check by testing for no-cache and must-revalidate directives.
Added redirection freshness check.

Test: http/tests/cache/cache-redirections.html

  • loader/cache/CachedRawResource.cpp:

(WebCore::CachedRawResource::canReuse): Removed redirection check (now handled by CachedResource::redirectChainAllowsReuse).

  • loader/cache/CachedResource.cpp:

(WebCore::currentAge): Moved from WebCore::CachedResource::currentAge method to static function. Added response and responseTimestamp as parameters.
(WebCore::CachedResource::CachedResource): Initialized redirection chain status (no redirection and expiracy date set to never).
(WebCore::CachedResource::isExpired): Updated according new currentAge/freshnessLifetime method parameters.
(WebCore::CachedResource::freshnessLifetime): Added response as parameter.
(WebCore::CachedResource::willSendRequest): Computes whether a redirection can be cached, and if cached for how long it will remain fresh.
(WebCore::CachedResource::redirectChainAllowsReuse): Return false if any of the redirection in the redirection chain cannot be cached or expired.

  • loader/cache/CachedResource.h: Added cache chain member that stores whether the redirection chain can be cached and if so when it will be expired.
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::determineRevalidationPolicy): Added check of the redirection chain.

LayoutTests:

Added test checks that fresh redirections allow reuse of cached resoure and expired or not cacheable redirections trigger reloading of resources.

  • http/tests/cache/cache-redirections-expected.txt: Added.
  • http/tests/cache/cache-redirections.html: Added.
  • http/tests/cache/resources/cache-control-redirect.php: Added.
  • http/tests/cache/resources/cacheable-random-text.php: Added.
8:54 AM Changeset in webkit [173172] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Prevent decoded images from being destroyed when they're in use.
​https://bugs.webkit.org/show_bug.cgi?id=136259.

Patch by Daewoong Jang <​daewoong.jang@navercorp.com> on 2014-09-02
Reviewed by Darin Adler.

Try to fix a regression introduced by r172790. Before the patch,
CachedImage does not release its Image object if it still has clients.
However this behavior was changed due to removal of CachedResource::isSafeToMakePurgeable(),
which implied a call to CachedResource::hasClients(). This patch restores
the behavior by adding a check to hasClients() in CachedImage::destroyDecodedData().

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::destroyDecodedData):

8:51 AM Changeset in webkit [173171] by commit-queue@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

[WinCairo] testapi.exe is not built.
​https://bugs.webkit.org/show_bug.cgi?id=136369

Patch by ​peavo@outlook.com <​peavo@outlook.com> on 2014-09-02
Reviewed by Alex Christensen.

The testapi project should be of type Application.

  • JavaScriptCore.vcxproj/jsc/jscLauncher.vcxproj: Change project type to Application.
  • JavaScriptCore.vcxproj/testRegExp/testRegExpLauncher.vcxproj: Ditto.
  • JavaScriptCore.vcxproj/testapi/testapiCommonCFLite.props: Compile and link fix.
  • JavaScriptCore.vcxproj/testapi/testapiLauncher.vcxproj: Change project type to Application.
3:59 AM Changeset in webkit [173170] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Gtk] Make install-dependencies work on Arch Linux
​https://bugs.webkit.org/show_bug.cgi?id=136374

Patch by Brendan Long <​self@brendanlong.com> on 2014-09-02
Reviewed by Philippe Normand.

  • gtk/install-dependencies: Add dependencies for pacman (Arch Linux).
1:36 AM Changeset in webkit [173169] by Manuel Rego Casasnovas
  • 1 edit
    4 adds in trunk/LayoutTests

[CSS Grid Layout] Test coverage for first-line pseudo-element
​https://bugs.webkit.org/show_bug.cgi?id=135770

Reviewed by Zoltan Horvath.

According to the spec the ::first-line pseudo-element do not apply to
grid containers.

This was already working as expected but we were missing some tests
checking it, so we are adding new tests to have coverage.

  • fast/css-grid-layout/grid-container-ignore-first-line-expected.txt: Added.
  • fast/css-grid-layout/grid-container-ignore-first-line.html: Added.
  • fast/css-grid-layout/grid-item-first-line-valid-expected.txt: Added.
  • fast/css-grid-layout/grid-item-first-line-valid.html: Added.
1:06 AM Changeset in webkit [173168] by Philippe Normand
  • 4 edits in trunk/Source/WebKit2

Unreviewed, GTK build fix after r173163.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::createDrawingAreaProxy):

  • UIProcess/DrawingAreaProxyImpl.cpp:

(WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
(WebKit::DrawingAreaProxyImpl::update):
(WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
(WebKit::DrawingAreaProxyImpl::incorporateUpdate):
(WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):
(WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState):
(WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
(WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
(WebKit::DrawingAreaProxyImpl::updateAcceleratedCompositingMode):

  • UIProcess/DrawingAreaProxyImpl.h:

Sep 1, 2014:

9:43 PM Changeset in webkit [173167] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the iOS build.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _createDrawingAreaProxy]):
Whoops.

7:05 PM Changeset in webkit [173166] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebKit2

Build break on the EFL port since r173163
​https://bugs.webkit.org/show_bug.cgi?id=136443

Unreviewed build fix.

Patch by Ryuan Choi <​ryuan.choi@gmail.com> on 2014-09-01

  • UIProcess/BackingStore.cpp:

(WebKit::BackingStore::BackingStore):

  • UIProcess/BackingStore.h:
  • UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.cpp:

(WebKit::CoordinatedDrawingAreaProxy::CoordinatedDrawingAreaProxy):
(WebKit::CoordinatedDrawingAreaProxy::updateViewport):
(WebKit::CoordinatedDrawingAreaProxy::contentsRect):
(WebKit::CoordinatedDrawingAreaProxy::update):
(WebKit::CoordinatedDrawingAreaProxy::didUpdateBackingStoreState):
(WebKit::CoordinatedDrawingAreaProxy::incorporateUpdate):
(WebKit::CoordinatedDrawingAreaProxy::sendUpdateBackingStoreState):
(WebKit::CoordinatedDrawingAreaProxy::waitForAndDispatchDidUpdateBackingStoreState):
(WebKit::CoordinatedDrawingAreaProxy::enterAcceleratedCompositingMode):
(WebKit::CoordinatedDrawingAreaProxy::exitAcceleratedCompositingMode):
(WebKit::CoordinatedDrawingAreaProxy::updateAcceleratedCompositingMode):

  • UIProcess/CoordinatedGraphics/CoordinatedDrawingAreaProxy.h:

(WebKit::CoordinatedDrawingAreaProxy::page):

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:

(WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
(WebKit::CoordinatedLayerTreeHostProxy::~CoordinatedLayerTreeHostProxy):
(WebKit::CoordinatedLayerTreeHostProxy::commitCoordinatedGraphicsState):
(WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
(WebKit::CoordinatedLayerTreeHostProxy::renderNextFrame):
(WebKit::CoordinatedLayerTreeHostProxy::purgeBackingStores):
(WebKit::CoordinatedLayerTreeHostProxy::commitScrollOffset):

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::createDrawingAreaProxy):

  • UIProcess/cairo/BackingStoreCairo.cpp:

(WebKit::BackingStore::incorporateUpdate):

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

Remove two unused WebKit2 PDF-related preferences
​https://bugs.webkit.org/show_bug.cgi?id=136441

Reviewed by Dan Bernstein.

  • Shared/WebPreferencesDefinitions.h:

Move the macro arguments comment down near where the macros are being used.
No need to check both PLATFORM(IOS) and PLATFORM(IOS_SIMULATOR); the second can't be true without the first.
These two PDF preferences are long-unused; if we bring back their functionality,
we'll bring back the preferences.

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

[CMAKE] Add missing offlineasm dependencies
​https://bugs.webkit.org/show_bug.cgi?id=136437

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

Add the ARM64, MIPS and SH4 backends to the dependencies.

  • CMakeLists.txt:
4:04 PM Changeset in webkit [173163] by timothy_horton@apple.com
  • 8 edits in trunk/Source/WebKit2

DrawingAreaProxy and friends can hold on to WebPageProxy by reference
​https://bugs.webkit.org/show_bug.cgi?id=136440

Reviewed by Dan Bernstein.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _createDrawingAreaProxy]):

  • UIProcess/DrawingAreaProxy.cpp:

(WebKit::DrawingAreaProxy::DrawingAreaProxy):
(WebKit::DrawingAreaProxy::~DrawingAreaProxy):
(WebKit::DrawingAreaProxy::setExposedRect):
(WebKit::DrawingAreaProxy::exposedRectChangedTimerFired):

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

(WebKit::RemoteLayerTreeDrawingAreaProxy::RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::~RemoteLayerTreeDrawingAreaProxy):
(WebKit::RemoteLayerTreeDrawingAreaProxy::sizeDidChange):
(WebKit::RemoteLayerTreeDrawingAreaProxy::deviceScaleFactorDidChange):
(WebKit::RemoteLayerTreeDrawingAreaProxy::scaledExposedRect):
(WebKit::RemoteLayerTreeDrawingAreaProxy::sendUpdateGeometry):
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
(WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidStart):
(WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidEnd):
(WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorLocation):
(WebKit::RemoteLayerTreeDrawingAreaProxy::indicatorScale):
(WebKit::RemoteLayerTreeDrawingAreaProxy::updateDebugIndicator):
(WebKit::RemoteLayerTreeDrawingAreaProxy::didRefreshDisplay):
(WebKit::RemoteLayerTreeDrawingAreaProxy::waitForDidUpdateViewState):
(WebKit::RemoteLayerTreeDrawingAreaProxy::dispatchAfterEnsuringDrawing):

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

(WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy):
(WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange):
(WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
(WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):
(WebKit::TiledCoreAnimationDrawingAreaProxy::colorSpaceDidChange):
(WebKit::TiledCoreAnimationDrawingAreaProxy::minimumLayoutSizeDidChange):
(WebKit::TiledCoreAnimationDrawingAreaProxy::enterAcceleratedCompositingMode):
(WebKit::TiledCoreAnimationDrawingAreaProxy::updateAcceleratedCompositingMode):
(WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
(WebKit::TiledCoreAnimationDrawingAreaProxy::waitForDidUpdateViewState):
(WebKit::TiledCoreAnimationDrawingAreaProxy::intrinsicContentSizeDidChange):
(WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
(WebKit::TiledCoreAnimationDrawingAreaProxy::adjustTransientZoom):
(WebKit::TiledCoreAnimationDrawingAreaProxy::commitTransientZoom):

2:15 PM Changeset in webkit [173162] by Brian Burg
  • 5 edits
    2 adds in trunk

Provide column numbers to DTrace willExecute/didExecute probes
​https://bugs.webkit.org/show_bug.cgi?id=136434

Reviewed by Antti Koivisto.

Source/JavaScriptCore:

Provide the columnNumber and update stubs for !HAVE(DTRACE).

  • profiler/ProfileGenerator.cpp:

(JSC::ProfileGenerator::willExecute):
(JSC::ProfileGenerator::didExecute):

  • runtime/Tracing.d:
  • runtime/Tracing.h:

Tools:

Create a directory for DTrace scripts. Add an example script that
shows how to use static probes provided by JavaScriptCore's profiler.

  • Scripts/dtrace/jsc-trace-profiler-events.d: Added.
12:16 PM Changeset in webkit [173161] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

RenderThemeMac::paintProgressBar creates a buffer without respecting the destination's acceleration setting
​https://bugs.webkit.org/show_bug.cgi?id=136427

Reviewed by Dan Bernstein.

No new tests, just a performance improvement.

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintProgressBar):

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

Remove an unnecessary local in GraphicsLayerCA::ensureStructuralLayer
​https://bugs.webkit.org/show_bug.cgi?id=136426

Reviewed by Dan Bernstein.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::ensureStructuralLayer):
This was here so that we could call PlatformCALayerClient::platformLayerChanged,
but that no longer exists!

11:10 AM Changeset in webkit [173159] by clopez@igalia.com
  • 2 edits in trunk/Tools

[GTK] [JHBuild] Cyclic dependency between cairo and librsvg.
​https://bugs.webkit.org/show_bug.cgi?id=136431

Reviewed by Martin Robinson.

  • gtk/jhbuild.modules: Disable cairo SVG testsuite.

Add missing dependencies for librsvg (glib and cairo).

11:06 AM Changeset in webkit [173158] by clopez@igalia.com
  • 2 edits in trunk/Tools

[GTK] install-dependencies don't installs dbus-launch that is needed for the API tests.
​https://bugs.webkit.org/show_bug.cgi?id=136425

Reviewed by Martin Robinson.

  • gtk/install-dependencies: Add dbus-x11 to the list of packages needed for running the tests.
3:33 AM Changeset in webkit [173157] by ryuan.choi@samsung.com
  • 2 edits in trunk/Tools

Update my list of email addresses in contributors.json
​https://bugs.webkit.org/show_bug.cgi?id=136424

Reviewed by Gyuyoung Kim.

  • Scripts/webkitpy/common/config/contributors.json:
2:33 AM Changeset in webkit [173156] by svillar@igalia.com
  • 6 edits in trunk

[CSS Grid Layout] Resolved value of grid-template-* must include every track listed
​https://bugs.webkit.org/show_bug.cgi?id=136362

Reviewed by Darin Adler.

Source/WebCore:

Section 5.1.5 of the specs clearly states that the resolved value
for grid-template-* must include every listed track, whether
explicitly or implicitly created. We were only listing the
explicit grid tracks.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForGridTrackList):

LayoutTests:

Added new test cases to verify that both explicit and implicit
tracks are listed in grid-template-* resolved values. Also
refactored a testing function to improve the readability of the test.

  • fast/css-grid-layout/grid-auto-columns-rows-get-set-expected.txt:
  • fast/css-grid-layout/grid-auto-columns-rows-get-set.html:
  • fast/css-grid-layout/resources/grid-definitions-parsing-utils.js:

(testGridAutoDefinitionsValues):

2:28 AM Changeset in webkit [173155] by gyuyoung.kim@samsung.com
  • 8 edits in trunk

[CMAKE] Build warning by INTERFACE_LINK_LIBRARIES
​https://bugs.webkit.org/show_bug.cgi?id=136194

Reviewed by Csaba Osztrogonác.

Set the LINK_INTERFACE_LIBRARIES target property on the top level CMakeLists.txt.

  • CMakeLists.txt:
1:35 AM Changeset in webkit [173154] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[SOUP] WebKitDownload cannot overwrite existing file
​https://bugs.webkit.org/show_bug.cgi?id=136322

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-09-01
Reviewed by Carlos Garcia Campos.

  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::didReceiveResponse): pass a member variable
to Download::decideDestinationWithSuggestedFilename instead of a
temporary bool, so we can use the result in didFinishLoading.
(WebKit::DownloadClient::didFinishLoading): overwrite the destination
if Download::decideDestinationWithSuggestedFilename determined we
should do so.

Aug 31, 2014:

10:10 PM Changeset in webkit [173153] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix build break on EFL and GTK since r173152.

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::platformInit): Remove a bool parameter because it was removed from function's declaration.

6:53 PM Changeset in webkit [173152] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebCore

Remove GraphicsContext constructor that takes shouldUseContextColors
​https://bugs.webkit.org/show_bug.cgi?id=136421

Reviewed by Dan Bernstein.

  • WebCore.exp.in:
  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::GraphicsContext):

  • platform/graphics/GraphicsContext.h:

(WebCore::GraphicsContextState::GraphicsContextState):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::platformInit):
(WebCore::GraphicsContext::drawLinesForText):
As far as I can tell, the last user of this constructor died with WebNSStringDrawing.
Adjust all code to assume shouldUseContextColors=true.

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

Remove unused ARMv6-specific #if branches in WebCore::canHyphenate
​https://bugs.webkit.org/show_bug.cgi?id=136420

Reviewed by Dan Bernstein.

  • platform/text/cf/HyphenationCF.cpp:

(WebCore::AtomicStringKeyedMRUCache<RetainPtr<CFLocaleRef>>::createValueForNullKey):
Use kCFAllocatorDefault instead of 0.

(WebCore::canHyphenate):
Remove ARMv6-specific code.

3:06 PM Changeset in webkit [173150] by timothy_horton@apple.com
  • 9 edits in trunk/Source

Remove unnecessary (and unnecessarily iOS-specific) setStrokeAndFillColor
​https://bugs.webkit.org/show_bug.cgi?id=136416

Reviewed by Dan Bernstein.

  • WebCore.exp.in:
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::setStrokeAndFillColor): Deleted.
Remove.

  • WebView/WebFrameView.mm:

(-[WebFrameView drawRect:]):
We only end up filling, so only set the fill color.

  • WebView/WebPDFViewIOS.mm:

(-[WebPDFView drawPage:]):
(-[WebPDFView drawRect:]):

  • WebView/WebPlainWhiteView.mm:

We only end up filling, so only set the fill color.

3:03 PM Changeset in webkit [173149] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebCore

Remove duplicate implementation of drawEllipse and some related PLATFORM(IOS) ifdefs
​https://bugs.webkit.org/show_bug.cgi?id=136413

Reviewed by Dan Bernstein.

No new tests, just cleanup.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawRaisedEllipse):
There's nothing iOS specific about this function.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::drawEllipse):

  • platform/graphics/cg/GraphicsContextCG.cpp:

(WebCore::GraphicsContext::drawEllipse):
Un-ifdef drawRaisedEllipse; delete the reimplementation of drawEllipse that takes
a FloatRect and make the normal one take a FloatRect instead.

(WebCore::GraphicsContext::platformInit):
Make sure that the CGContext's line width starts out in sync with GraphicsContext's.
By default, CGContext has a line width of 1 and GraphicsContext 0, so they could previously
have been out of sync until someone set the width explicitly.

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

Fix a harmless mismerge in BitmapImage::destroyDecodedDataIfNecessary
​https://bugs.webkit.org/show_bug.cgi?id=136412

Reviewed by Alexey Proskuryakov.

No new tests, just cleanup.

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::destroyDecodedDataIfNecessary):
Drop the leading 'c' and the 'static' on the cutoff parameter.
Remove the duplicated early return (seems like it happened in the merge).
Remove reference to the exact size in the comment, since it's different on iOS.

3:01 PM Changeset in webkit [173147] by timothy_horton@apple.com
  • 3 edits
    1 delete in trunk/Source/WebCore

Use SinkDocument instead of PDFDocument; get rid of PDFDocument
​https://bugs.webkit.org/show_bug.cgi?id=136414

Reviewed by Alexey Proskuryakov.

  • WebCore.xcodeproj/project.pbxproj:
  • loader/DocumentWriter.cpp:

(WebCore::DocumentWriter::createDocument):

  • pdf/ios/PDFDocument.cpp: Removed.
  • pdf/ios/PDFDocument.h: Removed.

Use the generic SinkDocument, which ignores all incoming data just like PDFDocument.
Delete the unnecessary and iOS-specific PDFDocument.cpp/h

11:14 AM Changeset in webkit [173146] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.18

New tag.

1:06 AM Changeset in webkit [173145] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Adjust an antique comment in Image::drawPattern
​https://bugs.webkit.org/show_bug.cgi?id=136411

Reviewed by Dan Bernstein.

  • platform/graphics/cg/ImageCG.cpp:

(WebCore::Image::drawPattern):
Reword the comment.

1:04 AM Changeset in webkit [173144] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Occasional crashes (null deref) under ViewGestureController::endMagnificationGesture
​https://bugs.webkit.org/show_bug.cgi?id=136409
<rdar://problem/18104748>

Reviewed by Dan Bernstein.

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::endMagnificationGesture):
Null-check DrawingArea.

12:41 AM Changeset in webkit [173143] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

SVGImage::drawPatternForContainer creates a buffer without respecting the destination's acceleration setting
​https://bugs.webkit.org/show_bug.cgi?id=136408
<rdar://problem/12013317>

Reviewed by Dan Bernstein.

No new tests required, just a performance improvement.

  • svg/graphics/SVGImage.cpp:

(WebCore::SVGImage::drawPatternForContainer):
Use ImageBuffer::createCompatibleBuffer, which passes the destination's
acceleration setting through to the ImageBuffer constructor.

I didn't use GraphicsContext::createCompatibleBuffer because adjusting
how this function applies the destination's CTM is outside the scope of this patch.

Aug 30, 2014:

4:19 PM Changeset in webkit [173142] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Convert string literals to character literals in makeString usage
​https://bugs.webkit.org/show_bug.cgi?id=136394

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-30
Reviewed by Sam Weinig.

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::evaluateInOverlay):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::setOriginalURLForDownloadRequest):

  • loader/MixedContentChecker.cpp:

(WebCore::MixedContentChecker::logWarning):

  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPDirectiveList::checkMediaTypeAndReportViolation):
(WebCore::ContentSecurityPolicy::reportUnsupportedDirective):
(WebCore::ContentSecurityPolicy::reportInvalidPathCharacter):
Also reorder some code to ensure single string creation.

3:43 PM Changeset in webkit [173141] by mjs@apple.com
  • 12 edits in trunk/Source

Use RetainPtr::autorelease in some places where it seems appropriate
​https://bugs.webkit.org/show_bug.cgi?id=136280

Reviewed by Darin Adler.

Source/JavaScriptCore:

  • API/JSContext.mm:

(-[JSContext name]): Use RetainPtr::autorelease() in place of ObjC autorelease.

  • API/JSValue.mm:

(valueToString): Make appropriate use of RetainPtr

Source/WebCore:

  • platform/mac/URLMac.mm:

(WebCore::URL::operator NSURL *): Use autorelease() instead of
CFBridgingRelease(leakRef())

Source/WebKit/mac:

  • WebView/WebHTMLView.mm:

(imageFromRect): Use RetainPtr in this function.

  • WebView/WebPDFRepresentation.mm:

(-[WebPDFRepresentation convertPostScriptDataSourceToPDF:]): Use RetainPtr
in this method.

Source/WebKit2:

  • Shared/Cocoa/WKNSURLExtras.mm:

(urlWithWTFString): Use autorelease() instead of CFBridgingRelease(leakRef())

Source/WTF:

  • wtf/text/mac/StringImplMac.mm:

(WTF::StringImpl::operator NSString *): Use autorelease() instead of
CFBridgingRelease(leakRef())

11:22 AM Changeset in webkit [173140] by fpizlo@apple.com
  • 2 edits in trunk/Tools

[RJST] eager-no-cjit should really mean eager
​https://bugs.webkit.org/show_bug.cgi?id=136407

Reviewed by Mark Hahnenberg.

At some point we made NO_CJIT_OPTIONS force threshold settings to something reasonable
and well-known. But the way we appended options was such that NO_CJIT_OPTIONS came in
after EAGER_OPTIONS. The whole point of "eager" was to use eager tier-up thresholds. This
all meant that NO_CJIT_OPTIONS was overriding the eagerness of EAGER_OPTIONS, for the one
threshold setting that NO_CJIT_OPTIONS was currently setting
(thresholdForJITAfterWarmUp). The solution is to make sure that we always append
NO_CJIT_OPTIONS before we append EAGER_OPTIONS.

Luckily, no tests regressed during the time that we lost eager-no-cjit coverage.

  • Scripts/run-jsc-stress-tests:
9:20 AM Changeset in webkit [173139] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening. Mark some compositing tests as "failure" since r172999

  • platform/efl/TestExpectations:
6:42 AM Changeset in webkit [173138] by Yusuke Suzuki
  • 7 edits
    10 adds in trunk

CSS: Refactor :visited handling in SelectorChecker
​https://bugs.webkit.org/show_bug.cgi?id=135639

Reviewed by Benjamin Poulain.

Source/WebCore:

:visited is specially handled in the SelectorChecker and style resolution
because of security issues. That is nested links and adjacent combinators.
Since we propagate linkState from the ancestors,

  1. linkStates of ancestors from the target node are only used to calculate the linkState of the current node. This is why adjacent combinators disable :visited.
  1. linkState is overrides by the closest link element in the ancestors. This is why :visited is effective on the closest link element.

In this patch, we fix 3 things.

  1. Simplify SelectorChecker. Move m_mode to CheckingContext and it makes CheckingContext more similar to SelectorCompiler::CheckingContext in CSS JIT. And hide visitedMatchType parameter from the caller of SelectorChecker.
  1. Disable :visited inside :-webkit-any. Currently, :-webkit-any provides MatchAll link match type. So considering visited match type in the matching phase of :visited provides inconsistency. In this patch, :-webkit-any(:visited) never matches. And :-webkit-any(:link) acts like a :-webkit-any(:any-link). This behavior represents that visited match type is always considered as disabled inside :-webkit-any. This behavior may be changed when Selector Level4 is implemented.
  1. Fix the issue when traversing the descendant element, first encountered link check is missing.

Tests: fast/history/link-inside-any.html

fast/history/link-inside-not.html
fast/history/nested-visited-test-override.html
fast/history/visited-inside-any.html
fast/history/visited-inside-not.html

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::ruleMatches):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::SelectorChecker):
(WebCore::SelectorChecker::match):
(WebCore::hasScrollbarPseudoElement):
(WebCore::checkingContextForParent):
(WebCore::SelectorChecker::matchRecursively):
(WebCore::SelectorChecker::checkOne):

  • css/SelectorChecker.h:

(WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):

  • css/StyleResolver.h:

(WebCore::checkRegionSelector):

  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::selectorMatches):

LayoutTests:

  • fast/history/link-inside-any-expected.txt: Added.
  • fast/history/link-inside-any.html: Added.
  • fast/history/link-inside-not-expected.txt: Added.
  • fast/history/link-inside-not.html: Added.
  • fast/history/nested-visited-test-override-expected.txt: Added.
  • fast/history/nested-visited-test-override.html: Added.
  • fast/history/visited-inside-any-expected.txt: Added.
  • fast/history/visited-inside-any.html: Added.
  • fast/history/visited-inside-not-expected.txt: Added.
  • fast/history/visited-inside-not.html: Added.

Aug 29, 2014:

8:16 PM Changeset in webkit [173137] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

8:15 PM Changeset in webkit [173136] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.1.17

New Tag.

7:55 PM Changeset in webkit [173135] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Subpixel layout: Remove LayoutUnit's kEffectiveFixedPointDenominator.
​https://bugs.webkit.org/show_bug.cgi?id=136383.

Reviewed by Simon Fraser.

There's only one subpixel denominator now.

No change in functionality.

  • platform/LayoutUnit.h:

(WebCore::LayoutUnit::LayoutUnit):
(WebCore::LayoutUnit::fromFloatCeil):
(WebCore::LayoutUnit::fromFloatFloor):
(WebCore::LayoutUnit::toInt):
(WebCore::LayoutUnit::toFloat):
(WebCore::LayoutUnit::toDouble):
(WebCore::LayoutUnit::operator++):
(WebCore::LayoutUnit::ceil):
(WebCore::LayoutUnit::round):
(WebCore::LayoutUnit::floor):
(WebCore::LayoutUnit::ceilToFloat):
(WebCore::LayoutUnit::fraction):
(WebCore::LayoutUnit::epsilon):
(WebCore::LayoutUnit::nearlyMax):
(WebCore::LayoutUnit::nearlyMin):
(WebCore::LayoutUnit::isInBounds):
(WebCore::LayoutUnit::setValue):
(WebCore::boundedMultiply):
(WebCore::operator*):
(WebCore::operator/):
(WebCore::operator%):
(WebCore::roundToDevicePixel):
(WebCore::floorToDevicePixel):
(WebCore::ceilToDevicePixel):

7:55 PM Changeset in webkit [173134] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Rename updatePreferredWidth to make it more explicit.
​https://bugs.webkit.org/show_bug.cgi?id=136389

Reviewed by Simon Fraser.

No change in functionality.

  • rendering/RenderBlock.cpp:

(WebCore::preferredWidth):
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
(WebCore::updatePreferredWidth): Deleted.

6:33 PM Changeset in webkit [173133] by barraclough@apple.com
  • 4 edits in trunk/Source/WebCore

Make timerNestingLevel threadsafe
​https://bugs.webkit.org/show_bug.cgi?id=136401

Reviewed by Tim Horton.

timerNestingLevel, used by DOMTimer to determine whether a timer is 'nested'
(repeating, possible due to a timer rescheduling itself) is a global. Since
worker threads can set timers too this is not thread safe.

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::ScriptExecutionContext):

  • added initialize m_timerNestingLevel
  • dom/ScriptExecutionContext.h:

(WebCore::ScriptExecutionContext::timerNestingLevel):
(WebCore::ScriptExecutionContext::setTimerNestingLevel):

  • added accessors
  • page/DOMTimer.cpp:

(WebCore::DOMTimer::DOMTimer):
(WebCore::DOMTimer::fired):

  • move timerNestingLevel to the context
6:11 PM Changeset in webkit [173132] by barraclough@apple.com
  • 2 edits in trunk/Source/WebCore

DOMTimer::m_nestingLevel is prone to overflow
​https://bugs.webkit.org/show_bug.cgi?id=136399

Reviewed by Alexey Proskuryakov.

Since this would happen after the 2 billionth timer fire this is unlikely,
and consequences aren't severe (breaks throttling).

This change has the following consequences.

  • m_nestingLevel saturates to its max value.
  • unnested timers are indicated by a nesting level of 0.
  • repeat timers update m_nestingLevel on every fire, not just those that should have been throttled.

The last point is subtle, but ultimately should be inconsequential. Timers
whose requested timeout is less that the minimum interval will saturate quickly
anyway; timers with an original interval greater than the minimum previously
wouldn't have incremented m_nestingLevel, but doing so now doesn't hurt since
they won't be throttled when they hit the threshold. This simplifies things
conceptually a little & reduces the test performed on each timer fire.

  • page/DOMTimer.cpp:

(WebCore::shouldForwardUserGesture):

  • unnested timers are indicated by a nesting level of 0

(WebCore::DOMTimer::DOMTimer):

  • don't increment nesting level on construction

(WebCore::DOMTimer::fired):

  • saturating increments

(WebCore::DOMTimer::adjustMinimumTimerInterval):
(WebCore::DOMTimer::intervalClampedToMinimum):

  • added ASSERTs
5:19 PM Changeset in webkit [173131] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Ensure that the call frame passed from doVMEntry to the called function always contains the valid scope chain.
​https://bugs.webkit.org/show_bug.cgi?id=136391

Patch by Akos Kiss <​akiss@inf.u-szeged.hu> on 2014-08-29
Reviewed by Michael Saboff.

Do not rely on calling conventions to fill in the CallerFrame component
of the ExecState* parameter of the called function.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
5:01 PM Changeset in webkit [173130] by jhoneycutt@apple.com
  • 2 edits in branches/safari-600.1-branch/LayoutTests

2014-08-29 Jon Honeycutt <​jhoneycutt@apple.com>

Skip some tests that test features disabled on the branch.

Rubber-stamped by Andreas Kling.

  • platform/mac/TestExpectations:
4:34 PM Changeset in webkit [173129] by dbates@webkit.org
  • 1 edit
    1 add in trunk/Tools

[iOS] Configure Xcode to build a command line tool for the iOS Simulator
​https://bugs.webkit.org/show_bug.cgi?id=136388

Reviewed by David Kilzer.

Add a script, called configure-xcode-for-ios-development, to configure Xcode to
support building a command line tool for the iOS Simulator. You must run this
script as root.

The script uses the xcspec files in the OS X SDK to create xcspec files in the
iOS Simulator SDK with the product- and package- type definitions to build a
command line tool, if applicable.

  • Scripts/configure-xcode-for-ios-development: Added.
4:24 PM Changeset in webkit [173128] by jhoneycutt@apple.com
  • 2 edits in branches/safari-600.1-branch/LayoutTests

2014-08-29 Jon Honeycutt <​jhoneycutt@apple.com>

Merge r171595, which updates a media test's expected result.

Rubber-stamped by Andreas Kling.

2014-07-25 Zalan Bujtas <Alan Bujtas>

Unreviewed media test gardening after r171593.

  • platform/mac/http/tests/media/hls/video-controls-live-stream-expected.txt:
4:17 PM Changeset in webkit [173127] by jhoneycutt@apple.com
  • 2 edits in branches/safari-600.1-branch/LayoutTests

2014-08-29 Jon Honeycutt <​jhoneycutt@apple.com>

Add an expected failure for a test that relies on a feature disabled on
the branch.

Rubber-stamped by Andreas Kling.

3:55 PM Changeset in webkit [173126] by timothy_horton@apple.com
  • 6 edits
    1 delete in trunk/Tools

Remove Windows WebKit2 code from TestWebKitAPI
​https://bugs.webkit.org/show_bug.cgi?id=136385

Reviewed by Alexey Proskuryakov.

  • TestWebKitAPI/PlatformUtilities.h:
  • TestWebKitAPI/PlatformWebView.h:

(TestWebKitAPI::PlatformWebView::setParentWindowMessageObserver): Deleted.

  • TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash.cpp:

(TestWebKitAPI::TEST): Deleted.

  • TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/win/AltKeyGeneratesWMSysCommand.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/win/DoNotCopyANullCFURLResponse.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/win/HideFindIndicator.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/win/ResizeViewWhileHidden.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/win/TranslateMessageGeneratesWMChar.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/win/WMCloseCallsUIClientClose.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/win/WMPrint.cpp: Removed.
3:52 PM Changeset in webkit [173125] by saambarati1@gmail.com
  • 2 edits in trunk/Source/JavaScriptCore

emit op_profile_type for deconstruction assignments
​https://bugs.webkit.org/show_bug.cgi?id=136274

Reviewed by Filip Pizlo.

Enable type profiling for ES6 deconstruction expressions.

  • bytecompiler/NodesCodegen.cpp:

(JSC::BindingNode::bindValue):

3:21 PM Changeset in webkit [173124] by jhoneycutt@apple.com
  • 2 edits in branches/safari-600.1-branch/LayoutTests

2014-08-28 Jon Honeycutt <​jhoneycutt@apple.com>

Merge r172800, which just updates TestExpectations to fix a failing
test on the branch.

Rubber-stamped by Andreas Kling.

2014-08-20 Alexey Proskuryakov <​ap@apple.com>

fast/multicol/mixed-opacity-fixed-test.html fails in compositing mode
​https://bugs.webkit.org/show_bug.cgi?id=136109

  • platform/mac-wk2/TestExpectations: Updated test expectations to a non-flaky failure, and to point to the new bug.
2:58 PM Changeset in webkit [173123] by Lucas Forschler
  • 8 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r173121. rdar://problem/16991213

2:55 PM Changeset in webkit [173122] by Lucas Forschler
  • 3 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r173118. rdar://problem/16991213

2:38 PM Changeset in webkit [173121] by ap@apple.com
  • 8 edits in trunk/Source/WebKit2

More occasional crashes in ServicesController::resfreshExistingServices
​https://bugs.webkit.org/show_bug.cgi?id=136387
<rdar://problem/18167200>

Patch by Tim Horton <​timothy_horton@apple.com> on 2014-08-29
Reviewed by Dan Bernstein.

  • UIProcess/mac/ServicesController.mm:

(WebKit::ServicesController::ServicesController):
Speculative fix; if this block is called synchronously, we'll end up
calling back into ::shared() before the NeverDestroyed is initialized,
ending up with two ServicesControllers.

2:33 PM Changeset in webkit [173120] by commit-queue@webkit.org
  • 31 edits in trunk/Source

JavaScriptCore: Use ASCIILiteral where possible
​https://bugs.webkit.org/show_bug.cgi?id=136179

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-29
Reviewed by Michael Saboff.

Source/JavaScriptCore:

General string / character related changes. Use ASCIILiteral where
possible, jsNontrivialString where possible, and replace string
literals with character literals in some places.

No new tests, no changes to functionality.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::nameForRegister):

  • bytecompiler/NodesCodegen.cpp:

(JSC::PostfixNode::emitBytecode):
(JSC::PrefixNode::emitBytecode):
(JSC::AssignErrorNode::emitBytecode):
(JSC::ForInNode::emitMultiLoopBytecode):
(JSC::ForOfNode::emitBytecode):
(JSC::ObjectPatternNode::toString):

  • dfg/DFGFunctionWhitelist.cpp:

(JSC::DFG::FunctionWhitelist::contains):

  • dfg/DFGOperations.cpp:

(JSC::DFG::newTypedArrayWithSize):
(JSC::DFG::newTypedArrayWithOneArgument):

  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::addToFrontend):

  • inspector/InspectorBackendDispatcher.cpp:

(Inspector::InspectorBackendDispatcher::dispatch):

  • inspector/ScriptCallStackFactory.cpp:

(Inspector::extractSourceInformationFromException):

  • inspector/scripts/codegen/generator_templates.py:
  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::Frame::functionName):
(JSC::StackVisitor::Frame::sourceURL):

  • jit/JITOperations.cpp:
  • jsc.cpp:

(functionDescribeArray):
(functionRun):
(functionLoad):
(functionReadFile):
(functionCheckSyntax):
(functionTransferArrayBuffer):
(runWithScripts):
(runInteractive):

  • parser/Lexer.cpp:

(JSC::Lexer<T>::invalidCharacterMessage):
(JSC::Lexer<T>::parseString):
(JSC::Lexer<T>::parseStringSlowCase):
(JSC::Lexer<T>::lex):

  • profiler/Profile.cpp:

(JSC::Profile::Profile):

  • runtime/Arguments.cpp:

(JSC::argumentsFuncIterator):

  • runtime/ArrayPrototype.cpp:

(JSC::performSlowSort):
(JSC::arrayProtoFuncSort):

  • runtime/ExceptionHelpers.cpp:

(JSC::createError):
(JSC::createInvalidParameterError):
(JSC::createNotAConstructorError):
(JSC::createNotAFunctionError):
(JSC::createNotAnObjectError):
(JSC::createErrorForInvalidGlobalAssignment):

  • runtime/FunctionPrototype.cpp:

(JSC::insertSemicolonIfNeeded):

  • runtime/JSArray.cpp:

(JSC::JSArray::defineOwnProperty):
(JSC::JSArray::pop):
(JSC::JSArray::push):

  • runtime/JSArrayBufferConstructor.cpp:

(JSC::JSArrayBufferConstructor::finishCreation):

  • runtime/JSArrayBufferPrototype.cpp:

(JSC::arrayBufferProtoFuncSlice):

  • runtime/JSDataView.cpp:

(JSC::JSDataView::create):

  • runtime/JSDataViewPrototype.cpp:

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

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncProtoSetter):

  • runtime/JSPromiseConstructor.cpp:

(JSC::JSPromiseConstructor::finishCreation):

  • runtime/LiteralParser.cpp:

(JSC::LiteralParser<CharType>::Lexer::lex):
(JSC::LiteralParser<CharType>::Lexer::lexString):
(JSC::LiteralParser<CharType>::parse):

  • runtime/LiteralParser.h:

(JSC::LiteralParser::getErrorMessage):

  • runtime/TypeSet.cpp:

(JSC::TypeSet::seenTypes):
(JSC::TypeSet::displayName):
(JSC::TypeSet::allPrimitiveTypeNames):
(JSC::StructureShape::propertyHash):
(JSC::StructureShape::stringRepresentation):

Source/WTF:

  • wtf/text/WTFString.cpp:

(asciiDebug):

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

More occasional crashes in ServicesController::resfreshExistingServices
​https://bugs.webkit.org/show_bug.cgi?id=136387
<rdar://problem/18167200>

Reviewed by Dan Bernstein.

  • UIProcess/mac/ServicesController.mm:

(WebKit::ServicesController::ServicesController):
Speculative fix; if this block is called synchronously, we'll end up
calling back into ::shared() before the NeverDestroyed is initialized,
ending up with two ServicesControllers.

2:23 PM Changeset in webkit [173118] by ap@apple.com
  • 3 edits in trunk/Source/WebKit2

WebPageProxy::close() is a no-op for terminated processes
​https://bugs.webkit.org/show_bug.cgi?id=136378
Related to <rdar://problem/16991213> and to <rdar://problem/17095600>

Reviewed by Brady Eidson.

Also fixes issues that got uncovered after making close() work.

  • UIProcess/WebInspectorProxy.cpp: (WebKit::WebInspectorProxy::invalidate): Don't

close the page, because it makes no sense, and causes an assertion now. Previosly,
this was OK because the page was invalid already, and close() was a no-op.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::~WebPageProxy): Added some assertions to catch invalidation
issues earlier.
(WebKit::WebPageProxy::reattachToWebProcess): Make it an invariant that a page's
process always has a message receiver for it, until close() removes it.
(WebKit::WebPageProxy::close): Make this function work for all open pages, whether
they have a page or not.
(WebKit::WebPageProxy::processDidFinishLaunching): Added an asserion that process
agrees about its state.
(WebKit::WebPageProxy::resetStateAfterProcessExited): Don't remove a message receiver,
we now only do this in reattach or close.

1:10 PM Changeset in webkit [173117] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Fix how Popover animates
​https://bugs.webkit.org/show_bug.cgi?id=136353

Patch by Saam Barati <​sbarati@apple.com> on 2014-08-29
Reviewed by Timothy Hatcher.

Popovers currently don't animate properly because they use
window.requestAnimationFrame which won't fire its callback
while the inspector is paused in the debugger. This patches
switches the callback mechanism to setTimeout and also changes
how a Popover's anchor animates to prevent visual glitches.

Popover also has a new function that allows a new target
frame and new content to be set simultaneously and to
animate to show the new content while changing the
location of the popover frame.

SourceCodeTextEditor uses Popover's new API for animating
between popovers when paused in the debugger. SourceCodeTextEditor
also now ensures proper balancing of popover tracking event
listeners.

  • UserInterface/Views/Popover.js:

(WebInspector.Popover.prototype.present):
(WebInspector.Popover.prototype.presentNewContentWithFrame):
(WebInspector.Popover.prototype.dismiss):
(WebInspector.Popover.prototype._update):
(WebInspector.Popover.prototype.drawBackground):
(WebInspector.Popover.prototype._animateFrame):
(WebInspector.Popover.prototype._drawFrame):
(WebInspector.Popover.prototype._addListenersIfNeeded):
(WebInspector.Popover.prototype._animateFrame.drawBackground): Deleted.

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._showPopover):
(WebInspector.SourceCodeTextEditor.prototype._dismissPopover):
(WebInspector.SourceCodeTextEditor.prototype._trackPopoverEvents):

11:15 AM Changeset in webkit [173116] by clopez@igalia.com
  • 2 edits in trunk/Tools

[JSC] Some JSC tests are dependent on the machine time zone.
​https://bugs.webkit.org/show_bug.cgi?id=136363

Reviewed by Filip Pizlo.

  • Scripts/run-javascriptcore-tests: Export TZ environment variable to US/Pacific.

Unskip the tests that were skipped on r99580.

11:15 AM Changeset in webkit [173115] by Antti Koivisto
  • 5 edits
    5 deletes in trunk/Source/WebKit2

Remove NetworkResourceLoaderClient and subclasses.
​https://bugs.webkit.org/show_bug.cgi?id=136370

Reviewed by Darin Adler.

This code is needlessly abstract. Move what logic these classes have to NetworkResourceLoader.

  • NetworkProcess/AsynchronousNetworkLoaderClient.cpp: Removed.
  • NetworkProcess/AsynchronousNetworkLoaderClient.h: Removed.
  • NetworkProcess/NetworkLoaderClient.h: Removed.
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::isSynchronous):
(WebKit::NetworkResourceLoader::didReceiveResponseAsync):
(WebKit::NetworkResourceLoader::didReceiveBuffer):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFail):
(WebKit::NetworkResourceLoader::willSendRequestAsync):
(WebKit::NetworkResourceLoader::didSendData):
(WebKit::NetworkResourceLoader::sendBuffer):
(WebKit::NetworkResourceLoader::sendReplyToSynchronousRequest):
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):

  • NetworkProcess/NetworkResourceLoader.h:

(WebKit::NetworkResourceLoader::SynchronousLoadData::SynchronousLoadData):

  • NetworkProcess/SynchronousNetworkLoaderClient.cpp: Removed.
  • NetworkProcess/SynchronousNetworkLoaderClient.h: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
10:55 AM Changeset in webkit [173114] by Alan Bujtas
  • 14 edits in trunk/Source/WebCore

Improve showRenderTree() output.
​https://bugs.webkit.org/show_bug.cgi?id=136244

Reviewed by Darin Adler.

Add more debugging information to showRenderTree().

Not testable.

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::showLineTreeForThis):
(WebCore::InlineBox::showLineTreeAndMark):
(WebCore::InlineBox::showLineBox):
(showNodeTree):
(showLineTree):
(WebCore::InlineBox::showBox): Deleted.

  • rendering/InlineBox.h:
  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::showLineTreeAndMark):

  • rendering/InlineFlowBox.h:
  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::showLineBox):
(WebCore::InlineTextBox::showBox): Deleted.

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

(WebCore::RenderBlock::showLineTreeAndMark): Deleted.

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

(WebCore::RenderBlockFlow::showLineTreeAndMark):

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

(WebCore::showRenderTreeLegend):
(WebCore::RenderObject::showNodeTreeForThis):
(WebCore::RenderObject::showRenderTreeForThis):
(WebCore::RenderObject::showLineTreeForThis):
(WebCore::RenderObject::showRegionsInformation):
(WebCore::RenderObject::showRenderObject):
(WebCore::RenderObject::showRenderSubTreeAndMark):
(showNodeTree):
(showLineTree):
(showRenderTree):
(WebCore::RenderObject::showRenderTreeAndMark): Deleted.

  • rendering/RenderObject.h:
  • rendering/RootInlineBox.h:
8:55 AM Changeset in webkit [173113] by Csaba Osztrogonác
  • 6 edits
    35 deletes in trunk/Source

Unreviwed, remove empty directories.

Source/JavaScriptCore:

  • qt: Removed.

Source/ThirdParty/ANGLE:

  • src/compiler/depgraph: Removed.
  • src/compiler/timing: Removed.
  • src/libGLESv2/renderer/shaders: Removed.
  • src/libGLESv2/renderer/shaders/compiled: Removed.

Source/WebCore:

  • Modules/networkinfo: Removed.
  • inspector/front-end: Removed.
  • inspector/front-end/Images: Removed.
  • inspector/front-end/UglifyJS: Removed.
  • inspector/front-end/ace: Removed.
  • inspector/front-end/cm: Removed.
  • platform/audio/ffmpeg: Removed.
  • platform/audio/ipp: Removed.
  • platform/graphics/gpu/opencl: Removed.

Source/WebKit:

  • efl: Removed.
  • efl/DefaultTheme: Removed.
  • efl/DefaultTheme/widget: Removed.
  • efl/WebCoreSupport: Removed.
  • efl/ewk: Removed.
  • efl/tests: Removed.
  • efl/tests/UnitTestUtils: Removed.
  • efl/tests/resources: Removed.
  • gtk: Removed.
  • gtk/WebCoreSupport: Removed.
  • gtk/docs: Removed.
  • gtk/gdom: Removed.
  • gtk/resources: Removed.
  • gtk/webkit: Removed.

Source/WebKit/mac:

  • ForwardingHeaders/wtf: Removed.

Source/WebKit2:

  • PluginProcess/qt: Removed.
  • Shared/API/c/qt: Removed.
  • Shared/Downloads/qt: Removed.
  • Shared/FileAPI: Removed.
  • Shared/qt: Removed.
  • UIProcess/API/C/qt: Removed.
  • UIProcess/API/cpp/qt: Removed.
  • UIProcess/API/qt: Removed.
  • UIProcess/API/qt/raw: Removed.
  • UIProcess/API/qt/tests: Removed.
  • UIProcess/API/qt/tests/html: Removed.
  • UIProcess/API/qt/tests/html/resources: Removed.
  • UIProcess/API/qt/tests/inspectorserver: Removed.
  • UIProcess/API/qt/tests/publicapi: Removed.
  • UIProcess/API/qt/tests/qmltests: Removed.
  • UIProcess/API/qt/tests/qmltests/DesktopBehavior: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView: Removed.
  • UIProcess/API/qt/tests/qmltests/common: Removed.
  • UIProcess/API/qt/tests/qquickwebview: Removed.
  • UIProcess/API/qt/tests/qrawwebview: Removed.
  • UIProcess/InspectorServer/qt: Removed.
  • UIProcess/Launcher/qt: Removed.
  • UIProcess/Plugins/qt: Removed.
  • UIProcess/SharedWorkers: Removed.
  • UIProcess/qt: Removed.
  • WebProcess/Cookies/qt: Removed.
  • WebProcess/Downloads: Removed.
  • WebProcess/IndexedDB: Removed.
  • WebProcess/InjectedBundle/qt: Removed.
  • WebProcess/NetworkInfo: Removed.
  • WebProcess/Plugins/Netscape/qt: Removed.
  • WebProcess/WebCoreSupport/qt: Removed.
  • WebProcess/WebPage/qt: Removed.
  • WebProcess/qt: Removed.
  • qt: Removed.
3:05 AM Changeset in webkit [173112] by commit-queue@webkit.org
  • 10 edits in trunk

[EFL] Remove non Coordinated Graphics code path from cmake build system after r142169
​https://bugs.webkit.org/show_bug.cgi?id=135560

Patch by Eva Balazsfalvi <​evab.u-szeged@partner.samsung.com> on 2014-08-29
Reviewed by Gyuyoung Kim.

.:

  • Source/cmake/OptionsEfl.cmake: Removed TILED_BACKING_STORE guard.

Source/WebCore:

No new tests required, no new functionality.

  • PlatformEfl.cmake: Removed TEXTURE_MAPPER and 3D_GRAPHICS guards.
  • platform/graphics/efl/GraphicsContext3DEfl.cpp: Removed TEXTURE_MAPPER_GL and GRAPHICS_SURFACE guards.

(WebCore::GraphicsContext3D::platformLayer):
(WebCore::GraphicsContext3D::createGraphicsSurfaces):

  • platform/graphics/efl/GraphicsContext3DPrivate.cpp: Removed TEXTURE_MAPPER_GL and GRAPHICS_SURFACE guards.

(WebCore::GraphicsContext3DPrivate::initialize):
(WebCore::GraphicsContext3DPrivate::releaseResources):
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
(WebCore::GraphicsContext3DPrivate::graphicsSurfaceFlags):

  • platform/graphics/efl/GraphicsContext3DPrivate.h: Removed TEXTURE_MAPPER_GL and GRAPHICS_SURFACE guards.
  • platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp: Removed GRAPHICS_SURFACE guard.

Tools:

  • Scripts/webkitperl/FeatureList.pm: Removed TILED_BACKING_STORE guard.
1:06 AM Changeset in webkit [173111] by Carlos Garcia Campos
  • 2 edits
    1 move in trunk/Source/WebCore

RenderThemeGtk depends on classes outside of platform
​https://bugs.webkit.org/show_bug.cgi?id=22176

Reviewed by Martin Robinson.

Move RenderThemeGtk.cpp from platform to rendering.

  • PlatformGTK.cmake:
  • rendering/RenderThemeGtk.cpp: Renamed from Source/WebCore/platform/gtk/RenderThemeGtk.cpp.
12:42 AM Changeset in webkit [173110] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebCore

[GTK] ScrollbarThemeGtk should not depend on RenderThemeGtk
​https://bugs.webkit.org/show_bug.cgi?id=136338

Reviewed by Philippe Normand.

Remove the dependency by creating the GtkStyleContext for the
scrollbars in ScrollbarThemeGtk.

  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::gtkStyleChangedCallback): Call ScrollbarThemeGtk::themeChanged().
(WebCore::getStyleContext): Remove the scrollbar style context support.

  • platform/gtk/RenderThemeGtk.h: Remove gtkScrollbarStyle().
  • platform/gtk/ScrollbarThemeGtk.cpp:

(WebCore::ScrollbarStyleContext::ScrollbarStyleContext): Helper
class to create the global GtkStyleContext for scrollbars.
(WebCore::ScrollbarStyleContext::~ScrollbarStyleContext):
(WebCore::ScrollbarStyleContext::context):
(WebCore::gtkScrollbarStyleContext):
(WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Remove m_context initialization.
(WebCore::ScrollbarThemeGtk::themeChanged): Invalidate the
GtkStylecontext and call updateThemeProperties().
(WebCore::ScrollbarThemeGtk::updateThemeProperties): Use the
global style context.
(WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
(WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
(WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
(WebCore::ScrollbarThemeGtk::paintButton): Ditto.

  • platform/gtk/ScrollbarThemeGtk.h:
12:39 AM Changeset in webkit [173109] by Carlos Garcia Campos
  • 5 edits
    2 deletes in trunk/Source/WebCore

[GTK] Merge RenderThemeGtk3.cpp into RenderThemeGtk.cpp and ScrollbarThemeGtk3.cpp intoScrollbarThemeGtk.cpp
​https://bugs.webkit.org/show_bug.cgi?id=136336

Reviewed by Philippe Normand.

There's no reason to have two files now that there's no GTK+2
support. Also fix coding style issues and compile warnings.

  • PlatformGTK.cmake:
  • platform/gtk/RenderThemeGtk.cpp:
  • platform/gtk/RenderThemeGtk.h:
  • platform/gtk/RenderThemeGtk3.cpp: Removed.
  • platform/gtk/ScrollbarThemeGtk.cpp:
  • platform/gtk/ScrollbarThemeGtk3.cpp: Removed.

Aug 28, 2014:

8:56 PM Changeset in webkit [173108] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.1-branch

Merged r173097. <rdar://problem/17927266>

8:48 PM Changeset in webkit [173107] by Lucas Forschler
  • 3 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r173093. rdar://problem/18167791

8:44 PM Changeset in webkit [173106] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r173092. rdar://problem/18045685

8:41 PM Changeset in webkit [173105] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172989. rdar://problem/18144282

8:38 PM Changeset in webkit [173104] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r171782. rdar://problem/18022691

6:42 PM Changeset in webkit [173103] by commit-queue@webkit.org
  • 4 edits
    3 adds in trunk

Web Inspector: Write tests for ScriptSyntaxTree and fix bugs in the data structure
​https://bugs.webkit.org/show_bug.cgi?id=136272

Patch by Saam Barati <​sbarati@apple.com> on 2014-08-28
Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

Include the necessary files in Test.html to test ScriptSyntaxTree.
Also, ScriptSyntaxTree had a couple of errors for two of its nodes
where they simply ignored one of the properties on the node.
These errors were found while writing the tests and are fixed
in this patch.

  • UserInterface/Models/ScriptSyntaxTree.js:

(WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):

  • UserInterface/Test.html:

LayoutTests:

This patch tests all nodes in the WebInspecor's Abstract Syntax Tree.
These tests don't test every aspect of the data structure, but focus
on having it parse all JavaScript expressions successfully and to also
make sure nodes in the tree are of the correct type.

  • inspector/model: Added.
  • inspector/model/parse-script-syntax-tree-expected.txt: Added.
  • inspector/model/parse-script-syntax-tree.html: Added.
6:32 PM Changeset in webkit [173102] by roger_fong@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WTF

Unreviewed build fix. Specify which version of cygwin python to use.

  • WTF.vcxproj/WTFGenerated.make:
5:51 PM Changeset in webkit [173101] by dbates@webkit.org
  • 2 edits in trunk/Tools

[Win] update-webkit should update auxiliary libs by default

Reviewed by Dan Bernstein.

The change set <​http://trac.webkit.org/changeset/172795> inadvertently prevented update-webkit
from updating the Windows auxiliary libs by default. We should make update-webkit update the
Windows auxiliary libs by default. This will make its behavior match its usage text.

  • Scripts/update-webkit:
5:48 PM Changeset in webkit [173100] by mark.lam@apple.com
  • 22 edits in trunk/Source

DebuggerCallFrame::scope() should return a DebuggerScope.
<​https://webkit.org/b/134420>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Rolling back in r170680 with the fix for <​https://webkit.org/b/135656>.

Previously, DebuggerCallFrame::scope() returns a JSActivation (and relevant
peers) which the WebInspector will use to introspect CallFrame variables.
Instead, we should be returning a DebuggerScope as an abstraction layer that
provides the introspection functionality that the WebInspector needs. This
is the first step towards not forcing every frame to have a JSActivation
object just because the debugger is enabled.

  1. Instantiate the debuggerScopeStructure as a member of the JSGlobalObject instead of the VM. This allows JSObject::globalObject() to be able to return the global object for the DebuggerScope.
  1. On the DebuggerScope's life-cycle management:

The DebuggerCallFrame is designed to be "valid" only during a debugging session
(while the debugger is broken) through the use of a DebuggerCallFrameScope in
Debugger::pauseIfNeeded(). Once the debugger resumes from the break, the
DebuggerCallFrameScope destructs, and the DebuggerCallFrame will be invalidated.
We can't guarantee (from this code alone) that the Inspector code isn't still
holding a ref to the DebuggerCallFrame (though they shouldn't), but by contract,
the frame will be invalidated, and any attempt to query it will return null values.
This is pre-existing behavior.

Now, we're adding the DebuggerScope into the picture. While a single debugger
pause session is in progress, the Inspector may request the scope from the
DebuggerCallFrame. While the DebuggerCallFrame is still valid, we want
DebuggerCallFrame::scope() to always return the same DebuggerScope object.
This is why we hold on to the DebuggerScope with a strong ref.

If we use a weak ref instead, the following cooky behavior can manifest:

  1. The Inspector calls Debugger::scope() to get the top scope.
  2. The Inspector iterates down the scope chain and is now only holding a reference to a parent scope. It is no longer referencing the top scope.
  3. A GC occurs, and the DebuggerCallFrame's weak m_scope ref to the top scope gets cleared.
  4. The Inspector calls DebuggerCallFrame::scope() to get the top scope again but gets a different DebuggerScope instance.
  5. The Inspector iterates down the scope chain but never sees the parent scope instance that retained a ref to in step 2 above. This is because when iterating this new DebuggerScope instance (which has no knowledge of the previous parent DebuggerScope instance), a new DebuggerScope instance will get created for the same parent scope.

Since the DebuggerScope is a JSObject, its liveness is determined by its reachability.
However, its "validity" is determined by the life-cycle of its owner DebuggerCallFrame.
When the owner DebuggerCallFrame gets invalidated, its debugger scope chain (if
instantiated) will also get invalidated. This is why we need the
DebuggerScope::invalidateChain() method. The Inspector should not be using the
DebuggerScope instance after its owner DebuggerCallFrame is invalidated. If it does,
those methods will do nothing or returned a failed status.

Fix for <​https://webkit.org/b/135656>:

  1. DebuggerScope::getOwnPropertySlot() and DebuggerScope::put() need to set m_thisValue in the returned slot to the wrapped scope object. Previously, it was pointing to the DebuggerScope though the rest of the fields in the returned slot will be set to data pertaining the wrapped scope object.
  1. DebuggerScope::getOwnPropertySlot() will invoke getPropertySlot() on its wrapped scope. This is because JSObject::getPropertySlot() cannot be overridden, and when called on a DebuggerScope, will not know to look in the ptototype chain of the DebuggerScope's wrapped scope. Hence, we'll treat all properties in the wrapped scope as own properties in the DebuggerScope. This is fine because the WebInspector does not presently care about where in the prototype chain the scope property comes from.

Note that the DebuggerScope and the JSActivation objects that it wraps do
not have prototypes. They are always jsNull(). This works perfectly with
the above change to use getPropertySlot() instead of getOwnPropertySlot().
To make this an explicit invariant, I also changed DebuggerScope::createStructure()
and JSActivation::createStructure() to not take a prototype argument, and
to always use jsNull() for their prototype value.

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

(JSC::DebuggerCallFrame::scope):
(JSC::DebuggerCallFrame::evaluate):
(JSC::DebuggerCallFrame::invalidate):

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

(JSC::DebuggerScope::DebuggerScope):
(JSC::DebuggerScope::finishCreation):
(JSC::DebuggerScope::visitChildren):
(JSC::DebuggerScope::className):
(JSC::DebuggerScope::getOwnPropertySlot):
(JSC::DebuggerScope::put):
(JSC::DebuggerScope::deleteProperty):
(JSC::DebuggerScope::getOwnPropertyNames):
(JSC::DebuggerScope::defineOwnProperty):
(JSC::DebuggerScope::next):
(JSC::DebuggerScope::invalidateChain):
(JSC::DebuggerScope::isWithScope):
(JSC::DebuggerScope::isGlobalScope):
(JSC::DebuggerScope::isFunctionOrEvalScope):

  • debugger/DebuggerScope.h:

(JSC::DebuggerScope::create):
(JSC::DebuggerScope::createStructure):
(JSC::DebuggerScope::iterator::iterator):
(JSC::DebuggerScope::iterator::get):
(JSC::DebuggerScope::iterator::operator++):
(JSC::DebuggerScope::iterator::operator==):
(JSC::DebuggerScope::iterator::operator!=):
(JSC::DebuggerScope::isValid):
(JSC::DebuggerScope::jsScope):
(JSC::DebuggerScope::begin):
(JSC::DebuggerScope::end):

  • inspector/JSJavaScriptCallFrame.cpp:

(Inspector::JSJavaScriptCallFrame::scopeType):
(Inspector::JSJavaScriptCallFrame::scopeChain):

  • inspector/JavaScriptCallFrame.h:

(Inspector::JavaScriptCallFrame::scopeChain):

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

(JSC::JSActivation::createStructure):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::debuggerScopeStructure):

  • runtime/JSObject.cpp:
  • runtime/JSObject.h:

(JSC::JSObject::isWithScope):

  • runtime/JSScope.h:
  • runtime/PropertySlot.h:

(JSC::PropertySlot::setThisValue):

  • runtime/PutPropertySlot.h:

(JSC::PutPropertySlot::setThisValue):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WebCore:

No new tests.

Rolling back in r170680 with the fix for <​https://webkit.org/b/135656>.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::attachDebugger):

  • We should acquire the JSLock before modifying a JS global object.
5:35 PM Changeset in webkit [173099] by jhoneycutt@apple.com
  • 2 edits in branches/safari-600.1-branch/LayoutTests

2014-08-28 Jon Honeycutt <​jhoneycutt@apple.com>

Skip all fast/forms/color tests. <input type=color> is disabled on the
branch.

Rubber-stamped by Andreas Kling.

  • platform/mac/TestExpectations:
5:18 PM Changeset in webkit [173098] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merged r173080. rdar://problem/18073745

5:17 PM Changeset in webkit [173097] by enrica@apple.com
  • 3 edits
    2 adds in trunk

Can't hit tab key more than 3 times continuously.
​https://bugs.webkit.org/show_bug.cgi?id=136357
rdar://problem/17927266

Reviewed by Dean Jackson.

Source/WebCore:

Test: fast/css/multiple-tabs.html

When computing the tabWidth disregard increments of less than half the size of the space character
for the given font.

  • platform/graphics/Font.h:

(WebCore::Font::tabWidth):

LayoutTests:

  • fast/css/multiple-tabs-expected.html: Added.
  • fast/css/multiple-tabs.html: Added.
5:14 PM Changeset in webkit [173096] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r173078. rdar://problem/18164606

5:12 PM Changeset in webkit [173095] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merged r173067. rdar://problem/17030054

5:09 PM Changeset in webkit [173094] by Lucas Forschler
  • 10 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r173040. rdar://problem/18105827

5:01 PM Changeset in webkit [173093] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

_setDidMoveSwipeSnapshotCallback's block should only be called if the snapshot is going to move
​https://bugs.webkit.org/show_bug.cgi?id=136354
<rdar://problem/18167791>

Reviewed by Simon Fraser.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Update the comment to note the new behavior.

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
Don't call the block until the snapshot is actually moving (if the snapshot
never moves because it's behind the live view, don't call the block at all).

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

Occasional thread-safety-related crashes on the ServicesController queue
​https://bugs.webkit.org/show_bug.cgi?id=136356
<rdar://problem/18045685>

Reviewed by Dan Bernstein.

  • UIProcess/mac/ServicesController.mm:

(WebKit::hasCompatibleServicesForItems):
Added. Check directly with NSSharingService if we have any services for the given items.
We should eventually check Viewer and Editor services separately so the Web process can
be smarter about when it shows the overlay, but for now this maintains the existing behavior.

(WebKit::ServicesController::refreshExistingServices):
Make use of hasCompatibleServicesForItems instead of having NSSharingServicePicker construct NSMenus.

3:20 PM Changeset in webkit [173091] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WTF

Merged r173036. rdar://problem/18148776

3:18 PM Changeset in webkit [173090] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS] Clients that include WebCoreThread.h fail to build after <​http://trac.webkit.org/changeset/172814/>
(​https://bugs.webkit.org/show_bug.cgi?id=136108)

Define WEBCORE_EXPORT (if its not already defined) in WebCoreThread.h so as to fix the
build for clients that include this header.

  • platform/ios/wak/WebCoreThread.h:
3:18 PM Changeset in webkit [173089] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r173029. rdar://problem/17215064

3:13 PM Changeset in webkit [173088] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.1-branch

Merged r173028. rdar://problem/15724915

3:05 PM Changeset in webkit [173087] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merged r173016. rdar://problem/18120176

3:02 PM Changeset in webkit [173086] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r173015. rdar://problem/18141133

2:59 PM Changeset in webkit [173085] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r173010. rdar://problem/18093204

2:56 PM Changeset in webkit [173084] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172939. rdar://problem/18106066

2:53 PM Changeset in webkit [173083] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merged r172871. rdar://problem/16896423

2:38 PM Changeset in webkit [173082] by akling@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Use JSString::toIdentifier() in more places.
<​https://webkit.org/b/136348>

Call sites that grab the WTF::String from a JSString using value() can
use the more efficient toIdentifier() if the string is going to be used
to construct an Identifier.

If the JSString is a rope that resolves to something that is already
present in the VM's Identifier table, using toIdentifier() can avoid
allocating a new StringImpl.

Reviewed by Geoffrey Garen.

  • jit/JITOperations.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::opIn):

  • runtime/JSONObject.cpp:

(JSC::Stringifier::Stringifier):

  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorGetOwnPropertyDescriptor):
(JSC::objectConstructorDefineProperty):

  • runtime/ObjectPrototype.cpp:

(JSC::objectProtoFuncPropertyIsEnumerable):

2:36 PM Changeset in webkit [173081] by jhoneycutt@apple.com
  • 2 edits in branches/safari-600.1-branch/LayoutTests

2014-08-28 Jon Honeycutt <​jhoneycutt@apple.com>

Skip some tests that test features that are disabled on the branch.

Rubber-stamped by Andreas Kling.

  • platform/mac/TestExpectations:
2:08 PM Changeset in webkit [173080] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

WebContent hangs under SharedBuffer::duplicateDataBufferIfNecessary() while browsing some websites
​https://bugs.webkit.org/show_bug.cgi?id=136347
<rdar://problem/18073745>

Reviewed by Andreas Kling.

When passing data to ImageIO, we create a copy if we have to reallocate the buffer. We would
set the size of the new buffer to be the size of the SharedBuffer data. This causes memory
churn since we would create a new buffer for every data chunk we get. Fix this by at least
doubling the capacity of the buffer when we duplicate it.

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::duplicateDataBufferIfNecessary):

2:01 PM Changeset in webkit [173079] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix.

  • WebCore.exp.in: Updated symbol.
1:45 PM Changeset in webkit [173078] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

WebKit2 doesn't support viewer services that accept image attachments
​https://bugs.webkit.org/show_bug.cgi?id=136349
<rdar://problem/18164606>

Reviewed by Brady Eidson.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
Encode the already-existing parameter.

1:34 PM Changeset in webkit [173077] by bshafiei@apple.com
  • 11 edits in tags/Safari-600.1.15.2/Source/WebKit2

Merged r172966. <rdar://problem/18107826>

1:27 PM Changeset in webkit [173076] by bshafiei@apple.com
  • 5 edits in tags/Safari-600.1.15.2/Source

Versioning.

1:24 PM Changeset in webkit [173075] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.15.2

New tag.

1:01 PM Changeset in webkit [173074] by benjamin@webkit.org
  • 11 edits
    16 adds in trunk

Scrolling with spacebar on a page with fixed header breaks reading flow
​https://bugs.webkit.org/show_bug.cgi?id=135506

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-08-28
Reviewed by Simon Fraser.

Source/WebCore:

When scrolling by page, find the height of any bar that is obscuring the top or bottom of the page,
and substract that height from the step to scroll.

Tests: scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar.html

scrollbars/scrolling-backward-by-page-on-keyboard-spacebar.html
scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar.html
scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar.html
scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar.html
scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar.html
scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar.html
scrollbars/scrolling-by-page-on-keyboard-spacebar.html

  • WebCore.exp.in:
  • page/FrameView.cpp:

(WebCore::FrameView::adjustScrollStepForFixedContent):

  • page/FrameView.h:
  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::adjustScrollStepForFixedContent):
(WebCore::ScrollableArea::scroll):

  • platform/ScrollableArea.h:

LayoutTests:

There was pretty much no test coverage for scrolling by page, add some tests.

  • fast/events/scrollbar-double-click-expected.txt:
  • platform/mac-wk1/TestExpectations:
  • scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
  • scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar.html: Added.
  • scrollbars/scrolling-backward-by-page-on-keyboard-spacebar-expected.txt: Added.
  • scrollbars/scrolling-backward-by-page-on-keyboard-spacebar.html: Added.
  • scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
  • scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar.html: Added.
  • scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
  • scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar.html: Added.
  • scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar-expected.txt: Added.
  • scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar.html: Added.
  • scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
  • scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar.html: Added.
  • scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
  • scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar.html: Added.
  • scrollbars/scrolling-by-page-on-keyboard-spacebar-expected.txt: Added.
  • scrollbars/scrolling-by-page-on-keyboard-spacebar.html: Added.
12:48 PM Changeset in webkit [173073] by Alan Bujtas
  • 20 edits in trunk/Source

Subpixel layout: Remove unused pixel snapping functions.
​https://bugs.webkit.org/show_bug.cgi?id=136341

Reviewed by Simon Fraser.

Let's not encourage integral snapping by having these functions around.

No change in functionality.

Source/WebCore:

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::pixelSnappedElementRect): Deleted.
(WebCore::AccessibilityObject::pixelSnappedSize): Deleted.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::width):
(WebCore::HTMLImageElement::height):

  • page/FrameView.cpp:

(WebCore::FrameView::qualifiesAsVisuallyNonEmpty):

  • platform/graphics/LayoutPoint.h:

(WebCore::snappedIntSize):
(WebCore::snapSizeToDevicePixel):

  • platform/graphics/LayoutRect.h:

(WebCore::LayoutRect::pixelSnappedLocation): Deleted.
(WebCore::LayoutRect::pixelSnappedX): Deleted.
(WebCore::LayoutRect::pixelSnappedY): Deleted.
(WebCore::LayoutRect::pixelSnappedWidth): Deleted.
(WebCore::LayoutRect::pixelSnappedHeight): Deleted.
(WebCore::LayoutRect::pixelSnappedMaxX): Deleted.
(WebCore::LayoutRect::pixelSnappedMaxY): Deleted.
(WebCore::snappedIntRectFromEdges): Deleted.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::pixelSnappedLogicalTopForFloat): Deleted.
(WebCore::RenderBlockFlow::pixelSnappedLogicalBottomForFloat): Deleted.
(WebCore::RenderBlockFlow::pixelSnappedLogicalLeftForFloat): Deleted.
(WebCore::RenderBlockFlow::pixelSnappedLogicalRightForFloat): Deleted.

  • rendering/RenderBox.h:

(WebCore::RenderBox::pixelSnappedLogicalHeight):
(WebCore::RenderBox::pixelSnappedLogicalWidth):
(WebCore::RenderBox::pixelSnappedBorderBoxRect):
(WebCore::RenderBox::pixelSnappedWidth): Deleted.
(WebCore::RenderBox::pixelSnappedHeight): Deleted.
(WebCore::RenderBox::pixelSnappedFrameRect): Deleted.

  • rendering/RenderFileUploadControl.cpp:

(WebCore::nodeWidth):
(WebCore::nodeHeight):
(WebCore::RenderFileUploadControl::maxFilenameWidth):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::isPointInResizeControl):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::ensureRootLayer):

  • rendering/RenderMediaControls.cpp:

(WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::paintColumnRules):

  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::buttonRect):

  • rendering/RenderView.h:

Source/WebKit2:

  • Shared/WebRenderObject.cpp:

(WebKit::WebRenderObject::WebRenderObject):

12:23 PM Changeset in webkit [173072] by fpizlo@apple.com
  • 14 edits
    7 adds in trunk/Source

DFG should compute immediate dominators using the O(n log n) form of Lengauer and Tarjan's "A Fast Algorithm for Finding Dominators in a Flowgraph"
​https://bugs.webkit.org/show_bug.cgi?id=93361

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

This patch also adds some new utilities for reasoning about block-keyed maps, block sets,
and block worklists. It changes preexisting code to use these abstractions.

(JSC::DFG::Analysis::computeIfNecessary):
(JSC::DFG::Analysis::computeDependencies):

  • dfg/DFGBlockMap.h: Added.

(JSC::DFG::BlockMap::BlockMap):
(JSC::DFG::BlockMap::size):
(JSC::DFG::BlockMap::atIndex):
(JSC::DFG::BlockMap::operator[]):

  • dfg/DFGBlockMapInlines.h: Added.

(JSC::DFG::BlockMap<T>::BlockMap):

  • dfg/DFGBlockSet.h: Added.

(JSC::DFG::BlockSet::BlockSet):
(JSC::DFG::BlockSet::add):
(JSC::DFG::BlockSet::contains):

  • dfg/DFGBlockWorklist.cpp: Added.

(JSC::DFG::BlockWorklist::BlockWorklist):
(JSC::DFG::BlockWorklist::~BlockWorklist):
(JSC::DFG::BlockWorklist::push):
(JSC::DFG::BlockWorklist::pop):
(JSC::DFG::PostOrderBlockWorklist::PostOrderBlockWorklist):
(JSC::DFG::PostOrderBlockWorklist::~PostOrderBlockWorklist):
(JSC::DFG::PostOrderBlockWorklist::pushPre):
(JSC::DFG::PostOrderBlockWorklist::pushPost):
(JSC::DFG::PostOrderBlockWorklist::pop):

  • dfg/DFGBlockWorklist.h: Added.

(JSC::DFG::BlockWorklist::notEmpty):
(JSC::DFG::BlockWith::BlockWith):
(JSC::DFG::BlockWith::operator UnspecifiedBoolType*):
(JSC::DFG::ExtendedBlockWorklist::ExtendedBlockWorklist):
(JSC::DFG::ExtendedBlockWorklist::forcePush):
(JSC::DFG::ExtendedBlockWorklist::push):
(JSC::DFG::ExtendedBlockWorklist::notEmpty):
(JSC::DFG::ExtendedBlockWorklist::pop):
(JSC::DFG::BlockWithOrder::BlockWithOrder):
(JSC::DFG::BlockWithOrder::operator UnspecifiedBoolType*):
(JSC::DFG::PostOrderBlockWorklist::push):
(JSC::DFG::PostOrderBlockWorklist::notEmpty):

  • dfg/DFGCSEPhase.cpp:
  • dfg/DFGDominators.cpp:

(JSC::DFG::Dominators::compute):
(JSC::DFG::Dominators::naiveDominates):
(JSC::DFG::Dominators::dump):
(JSC::DFG::Dominators::pruneDominators): Deleted.

  • dfg/DFGDominators.h:

(JSC::DFG::Dominators::strictlyDominates):
(JSC::DFG::Dominators::dominates):
(JSC::DFG::Dominators::BlockData::BlockData):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dumpBlockHeader):
(JSC::DFG::Graph::getBlocksInPreOrder):
(JSC::DFG::Graph::getBlocksInPostOrder):

  • dfg/DFGInvalidationPointInjectionPhase.cpp:

(JSC::DFG::InvalidationPointInjectionPhase::run):

  • dfg/DFGNaiveDominators.cpp: Added.

(JSC::DFG::NaiveDominators::NaiveDominators):
(JSC::DFG::NaiveDominators::~NaiveDominators):
(JSC::DFG::NaiveDominators::compute):
(JSC::DFG::NaiveDominators::pruneDominators):
(JSC::DFG::NaiveDominators::dump):

  • dfg/DFGNaiveDominators.h: Added.

(JSC::DFG::NaiveDominators::dominates):

  • dfg/DFGNaturalLoops.cpp:

(JSC::DFG::NaturalLoops::computeDependencies):
(JSC::DFG::NaturalLoops::compute):

  • dfg/DFGNaturalLoops.h:

Source/WTF:

Make BitVector operations return the previous value of the bit you're changing. This is
useful for the kinds of set operations that are commonplace in compiler graph searches.

  • wtf/BitVector.h:

(WTF::BitVector::quickSet):
(WTF::BitVector::quickClear):
(WTF::BitVector::set):
(WTF::BitVector::ensureSizeAndSet):
(WTF::BitVector::clear):

12:21 PM Changeset in webkit [173071] by enrica@apple.com
  • 6 edits in trunk/Source

textStylingAtPosition returns incorrect values after executing toggleBold, toggleItalic and toggleUnderline.
​https://bugs.webkit.org/show_bug.cgi?id=136323
rdar://problem/18141964

Reviewed by Antti Koivisto.

For underline style we need to check typingStyle first and use that information to populate
the dictionary. If there is no typing style we can use the render style.
Source/WebCore:

  • WebCore.exp.in:
  • editing/ios/EditorIOS.mm:

(WebCore::Editor::fontAttributesForSelectionStart):

Source/WebKit2:

We also need to update the editor state for the toggle commands to reflect the state in the UIProcess
even for commands that don't change the selection.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::editorState):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::executeEditCommandWithCallback):

12:19 PM Changeset in webkit [173070] by Brian Burg
  • 3 edits in trunk/Tools

build-webkit --inspector-frontend tries to copy files from old inspector path
​https://bugs.webkit.org/show_bug.cgi?id=136346

Reviewed by Timothy Hatcher.

Remove the old code path for copying inspector resources. It doesn't work.
Complain if this option is passed to CMake-based builds.

  • Scripts/build-webkit:
  • Scripts/webkitdirs.pm:

(copyInspectorFrontendFiles): Deleted.

12:09 PM Changeset in webkit [173069] by fpizlo@apple.com
  • 58 edits
    17 adds in trunk

FTL should be able to do polymorphic call inlining
​https://bugs.webkit.org/show_bug.cgi?id=135145

Reviewed by Geoffrey Garen.
Source/JavaScriptCore:


Added a log-based high-fidelity call edge profiler that runs in DFG JIT (and optionally
baseline JIT) code. Used it to do precise polymorphic inlining in the FTL. Potential
inlining sites use the call edge profile if it is available, but they will still fall back
on the call inline cache and rare case counts if it's not. Polymorphic inlining means that
multiple possible callees can be inlined with a switch to guard them. The slow path may
either be an OSR exit or a virtual call.

The call edge profiling added in this patch is very precise - it will tell you about every
call that has ever happened. It took some effort to reduce the overhead of this profiling.
This mostly involved ensuring that we don't do it unnecessarily. For example, we avoid it
in the baseline JIT (you can conditionally enable it but it's off by default) and we only do
it in the DFG JIT if we know that the regular inline cache profiling wasn't precise enough.
I also experimented with reducing the precision of the profiling. This led to a significant
reduction in the speed-up, so I avoided this approach. I also explored making log processing
concurrent, but that didn't help. Also, I tested the overhead of the log processing and
found that most of the overhead of this profiling is actually in putting things into the log
rather than in processing the log - that part appears to be surprisingly cheap.

Polymorphic inlining could be enabled in the DFG if we enabled baseline call edge profiling,
and if we guarded such inlining sites with some profiling mechanism to detect
polyvariant monomorphisation opportunities (where the callsite being inlined reveals that
it's actually monomorphic).

This is a ~28% speed-up on deltablue and a ~7% speed-up on richards, with small speed-ups on
other programs as well. It's about a 2% speed-up on Octane version 2, and never a regression
on anything we care about. Some aggregates, like V8Spider, see a regression. This is
highlighting the increase in profiling overhead. But since this doesn't show up on any major
score (code-load or SunSpider), it's probably not relevant.

Relanding after fixing debug assertions in fast/storage/serialized-script-value.html.

(JSC::CallEdge::dump):

  • bytecode/CallEdge.h: Added.

(JSC::CallEdge::operator!):
(JSC::CallEdge::callee):
(JSC::CallEdge::count):
(JSC::CallEdge::despecifiedClosure):
(JSC::CallEdge::CallEdge):

  • bytecode/CallEdgeProfile.cpp: Added.

(JSC::CallEdgeProfile::callEdges):
(JSC::CallEdgeProfile::numCallsToKnownCells):
(JSC::worthDespecifying):
(JSC::CallEdgeProfile::worthDespecifying):
(JSC::CallEdgeProfile::visitWeak):
(JSC::CallEdgeProfile::addSlow):
(JSC::CallEdgeProfile::mergeBack):
(JSC::CallEdgeProfile::fadeByHalf):
(JSC::CallEdgeLog::CallEdgeLog):
(JSC::CallEdgeLog::~CallEdgeLog):
(JSC::CallEdgeLog::isEnabled):
(JSC::operationProcessCallEdgeLog):
(JSC::CallEdgeLog::emitLogCode):
(JSC::CallEdgeLog::processLog):

  • bytecode/CallEdgeProfile.h: Added.

(JSC::CallEdgeProfile::numCallsToNotCell):
(JSC::CallEdgeProfile::numCallsToUnknownCell):
(JSC::CallEdgeProfile::totalCalls):

  • bytecode/CallEdgeProfileInlines.h: Added.

(JSC::CallEdgeProfile::CallEdgeProfile):
(JSC::CallEdgeProfile::add):

  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::visitWeak):

  • bytecode/CallLinkInfo.h:
  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::CallLinkStatus):
(JSC::CallLinkStatus::computeFromLLInt):
(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::computeExitSiteData):
(JSC::CallLinkStatus::computeFromCallLinkInfo):
(JSC::CallLinkStatus::computeFromCallEdgeProfile):
(JSC::CallLinkStatus::computeDFGStatuses):
(JSC::CallLinkStatus::isClosureCall):
(JSC::CallLinkStatus::makeClosureCall):
(JSC::CallLinkStatus::dump):
(JSC::CallLinkStatus::function): Deleted.
(JSC::CallLinkStatus::internalFunction): Deleted.
(JSC::CallLinkStatus::intrinsicFor): Deleted.

  • bytecode/CallLinkStatus.h:

(JSC::CallLinkStatus::CallLinkStatus):
(JSC::CallLinkStatus::isSet):
(JSC::CallLinkStatus::couldTakeSlowPath):
(JSC::CallLinkStatus::edges):
(JSC::CallLinkStatus::size):
(JSC::CallLinkStatus::at):
(JSC::CallLinkStatus::operator[]):
(JSC::CallLinkStatus::canOptimize):
(JSC::CallLinkStatus::canTrustCounts):
(JSC::CallLinkStatus::isClosureCall): Deleted.
(JSC::CallLinkStatus::callTarget): Deleted.
(JSC::CallLinkStatus::executable): Deleted.
(JSC::CallLinkStatus::makeClosureCall): Deleted.

  • bytecode/CallVariant.cpp: Added.

(JSC::CallVariant::dump):

  • bytecode/CallVariant.h: Added.

(JSC::CallVariant::CallVariant):
(JSC::CallVariant::operator!):
(JSC::CallVariant::despecifiedClosure):
(JSC::CallVariant::rawCalleeCell):
(JSC::CallVariant::internalFunction):
(JSC::CallVariant::function):
(JSC::CallVariant::isClosureCall):
(JSC::CallVariant::executable):
(JSC::CallVariant::nonExecutableCallee):
(JSC::CallVariant::intrinsicFor):
(JSC::CallVariant::functionExecutable):
(JSC::CallVariant::isHashTableDeletedValue):
(JSC::CallVariant::operator==):
(JSC::CallVariant::operator!=):
(JSC::CallVariant::operator<):
(JSC::CallVariant::operator>):
(JSC::CallVariant::operator<=):
(JSC::CallVariant::operator>=):
(JSC::CallVariant::hash):
(JSC::CallVariant::deletedToken):
(JSC::CallVariantHash::hash):
(JSC::CallVariantHash::equal):

  • bytecode/CodeOrigin.h:

(JSC::InlineCallFrame::isNormalCall):

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):

  • bytecode/ExitKind.h:
  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeForStubInfo):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeForStubInfo):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGBackwardsPropagationPhase.cpp:

(JSC::DFG::BackwardsPropagationPhase::propagate):

  • dfg/DFGBasicBlock.cpp:

(JSC::DFG::BasicBlock::~BasicBlock):

  • dfg/DFGBasicBlock.h:

(JSC::DFG::BasicBlock::takeLast):
(JSC::DFG::BasicBlock::didLink):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::processSetLocalQueue):
(JSC::DFG::ByteCodeParser::removeLastNodeFromGraph):
(JSC::DFG::ByteCodeParser::addCallWithoutSettingResult):
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::emitFunctionChecks):
(JSC::DFG::ByteCodeParser::undoFunctionChecks):
(JSC::DFG::ByteCodeParser::inliningCost):
(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::cancelLinkingForBlock):
(JSC::DFG::ByteCodeParser::attemptToInlineCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::prepareToParseBlock):
(JSC::DFG::ByteCodeParser::clearCaches):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::linkBlock):
(JSC::DFG::ByteCodeParser::linkBlocks):
(JSC::DFG::ByteCodeParser::parseCodeBlock):

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::freeUnnecessaryNodes):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGCommon.h:
  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::getBlocksInPreOrder):
(JSC::DFG::Graph::visitChildren):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • dfg/DFGLazyJSValue.cpp:

(JSC::DFG::LazyJSValue::switchLookupValue):

  • dfg/DFGLazyJSValue.h:

(JSC::DFG::LazyJSValue::switchLookupValue): Deleted.

  • dfg/DFGNode.cpp:

(WTF::printInternal):

  • dfg/DFGNode.h:

(JSC::DFG::OpInfo::OpInfo):
(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::hasCellOperand):
(JSC::DFG::Node::cellOperand):
(JSC::DFG::Node::setCellOperand):
(JSC::DFG::Node::canBeKnownFunction): Deleted.
(JSC::DFG::Node::hasKnownFunction): Deleted.
(JSC::DFG::Node::knownFunction): Deleted.
(JSC::DFG::Node::giveKnownFunction): Deleted.
(JSC::DFG::Node::hasFunction): Deleted.
(JSC::DFG::Node::function): Deleted.
(JSC::DFG::Node::hasExecutable): Deleted.
(JSC::DFG::Node::executable): Deleted.

  • dfg/DFGNodeType.h:
  • dfg/DFGPhantomCanonicalizationPhase.cpp:

(JSC::DFG::PhantomCanonicalizationPhase::run):

  • dfg/DFGPhantomRemovalPhase.cpp:

(JSC::DFG::PhantomRemovalPhase::run):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitSwitch):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGStructureRegistrationPhase.cpp:

(JSC::DFG::StructureRegistrationPhase::run):

  • dfg/DFGTierUpCheckInjectionPhase.cpp:

(JSC::DFG::TierUpCheckInjectionPhase::run):
(JSC::DFG::TierUpCheckInjectionPhase::removeFTLProfiling):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validate):

  • dfg/DFGWatchpointCollectionPhase.cpp:

(JSC::DFG::WatchpointCollectionPhase::handle):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::ftlUnreachable):
(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileCheckCell):
(JSC::FTL::LowerDFGToLLVM::compileCheckBadCell):
(JSC::FTL::LowerDFGToLLVM::compileGetExecutable):
(JSC::FTL::LowerDFGToLLVM::compileNativeCallOrConstruct):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::buildSwitch):
(JSC::FTL::LowerDFGToLLVM::compileCheckFunction): Deleted.
(JSC::FTL::LowerDFGToLLVM::compileCheckExecutable): Deleted.

  • heap/Heap.cpp:

(JSC::Heap::collect):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::storeValue):
(JSC::AssemblyHelpers::loadValue):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArguments):

  • jit/GPRInfo.h:

(JSC::JSValueRegs::uses):

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileOpCall):

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

(JSC::VM::ensureCallEdgeLog):

  • runtime/VM.h:
  • tests/stress/fold-profiled-call-to-call.js: Added. This test pinpoints the problem we saw in fast/storage/serialized-script-value.html.
  • tests/stress/new-array-then-exit.js: Added.
  • tests/stress/poly-call-exit-this.js: Added.
  • tests/stress/poly-call-exit.js: Added.

Source/WTF:


Add some power that I need for call edge profiling.

  • wtf/OwnPtr.h:

(WTF::OwnPtr<T>::createTransactionally):

  • wtf/Spectrum.h:

(WTF::Spectrum::add):
(WTF::Spectrum::addAll):
(WTF::Spectrum::get):
(WTF::Spectrum::size):
(WTF::Spectrum::KeyAndCount::KeyAndCount):
(WTF::Spectrum::clear):
(WTF::Spectrum::removeIf):

LayoutTests:

  • js/regress/script-tests/simple-poly-call-nested.js: Added.
  • js/regress/script-tests/simple-poly-call.js: Added.
  • js/regress/simple-poly-call-expected.txt: Added.
  • js/regress/simple-poly-call-nested-expected.txt: Added.
  • js/regress/simple-poly-call-nested.html: Added.
  • js/regress/simple-poly-call.html: Added.
12:03 PM Changeset in webkit [173068] by zandobersek@gmail.com
  • 2 edits
    2 adds in trunk/Source/WebCore

[GTK] Add WaylandEventSource
​https://bugs.webkit.org/show_bug.cgi?id=136213

Reviewed by Martin Robinson.

Add the WaylandEventSource class. Its static method, createEventSource(),
creates a new GSource object that is attached to the main context and
enables handling Wayland display events through the GLib's main loop.

The method will be called by the nested Wayland compositor during its
initialization, which will also take the control over the ownership and
will be tasked with properly removing the GSource from the main context.

GLibSource is a GSource-based struct that additionally holds a GPollFD object
and the pointer to the wl_display object whose event loop we'll be
dispatching during the GSource dispatch. This is the type that g_source_new
uses when allocating the new GSource object.

The GSource is assigned the default priorty, can recurse, and is attached
to the main context.

  • PlatformGTK.cmake:
  • platform/graphics/wayland/WaylandEventSource.cpp: Added.

(WebCore::GLibSource::initialize):
(WebCore::GLibSource::check):
(WebCore::GLibSource::dispatch):
(WebCore::prepareCallback):
(WebCore::checkCallback):
(WebCore::dispatchCallback):
(WebCore::WaylandEventSource::createDisplayEventSource):

  • platform/graphics/wayland/WaylandEventSource.h: Added.
11:00 AM Changeset in webkit [173067] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AX: Safari at com.apple.WebCore: WebCore::AXObjectCache::clearTextMarkerNodesInUse
​https://bugs.webkit.org/show_bug.cgi?id=136333

Reviewed by David Kilzer.

If a Node is asked for it's Document when it's not actually in a document, it can lead to an assert/crash.
We can avoid this by checking that the node is in a document before asking for its document.

I was not able to make a test case.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::clearTextMarkerNodesInUse):

10:54 AM Changeset in webkit [173066] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

ASSERTION FAILED: !m_renderView.document().inPageCache() in compositing/iframes/resources/page-cache-helper.html
<​https://webkit.org/b/136329>

Cancel any pending compositing layer updates when moving a document
into the page cache.

Reviewed by Zalan Bujtas.

  • dom/Document.cpp:

(WebCore::Document::documentWillSuspendForPageCache):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::cancelCompositingLayerUpdate):

  • rendering/RenderLayerCompositor.h:
10:26 AM Changeset in webkit [173065] by ap@apple.com
  • 4 edits in trunk/Tools

Dashboard metrics page could show longest stretch of red
​https://bugs.webkit.org/show_bug.cgi?id=136334

Reviewed by Sam Weinig.

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

(Analyzer.prototype._updateStretchOfRedCounters):
(Analyzer.prototype._countPercentageOfGreen):
When counting percentage of green, also keep track of how long the page was red.

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

(MetricsView.prototype._update.addDivider):
(MetricsView.prototype._update.appendQueueResults):
Show it in aggregate queues (can't think of a reason to have it in individual ones).

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Metrics.css:

Changed to use an explicit divider element between green time and performance groups,
as there are too many combinations to easily express in CSS.

10:22 AM Changeset in webkit [173064] by Brian Burg
  • 3 edits in trunk

WebInspectorUI.framework is not built for the "All Source" Xcode scheme
​https://bugs.webkit.org/show_bug.cgi?id=136343

Reviewed by David Kilzer.

The "build" and "run" actions in Xcode should copy over the latest Inspector resources.

  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme:
  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:
9:00 AM Changeset in webkit [173063] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Adjust build order to reduce flakiness.

  • WebKit.vcxproj/WebKit.sln: Make sure WebCoreGenerated doesn't start until the last JSC tool has finished building.
7:22 AM Changeset in webkit [173062] by Julien Brianceau
  • 2 edits in trunk/Source/JavaScriptCore

Correct GC length unit and prevent division by 0 in showObjectStatistics.
​https://bugs.webkit.org/show_bug.cgi?id=136340

Reviewed by Mark Hahnenberg.

  • heap/HeapStatistics.cpp:

(JSC::HeapStatistics::showObjectStatistics):

6:25 AM Changeset in webkit [173061] by mihnea@adobe.com
  • 3 edits
    2 adds in trunk

[CSSSRegions] Incorrect selection clearing on a document without regions
​https://bugs.webkit.org/show_bug.cgi?id=134901

Reviewed by David Hyatt.

Source/WebCore:

When we select all the content of document with named flows but without regions,
the start and end points of selection is cached in RenderView. However, since
the document has named flows, the selection is split between the subtrees. During the split,
it is possible that the cached end-points of the original selection are not included
in any of the resulting subtree selection and they are not marked accordingly.
In order to process the selection clearing correctly, we have to take the original
selection end-points into account.

Test: fast/regions/selection/select-all-without-regions.html

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::isSelectionBorder):

LayoutTests:

  • fast/regions/selection/select-all-without-regions-expected.txt: Added.
  • fast/regions/selection/select-all-without-regions.html: Added.
6:11 AM Changeset in webkit [173060] by Carlos Garcia Campos
  • 9 edits in trunk

[GTK] Add webkit_uri_response_get_http_headers to WebKit2 GTK+ API
​https://bugs.webkit.org/show_bug.cgi?id=136248

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Move the code to update the SoupMessageHeaders to a new public
method.

  • platform/network/soup/ResourceResponse.h:
  • platform/network/soup/ResourceResponseSoup.cpp:

(WebCore::ResourceResponse::updateSoupMessageHeaders):
(WebCore::ResourceResponse::toSoupMessage):

Source/WebKit2:

Add webkit_uri_response_get_http_headers() that returns the HTTP
headers as a SoupMessageHeaders* like webkit_uri_request_get_http_headers().

  • UIProcess/API/gtk/WebKitURIResponse.cpp:

(webkitURIResponseGetProperty): Add http-headers property getter.
(webkit_uri_response_class_init): Add http-headers property.
(webkit_uri_response_get_http_headers): Return the HTTP headers as
a SoupMessageHeaders* or NULL for non HTTP responses.

  • UIProcess/API/gtk/WebKitURIResponse.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.

Tools:

Add new test case for webkit_uri_response_get_http_headers().

  • TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp:

(testURIResponseHTTPHeaders):
(serverCallback):
(beforeAll):

2:13 AM Changeset in webkit [173059] by Carlos Garcia Campos
  • 7 edits
    4 deletes in trunk/Source/WebCore

[GTK] Remove support for GTK+2 theme rendering
​https://bugs.webkit.org/show_bug.cgi?id=136285

Reviewed by Philippe Normand.

GTK+2 is only used by the plugin process that doesn't need to
render html controls themed. Since the theme files are still
built for WebCorePlatformGTK2, we need to provide dummy
implementations for the pure virtual methods when
GTK_API_VERSION_2 is defined.

  • PlatformGTK.cmake: Remove deleted files from compilation.
  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::create):
(WebCore::RenderTheme::themeForPage):
(WebCore::getScreenDPI):
(WebCore::RenderThemeGtk::systemFont):
(WebCore::RenderThemeGtk::sliderTickSize):
(WebCore::RenderThemeGtk::sliderTickOffsetFromTrackCenter):
(WebCore::RenderThemeGtk::getScreenDPI): Deleted.

  • platform/gtk/RenderThemeGtk.h:
  • platform/gtk/RenderThemeGtk2.cpp: Removed.
  • platform/gtk/RenderThemeGtk3.cpp:
  • platform/gtk/ScrollbarThemeGtk.cpp:

(WebCore::ScrollbarThemeGtk::hasThumb):
(WebCore::ScrollbarThemeGtk::backButtonRect):
(WebCore::ScrollbarThemeGtk::forwardButtonRect):
(WebCore::ScrollbarThemeGtk::trackRect):
(WebCore::ScrollbarThemeGtk::registerScrollbar):
(WebCore::ScrollbarThemeGtk::unregisterScrollbar):
(WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):

  • platform/gtk/ScrollbarThemeGtk.h:
  • platform/gtk/ScrollbarThemeGtk2.cpp: Removed.
  • platform/gtk/WidgetRenderingContext.cpp: Removed.
  • platform/gtk/WidgetRenderingContext.h: Removed.
1:02 AM Changeset in webkit [173058] by zandobersek@gmail.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

List Iago Toral <​itoral@igalia.com> as the co-author of r172856 anr r173052 in the ChangeLog entries.

12:47 AM Changeset in webkit [173057] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

Unreviewed GTK build fix for the Wayland windowing target after r173052.

  • platform/graphics/wayland/WaylandSurface.cpp: Include the IntSize header.
  • platform/graphics/wayland/WaylandSurface.h: Forward-declare IntSize.
12:33 AM Changeset in webkit [173056] by mihnea@adobe.com
  • 3 edits
    53 moves
    8 adds
    7 deletes in trunk/LayoutTests

[CSS Regions] Move positioning tests into fast/regions/positioning
​https://bugs.webkit.org/show_bug.cgi?id=136302

Reviewed by Andrei Bucur.

Moved tests, clean up tests, adjust TestExpectations files where needed.

  • fast/regions/positioned-objects-block-static-in-regions-expected.html: Removed.
  • fast/regions/positioned-objects-block-static-in-regions.html: Removed.
  • fast/regions/positioned-objects-block-static-in-rtl-regions-expected.html: Removed.
  • fast/regions/positioned-objects-block-static-in-rtl-regions.html: Removed.
  • fast/regions/positioned-objects-clipped-spanning-regions-expected.html: Removed.
  • fast/regions/positioned-objects-in-regions.html: Removed.
  • fast/regions/positioned-objects-inline-static-spanning-regions-expected.html: Removed.
  • fast/regions/positioning/fixed-element-transformed-parent-expected.txt: Renamed from LayoutTests/fast/regions/fixed-element-transformed-parent-expected.txt.
  • fast/regions/positioning/fixed-element-transformed-parent.html: Renamed from LayoutTests/fast/regions/fixed-element-transformed-parent.html.
  • fast/regions/positioning/fixed-in-named-flow-position-changed-expected.html: Renamed from LayoutTests/fast/regions/fixed-in-named-flow-position-changed-expected.html.
  • fast/regions/positioning/fixed-in-named-flow-position-changed.html: Renamed from LayoutTests/fast/regions/fixed-in-named-flow-position-changed.html.
  • fast/regions/positioning/fixed-inside-fixed-in-named-flow-expected.html: Renamed from LayoutTests/fast/regions/fixed-inside-fixed-in-named-flow-expected.html.
  • fast/regions/positioning/fixed-inside-fixed-in-named-flow.html: Renamed from LayoutTests/fast/regions/fixed-inside-fixed-in-named-flow.html.
  • fast/regions/positioning/fixed-inside-named-flow-zIndex-expected.html: Renamed from LayoutTests/fast/regions/fixed-inside-named-flow-zIndex-expected.html.
  • fast/regions/positioning/fixed-inside-named-flow-zIndex.html: Renamed from LayoutTests/fast/regions/fixed-inside-named-flow-zIndex.html.
  • fast/regions/positioning/fixed-pos-content-fragmented-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-content-fragmented-expected.html.
  • fast/regions/positioning/fixed-pos-content-fragmented.html: Renamed from LayoutTests/fast/regions/fixed-pos-content-fragmented.html.
  • fast/regions/positioning/fixed-pos-elem-in-named-flow-expected.txt: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-named-flow-expected.txt.
  • fast/regions/positioning/fixed-pos-elem-in-named-flow.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-named-flow.html.
  • fast/regions/positioning/fixed-pos-elem-in-named-flow2-expected.txt: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-named-flow2-expected.txt.
  • fast/regions/positioning/fixed-pos-elem-in-named-flow2.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-named-flow2.html.
  • fast/regions/positioning/fixed-pos-elem-in-namedflow-noregions-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-namedflow-noregions-expected.html.
  • fast/regions/positioning/fixed-pos-elem-in-namedflow-noregions.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-namedflow-noregions.html.
  • fast/regions/positioning/fixed-pos-elem-in-region-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-region-expected.html.
  • fast/regions/positioning/fixed-pos-elem-in-region.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-region.html.
  • fast/regions/positioning/fixed-pos-region-in-nested-flow-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-region-in-nested-flow-expected.html.
  • fast/regions/positioning/fixed-pos-region-in-nested-flow.html: Renamed from LayoutTests/fast/regions/fixed-pos-region-in-nested-flow.html.
  • fast/regions/positioning/fixed-pos-region-overflow-content-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-region-overflow-content-expected.html.
  • fast/regions/positioning/fixed-pos-region-overflow-content.html: Renamed from LayoutTests/fast/regions/fixed-pos-region-overflow-content.html.
  • fast/regions/positioning/positioned-fragmented-content-expected.html: Renamed from LayoutTests/fast/regions/positioned-fragmented-content-expected.html.
  • fast/regions/positioning/positioned-fragmented-content.html: Renamed from LayoutTests/fast/regions/positioned-fragmented-content.html.
  • fast/regions/positioning/positioned-object-inline-cb-crash-expected.txt: Renamed from LayoutTests/fast/regions/positioned-object-inline-cb-crash-expected.txt.
  • fast/regions/positioning/positioned-object-inline-cb-crash.html: Renamed from LayoutTests/fast/regions/positioned-object-inline-cb-crash.html.
  • fast/regions/positioning/positioned-objects-block-static-in-regions-expected.html: Added.
  • fast/regions/positioning/positioned-objects-block-static-in-regions.html: Added.
  • fast/regions/positioning/positioned-objects-block-static-in-rtl-regions-expected.html: Added.
  • fast/regions/positioning/positioned-objects-block-static-in-rtl-regions.html: Added.
  • fast/regions/positioning/positioned-objects-block-static-spanning-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-block-static-spanning-regions-expected.html.
  • fast/regions/positioning/positioned-objects-block-static-spanning-regions-rtl-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-block-static-spanning-regions-rtl-expected.html.
  • fast/regions/positioning/positioned-objects-block-static-spanning-regions-rtl.html: Renamed from LayoutTests/fast/regions/positioned-objects-block-static-spanning-regions-rtl.html.
  • fast/regions/positioning/positioned-objects-block-static-spanning-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-block-static-spanning-regions.html.
  • fast/regions/positioning/positioned-objects-clipped-spanning-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-in-regions-expected.html.
  • fast/regions/positioning/positioned-objects-clipped-spanning-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-clipped-spanning-regions.html.
  • fast/regions/positioning/positioned-objects-in-regions-expected.html: Added.
  • fast/regions/positioning/positioned-objects-in-regions.html: Added.
  • fast/regions/positioning/positioned-objects-in-rtl-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-in-rtl-regions-expected.html.
  • fast/regions/positioning/positioned-objects-in-rtl-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-in-rtl-regions.html.
  • fast/regions/positioning/positioned-objects-inline-static-in-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-in-regions-expected.html.
  • fast/regions/positioning/positioned-objects-inline-static-in-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-in-regions.html.
  • fast/regions/positioning/positioned-objects-inline-static-in-rtl-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-in-rtl-regions-expected.html.
  • fast/regions/positioning/positioned-objects-inline-static-in-rtl-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-in-rtl-regions.html.
  • fast/regions/positioning/positioned-objects-inline-static-spanning-regions-expected.html: Added.
  • fast/regions/positioning/positioned-objects-inline-static-spanning-regions-rtl-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-spanning-regions-rtl-expected.html.
  • fast/regions/positioning/positioned-objects-inline-static-spanning-regions-rtl.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-spanning-regions-rtl.html.
  • fast/regions/positioning/positioned-objects-inline-static-spanning-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-spanning-regions.html.
  • fast/regions/positioning/positioned-objects-perpendicular-flows-in-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-perpendicular-flows-in-regions-expected.html.
  • fast/regions/positioning/positioned-objects-perpendicular-flows-in-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-perpendicular-flows-in-regions.html.
  • fast/regions/positioning/positioned-objects-spanning-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-spanning-regions-expected.html.
  • fast/regions/positioning/positioned-objects-spanning-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-spanning-regions.html.
  • fast/regions/positioning/positioned-slider-in-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-slider-in-regions-expected.html.
  • fast/regions/positioning/positioned-slider-in-regions.html: Renamed from LayoutTests/fast/regions/positioned-slider-in-regions.html.
  • fast/regions/positioning/positioned-vrl-in-named-flow-expected.txt: Renamed from LayoutTests/fast/regions/positioned-vrl-in-named-flow-expected.txt.
  • fast/regions/positioning/positioned-vrl-in-named-flow.html: Renamed from LayoutTests/fast/regions/positioned-vrl-in-named-flow.html.
  • fast/regions/positioning/positioned-vrl-in-parent-named-flow-expected.txt: Renamed from LayoutTests/fast/regions/positioned-vrl-in-parent-named-flow-expected.txt.
  • fast/regions/positioning/positioned-vrl-in-parent-named-flow.html: Renamed from LayoutTests/fast/regions/positioned-vrl-in-parent-named-flow.html.
  • fast/regions/positioning/positioned-with-vrl-parent-in-named-flow-expected.txt: Renamed from LayoutTests/fast/regions/positioned-with-vrl-parent-in-named-flow-expected.txt.
  • fast/regions/positioning/positioned-with-vrl-parent-in-named-flow.html: Renamed from LayoutTests/fast/regions/positioned-with-vrl-parent-in-named-flow.html.
  • platform/mac-wk2/TestExpectations:
  • platform/win/TestExpectations:

Aug 27, 2014:

11:34 PM Changeset in webkit [173055] by mihnea@adobe.com
  • 1 edit
    14 moves
    1 add in trunk/LayoutTests

[CSS Regions] Move writing mode tests into fast/regions/writing-mode
​https://bugs.webkit.org/show_bug.cgi?id=136298

Reviewed by Andrei Bucur.

  • fast/regions/writing-mode/changing-writing-mode-2-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-2-expected.html.
  • fast/regions/writing-mode/changing-writing-mode-2.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-2.html.
  • fast/regions/writing-mode/changing-writing-mode-3-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-3-expected.html.
  • fast/regions/writing-mode/changing-writing-mode-3.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-3.html.
  • fast/regions/writing-mode/changing-writing-mode-4-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-4-expected.html.
  • fast/regions/writing-mode/changing-writing-mode-4.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-4.html.
  • fast/regions/writing-mode/changing-writing-mode-5-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-5-expected.html.
  • fast/regions/writing-mode/changing-writing-mode-5.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-5.html.
  • fast/regions/writing-mode/changing-writing-mode-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-expected.html.
  • fast/regions/writing-mode/changing-writing-mode.html: Renamed from LayoutTests/fast/regions/changing-writing-mode.html.
  • fast/regions/writing-mode/invalid-first-region-with-writing-mode-2-expected.html: Renamed from LayoutTests/fast/regions/invalid-first-region-with-writing-mode-2-expected.html.
  • fast/regions/writing-mode/invalid-first-region-with-writing-mode-2.html: Renamed from LayoutTests/fast/regions/invalid-first-region-with-writing-mode-2.html.
  • fast/regions/writing-mode/invalid-first-region-with-writing-mode-expected.html: Renamed from LayoutTests/fast/regions/invalid-first-region-with-writing-mode-expected.html.
  • fast/regions/writing-mode/invalid-first-region-with-writing-mode.html: Renamed from LayoutTests/fast/regions/invalid-first-region-with-writing-mode.html.
11:31 PM Changeset in webkit [173054] by mihnea@adobe.com
  • 1 edit
    12 moves in trunk/LayoutTests

[CSS Regions] Move more multicol tests in fast/regions/multicol
​https://bugs.webkit.org/show_bug.cgi?id=136295

Reviewed by Andrei Bucur.

  • fast/regions/multicol/regions-in-multicol-bt-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-bt-expected.html.
  • fast/regions/multicol/regions-in-multicol-bt.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-bt.html.
  • fast/regions/multicol/regions-in-multicol-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-expected.html.
  • fast/regions/multicol/regions-in-multicol-hover-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-hover-expected.html.
  • fast/regions/multicol/regions-in-multicol-hover-overflow-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-hover-overflow-expected.html.
  • fast/regions/multicol/regions-in-multicol-hover-overflow.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-hover-overflow.html.
  • fast/regions/multicol/regions-in-multicol-hover.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-hover.html.
  • fast/regions/multicol/regions-in-multicol-lr-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-lr-expected.html.
  • fast/regions/multicol/regions-in-multicol-lr.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-lr.html.
  • fast/regions/multicol/regions-in-multicol-rl-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-rl-expected.html.
  • fast/regions/multicol/regions-in-multicol-rl.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-rl.html.
  • fast/regions/multicol/regions-in-multicol.html: Renamed from LayoutTests/fast/regions/regions-in-multicol.html.
11:10 PM Changeset in webkit [173053] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

One more URTBF after r173047.

  • accessibility/atk/WebKitAccessibleInterfaceComponent.cpp:

(webkitAccessibleComponentGetExtents):

11:09 PM Changeset in webkit [173052] by zandobersek@gmail.com
  • 2 edits
    2 adds in trunk/Source/WebCore

[GTK] Add WaylandSurface
​https://bugs.webkit.org/show_bug.cgi?id=136220

Reviewed by Martin Robinson.

Add the WaylandSurface class. An objects of this type is meant to be used
by the LayerTreeHostGtk in the WebProcess and is constructed via the
WaylandDisplay::createSurface() method.

LayerTreeHostGtk uses such object to perform frame requests to the nested
Wayland compositor in the UIProcess, and to create the GLContextEGL object
that's used during the layer flushing and compositing.

The resize() method is called whenever LayerTreeHostGtk is being resized,
and basically only wraps the wl_egL_window_resize() call.

  • PlatformGTK.cmake:
  • platform/graphics/wayland/WaylandSurface.cpp: Added.

(WebCore::frameCallback):
(WebCore::WaylandSurface::WaylandSurface):
(WebCore::WaylandSurface::~WaylandSurface):
(WebCore::WaylandSurface::resize):
(WebCore::WaylandSurface::createGLContext):
(WebCore::WaylandSurface::requestFrame):

  • platform/graphics/wayland/WaylandSurface.h: Added.

(WebCore::WaylandSurface::surface):
(WebCore::WaylandSurface::nativeWindowHandle):

10:58 PM Changeset in webkit [173051] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

URTBF after r173047.

  • accessibility/atk/WebKitAccessibleInterfaceImage.cpp:

(webkitAccessibleImageGetImagePosition):

10:44 PM Changeset in webkit [173050] by ap@apple.com
  • 2 edits in trunk/Tools

EWS status link at build.webkit.org/dashboard is incorrect until EWS pop-up is opened
​https://bugs.webkit.org/show_bug.cgi?id=131668

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

(EWSQueue.prototype.loadDetailedStatus): Fixed a typo in assertion.

10:27 PM Changeset in webkit [173049] by Alan Bujtas
  • 13 edits in trunk

Subpixel layout: Cleanup snapSizeToPixel/snapSizeToDevicePixel.
​https://bugs.webkit.org/show_bug.cgi?id=136264

Reviewed by Simon Fraser.

  1. Align snapSizeToPixel()/snapSizeToDevicePixel() function names with the rest of snapping

functions. ->snappedIntSize()/snapSizeToDevicePixel().

  1. Operate on LayoutSize/LayoutPoint instead of LayoutUnit/LayoutUnit to reflect functionality.

Covered by existing tests.

Source/WebCore:

  • platform/LayoutUnit.h:

(WebCore::snapSizeToPixel): Deleted.
(WebCore::snapSizeToDevicePixel): Deleted.

  • platform/graphics/LayoutPoint.h:

(WebCore::snappedIntSize):
(WebCore::snapSizeToDevicePixel):
(WebCore::pixelSnappedIntSize): Deleted.

  • platform/graphics/LayoutRect.h:

(WebCore::LayoutRect::pixelSnappedSize):
(WebCore::LayoutRect::pixelSnappedWidth):
(WebCore::LayoutRect::pixelSnappedHeight):
(WebCore::pixelSnappedIntRect):
(WebCore::pixelSnappedIntRectFromEdges):
(WebCore::pixelSnappedForPainting):
(WebCore::directionalPixelSnappedForPainting):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::pixelSnappedClientWidth):
(WebCore::RenderBox::pixelSnappedClientHeight):
(WebCore::RenderBox::pixelSnappedOffsetWidth):
(WebCore::RenderBox::pixelSnappedOffsetHeight):
(WebCore::RenderBox::scrollWidth):
(WebCore::RenderBox::scrollHeight):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
(WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::scrollWidth):
(WebCore::RenderLayer::scrollHeight):

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeLayers):

Tools:

  • TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp:

(TestWebKitAPI::TEST): Deleted.

LayoutTests:

  • cssom/subpixel-offsetleft-top-width-height-values-expected.txt:
  • platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
10:19 PM Changeset in webkit [173048] by ap@apple.com
  • 4 edits in trunk/Tools

EWS status link at build.webkit.org/dashboard is incorrect until EWS pop-up is opened
​https://bugs.webkit.org/show_bug.cgi?id=131668

Reviewed by Daniel Bates.

We used to fetch the URL from EWS detailed status JSON, but there isn't much reason
to not just hardcode.

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

(EWS.prototype.queueStatusURL): Added.

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

(EWSQueue.prototype.get statusPageURL): Use the above function.
(EWSQueue.prototype.loadDetailedStatus): Changed assignment to an assertion.

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

(EWSQueueView.prototype.update): While at it, made a popover show up even if there
are no patches in the queue. The popover has other useful information, such as charts
link and bot status.

9:24 PM Changeset in webkit [173047] by Alan Bujtas
  • 75 edits in trunk/Source

Subpixel layout: Rename LayoutRect's device pixel snapping functions.
​https://bugs.webkit.org/show_bug.cgi?id=136319

Reviewed by Simon Fraser.

From pixelSnappedForPainting() to snapRectToDevicePixels() and
pixelSnappedIntRect*() to snappedIntRect*().

No change in functionality.

Source/WebCore:

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::boundingBoxForQuads):
(WebCore::AccessibilityObject::isOnscreen):
(WebCore::AccessibilityObject::scrollToMakeVisible):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::pixelSnappedBoundingBoxRect):
(WebCore::AccessibilityObject::pixelSnappedElementRect):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::isOffScreen):
(WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityActivationPoint]):
(-[WebAccessibilityObjectWrapper accessibilityFrame]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper position]):
(-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):

  • bindings/objc/DOMUIKitExtensions.mm:

(-[DOMHTMLAreaElement boundingBoxWithOwner:]):
(-[DOMHTMLAreaElement absoluteQuadWithOwner:]):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::computedTransform):

  • dom/Node.h:

(WebCore::Node::pixelSnappedBoundingBox):
(WebCore::Node::pixelSnappedRenderRect):

  • editing/RenderedPosition.cpp:

(WebCore::RenderedPosition::absoluteRect):

  • editing/mac/FrameSelectionMac.mm:

(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::paint):

  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForElementInfo):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::didPaint):

  • page/FrameSnapshotting.cpp:

(WebCore::snapshotNode):

  • page/FrameView.cpp:

(WebCore::FrameView::scrollContentsFastPath):
(WebCore::FrameView::extendedBackgroundRectForPainting):
(WebCore::FrameView::windowClipRectForFrameOwner):
(WebCore::FrameView::convertFromRendererToContainingView):

  • page/Page.cpp:

(WebCore::Page::addRelevantRepaintedObject):
(WebCore::Page::addRelevantUnpaintedObject):

  • page/ios/FrameIOS.mm:

(WebCore::ancestorRespondingToClickEvents):

  • platform/DragImage.cpp:

(WebCore::createDragImageForImage):

  • platform/graphics/LayoutRect.cpp:

(WebCore::enclosingRectToDevicePixels):
(WebCore::enclosingRectForPainting): Deleted.

  • platform/graphics/LayoutRect.h:

(WebCore::snappedIntRect):
(WebCore::snappedIntRectFromEdges):
(WebCore::snapRectToDevicePixels):
(WebCore::snapRectToDevicePixelsWithWritingDirection):
(WebCore::pixelSnappedIntRect): Deleted.
(WebCore::pixelSnappedIntRectFromEdges): Deleted.
(WebCore::pixelSnappedForPainting): Deleted.
(WebCore::directionalPixelSnappedForPainting): Deleted.

  • platform/graphics/RoundedRect.cpp:

(WebCore::RoundedRect::pixelSnappedRoundedRectForPainting):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::computePixelAlignment):

  • platform/text/TextStream.cpp:

(WebCore::TextStream::operator<<):

  • rendering/EllipsisBox.cpp:

(WebCore::EllipsisBox::paintSelection):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRendererHelper::applyFilterEffect):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::paint):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::positionForOffset):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addVisualOverflowFromTheme):
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::blockSelectionGap):
(WebCore::RenderBlock::logicalLeftSelectionGap):
(WebCore::RenderBlock::logicalRightSelectionGap):
(WebCore::RenderBlock::absoluteRects):
(WebCore::RenderBlock::addFocusRingRects):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::clipOutFloatingObjects):
(WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::absoluteRects):
(WebCore::RenderBox::absoluteContentBox):
(WebCore::RenderBox::outlineBoundsForRepaint):
(WebCore::RenderBox::addFocusRingRects):
(WebCore::RenderBox::getBackgroundPaintedExtent):
(WebCore::RenderBox::pushContentsClip):
(WebCore::RenderBox::computeRectForRepaint):

  • rendering/RenderBox.h:

(WebCore::RenderBox::pixelSnappedFrameRect):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
(WebCore::RenderBoxModelObject::paintNinePieceImage):
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
(WebCore::RenderBoxModelObject::paintBoxShadow):

  • rendering/RenderDetailsMarker.cpp:

(WebCore::RenderDetailsMarker::paint):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::paintSnapshotImage):
(WebCore::RenderEmbeddedObject::isReplacementObscured):

  • rendering/RenderFieldset.cpp:

(WebCore::RenderFieldset::paintBoxDecorations):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):

  • rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::paint):
(WebCore::RenderFrameSet::layout):
(WebCore::RenderFrameSet::positionFramesWithFlattening):

  • rendering/RenderHTMLCanvas.cpp:

(WebCore::RenderHTMLCanvas::paintReplaced):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::paintReplaced):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::paintOutlineForLine):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateTransform):
(WebCore::RenderLayer::currentTransform):
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::scrollRectToVisible):
(WebCore::RenderLayer::scrollCornerRect):
(WebCore::RenderLayer::drawPlatformResizerImage):
(WebCore::RenderLayer::paintResizer):
(WebCore::RenderLayer::hitTestOverflowControls):
(WebCore::RenderLayer::clipToRect):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::paintOverflowControlsForFragments):
(WebCore::RenderLayer::hitTestResizerInFragments):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateTransform):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::resetContentsRect):
(WebCore::RenderLayerBacking::updateImageContents):
(WebCore::RenderLayerBacking::backgroundBoxForPainting):
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
(WebCore::RenderLayerBacking::paintContents):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
(WebCore::RenderLayerCompositor::requiresCompositingForFrame):
(WebCore::RenderLayerCompositor::paintContents):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::addFocusRingRects):
(WebCore::RenderListBox::paintScrollbar):
(WebCore::RenderListBox::paintItemBackground):

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::paint):

  • rendering/RenderMeter.cpp:

(WebCore::RenderMeter::updateLogicalWidth):
(WebCore::RenderMeter::computeLogicalHeight):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::paintColumnRules):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::drawLineForBoxSide):
(WebCore::RenderObject::addPDFURLRect):
(WebCore::RenderObject::paintOutline):
(WebCore::RenderObject::absoluteBoundingBoxRect):
(WebCore::RenderObject::repaintUsingContainer):
(WebCore::RenderObject::repaintSlowRepaintObject):
(WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):

  • rendering/RenderProgress.cpp:

(WebCore::RenderProgress::computeLogicalHeight):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::paint):

  • rendering/RenderScrollbarPart.cpp:

(WebCore::RenderScrollbarPart::paintIntoRect):

  • rendering/RenderSearchField.cpp:

(WebCore::RenderSearchField::showPopup):

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::paintSnapshot):

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::paintCollapsedBorders):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::addFocusRingRects):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::paint):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):

  • rendering/RenderTreeAsText.cpp:

(WebCore::write):

  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::videoBox):
(WebCore::RenderVideo::paintReplaced):

  • rendering/RenderView.cpp:

(WebCore::RenderView::repaintViewRectangle):
(WebCore::RenderView::computeRectForRepaint):
(WebCore::RenderView::absoluteRects):
(WebCore::RenderView::selectionBounds):
(WebCore::RenderView::unscaledDocumentRect):

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

(WebCore::RenderWidget::paintContents):
(WebCore::RenderWidget::paint):

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintDebugBorders):

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createRasterShape):

  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::RenderSVGModelObject::outlineBoundsForRepaint):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::selectionRectForTextFragment):

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _dashboardRegions]):
(-[WebView trackedRepaintRects]):

Source/WebKit2:

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::InjectedBundleNodeHandle::renderedImage):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::snapshotNode):

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::buildSelectionHighlight):

8:45 PM Changeset in webkit [173046] by dbates@webkit.org
  • 3 edits
    2 adds in trunk

Scrollbar corner can be drawn outside containing frame
​https://bugs.webkit.org/show_bug.cgi?id=133131
<rdar://problem/16382769>

Reviewed by Simon Fraser.

Source/WebCore:

Merged from Blink (patch by Levi Weintraub):
<​https://src.chromium.org/viewvc/blink?revision=170625&view=revision>

Fixes an issue where the scroll corner may be painted outside the rectangle of
its associated frame by setting a clip rectangle before painting the scroll bar(s)
and scroll corner.

Test: scrollbars/custom-scrollbars-paint-outside-iframe.html

  • platform/ScrollView.cpp:

(WebCore::ScrollView::paint):

LayoutTests:

Add DRT test that was derived from the test included in
<​https://src.chromium.org/viewvc/blink?revision=170625&view=revision>.

  • scrollbars/custom-scrollbars-paint-outside-iframe-expected.html: Added.
  • scrollbars/custom-scrollbars-paint-outside-iframe.html: Added.
8:33 PM Changeset in webkit [173045] by Alan Bujtas
  • 8 edits in trunk/Source

Subpixel layout: Rename FloatPoint/FloatRect device pixel snapping functions.
​https://bugs.webkit.org/show_bug.cgi?id=136314

Reviewed by Simon Fraser.

From *edToDevicePixels() to *PointToDevicePixels() (* = floor/round/ceil)

EnclosedIntRect -> enclosingIntRect() changes functionality for InspectorOverlay painting,
but currently untestable.

Source/WebCore:

  • WebCore.exp.in:
  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::showPaintRect):

  • platform/graphics/FloatPoint.h:

(WebCore::flooredIntSize):
(WebCore::floorPointToDevicePixels):
(WebCore::ceilPointToDevicePixels):
(WebCore::flooredToDevicePixels): Deleted.
(WebCore::ceiledToDevicePixels): Deleted.

  • platform/graphics/FloatRect.cpp:

(WebCore::enclosingRectToDevicePixels):
(WebCore::enclosingRectExtendedToDevicePixels): Deleted. Renamed.
(WebCore::enclosedIntRect): Deleted. Not needed.

  • platform/graphics/FloatRect.h:

Source/WebKit2:

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _updateTapHighlight]):

7:34 PM Changeset in webkit [173044] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

Subpixel layout: Rename LayoutPoint's device pixel snapping functions.
​https://bugs.webkit.org/show_bug.cgi?id=136306

Reviewed by Simon Fraser.

From *edForPainting() to *PointToDevicePixels() (* = floor/round/ceil)

No change in functionality.

  • platform/graphics/LayoutPoint.h:

(WebCore::roundPointToDevicePixels):
(WebCore::floorPointToDevicePixels):
(WebCore::ceilPointToDevicePixels):
(WebCore::roundedForPainting): Deleted.
(WebCore::flooredForPainting): Deleted.
(WebCore::ceiledForPainting): Deleted.

  • platform/graphics/LayoutRect.cpp:

(WebCore::enclosingRectForPainting):

  • platform/graphics/LayoutRect.h:

(WebCore::directionalPixelSnappedForPainting):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGeometry):

6:40 PM Changeset in webkit [173043] by thakis@chromium.org
  • 2 edits in trunk/Source/WTF

Delete a MSVS2010 workaround.
​https://bugs.webkit.org/show_bug.cgi?id=136321

Reviewed by Benjamin Poulain.

Ports ​https://codereview.chromium.org/512923004/ by the talented
Nico Weber from Blink. No intended behavior change.

  • wtf/Vector.h:

(WTF::=):

6:35 PM Changeset in webkit [173042] by benjamin@webkit.org
  • 4 edits in trunk/LayoutTests

Update placeholder-shown-basics.html for GTK

GTK does not support the color input type. This was causing placeholder-shown-basics.html
to fail when testing the non-support of placeholder by input[type=color].

Since this is a minor part of the test, it is more valuable getting the test running everywhere
than skipping it. I removed the subtest causing troubles.

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-08-27

  • fast/css/placeholder-shown-basics-expected.html:
  • fast/css/placeholder-shown-basics.html:
  • platform/gtk/TestExpectations:
6:23 PM Changeset in webkit [173041] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

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

WebKit2 swipe gesture should report the position of the snapshot to the client
​https://bugs.webkit.org/show_bug.cgi?id=136308
rdar://problem/18105827

Reviewed by Simon Fraser.

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

(-[WKView _setDidMoveSwipeSnapshotCallback:]):
Add _setDidMoveSwipeSnapshotCallback, and plumb it to ViewGestureController.
Callers provide a block which is called whenever ViewGestureController moves the
swipe *snapshot* layer around.

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::boundsOfLayerInLayerBackedWindowCoordinates):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::boundsOfLayerInLayerBackedWindowCoordinates):
Expose a Mac-only way to get the bounds of a given CALayer in window coordinates,
respecting transforms. This only works for layer-backed windows because
it uses CA in order to do the mapping respecting transforms.

  • UIProcess/mac/ViewGestureController.h:
  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::~ViewGestureController):
(WebKit::ViewGestureController::setDidMoveSwipeSnapshotCallback):
Do the Block_copy and Block_release dance to keep our copy of the callback block.

(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::handleSwipeGesture):
(WebKit::ViewGestureController::didMoveSwipeSnapshotLayer):
When the swipe snapshot layer moves around, call the block.

6:13 PM Changeset in webkit [173039] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.1.16

New Tag.

5:15 PM Changeset in webkit [173038] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.11-branch/Source

Versioning.

5:04 PM Changeset in webkit [173037] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Subpixel layout: Rename LayoutSize's device pixel snapping functions.
​https://bugs.webkit.org/show_bug.cgi?id=136310

Reviewed by Simon Fraser.

From *edForPainting() to *SizeToDevicePixels() (* = floor/round/ceil)

No change in functionality.

  • platform/graphics/LayoutSize.h:

(WebCore::floorSizeToDevicePixels):
(WebCore::flooredForPainting): Deleted.

  • rendering/style/StyleGeneratedImage.cpp:

(WebCore::StyleGeneratedImage::computeIntrinsicDimensions):

5:03 PM Changeset in webkit [173036] by mrowe@apple.com
  • 2 edits in trunk/Source/WTF

JavaScriptCore is missing debug info for WTF because libWTF.a is stripped.
<​https://webkit.org/b/136320> / <rdar://problem/18148776>

Reviewed by Dan Bernstein.

  • Configurations/WTF.xcconfig: Set STRIP_INSTALLED_PRODUCT = NO for the target

that produces libWTF.a so that the debug symbols will be linked into JavaScriptCore
and end up in its dSYM file.

4:57 PM Changeset in webkit [173035] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.11.3

New tag.

4:29 PM Changeset in webkit [173034] by Brian Burg
  • 4 edits in trunk/Source/WebCore

Enums in ScrollTypes and PlatformWheelEvent should not use uint64_t storage
​https://bugs.webkit.org/show_bug.cgi?id=136318

Reviewed by Simon Fraser.

This regressed in a replay-related patch. Revert back to uint8_t storage size.

  • platform/PlatformWheelEvent.h:
  • platform/ScrollTypes.h:
  • replay/WebInputs.json:
4:24 PM Changeset in webkit [173033] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Speling is hard.

Reviewed by Tim Horton.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::handlePasteGlobalSelection):
(WebCore::EventHandler::updateMouseEventTargetNode):
(WebCore::EventHandler::dispatchMouseEvent):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):

4:20 PM Changeset in webkit [173032] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix the iOS build.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):

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

Ensure that the call frame passed from JIT code via JSC::operationCallEval to JSC::eval always contains the valid scope chain.
​https://bugs.webkit.org/show_bug.cgi?id=136313

Patch by Akos Kiss <​akiss@inf.u-szeged.hu> on 2014-08-27
Reviewed by Michael Saboff.

Do not rely on calling conventions to fill in the CallerFrame component
of the execCallee parameter of JSC::operationCallEval.

  • jit/JITOperations.cpp:
4:01 PM Changeset in webkit [173030] by commit-queue@webkit.org
  • 15 edits in trunk/Websites/webkit.org

webkit.org is inconsistent in uses of "OS X" vs. "Mac OS X"
​https://bugs.webkit.org/show_bug.cgi?id=136315

Patch by Conrad Shultz <Conrad Shultz> on 2014-08-27
Reviewed by Mark Rowe.

  • building/checkout.html:
  • building/debug-mac-uiprocess.html:
  • building/debug.html:
  • building/run.html:
  • building/tools.html:
  • contact.html:
  • index.html:
  • projects/javascript/index.html:
  • projects/svg/index.html:
  • quality/bugwriting.html:
  • quality/crashlogs.html:
  • quality/leakhunting.html:
  • quality/lifecycle.html:
  • quality/testing.html:
4:00 PM Changeset in webkit [173029] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Occasional crashes in commitTransientZoom's transaction completion block
​https://bugs.webkit.org/show_bug.cgi?id=136309
<rdar://problem/17215064>

Reviewed by Dan Bernstein.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
Hold a reference to zoomLayer and the WebPage. It's possible that either
of these things could have gone away by the time the transaction is committed.

3:56 PM Changeset in webkit [173028] by akling@apple.com
  • 3 edits
    2 adds in trunk

Drawing text in an SVG font causes load events to be fired.
<​https://webkit.org/b/136269>
<rdar://problem/15724915>

Source/WebCore:

Don't flush pending load events in Document::implicitClose() for frameless documents.
This is a targeted fix for an issue where parsing SVG fonts during layout would cause
event dispatch to happen in the main document, leading to arbitrary JS execution.

Note that the testcase only works in DRT/WTR, since once the SVG font is in cached
by WebCore, we won't reparse it again. Caches are cleared between tests, so it will
correctly fail if this should regress.

Longer-term, we should clean this up and get rid of the global dispatch entirely.

Reviewed by Simon Fraser.

Test: fast/text/svg-font-trigger-load-event.html

  • dom/Document.cpp:

(WebCore::Document::implicitClose):

LayoutTests:

Reviewed by Simon Fraser.

  • fast/text/svg-font-trigger-load-event-expected.txt: Added.
  • fast/text/svg-font-trigger-load-event.html: Added.
3:35 PM Changeset in webkit [173027] by ap@apple.com
  • 2 edits in trunk/Tools

​https://bugs.webkit.org/show_bug.cgi?id=136317
Dashboard metrics page sometimes shows 0 for best time

Reviewed by Tim Horton.

This also affects regular dashboard display in a good way - iterations that failed
due to infrastructure misbehavior will more reliably show up as yellow and not red.

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

(BuildbotIteration): Added a list of steps that we actually care about. It will need to be
updated if we rename steps.
(BuildbotIteration.prototype.get productive): Now that computation is more involved,
do it once.
(BuildbotIteration.prototype._parseData): Tweak computation of "productive" - builds
that failed e.g. at downloading built archive step are not productive.

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

Deconstruction object pattern node emits the wrong start/end text positions
​https://bugs.webkit.org/show_bug.cgi?id=136304

Patch by Saam Barati <​sbarati@apple.com> on 2014-08-27
Reviewed by Geoffrey Garen.

Object pattern nodes that used the syntactic sugar binding:
'var {foo} = {foo:20}' instead of 'var {foo:foo} = {foo:20}'
would get the wrong text position for variable 'foo'. The position
would be placed on the comma(s)/closing brace instead of the identifier.
This patch fixes this bug by caching the identifier's JSToken before
trying to parse an optional colon.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseVarDeclarationList):
(JSC::Parser<LexerType>::createBindingPattern):
(JSC::Parser<LexerType>::parseDeconstructionPattern):

  • parser/Parser.h:
3:25 PM Changeset in webkit [173025] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Some EventHandler naming cleanup
​https://bugs.webkit.org/show_bug.cgi?id=136303

Reviewed by Beth Dakin.

Rename "mev" variables to "mouseEvent".

No behavior change.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::updateDragAndDrop):
(WebCore::EventHandler::prepareMouseEvent):
(WebCore::EventHandler::sendContextMenuEvent):
(WebCore::EventHandler::passMousePressEventToScrollbar):
(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):

3:25 PM Changeset in webkit [173024] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Some EventHandler naming cleanup
​https://bugs.webkit.org/show_bug.cgi?id=136303

Reviewed by Beth Dakin.

Rename PlatformMouseEvent variables from "mouseEvent" to "platformMouseEvent"
so that a later patch can rename "mev" to "mouseEvent".

0 => nullptr.

No behavior change.

  • page/EventHandler.cpp:

(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::invalidateClick):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::handlePasteGlobalSelection):
(WebCore::EventHandler::updateMouseEventTargetNode):
(WebCore::EventHandler::dispatchMouseEvent):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):

3:20 PM Changeset in webkit [173023] by Beth Dakin
  • 6 edits in trunk/Source/WebCore

Make isScrollableOrRubberbandable() a virtual function on RenderLayerModelObject
​https://bugs.webkit.org/show_bug.cgi?id=136307

Reviewed by Simon Fraser.

Remove extra parentheses.

  • page/FrameView.cpp:

(WebCore::FrameView::isScrollable):

Mark isScrollableOrRubberbandable() as override now that the root implementation
is moving to RenderLayerModelObject. It can also be private now.

  • rendering/RenderBox.h:

isBox() check and cast are no longer necessary.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):

Base implementation should return false.

  • rendering/RenderLayerModelObject.h:

(WebCore::RenderLayerModelObject::isScrollableOrRubberbandable):

Mark as override.

  • rendering/RenderView.h:
3:18 PM Changeset in webkit [173022] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed Build 'fix' after r173018.

The new launcher applications were not getting build when driven
by WebKit.sln. This adds the missing project links and dependencies.

  • WebKit.vcxproj/WebKit.sln: Update to include jscLauncher,

testapiLauncher, and testRegExpLauncher.

3:09 PM Changeset in webkit [173021] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Unreviewed gardening.

  • win/AssembleBuildLogs/AssembleLogs.cmd: Add some missing build logs to the set

of logs assembled into the final build output.

3:04 PM Changeset in webkit [173020] by Brent Fulgham
  • 1 edit
    1 add in trunk/Source/JavaScriptCore

[Win] Build fix after last commit.

Check in new DLLLauncherMain.cpp file.

(enableTerminationOnHeapCorruption):
(getStringValue):
(applePathFromRegistry):
(appleApplicationSupportDirectory):
(copyEnvironmentVariable):
(prependPath):
(fatalError):
(directoryExists):
(modifyPath):
(getLastErrorString):
(wWinMain):

2:48 PM Changeset in webkit [173019] by benjamin@webkit.org
  • 8 edits in trunk/Source/WebKit2

[iOS WK2] Provide a delegate callback to skip Geolocation authorization per page for WebApp
​https://bugs.webkit.org/show_bug.cgi?id=136243

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-08-27
Reviewed by Sam Weinig.

Just ask the UI if the authorization dialog needs to be skipped.

  • UIProcess/API/Cocoa/WKUIDelegate.h:
  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest):

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

(-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]): Deleted.
The code in WKContentView only exists due to legacy. Instead, the PageClient dispatch the request
to the GeolocationProvider directly.

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

(-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:frame:request:view:]):
(-[WKGeolocationProviderIOS geolocationAuthorizationGranted]):
(-[WKGeolocationProviderIOS positionChanged:]):
(-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:frame:request:window:]): Deleted.

2:30 PM Changeset in webkit [173018] by Brent Fulgham
  • 12 edits
    9 copies
    3 adds in trunk/Source/JavaScriptCore

[Win] testapi and testRegExp need to find support libraries.
​https://bugs.webkit.org/show_bug.cgi?id=136008.

Reviewed by Dean Jackson.

Revise the Windows build of jsc, testapi, and testRegExp so that they
find and use the proper runtime support libraries.

These locations vary between the Apple Windows build and WinCairo, and
are generally not in the system PATH environment setting. Consequently,
these applications fail on launch unless the user modifies their
PATH.

This patch revises these tools to work like WinLauncher and DumpRenderTree
so that they run reliably.

  • API/tests/testapi.c:

(dllLauncherEntryPoint): Added.

  • JavaScriptCore.vcxproj/JavaScriptCore.sln: Add new build projects and provide proper dependencies with existing projects.
  • JavaScriptCore.vcxproj/JavaScriptCore.submit.sln: Ditto.
  • JavaScriptCore.vcxproj/jsc/jsc.vcxproj: Switch to build a DLL, rather than an executable.
  • JavaScriptCore.vcxproj/jsc/jscCommon.props: Add shlwapi.lib to the list of libraries needed at link-time, and to use the DLL/Console combination entry point.
  • JavaScriptCore.vcxproj/jsc/jscLauncher.vcxproj: Added.
  • JavaScriptCore.vcxproj/jsc/jscLauncherPostBuild.cmd: Copied from JavaScriptCore.vcxproj/jsc/jscPostBuild.cmd.
  • JavaScriptCore.vcxproj/jsc/jscLauncherPreBuild.cmd: Copied from JavaScriptCore.vcxproj/jsc/jscPreBuild.cmd.
  • JavaScriptCore.vcxproj/jsc/jscLauncherPreLink.cmd: Copied from JavaScriptCore.vcxproj/jsc/jscPreLink.cmd.
  • JavaScriptCore.vcxproj/testRegExp/testRegExp.vcxproj: Switch to build a DLL, rather than an executable.
  • JavaScriptCore.vcxproj/testRegExp/testRegExpCommon.props: Add shlwapi.lib to the list of libraries needed at link-time, and to use the DLL/Console combination entry point.
  • JavaScriptCore.vcxproj/testRegExp/testRegExpLauncher.vcxproj: Added.
  • JavaScriptCore.vcxproj/testRegExp/testRegExpLauncherPostBuild.cmd: Copied from JavaScriptCore.vcxproj/testRegExp/testRegExpPostBuild.cmd.
  • JavaScriptCore.vcxproj/testRegExp/testRegExpLauncherPreBuild.cmd: Copied from JavaScriptCore.vcxproj/testRegExp/testRegExpPreBuild.cmd.
  • JavaScriptCore.vcxproj/testRegExp/testRegExpLauncherPreLink.cmd: Copied from JavaScriptCore.vcxproj/testRegExp/testRegExpPreLink.cmd.
  • JavaScriptCore.vcxproj/testapi/testapi.vcxproj: Switch to build a DLL, rather than an executable.
  • JavaScriptCore.vcxproj/testapi/testapiLauncher.vcxproj: Added.
  • JavaScriptCore.vcxproj/testapi/testapiCommon.props: Add shlwapi.lib to the list of libraries needed at link-time, and to use the DLL/Console combination entry point.
  • JavaScriptCore.vcxproj/testapi/testapiLauncherPostBuild.cmd: Copied from JavaScriptCore.vcxproj/testRegExp/testRegExpPostBuild.cmd.
  • JavaScriptCore.vcxproj/testapi/testapiLauncherPreBuild.cmd: Copied from JavaScriptCore.vcxproj/testRegExp/testRegExpPreBuild.cmd.
  • JavaScriptCore.vcxproj/testapi/testapiLauncherPreLink.cmd: Copied from JavaScriptCore.vcxproj/testRegExp/testRegExpPreLink.cmd.
  • jsc.cpp:

(dllLauncherEntryPoint): Added.

  • testRegExp.cpp:

(dllLauncherEntryPoint): Added.

2:17 PM Changeset in webkit [173017] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

REGRESSION(r172946): Plugin tests asserting on Yosemite debug bot
​https://bugs.webkit.org/show_bug.cgi?id=136301

Reviewed by Alexey Proskuryakov.

Don't pull the priority from the platform request if it is not defined.

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::doUpdateResourceRequest):

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::doUpdateResourceRequest):

1:31 PM Changeset in webkit [173016] by timothy@apple.com
  • 2 edits in trunk/Source/WebCore

Web Inspector: Crash when you open Web Inspector in a private window (due to IndexedDB)
​https://bugs.webkit.org/show_bug.cgi?id=136293

Reviewed by Joseph Pecoraro.

  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore::InspectorIndexedDBAgent::requestDatabaseNames): Null check idbRequest from
IDBFactory::getDatabaseNames, which can return null now after r172603 in private browsing.

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

Web Inspector: Layout issues for popover on not legacy OS
​https://bugs.webkit.org/show_bug.cgi?id=136268

Patch by Saam Barati <​sbarati@apple.com> on 2014-08-27
Reviewed by Joseph Pecoraro.

On the latest OS, popovers invade the title bar's space which will
cause layout issues because the title bar will render above
the popover. Fix this by providing some padding for popovers on
not legacy OSs.

  • UserInterface/Views/Popover.js:
12:53 PM Changeset in webkit [173014] by Beth Dakin
  • 16 edits in trunk/Source

overflow:scroll elements should not latch to the body if the body is
overflow:hidden
​https://bugs.webkit.org/show_bug.cgi?id=136273

Reviewed by Darin Adler.

Source/WebCore:

This patch adds an optional parameter to isScrollable(). The Scrollability
parameter that allows the caller to define what they mean by 'scrollable.' Most
callers are interested in the default value, Scrollability::Scrollable, which
means that there is actually content to scroll to, and a scrollbar that will allow
you to access it. In some cases, such as this latching case, callers want to know
if the FrameView is allowed to rubber-band, which the main frame might be allowed
to do even if there is no content to scroll to. In that case, callers use
Scrollability::ScrollableOrRubberbandable.

  • page/FrameView.cpp:

(WebCore::FrameView::isScrollable):
(WebCore::FrameView::hasScrollableOrRubberbandableAncestor):

New virtual function on ScrollableArea answers whether a ScrollableArea has any
scrollable or rubber-bandable ancestor.

  • page/FrameView.h:
  • platform/ScrollableArea.h:

Events should only be allowed to prevent stretching if there is some ancestor
ScrollableArea that will be able to make use of the event.

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::allowsVerticalStretching):
(WebCore::ScrollAnimatorMac::allowsHorizontalStretching):

New ScrollableArea virtual function.

  • platform/win/PopupMenuWin.h:

New RenderBox isScrollableOrRubberbandable() returns just
canBeScrolledAndHasScrollableArea() for most RenderBox, but will be overridden by
RenderView.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::isScrollableOrRubberbandable):

  • rendering/RenderBox.h:

Recurse up the parent chain to find out if anything is scrollable or just rubber-
bandable.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):

  • rendering/RenderLayer.h:

Call into RenderLayer.

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::hasScrollableOrRubberbandableAncestor):

  • rendering/RenderListBox.h:

Override isScrollableOrRubberbandable() to handle the main frame case where the
main frame is typically allowed to rubber-band even if there is no content to
scroll to.

  • rendering/RenderView.cpp:

(WebCore::RenderView::isScrollableOrRubberbandable):

  • rendering/RenderView.h:

Source/WebKit2:

New ScrollabeArea virtual function.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
12:37 PM Changeset in webkit [173013] by commit-queue@webkit.org
  • 2 edits in trunk/WebKitLibraries

[WinCairo] Link error.
​https://bugs.webkit.org/show_bug.cgi?id=136286

Patch by ​peavo@outlook.com <​peavo@outlook.com> on 2014-08-27
Reviewed by Darin Adler.

Link with the dynamic runtime libraries, since the WinCairo libraries link with these.

  • win/tools/vsprops/common.props:
12:16 PM Changeset in webkit [173012] by benjamin@webkit.org
  • 10 edits
    16 adds in trunk

Updating attributes on HTML elements do not invalidate the style correctly unless the attribute name is lowercase in the stylesheet
​https://bugs.webkit.org/show_bug.cgi?id=136270
Source/WebCore:

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-08-27
Reviewed by Andreas Kling.

In HTML, WebKit treats every attribute name lowercase to implement case-insensitive matching.
When invalidating style, the StyleResolver was ignoring HTML and always using the XML names.

This patch split the names on RuleFeatureSet in two sets: one for XML, one for HTML.
In StyleResolver, the name used depends on the type of the element being updated.

This patch also adds nodeNeedsStyleRecalc() to Internals to test the optimization and various cases
of style update.

Tests: fast/css/attribute-for-content-property-style-update-html.html

fast/css/attribute-for-content-property-style-update-xhtml.xhtml
fast/css/attribute-style-invalidation-optimization-html.html
fast/css/attribute-style-invalidation-optimization-xhtml.xhtml
fast/css/attribute-style-update-html.html
fast/selectors/attribute-style-update-html.html
fast/selectors/attribute-style-update-svg-in-html.html
fast/selectors/attribute-style-update-xhtml.xhtml

  • css/RuleFeature.cpp:

(WebCore::RuleFeatureSet::collectFeaturesFromSelector):
(WebCore::RuleFeatureSet::add):
(WebCore::RuleFeatureSet::clear):

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

(WebCore::StyleResolver::applyProperty):

  • css/StyleResolver.h:

(WebCore::StyleResolver::hasSelectorForAttribute):

  • dom/Element.cpp:

(WebCore::Element::willModifyAttribute):

  • testing/Internals.cpp:

(WebCore::Internals::address):
(WebCore::Internals::nodeNeedsStyleRecalc):

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

LayoutTests:

rdar://problem/16190617

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-08-27
Reviewed by Andreas Kling.

The test coverage for attribute update was abysmal. This adds the basic cases for HTML and XML.

  • fast/css/attribute-for-content-property-style-update-html-expected.html: Added.
  • fast/css/attribute-for-content-property-style-update-html.html: Added.
  • fast/css/attribute-for-content-property-style-update-xhtml-expected.html: Added.
  • fast/css/attribute-for-content-property-style-update-xhtml.xhtml: Added.
  • fast/css/attribute-style-invalidation-optimization-html-expected.txt: Added.
  • fast/css/attribute-style-invalidation-optimization-html.html: Added.
  • fast/css/attribute-style-invalidation-optimization-xhtml-expected.txt: Added.
  • fast/css/attribute-style-invalidation-optimization-xhtml.xhtml: Added.
  • fast/css/attribute-style-update-html-expected.html: Added.
  • fast/css/attribute-style-update-html.html: Added.
  • fast/selectors/attribute-style-update-html-expected.txt: Added.
  • fast/selectors/attribute-style-update-html.html: Added.
  • fast/selectors/attribute-style-update-svg-in-html-expected.txt: Added.
  • fast/selectors/attribute-style-update-svg-in-html.html: Added.
  • fast/selectors/attribute-style-update-xhtml-expected.txt: Added.
  • fast/selectors/attribute-style-update-xhtml.xhtml: Added.
12:15 PM Changeset in webkit [173011] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Update the CSS Grammar selector names to get closer to the latest terminology
​https://bugs.webkit.org/show_bug.cgi?id=136277

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-08-27
Reviewed by Andreas Kling.

CSS Selector Level 4 gives useful definitions for various parts of a selector
(see ​http://dev.w3.org/csswg/selectors4/#structure). This patch updates our names to be closer
to that spec.

Stricto sensu, our definition of "simple selector list" is wrong. I did not attempt to fix this
because updates of CSS Selector Level 4 and WebVTT will eventually make that whole concept useless.

  • css/CSSGrammar.y.in:
12:14 PM Changeset in webkit [173010] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION: Web Inspector: Legacy toolbar has two different colors in unfocused windowed mode
​https://bugs.webkit.org/show_bug.cgi?id=136289

Reviewed by Darin Adler.

  • UserInterface/Views/Toolbar.css:

(body.mac-platform.legacy .toolbar): Override the background-color as transparent. Non-legacy
uses a solid color instead of a gradient for window-inactive.

11:55 AM Changeset in webkit [173009] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.11-branch/Source/WebKit2

Merged r171782. <rdar://problem/17760073>

10:12 AM Changeset in webkit [173008] by ap@apple.com
  • 5 edits
    10 adds in trunk/Tools

build.webkit.org/dashboard: Add a metrics page with overall bot performance results
​https://bugs.webkit.org/show_bug.cgi?id=136196

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/External: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/External/daterangepicker.css: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/External/jquery-1.11.1.min.js: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/External/jquery.daterangepicker.js: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/External/moment.min.js: Added.

A date range picker control with dependencies.
There are a few modifications from upstream at <​https://github.com/longbill/jquery-date-range-picker>:

  • Fixed a bug where selected dates were not at midnight the first time a range was chosen

(it didn't happen again upon re-opening the picker).

  • Made made style tweaks to match Dashboard UI.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js:

Don't create objects that are not needed by the given app, and thus are not loaded at all.

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

Math to count all the things. Only supports open source tree and trunk at the moment,
but written with internal tree and branches in mind.

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

Like dashboard Main.js, draws the UI and creates all necessary objects.

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

A view for table cells.

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

(Settings.prototype.toggleSettingsDisplay): Added an event for entering settings.
Metrics page has individual platforms initially scrolled away form the view, so
it needs to scroll down to reveal what's being configured.

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

Added Array.prototype.average and Array.prototype.median.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

Made gear icon fixed instead of absolute, so that it's visible on metrics page when
in settings mode.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Metrics.css:

Additional style rules.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/metrics.html:

The metrics page.

10:02 AM Changeset in webkit [173007] by mihnea@adobe.com
  • 1 edit
    10 moves
    1 add in trunk/LayoutTests

[CSS Regions] Move generated content tests into fast/regions/generated-content
​https://bugs.webkit.org/show_bug.cgi?id=136288

Reviewed by Andrei Bucur.

Move related tests into generated-content folder and adjust paths.

  • fast/regions/generated-content/firstletter-inside-flowthread-expected.html: Renamed from LayoutTests/fast/regions/firstletter-inside-flowthread-expected.html.
  • fast/regions/generated-content/firstletter-inside-flowthread.html: Renamed from LayoutTests/fast/regions/firstletter-inside-flowthread.html.
  • fast/regions/generated-content/pseudo-after-content-node-expected.txt: Renamed from LayoutTests/fast/regions/pseudo-after-content-node-expected.txt.
  • fast/regions/generated-content/pseudo-after-content-node.html: Renamed from LayoutTests/fast/regions/pseudo-after-content-node.html.
  • fast/regions/generated-content/pseudo-before-content-node-expected.txt: Renamed from LayoutTests/fast/regions/pseudo-before-content-node-expected.txt.
  • fast/regions/generated-content/pseudo-before-content-node.html: Renamed from LayoutTests/fast/regions/pseudo-before-content-node.html.
  • fast/regions/generated-content/pseudo-first-letter-content-node-expected.txt: Renamed from LayoutTests/fast/regions/pseudo-first-letter-content-node-expected.txt.
  • fast/regions/generated-content/pseudo-first-letter-content-node.html: Renamed from LayoutTests/fast/regions/pseudo-first-letter-content-node.html.
  • fast/regions/generated-content/pseudo-first-line-content-node-expected.txt: Renamed from LayoutTests/fast/regions/pseudo-first-line-content-node-expected.txt.
  • fast/regions/generated-content/pseudo-first-line-content-node.html: Renamed from LayoutTests/fast/regions/pseudo-first-line-content-node.html.
9:04 AM Changeset in webkit [173006] by Julien Brianceau
  • 2 edits in trunk/Source/JavaScriptCore

Take advantage of 3 parameters or32() calls
​https://bugs.webkit.org/show_bug.cgi?id=136287

Reviewed by Michael Saboff.

For specific architectures (arm and mips for instance), or32() calls
with 3 parameters are likely to produce a single instruction.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::branchIsOther):
(JSC::DFG::SpeculativeJIT::branchNotOther):

8:49 AM Changeset in webkit [173005] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.11-branch/Source/WebKit2

Merged r172989. <rdar://problem/18016794>

6:20 AM Changeset in webkit [173004] by Michał Pakuła vel Rutka
  • 2 edits
    5 adds in trunk/LayoutTests

Unreviewed EFL gardening

  • platform/efl/TestExpectations: Add test expectations for failing and crashin tests.
  • platform/efl/fast/css/viewport-units-dynamic-expected.txt: Added after r171567.
  • platform/efl/fast/multicol/pagination/RightToLeft-max-width-expected.txt: Added after r171609.
  • platform/efl/fast/ruby/bopomofo-expected.txt: Added after r172874.
  • platform/efl/fast/ruby/bopomofo-letter-spacing-expected.txt: Ditto.
  • platform/efl/fast/ruby/bopomofo-rl-expected.txt: Added after r172861.
6:10 AM Changeset in webkit [173003] by llango.u-szeged@partner.samsung.com
  • 2 edits in trunk/Websites/webkit.org

​http://webkit.org/coding/coding-style.html should mention check-webkit-style.
​https://bugs.webkit.org/show_bug.cgi?id=31993

Reviewed by Darin Adler.

Based on patch by Peter Szanka <​h868064@stud.u-szeged.hu>

  • coding/contributing.html:

Extend the description of code style guidelines with check-webkit-style in the contributing.html.

5:40 AM Changeset in webkit [173002] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Add expectations for flaky svg layout test.
​https://bugs.webkit.org/show_bug.cgi?id=130592

Unreviewed EFL gardening.

Patch by Andrzej Badowski <​a.badowski@samsung.com> on 2014-08-27

  • platform/efl/TestExpectations:
1:31 AM Changeset in webkit [173001] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

Remove networkinfo watch category in watchlist
​https://bugs.webkit.org/show_bug.cgi?id=136279

Reviewed by Alexey Proskuryakov.

Network info was removed. So, it is not needed anymore.

  • Scripts/webkitpy/common/config/watchlist:
1:04 AM Changeset in webkit [173000] by k.czech@samsung.com
  • 5 edits
    22 copies
    1 add
    1 delete in trunk

[EFL] Share fast/speechsynthesis/ with other ports
​https://bugs.webkit.org/show_bug.cgi?id=136224

Reviewed by Chris Fleizach.

.:

Enable WebSpeech for EFL.

  • Source/cmake/OptionsEfl.cmake:

LayoutTests:

Share fast/speechsynthesis tests with EFL after r172956.
Skipped them for GTK and Win.

  • fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt.
  • fast/speechsynthesis/speech-synthesis-boundary-events.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events.html.
  • fast/speechsynthesis/speech-synthesis-cancel-crash-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-crash-expected.txt.
  • fast/speechsynthesis/speech-synthesis-cancel-crash.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-crash.html.
  • fast/speechsynthesis/speech-synthesis-cancel-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-expected.txt.
  • fast/speechsynthesis/speech-synthesis-cancel.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel.html.
  • fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt.
  • fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html.
  • fast/speechsynthesis/speech-synthesis-elapsed-time-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-elapsed-time-expected.txt.
  • fast/speechsynthesis/speech-synthesis-elapsed-time.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-elapsed-time.html.
  • fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt.
  • fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html.
  • fast/speechsynthesis/speech-synthesis-pause-resume-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume-expected.txt.
  • fast/speechsynthesis/speech-synthesis-pause-resume.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume.html.
  • fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt.
  • fast/speechsynthesis/speech-synthesis-speak-empty-string.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string.html.
  • fast/speechsynthesis/speech-synthesis-speak-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-expected.txt.
  • fast/speechsynthesis/speech-synthesis-speak.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak.html.
  • fast/speechsynthesis/speech-synthesis-utterance-uses-voice-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice-expected.txt.
  • fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html.
  • fast/speechsynthesis/speech-synthesis-voices-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-voices-expected.txt.
  • fast/speechsynthesis/speech-synthesis-voices.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-voices.html.
  • platform/gtk/TestExpectations: Skipped for GTK
  • platform/win/TestExpectations: Skipped for Win
12:56 AM Changeset in webkit [172999] by gyuyoung.kim@samsung.com
  • 4 edits in trunk

[EFL] Unskip compositing test
​https://bugs.webkit.org/show_bug.cgi?id=136151

Reviewed by Csaba Osztrogonác.

Source/WebCore:

  • rendering/RenderLayerBacking.cpp: Set true to setContentsOpaque() to support compositing test.

(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):

LayoutTests:

  • platform/efl/TestExpectations: Unskip compositing tests.

Aug 26, 2014:

11:58 PM Changeset in webkit [172998] by ap@apple.com
  • 4 edits in trunk/Tools

build.webkit.org/dashboard: Poor performance when there are broken builds at initial load time
​https://bugs.webkit.org/show_bug.cgi?id=136281

Reviewed by Tim Horton.

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

Track and expose whether the itertion is being loaded. Made update() a no-op if
the iteration is already being loaded.

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

(BuildbotBuilderQueueView.prototype.update.appendBuilderQueueStatus): Instead of
loading everything at once, ask the queue to load a little more. We can always repeat
if we still don't have enough data.

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

(BuildbotQueue.prototype.loadMoreHistoricalIterations): Added a function that loads
10 more iterations intelligently.

11:56 PM Changeset in webkit [172997] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard raises an exception when Trac RSS fails to load
​https://bugs.webkit.org/show_bug.cgi?id=136283

Reviewed by Tim Horton.

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

Don't.

11:43 PM Changeset in webkit [172996] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard raises an exception after a hidden platform is removed
​https://bugs.webkit.org/show_bug.cgi?id=136282

Reviewed by Tim Horton.

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

(updateHiddenPlatforms): Check that the platform is still valid.

8:53 PM Changeset in webkit [172995] by vivek.vg@samsung.com
  • 6 edits in trunk

Canvas direction should reflect change in dir attribute and also across save/restore operations
​https://bugs.webkit.org/show_bug.cgi?id=136098

Reviewed by Darin Adler.

Source/WebCore:

Changed State.m_direction type from TextDirection to Direction enum to accomodate 'inherit'
as a separate value. Modified the getter to compute the 'live' value for the direction attribute.
Removed explicit passing of direction to CanvasRenderingContext2D::State constructor.

Updated existing canvas-direction.html with additional cases to reflect this change.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
(WebCore::CanvasRenderingContext2D::reset):
(WebCore::CanvasRenderingContext2D::State::State):
(WebCore::CanvasRenderingContext2D::toTextDirection):
(WebCore::CanvasRenderingContext2D::direction):
(WebCore::CanvasRenderingContext2D::setDirection):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
(WebCore::inheritedDirection): Deleted.

  • html/canvas/CanvasRenderingContext2D.h:

LayoutTests:

  • fast/canvas/canvas-direction-expected.txt:
  • fast/canvas/canvas-direction.html:
8:17 PM Changeset in webkit [172994] by mlilek@apple.com
  • 5 edits
    1 copy in trunk

Add WebKit SPI to control the navigator.standalone property
​https://bugs.webkit.org/show_bug.cgi?id=136189

Reviewed by Andy Estes.

Source/WebKit2:

Add a property to WKPreferences that allows toggling this setting.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _isStandalone]):
(-[WKPreferences _setStandalone:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Tools:

Add API test for WKPreferences

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/Preferences.mm:

(TEST):

7:05 PM Changeset in webkit [172993] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] FileApi Layout Tests passed in latest build.
​https://bugs.webkit.org/show_bug.cgi?id=136250

Unreviewed gardening.

FileApi Layout Tests passed in latest build 172953.

Patch by Shivakumar JM <​shiva.jm@samsung.com> on 2014-08-26

  • platform/efl/TestExpectations:
6:36 PM Changeset in webkit [172992] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

Remove ENABLE_DRT environment variable to enable SHARED_CORE
​https://bugs.webkit.org/show_bug.cgi?id=136205

Reviewed by Andrei Bucur.

EFL port doesn't need to enable SHARED_CORE since r172894. Thus, we don't need to
use ENABLE_DRT enviroment variable, which enables SHARED_CORE.

  • Scripts/webkitdirs.pm:

(generateBuildSystemFromCMakeProject):

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

Web Inspector: Fix CodeMirrorTokenTrackingController::_startTracking assertion
​https://bugs.webkit.org/show_bug.cgi?id=136160

Patch by Saam Barati <​sbarati@apple.com> on 2014-08-26
Reviewed by Joseph Pecoraro.

Check if '_tracking' is already true before calling '_startTracking'
to prevent the assertion from always firing.

  • UserInterface/Controllers/CodeMirrorTokenTrackingController.js:

(WebInspector.CodeMirrorTokenTrackingController.prototype._mouseEntered):

5:34 PM Changeset in webkit [172990] by dburkart@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merge r172988. <rdar://problem/17923694>

5:19 PM Changeset in webkit [172989] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

FileReader cannot read files selected with <input type="file"> in iOS 8
​https://bugs.webkit.org/show_bug.cgi?id=136117

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-26
Reviewed by Alexey Proskuryakov.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:

Correct an overzealous deny that was accidentally denying all
com.apple.app-sandbox.read extensions instead of just the ones
in Application bundles it was trying to deny.

5:16 PM Changeset in webkit [172988] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Crashes in ViewGestureController::beginSwipeGesture when swiping in rapid succession
​https://bugs.webkit.org/show_bug.cgi?id=136271
<rdar://problem/17923694>

Reviewed by Simon Fraser.

It was possible to get into trackSwipeGesture while another swipe was still
occurring, because the guard against this happening depended on m_pendingSwipeReason
never being set while a swipe was occurring. However, if the very first scroll event
had sufficient magnitude, we would still set m_pendingSwipeReason to InsufficientMagnitude,
and then *never clear it*, leading to a path around the guard against multiple live swipes.
This in turn allowed stale layers in m_liveSwipeLayers, which lead to the crash.

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::handleScrollWheelEvent):
Don't unset m_pendingSwipeReason before calling trackSwipeGesture;
trackSwipeGesture will do it itself.

Don't set m_pendingSwipeReason to InsufficientMagnitude
if the event actually *has* sufficient magnitude to start a swipe.

(WebKit::ViewGestureController::trackSwipeGesture):
Assert that we don't have an active gesture while starting a swipe.

Reset m_pendingSwipeReason, because the swipe is no longer pending!

5:03 PM Changeset in webkit [172987] by dburkart@apple.com
  • 6 edits in branches/safari-600.1-branch

Merge r172982. <rdar://problem/18141695>

5:01 PM Changeset in webkit [172986] by dburkart@apple.com
  • 52 edits in branches/safari-600.1-branch

Merge r172977. <rdar://problem/18141703>

5:01 PM Changeset in webkit [172985] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Minor style tweak on StyleResolveTree
​https://bugs.webkit.org/show_bug.cgi?id=136233

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-08-26
Reviewed by Sam Weinig.

  • style/StyleResolveTree.cpp:

(WebCore::Style::resolveTree):
Clang likely optimized it away, but I find that explicit style cleaner.

4:59 PM Changeset in webkit [172984] by dburkart@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merge r172969. <rdar://problem/17435564>

4:57 PM Changeset in webkit [172983] by dburkart@apple.com
  • 11 edits in branches/safari-600.1-branch/Source/WebKit2

Merge r172966. <rdar://problem/18107826>

4:45 PM Changeset in webkit [172982] by Brent Fulgham
  • 6 edits in trunk

[Win] Version stamp should include package-level version
​https://bugs.webkit.org/show_bug.cgi?id=136266
<rdar://problem/18134138>

Reviewed by David Kilzer.

Tools:

  • Scripts/webkitperl/auto-version_unittest/autoVersionTests.pl: Add

tests for the full 3+ digit version.

  • Scripts/webkitperl/auto-version_unittest/versionStampTests.pl:

Confirm that the final output DLL uses the 3+ digit version.

WebKitLibraries:

  • win/tools/scripts/auto-version.pl: Retain the full major build

version in addition to the three-digit value we use internally.

  • win/tools/scripts/version-stamp.pl: Find and use the full 3+ digit

major build version when stamping the final output file.

4:32 PM Changeset in webkit [172981] by clopez@igalia.com
  • 2 edits
    3 adds
    2 deletes in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Report and mark new failures after r136159, r172826 and r172835.
  • platform/gtk/fast/ruby/bopomofo-expected.txt: Added. Add baseline after r172861 and r172874.
  • platform/gtk/fast/ruby/bopomofo-letter-spacing-expected.txt: Added. Add baseline after r172861 and r172874.
  • platform/gtk/fast/ruby/bopomofo-rl-expected.txt: Added. Add baseline after r172861 and r172874.
  • platform/gtk/fast/ruby/ruby-base-merge-block-children-crash-2-expected.png: Removed. Rebaseline (use default baseline) after r172835 and r172847.
  • platform/gtk/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Removed. Rebaseline (use default baseline) after r172835 and r172847.
3:38 PM Changeset in webkit [172980] by Brian Burg
  • 11 edits
    1 copy
    1 add in trunk/Source

Web Inspector: put feature flags for Inspector domains in the protocol specification
​https://bugs.webkit.org/show_bug.cgi?id=136027

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Remove the hardcoded map of domains to feature guards, and instead parse it from the specification.

Test: inspector/scripts/tests/generate-domains-with-feature-guards.json

  • inspector/scripts/codegen/generator.py:

(Generator.wrap_with_guard_for_domain):

  • inspector/scripts/codegen/models.py:

(Protocol.parse_domain):
(Domain.init):
(Domains):

  • inspector/scripts/tests/generate-domains-with-feature-guards.json: Added.
  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:

Source/WebCore:

Add 'featureGuard' settings to wrap domains with ENABLE macros.

No new tests. No behavior was changed.

  • inspector/protocol/Database.json:
  • inspector/protocol/IndexedDB.json:
  • inspector/protocol/Replay.json:
3:36 PM Changeset in webkit [172979] by aestes@apple.com
  • 8 edits in trunk/Source

[Cocoa] Some projects are incorrectly installed to $BUILT_PRODUCTS_DIR
​https://bugs.webkit.org/show_bug.cgi?id=136267

Reviewed by Dan Bernstein.

INSTALL_PATH was set to $BUILT_PRODUCTS_DIR for engineering configurations in r20225 as part of a build fix.
Not only is this no longer necessary to build, but it causes built products to be incorrectly installed in
engineering configurations.

Remove the setting of INSTALL_PATH from the pbxproj file so that the value specified in the xcconfig files is
used instead.

Source/JavaScriptCore:

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit2:

  • WebKit2.xcodeproj/project.pbxproj:
3:08 PM Changeset in webkit [172978] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[Win] 64-bit JavaScriptCore crashes on launch
​https://bugs.webkit.org/show_bug.cgi?id=136241

Reviewed by Mark Lam.

  • llint/LowLevelInterpreter.asm:

(vmEntryRecord): X86_64_WIN doesn't use "a0" (rax) for the first argument, it uses
"t2" (rcx). Changed to get the input parameter using the correct register.

2:39 PM Changeset in webkit [172977] by Brent Fulgham
  • 52 edits in trunk

[Win] WebKit IDL incorrectly passes HWND as OLE_HANDLE
​https://bugs.webkit.org/show_bug.cgi?id=136258
<rdar://problem/18134138>

Reviewed by Tim Horton.

Avoid 32/64-bit truncation by preventing 64-bit HWND (and other)
values from passing through the 32-bit OLE_HANDLE data type.

Source/WebCore:

  • platform/win/WindowMessageBroadcaster.cpp:

(WebCore::WindowMessageBroadcaster::addListener):
(WebCore::WindowMessageBroadcaster::removeListener):
(WebCore::WindowMessageBroadcaster::destroy):
(WebCore::WindowMessageBroadcaster::unsubclassWindow):
(WebCore::WindowMessageBroadcaster::SubclassedWndProc):

Source/WebKit/win:

  • Interfaces/IWebDocument.idl:
  • Interfaces/IWebEmbeddedView.idl:
  • Interfaces/IWebErrorPrivate.idl:
  • Interfaces/IWebFrameLoadDelegate.idl:
  • Interfaces/IWebFramePrivate.idl:
  • Interfaces/IWebHistoryItem.idl:
  • Interfaces/IWebIconDatabase.idl:
  • Interfaces/IWebMutableURLRequestPrivate.idl:
  • Interfaces/IWebUIDelegate.idl:
  • Interfaces/IWebUIDelegatePrivate.idl:
  • Interfaces/IWebURLResponsePrivate.idl:
  • Interfaces/IWebView.idl:
  • Interfaces/IWebViewPrivate.idl:
  • WebCoreSupport/EmbeddedWidget.cpp:

(EmbeddedWidget::createWindow):

  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::rootViewToScreen):
(WebChromeClient::screenToRootView):
(WebChromeClient::platformPageClient):
(WebChromeClient::runOpenPanel):
(WebChromeClient::setCursor):

  • WebCoreSupport/WebContextMenuClient.cpp:

(WebContextMenuClient::customizeMenu):

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::createPlugin):

  • WebCoreSupport/WebInspectorClient.cpp:

(WebInspectorClient::openInspectorFrontend):
(WebInspectorClient::highlight):
(WebInspectorFrontendClient::setAttachedWindowHeight):
(WebInspectorFrontendClient::closeWindowWithoutNotifications):
(WebInspectorFrontendClient::showWindowWithoutNotifications):

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorDelegate.cpp:
  • WebCoreSupport/WebInspectorDelegate.h:

(WebInspectorDelegate::webViewFirstResponder):
(WebInspectorDelegate::makeFirstResponder):
(WebInspectorDelegate::contextMenuItemsForElement):
(WebInspectorDelegate::trackCustomPopupMenu):
(WebInspectorDelegate::addCustomMenuDrawingData):
(WebInspectorDelegate::cleanUpCustomMenuDrawingData):
(WebInspectorDelegate::drawHeaderInRect):
(WebInspectorDelegate::drawFooterInRect):

  • WebDropSource.cpp:

(generateMouseEvent):
(WebDropSource::GiveFeedback):

  • WebError.cpp:

(WebError::sslPeerCertificate):

  • WebError.h:
  • WebFrame.cpp:

(WebFrame::paintDocumentRectToContext):
(WebFrame::paintScrollViewRectToContextAtPoint):
(WebFrame::createSubframeWithOwnerElement):
(WebFrame::initWithWebView):
(WebFrame::drawHeader):
(WebFrame::drawFooter):

  • WebFrame.h:
  • WebHistoryItem.cpp:

(WebHistoryItem::icon):

  • WebHistoryItem.h:
  • WebIconDatabase.cpp:

(WebIconDatabase::iconForURL):
(WebIconDatabase::defaultIconWithSize):

  • WebIconDatabase.h:
  • WebMutableURLRequest.cpp:

(WebMutableURLRequest::setClientCertificate):

  • WebMutableURLRequest.h:
  • WebNodeHighlight.cpp:

(WebNodeHighlight::WebNodeHighlight):

  • WebURLResponse.cpp:

(WebURLResponse::sslPeerCertificate):

  • WebURLResponse.h:
  • WebView.cpp:

(WebView::paintIntoBackingStore):
(WebView::handleContextMenuEvent):
(WebView::onInitMenuPopup):
(WebView::onUninitMenuPopup):
(WebView::WebViewWndProc):
(WebView::dispatchDidReceiveIconFromWebFrame):
(WebView::setHostWindow):
(WebView::hostWindow):
(WebView::generateSelectionImage):
(WebView::mainFrameIcon):
(WebView::viewWindow):
(WebView::paintDocumentRectToContext):
(WebView::paintScrollViewRectToContextAtPoint):
(WebView::backingStore):
(WebView::fullScreenClientSetParentWindow):

  • WebView.h:

Tools:

  • DumpRenderTree/win/AccessibilityControllerWin.cpp:

(AccessibilityController::rootElement):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebViewToConsistentStateBeforeTesting):
(runTest):
(createWebViewAndOffscreenWindow):

  • DumpRenderTree/win/FrameLoadDelegate.h:

(FrameLoadDelegate::didReceiveIcon):

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::setWindowIsKey):

  • DumpRenderTree/win/UIDelegate.cpp:

(UIDelegate::trackCustomPopupMenu):
(UIDelegate::drawHeaderInRect):
(UIDelegate::drawFooterInRect):
(UIDelegate::webViewClose):
(UIDelegate::webViewFocus):
(UIDelegate::webViewSetCursor):
(UIDelegate::drawBackground):

  • DumpRenderTree/win/UIDelegate.h:

(UIDelegate::webViewFirstResponder):
(UIDelegate::makeFirstResponder):
(UIDelegate::contextMenuItemsForElement):
(UIDelegate::addCustomMenuDrawingData):
(UIDelegate::cleanUpCustomMenuDrawingData):
(UIDelegate::webViewLostFocus):

  • TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp:

(TestWebKitAPI::WebViewDestructionWithHostWindow::SetUp):

  • WinLauncher/PrintWebUIDelegate.cpp:

(PrintWebUIDelegate::drawHeaderInRect):
(PrintWebUIDelegate::drawFooterInRect):

  • WinLauncher/PrintWebUIDelegate.h:

(PrintWebUIDelegate::webViewFirstResponder):
(PrintWebUIDelegate::makeFirstResponder):
(PrintWebUIDelegate::contextMenuItemsForElement):
(PrintWebUIDelegate::trackCustomPopupMenu):
(PrintWebUIDelegate::addCustomMenuDrawingData):
(PrintWebUIDelegate::cleanUpCustomMenuDrawingData):

  • WinLauncher/WinLauncher.cpp:

(WinLauncher::prepareViews):

  • WinLauncher/WinLauncherWebHost.h:

(WinLauncherWebHost::didReceiveIcon):

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

TypeSet caches structureIDs even after the corresponding Structure could be GCed
​https://bugs.webkit.org/show_bug.cgi?id=136178

Patch by Saam Barati <​sbarati@apple.com> on 2014-08-26
Reviewed by Geoffrey Garen.

Currently, TypeSet will never remove StructureIDs from its cache,
even after the corresponding Structures could be garbage collected.
Now, when the Garbage Collector collects, and type profiling is
enabled, the Garbage Collector will invalidate all TypeSet caches.

  • heap/Heap.cpp:

(JSC::Heap::collect):

  • runtime/TypeSet.cpp:

(JSC::TypeSet::addTypeInformation):
(JSC::TypeSet::invalidateCache):

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

(JSC::VM::invalidateTypeSetCache):

  • runtime/VM.h:
2:06 PM Changeset in webkit [172975] by mjs@apple.com
  • 19 edits
    2 adds in trunk/Source

Replace use of WKCopyCFLocalizationPreferredName with NSLocale public API
​https://bugs.webkit.org/show_bug.cgi?id=136082

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • platform/mac/Language.mm:

(WebCore::httpStyleLanguageCode): Replace use of WKCopyCFLocalizationPreferredName
with new WebCoreNSStringExtras helper.

  • platform/mac/WebCoreNSStringExtras.mm: Replacements for the aspects of

WKCopyCFLocalizationPreferredName.
(preferredBundleLocalizationName): New helper - most preferred localization available
in the main bundle, canonicalized the way we like it.
(canonicalLocalizationName): Convert a lcalization name to a string with language and
country code, using default if necessary (e.g. "en" maps to "en_US").

  • WebCore.order: Remove mention of WKCopyCFLocalizationPreferredName.
  • WebCore.exp.in: ditto; also export preferredBundleLocalizationName for WebKit(2).
  • platform/ios/WebCoreSystemInterfaceIOS.mm: ditto
  • platform/mac/WebCoreSystemInterface.h: ditto
  • platform/mac/WebCoreSystemInterface.mm: ditto
  • platform/spi/cf: Added.
  • platform/spi/cf/CFLocaleSPI.h: Added. Declare

CFLocaleGetLanguageRegionEncodingForLocaleIdentifier.

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::spawnPluginHost): Get current
localization name using WebCore helper instead of SPI.

  • Plugins/WebBasePluginPackage.mm: Fixed the include style for this

file.
(-[WebBasePluginPackage getPluginInfoFromPLists]): Get current
localization name using WebCore helper instead of SPI.
(+[WebBasePluginPackage preferredLocalizationName]): Deleted. This
helper no longer pulls its weight.

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Remove mention of
WKCopyCFLocalizationPreferredName.

  • WebKit.order: ditto

Source/WebKit2:

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToService): Remove accidental leftover retrieval
of the localization.
(WebKit::createProcess): Get current localization name from
CFBundle API instead of using SPI.

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Remove mention of WKCopyCFLocalizationPreferredName

  • mac/WebKit2.order: ditto
1:37 PM Changeset in webkit [172974] by dburkart@apple.com
  • 2 edits in trunk/Source/WebKit2

The UNUSED_PARAM macros in ServicesOverlayController.mm are causing ASan build failures.
​https://bugs.webkit.org/show_bug.cgi?id=136262

Reviewed by David Kilzer.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::selectionRectsDidChange):
(WebKit::ServicesOverlayController::selectedTelephoneNumberRangesChanged):

1:12 PM Changeset in webkit [172973] by zoltan@webkit.org
  • 5 edits in trunk

[CSS Shapes] Positioned polygon reftests failing
​https://bugs.webkit.org/show_bug.cgi?id=135925

Reviewed by David Hyatt.

Source/WebCore:

We didn't respect the shape-margin before a positioned polygon, since we checked
the shape-margin for only 1 vertex for a polygon edge. This patch fixes the behavior,
removes the tests from the skipped list and updates 1 test, which was incorrect.

Updated existing test and removed tests from skipped list.

  • rendering/shapes/PolygonShape.cpp:

(WebCore::clippedCircleXRange):
(WebCore::PolygonShape::getExcludedInterval):

LayoutTests:

  • TestExpectations: Remove passing tests.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html: Fix test behavior.
1:11 PM Changeset in webkit [172972] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[EFL] URTBF after r172966.

  • UIProcess/efl/WebViewEfl.h:
12:34 PM Changeset in webkit [172971] by clopez@igalia.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION(r172966) [GTK] Build broken.

Unreviewed build fix after r172966.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):

  • UIProcess/API/gtk/PageClientImpl.h:
12:29 PM Changeset in webkit [172970] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

Subpixel layout: Remove float to LayoutUnit ceil/round function wrappers.
​https://bugs.webkit.org/show_bug.cgi?id=136253

Reviewed by Simon Fraser.

These functions wrap LayoutUnit::fromFloatCeil/fromFloatRound() functions to ceil/round float to LayoutUnit.
Their usage is limited and can easily be confused with the snapping functions (snap to css/device pixels).

No change in functionality.

  • platform/LayoutUnit.h:

(WebCore::roundedLayoutUnit): Deleted. : Callers use the more explicit LayoutUnit::fromFloatRound() function.
(WebCore::ceiledLayoutUnit): Deleted. : Callers use the more explicit LayoutUnit::fromFloatCeil() function.

  • rendering/RenderBlock.cpp:

(WebCore::updatePreferredWidth):
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
(WebCore::adjustFloatForSubPixelLayout): Deleted.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::positionLineBox):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::resolveFlexibleLengths):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::offsetForInFlowPositionedInline):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):

12:00 PM Changeset in webkit [172969] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Ensure that layout is up-to-date before hit testing
​https://bugs.webkit.org/show_bug.cgi?id=136242
rdar://problem/17435564

Reviewed by Tim Horton.

Various code paths can call into RenderView::hitTest() but fail to
ensure that layout is up-to-date. This is a conservative change that
fixes the issue for callers of EventHandler::hitTestResultAtPoint(),
including WebPage::acceptsFirstMouse() and WebFrame::hitTest().

This change is not general enough that we can ASSERT(!needsLayout())
in RenderView::hitTest() yet.

  • page/EventHandler.cpp:

(WebCore::EventHandler::hitTestResultAtPoint):

11:55 AM Changeset in webkit [172968] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Crashes in hit testing under WebPage::determinePrimarySnapshottedPlugIn()
​https://bugs.webkit.org/show_bug.cgi?id=136240
rdar://problem/17231462

Reviewed by Darin Adler.

determinePrimarySnapshottedPlugIn() does render tree hit testing, so needs
to ensure that layout is up-to-date.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::determinePrimarySnapshottedPlugIn):

11:44 AM Changeset in webkit [172967] by dbates@webkit.org
  • 2 edits in trunk/Tools

Only define WEBCORE_EXPORT when building DumpRenderTree for Windows and iOS

Rubber-stamped by Tim Horton.

The Windows and iOS ports are the only ports that make use of WebCore headers
in DumpRenderTree.

  • DumpRenderTree/config.h:
11:42 AM Changeset in webkit [172966] by timothy_horton@apple.com
  • 11 edits in trunk/Source/WebKit2

REGRESSION (r172771): Amazon product page becomes unresponsive after swiping back to it
​https://bugs.webkit.org/show_bug.cgi?id=136260
<rdar://problem/18107826>

Reviewed by Dan Bernstein.

Previously, when a swipe ended up performing a same-document navigation,
we would never get didFinishLoadForMainFrame nor didFirstVisuallyNonEmptyLayoutForMainFrame
nor would we even get didHitRenderTreeSizeThreshold in all cases, so we would never
remove the swipe snapshot. Previous implementations removed the snapshot on
didSameDocumentNavigation for the main frame if the navigation type was Replace or Pop,
so we will match that behavior.

Also, reinstate the watchdog that starts at swipe-end which would have prevented
this bug from forever breaking the view it was associated with.

Also, defend against removing the snapshot before the swipe has finished (before
we have even caused the navigation that we're watching for the effects of).

  • UIProcess/API/mac/WKView.mm:

(-[WKView _didSameDocumentNavigationForMainFrame:]):

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

(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):

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

(WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):

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

(WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
Plumb main-frame same-document navigation notification from WebPageProxy
to ViewGestureControllerMac via PageClient and WKView.

  • UIProcess/mac/ViewGestureController.h:
  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
Keep track of whether a swipe is currently occurring. We can't use
activeGestureType for this because the swipe currently remains the "active"
gesture until the snapshot is removed.

Reintroduce the old swipeWatchdogTimer (and rename the shorter timer that starts
when we get a visually non-empty layout) so that we will always remove the
snapshot after 5 seconds, even if we haven't committed the load.
This could lead to flashing back to the old content if we fail to get a single
byte for 5 seconds, but that is a rare case and should eventually get additional
special treatment (dropping the tiles until we do get content, or some such).

(WebKit::ViewGestureController::didHitRenderTreeSizeThreshold):
If a swipe is still in progress, we haven't done our navigation and thus
don't care about render tree size changes.

(WebKit::ViewGestureController::didFirstVisuallyNonEmptyLayoutForMainFrame):
If a swipe is still in progress, we haven't done our navigation and thus
don't care about layouts.

Stop the 5 second overall watchdog if we start the 3 second after-visuallyNonEmptyLayout
watchdog. This means that the snapshot could stay up for a maximum of 8 seconds
for a very, very slow load.

(WebKit::ViewGestureController::didFinishLoadForMainFrame):
If a swipe is still in progress, we haven't done our navigation and thus
don't care about loads that complete.

(WebKit::ViewGestureController::didSameDocumentNavigationForMainFrame):
Remove the swipe snapshot after painting if we do replaceState or popState.

(WebKit::ViewGestureController::removeSwipeSnapshotAfterRepaint):
If a swipe is still in progress, we shouldn't remove the snapshot yet.

11:29 AM Changeset in webkit [172965] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Rubber-banding in overflow:scroll regions does not work correctly with
direction:rtl
​https://bugs.webkit.org/show_bug.cgi?id=136176

Reviewed by Tim Horton.

Small cleanup.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::visibleContentRectInternal):

11:09 AM Changeset in webkit [172964] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the build after r172963

  • page/DOMTimer.h:
10:58 AM Changeset in webkit [172963] by barraclough@apple.com
  • 6 edits in trunk/Source/WebCore

DOMTimer may be deleted during timer fire
​https://bugs.webkit.org/show_bug.cgi?id=136198

Reviewed by Geoff Garen.

Consequentially ScheduledActions may also be deleted mid execution.
This is fairly surprising & fragile, let's make this simpler.

Currently DOMTimer instances are effectively owned by the ScriptExecutionContext.
There is a 1-1 mapping between timers and contexts, all timers are help in a map
on the context and if the context goes away all timers are deleted. Rather than
being implemented in a straightforward fashion (a smart pointer type for the map
value) this is currently implemented by having the timer objects listen for the
context going away using contextDestroyed, and deleting themselves if so.

Switch to using a smart pointer for values of m_timeouts in ScriptExecutionContext.
By using a RefCounted object we can also extend the lifetime of the DOMTimer instance
from within the DOMTimer::fired method, so the object is not destroyed while the
member function is still on the stack.

  • WebCore.xcodeproj/project.pbxproj:
    • project -> private since DOMTimer could no longer be a forward declare in ScriptExecutionContext.h.
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
(WebCore::ScriptExecutionContext::didChangeTimerAlignmentInterval):

  • auto* -> auto& since value type in map is no longer a raw pointer.
  • dom/ScriptExecutionContext.h:

(WebCore::ScriptExecutionContext::addTimeout):

  • DOMTimer* -> PassRefPtr<DOMTimer>
  • page/DOMTimer.cpp:

(WebCore::DOMTimer::DOMTimer):

  • adopt the initial ref, and pass to addTimeout.

(WebCore::DOMTimer::install):

  • updated comment.

(WebCore::DOMTimer::removeById):

  • instead of explicitly deleting the timer and assuming this will implicitly remove it from the context map, we explicitly remove it from the context map and assume this will implicitly deleting the timer!

(WebCore::DOMTimer::fired):

  • Add a RefPtr to keep the DOMTimer object alive until the fired method completes; to cancel a one-shot timer just remove it from the context's map, rather than explicitly deleting it.

(WebCore::DOMTimer::~DOMTimer): Deleted.
(WebCore::DOMTimer::contextDestroyed): Deleted.

  • no need! object lifetime management now handled by smart pointers.
  • page/DOMTimer.h:
    • added parent class RefCounted<DOMTimer>.
10:34 AM Changeset in webkit [172962] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION(r172794) + 32Bit build: for-in-base-reassigned-later-and-change-structure.js fail with NaN result
​https://bugs.webkit.org/show_bug.cgi?id=136187

Reviewed by Mark Hahnenberg.

Added two arg version for 32 bit builds of callOperation(J_JITOperation_ECJ, ...) that
doesn't require a tag for the second argument, instead it fills in a CellTag. This is
used for the slow case of the GetDirectPname case in SpeculativeJIT::compile since we
haven't set up a register with a tag and we know that argument 2 is a cell.

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation): New version with implicit CellTag.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile): Eliminated extraneous filling of the scratchGPR
with CellTag as it wasn't in the control flow for the slow path that needed the tag.
Instead changed to calling new version of callOperation with an implicit CellTag.

9:46 AM Changeset in webkit [172961] by commit-queue@webkit.org
  • 58 edits
    16 deletes in trunk

Unreviewed, rolling out r172940.
​https://bugs.webkit.org/show_bug.cgi?id=136256

Caused assertions on fast/storage/serialized-script-
value.html, and possibly flakiness on more tests (Requested by
ap on #webkit).

Reverted changeset:

"FTL should be able to do polymorphic call inlining"
​https://bugs.webkit.org/show_bug.cgi?id=135145
​http://trac.webkit.org/changeset/172940

9:30 AM Changeset in webkit [172960] by mitz@apple.com
  • 2 edits in trunk/Tools

runSvnUpdateAndResolveChangeLogs() doesn’t work when invoked from a script outside Tools/Scripts
​https://bugs.webkit.org/show_bug.cgi?id=136254

Reviewed by Tim Horton.

  • Scripts/webkitdirs.pm:

(runSvnUpdateAndResolveChangeLogs): Locate resolve-ChangeLogs relative to the source tree,
not the invoking script.

8:55 AM Changeset in webkit [172959] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r172794) + 32Bit build: ASSERT failures in for-in-tests.js tests.
​https://bugs.webkit.org/show_bug.cgi?id=136165

Reviewed by Mark Hahnenberg.

Changed switch case GetDirectPname: to always use the slow path for X86 since it only has
6 registers available, but the code requires 7.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

8:41 AM BuildingGtk edited by Martin Robinson
Removed the installation section because it is out of date and usually … (diff)
8:24 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
8:23 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
8:20 AM Changeset in webkit [172958] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Selection background is rendered white when unfocused with recent GTK+
​https://bugs.webkit.org/show_bug.cgi?id=136251

Reviewed by Martin Robinson.

This is due to a change in the GTK+ theme, but because we are not
using the right flags to get the selections colors. We should use
GTK_STATE_FLAG_SELECTED | GTK_STATE_FLAG_FOCUSED when focused and
GTK_STATE_FLAG_SELECTED when unfocused, instead of
GTK_STATE_FLAG_ACTIVE when unfocused.

  • platform/gtk/RenderThemeGtk3.cpp:

(WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
(WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor):

4:55 AM Changeset in webkit [172957] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

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

Reviewed by Philippe Normand.

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

  • UIProcess/API/gtk/WebKitWebContext.cpp:

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

4:25 AM Changeset in webkit [172956] by k.czech@samsung.com
  • 9 edits
    1 add in trunk

[EFL] Utilize espeak as a synthesizer back-end for WebSpeech
​https://bugs.webkit.org/show_bug.cgi?id=136127

Reviewed by Gyuyoung Kim.

.:

Add build support for espeak.

  • Source/cmake/FindEspeak.cmake: Added.
  • Source/cmake/OptionsEfl.cmake: Add Espeak dependency.

Source/WebCore:

Utilize espeak API to have support for speak, cancel and initializeVoiceList.

  • PlatformEfl.cmake:
  • platform/efl/PlatformSpeechSynthesisProviderEfl.cpp:

(WebCore::PlatformSpeechSynthesisProviderEfl::PlatformSpeechSynthesisProviderEfl):
(WebCore::PlatformSpeechSynthesisProviderEfl::convertRateToEspeakValue):
(WebCore::PlatformSpeechSynthesisProviderEfl::convertVolumeToEspeakValue):
(WebCore::PlatformSpeechSynthesisProviderEfl::convertPitchToEspeakValue):
(WebCore::PlatformSpeechSynthesisProviderEfl::voiceName):
(WebCore::PlatformSpeechSynthesisProviderEfl::engineInit):
(WebCore::PlatformSpeechSynthesisProviderEfl::currentVoice):
(WebCore::PlatformSpeechSynthesisProviderEfl::initializeVoiceList):
(WebCore::PlatformSpeechSynthesisProviderEfl::speak):
(WebCore::PlatformSpeechSynthesisProviderEfl::cancel):
(WebCore::PlatformSpeechSynthesisProviderEfl::fireSpeechEvent):

  • platform/efl/PlatformSpeechSynthesisProviderEfl.h:
  • platform/efl/PlatformSpeechSynthesizerEfl.cpp:

(WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
(WebCore::PlatformSpeechSynthesizer::pause):
(WebCore::PlatformSpeechSynthesizer::resume):
(WebCore::PlatformSpeechSynthesizer::speak):
(WebCore::PlatformSpeechSynthesizer::cancel):

Tools:

Add espeak dependency.

  • efl/install-dependencies:
4:18 AM Changeset in webkit [172955] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL] Remove dead code in WebPageEfl.cpp
​https://bugs.webkit.org/show_bug.cgi?id=136246

Reviewed by Gyuyoung Kim.

  • WebProcess/WebPage/efl/WebPageEfl.cpp:

(WebKit::scroll): Deleted.

4:11 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
3:51 AM Changeset in webkit [172954] by ryuan.choi@samsung.com
  • 6 edits in trunk

[EFL] Build break using clang
​https://bugs.webkit.org/show_bug.cgi?id=136245

Reviewed by Gyuyoung Kim.

.:

  • Source/cmake/OptionsEfl.cmake:

Disable ENABLE_WERROR when compiler is Clang as workaround because there are too many warnings.
Some warnings are from system libraries.

Source/WebCore:

  • css/ViewportStyleResolver.cpp: Includes NodeRenderStyle.h

Source/WebKit2:

  • PlatformEfl.cmake: defines GTEST_HAS_RTTI=0
12:24 AM Changeset in webkit [172953] by mrowe@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix after r172951.

  • fileapi/Blob.h: Give the argument the name that the predicates expect.
12:17 AM Changeset in webkit [172952] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

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

.:

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

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.4.5.

Aug 25, 2014:

11:43 PM Changeset in webkit [172951] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Generate toFile() instead of manual functions.
​https://bugs.webkit.org/show_bug.cgi?id=136207

Reviewed by Darin Adler.

No new tests, no behavior changes.

  • fileapi/Blob.h: Define BLOB_TYPE_CASTS.
  • fileapi/File.h: Use BLOB_TYPE_CASTS to generate toFile().

(WebCore::toFile): Deleted.

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

TypeProfiler search breaks on return statements
​https://bugs.webkit.org/show_bug.cgi?id=136201

Patch by Saam Barati <​sbarati@apple.com> on 2014-08-25
Reviewed by Filip Pizlo.

Searching for return statements in the TypeProfiler currently
breaks down because it expected to see the search descriptor
TypeProfilerSearchDescriptorFunctionReturn when looking for
return statements in the actual source code of the program.
But, TypeProfilerSearchDescriptorFunctionReturn search descriptor
is reserved for looking for return statements that aren't in the
actual source code of the program, but when asking for the
aggregate return type of a function. Now, searching for
return statements in the actual source code of the program will
work when passing in the search descriptor TypeProfilerSearchDescriptorNormal.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • runtime/TypeProfiler.cpp:

(JSC::TypeProfiler::findLocation):
(JSC::descriptorMatchesTypeLocation): Deleted.

7:17 PM Changeset in webkit [172949] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Return statement TypeSet's might be duplicated
​https://bugs.webkit.org/show_bug.cgi?id=136200

Patch by Saam Barati <​sbarati@apple.com> on 2014-08-25
Reviewed by Filip Pizlo.

Currently, the globalTypeSet that converges the types of all
return statements in a function lives off of CodeBlock. It lives
off CodeBlock because of a faulty assumption that CodeBlock
will have a one to one mapping with a function in the source
text of the program. (Currently, there isn't an actual bug
with this design because TypeLocationCache will hash cons to
the same TypeLocation, but this is still an incorrect design).
In this patch, the globalTypeSet for function return statements
is moved to the FunctionExecutable object which does have a one
to one mapping with functions in the source text of a program.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::returnStatementTypeSet): Deleted.

  • runtime/Executable.h:

(JSC::FunctionExecutable::returnStatementTypeSet):

7:11 PM Changeset in webkit [172948] by Alan Bujtas
  • 27 edits in trunk/Source

Subpixel layout: remove roundedLayoutPoint/roundedLayoutSize functions.
​https://bugs.webkit.org/show_bug.cgi?id=136236

Reviewed by Simon Fraser.

These functions simply call LayoutPoint/LayoutSize c'tors. They don't round the input value at all.

Non change in functionality.

Source/WebCore:

  • dom/MouseRelatedEvent.cpp:

(WebCore::MouseRelatedEvent::computePageLocation):
(WebCore::MouseRelatedEvent::computeRelativePosition):

  • dom/Touch.cpp:

(WebCore::Touch::Touch):

  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::setPositionFromPoint):

  • page/DragController.cpp:

(WebCore::elementUnderMouse):

  • page/EventHandler.cpp:

(WebCore::selectionExtentRespectingEditingBoundary):

  • page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:

(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateChildNodesAfterScroll):

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition):

  • platform/graphics/LayoutPoint.h:

(WebCore::roundedLayoutPoint): Deleted.

  • platform/graphics/LayoutSize.h:

(WebCore::roundedLayoutSize): Deleted.

  • rendering/EllipsisBox.cpp:

(WebCore::EllipsisBox::nodeAtPoint):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::selectionGapRectsForRepaint):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::positionLineBox):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):

  • rendering/RenderEmbeddedObject.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::localCaretRect):
(WebCore::RenderInline::mapLocalToContainer):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::absoluteToContents):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::mapAbsoluteToLocalPoint):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::mapLocalToContainer):

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::createShapeForImage):

  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::nodeAtFloatPoint):

  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::nodeAtFloatPoint):

  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::nodeAtFloatPoint):

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::nodeAtFloatPoint):

  • testing/Internals.cpp:

(WebCore::Internals::nodesFromRect):

Source/WebKit2:

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::computeCustomFixedPositionRect):

6:52 PM Changeset in webkit [172947] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

Rename RenderObject::showTree() and showTreeForThis() to showNodeTree*().
​https://bugs.webkit.org/show_bug.cgi?id=136238

Reviewed by Simon Fraser.

showNodeTree()/showNodeTreeForThis() reflects the functionality better.

No change in functionality.

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::showNodeTreeForThis):
(showNodeTree):
(WebCore::InlineBox::showTreeForThis): Deleted.
(showTree): Deleted.

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

(WebCore::RenderObject::showNodeTreeForThis):
(showNodeTree):
(WebCore::RenderObject::showTreeForThis): Deleted.
(showTree): Deleted.

  • rendering/RenderObject.h:
5:56 PM Changeset in webkit [172946] by Antti Koivisto
  • 16 edits in trunk/Source

Don't pass priority as parameter to ResourceLoadScheduler
​https://bugs.webkit.org/show_bug.cgi?id=136232

Reviewed by Sam Weinig.

Source/WebCore:

It is part of the ResourceRequest which is also passed in.

  • WebCore.exp.in:
  • loader/ResourceLoadScheduler.cpp:

(WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
(WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
(WebCore::ResourceLoadScheduler::scheduleLoad):

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

(WebCore::CachedResource::load):

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):

Restore the original request priority when a delegate modifies the request.

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::NetworkResourceLoader):

  • NetworkProcess/NetworkResourceLoader.h:

(WebKit::NetworkResourceLoader::priority): Deleted.

  • Shared/Network/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):

  • Shared/Network/NetworkResourceLoadParameters.h:
  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
(WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
(WebKit::WebResourceLoadScheduler::scheduleLoad):

  • WebProcess/Network/WebResourceLoadScheduler.h:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::loadResourceSynchronously):

5:12 PM Changeset in webkit [172945] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Rubber-banding in overflow:scroll regions does not work correctly with direction:rtl
​https://bugs.webkit.org/show_bug.cgi?id=136176

Reviewed by Sam Weinig.

Use scrollPosition() instead of scrollXOffset() and scrollYOffset() which both add
in the scrollOrigin(). Other implementations of visibleContentRectInternal() do
not add in the scrollOrigin(), so RenderLayer's shouldn't either in order to be
consistent. This makes rubber-banding work for RTL because
ScrollAnimatorMac::pinnedInDirection() and
ScrollAnimatorMac::absoluteScrollPosition() both return the expect values now.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::visibleContentRectInternal):

5:01 PM Changeset in webkit [172944] by ap@apple.com
  • 2 edits in trunk/Tools

Remove a little more accidentally landed code from r172891.

iteration.branch also wasn't meant to be landed.

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

(BuildbotIteration.prototype._parseData):

4:54 PM Changeset in webkit [172943] by ap@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r172891): Internal dashboard is broken.

Removing some accidentally landed code - I needed "changes" for another patch, but
not here, and then I decided to not use it anyway.

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

(BuildbotIteration.prototype._parseData):

4:08 PM Changeset in webkit [172942] by dbates@webkit.org
  • 2 edits in trunk/Tools

Fix the iOS DumpRenderTree build after <​http://trac.webkit.org/changeset/172814/>
(​https://bugs.webkit.org/show_bug.cgi?id=136108)

Use a similar approach as in TestWebKitAPI/config.h and define a stub for the macro define WEBCORE_EXPORT
so that we can compile DumpRenderTree for iOS.

  • DumpRenderTree/config.h:
4:06 PM Changeset in webkit [172941] by ap@apple.com
  • 3 edits in trunk/Tools

Make build.webkit.org/dashboard work with changeset_show_files=location
​https://bugs.webkit.org/show_bug.cgi?id=136237

Reviewed by Tim Horton.

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

(Trac.prototype._convertCommitInfoElementToObject): Remove location information
from description before getting title, and also actually parse the location into
result object when available.

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

(String.prototype.startsWith): Added.

3:35 PM Changeset in webkit [172940] by fpizlo@apple.com
  • 58 edits
    16 adds in trunk

FTL should be able to do polymorphic call inlining
​https://bugs.webkit.org/show_bug.cgi?id=135145

Reviewed by Geoffrey Garen.
Source/JavaScriptCore:


Added a log-based high-fidelity call edge profiler that runs in DFG JIT (and optionally
baseline JIT) code. Used it to do precise polymorphic inlining in the FTL. Potential
inlining sites use the call edge profile if it is available, but they will still fall back
on the call inline cache and rare case counts if it's not. Polymorphic inlining means that
multiple possible callees can be inlined with a switch to guard them. The slow path may
either be an OSR exit or a virtual call.

The call edge profiling added in this patch is very precise - it will tell you about every
call that has ever happened. It took some effort to reduce the overhead of this profiling.
This mostly involved ensuring that we don't do it unnecessarily. For example, we avoid it
in the baseline JIT (you can conditionally enable it but it's off by default) and we only do
it in the DFG JIT if we know that the regular inline cache profiling wasn't precise enough.
I also experimented with reducing the precision of the profiling. This led to a significant
reduction in the speed-up, so I avoided this approach. I also explored making log processing
concurrent, but that didn't help. Also, I tested the overhead of the log processing and
found that most of the overhead of this profiling is actually in putting things into the log
rather than in processing the log - that part appears to be surprisingly cheap.

Polymorphic inlining could be enabled in the DFG if we enabled baseline call edge profiling,
and if we guarded such inlining sites with some profiling mechanism to detect
polyvariant monomorphisation opportunities (where the callsite being inlined reveals that
it's actually monomorphic).

This is a ~28% speed-up on deltablue and a ~7% speed-up on richards, with small speed-ups on
other programs as well. It's about a 2% speed-up on Octane version 2, and never a regression
on anything we care about. Some aggregates, like V8Spider, see a regression. This is
highlighting the increase in profiling overhead. But since this doesn't show up on any major
score (code-load or SunSpider), it's probably not relevant.

(JSC::CallEdge::dump):

  • bytecode/CallEdge.h: Added.

(JSC::CallEdge::operator!):
(JSC::CallEdge::callee):
(JSC::CallEdge::count):
(JSC::CallEdge::despecifiedClosure):
(JSC::CallEdge::CallEdge):

  • bytecode/CallEdgeProfile.cpp: Added.

(JSC::CallEdgeProfile::callEdges):
(JSC::CallEdgeProfile::numCallsToKnownCells):
(JSC::worthDespecifying):
(JSC::CallEdgeProfile::worthDespecifying):
(JSC::CallEdgeProfile::visitWeak):
(JSC::CallEdgeProfile::addSlow):
(JSC::CallEdgeProfile::mergeBack):
(JSC::CallEdgeProfile::fadeByHalf):
(JSC::CallEdgeLog::CallEdgeLog):
(JSC::CallEdgeLog::~CallEdgeLog):
(JSC::CallEdgeLog::isEnabled):
(JSC::operationProcessCallEdgeLog):
(JSC::CallEdgeLog::emitLogCode):
(JSC::CallEdgeLog::processLog):

  • bytecode/CallEdgeProfile.h: Added.

(JSC::CallEdgeProfile::numCallsToNotCell):
(JSC::CallEdgeProfile::numCallsToUnknownCell):
(JSC::CallEdgeProfile::totalCalls):

  • bytecode/CallEdgeProfileInlines.h: Added.

(JSC::CallEdgeProfile::CallEdgeProfile):
(JSC::CallEdgeProfile::add):

  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::visitWeak):

  • bytecode/CallLinkInfo.h:
  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::CallLinkStatus):
(JSC::CallLinkStatus::computeFromLLInt):
(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::computeExitSiteData):
(JSC::CallLinkStatus::computeFromCallLinkInfo):
(JSC::CallLinkStatus::computeFromCallEdgeProfile):
(JSC::CallLinkStatus::computeDFGStatuses):
(JSC::CallLinkStatus::isClosureCall):
(JSC::CallLinkStatus::makeClosureCall):
(JSC::CallLinkStatus::dump):
(JSC::CallLinkStatus::function): Deleted.
(JSC::CallLinkStatus::internalFunction): Deleted.
(JSC::CallLinkStatus::intrinsicFor): Deleted.

  • bytecode/CallLinkStatus.h:

(JSC::CallLinkStatus::CallLinkStatus):
(JSC::CallLinkStatus::isSet):
(JSC::CallLinkStatus::couldTakeSlowPath):
(JSC::CallLinkStatus::edges):
(JSC::CallLinkStatus::size):
(JSC::CallLinkStatus::at):
(JSC::CallLinkStatus::operator[]):
(JSC::CallLinkStatus::canOptimize):
(JSC::CallLinkStatus::canTrustCounts):
(JSC::CallLinkStatus::isClosureCall): Deleted.
(JSC::CallLinkStatus::callTarget): Deleted.
(JSC::CallLinkStatus::executable): Deleted.
(JSC::CallLinkStatus::makeClosureCall): Deleted.

  • bytecode/CallVariant.cpp: Added.

(JSC::CallVariant::dump):

  • bytecode/CallVariant.h: Added.

(JSC::CallVariant::CallVariant):
(JSC::CallVariant::operator!):
(JSC::CallVariant::despecifiedClosure):
(JSC::CallVariant::rawCalleeCell):
(JSC::CallVariant::internalFunction):
(JSC::CallVariant::function):
(JSC::CallVariant::isClosureCall):
(JSC::CallVariant::executable):
(JSC::CallVariant::nonExecutableCallee):
(JSC::CallVariant::intrinsicFor):
(JSC::CallVariant::functionExecutable):
(JSC::CallVariant::isHashTableDeletedValue):
(JSC::CallVariant::operator==):
(JSC::CallVariant::operator!=):
(JSC::CallVariant::operator<):
(JSC::CallVariant::operator>):
(JSC::CallVariant::operator<=):
(JSC::CallVariant::operator>=):
(JSC::CallVariant::hash):
(JSC::CallVariant::deletedToken):
(JSC::CallVariantHash::hash):
(JSC::CallVariantHash::equal):

  • bytecode/CodeOrigin.h:

(JSC::InlineCallFrame::isNormalCall):

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):

  • bytecode/ExitKind.h:
  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeForStubInfo):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeForStubInfo):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGBackwardsPropagationPhase.cpp:

(JSC::DFG::BackwardsPropagationPhase::propagate):

  • dfg/DFGBasicBlock.cpp:

(JSC::DFG::BasicBlock::~BasicBlock):

  • dfg/DFGBasicBlock.h:

(JSC::DFG::BasicBlock::takeLast):
(JSC::DFG::BasicBlock::didLink):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::processSetLocalQueue):
(JSC::DFG::ByteCodeParser::removeLastNodeFromGraph):
(JSC::DFG::ByteCodeParser::addCallWithoutSettingResult):
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::emitFunctionChecks):
(JSC::DFG::ByteCodeParser::undoFunctionChecks):
(JSC::DFG::ByteCodeParser::inliningCost):
(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::cancelLinkingForBlock):
(JSC::DFG::ByteCodeParser::attemptToInlineCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::prepareToParseBlock):
(JSC::DFG::ByteCodeParser::clearCaches):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::linkBlock):
(JSC::DFG::ByteCodeParser::linkBlocks):
(JSC::DFG::ByteCodeParser::parseCodeBlock):

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::freeUnnecessaryNodes):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGCommon.h:
  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::visitChildren):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • dfg/DFGLazyJSValue.cpp:

(JSC::DFG::LazyJSValue::switchLookupValue):

  • dfg/DFGLazyJSValue.h:

(JSC::DFG::LazyJSValue::switchLookupValue): Deleted.

  • dfg/DFGNode.cpp:

(WTF::printInternal):

  • dfg/DFGNode.h:

(JSC::DFG::OpInfo::OpInfo):
(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::hasCellOperand):
(JSC::DFG::Node::cellOperand):
(JSC::DFG::Node::setCellOperand):
(JSC::DFG::Node::canBeKnownFunction): Deleted.
(JSC::DFG::Node::hasKnownFunction): Deleted.
(JSC::DFG::Node::knownFunction): Deleted.
(JSC::DFG::Node::giveKnownFunction): Deleted.
(JSC::DFG::Node::hasFunction): Deleted.
(JSC::DFG::Node::function): Deleted.
(JSC::DFG::Node::hasExecutable): Deleted.
(JSC::DFG::Node::executable): Deleted.

  • dfg/DFGNodeType.h:
  • dfg/DFGPhantomCanonicalizationPhase.cpp:

(JSC::DFG::PhantomCanonicalizationPhase::run):

  • dfg/DFGPhantomRemovalPhase.cpp:

(JSC::DFG::PhantomRemovalPhase::run):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitSwitch):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGStructureRegistrationPhase.cpp:

(JSC::DFG::StructureRegistrationPhase::run):

  • dfg/DFGTierUpCheckInjectionPhase.cpp:

(JSC::DFG::TierUpCheckInjectionPhase::run):
(JSC::DFG::TierUpCheckInjectionPhase::removeFTLProfiling):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validate):

  • dfg/DFGWatchpointCollectionPhase.cpp:

(JSC::DFG::WatchpointCollectionPhase::handle):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::ftlUnreachable):
(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileCheckCell):
(JSC::FTL::LowerDFGToLLVM::compileCheckBadCell):
(JSC::FTL::LowerDFGToLLVM::compileGetExecutable):
(JSC::FTL::LowerDFGToLLVM::compileNativeCallOrConstruct):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::buildSwitch):
(JSC::FTL::LowerDFGToLLVM::compileCheckFunction): Deleted.
(JSC::FTL::LowerDFGToLLVM::compileCheckExecutable): Deleted.

  • heap/Heap.cpp:

(JSC::Heap::collect):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::storeValue):
(JSC::AssemblyHelpers::loadValue):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArguments):

  • jit/GPRInfo.h:

(JSC::JSValueRegs::uses):

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileOpCall):

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

(JSC::VM::ensureCallEdgeLog):

  • runtime/VM.h:
  • tests/stress/new-array-then-exit.js: Added.

(foo):

  • tests/stress/poly-call-exit-this.js: Added.
  • tests/stress/poly-call-exit.js: Added.

Source/WTF:


Add some power that I need for call edge profiling.

  • wtf/OwnPtr.h:

(WTF::OwnPtr<T>::createTransactionally):

  • wtf/Spectrum.h:

(WTF::Spectrum::add):
(WTF::Spectrum::addAll):
(WTF::Spectrum::get):
(WTF::Spectrum::size):
(WTF::Spectrum::KeyAndCount::KeyAndCount):
(WTF::Spectrum::clear):
(WTF::Spectrum::removeIf):

LayoutTests:

  • js/regress/script-tests/simple-poly-call-nested.js: Added.
  • js/regress/script-tests/simple-poly-call.js: Added.
  • js/regress/simple-poly-call-expected.txt: Added.
  • js/regress/simple-poly-call-nested-expected.txt: Added.
  • js/regress/simple-poly-call-nested.html: Added.
  • js/regress/simple-poly-call.html: Added.
3:31 PM Changeset in webkit [172939] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Don't crash when the DataDetectors framework is unavailable.
<rdar://problem/18106066> and ​https://bugs.webkit.org/show_bug.cgi?id=136234

Reviewed by Tim Horton.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::buildPhoneNumberHighlights): Bail if DD.framework didn’t soft link.
(WebKit::ServicesOverlayController::buildSelectionHighlight): Ditto.

3:15 PM Changeset in webkit [172938] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

Attempt to fix the iOS build after <​http://trac.webkit.org/changeset/172889>
(​https://bugs.webkit.org/show_bug.cgi?id=109658)

Substitute GraphicsLayer::setContentsToPlatformLayer(..., GraphicsLayer::ContentsLayerForMedia)
for GraphicsLayer::setContentsToMedia(...) because the latter was removed in <​http://trac.webkit.org/changeset/172889>.

  • WebView/WebView.mm:

(-[WebView _setMediaLayer:forPluginView:]):

2:05 PM Changeset in webkit [172937] by Lucas Forschler
  • 5 edits in branches/safari-600.1-branch

Merged r172929. <rdar://problem/18121645>.

2:02 PM Changeset in webkit [172936] by Lucas Forschler
  • 5 edits in tags/Safari-600.1.15.1

Merged r172929. <rdar://problem/18121645>

1:39 PM Changeset in webkit [172935] by Lucas Forschler
  • 5 edits in tags/Safari-600.1.15.1/Source

Versioning.

1:30 PM Changeset in webkit [172934] by Lucas Forschler
  • 1 copy in tags/Safari-600.1.15.1

New Tag.

12:33 PM Changeset in webkit [172933] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

Reduce style marking when using the pseudo class :placeholder-shown
​https://bugs.webkit.org/show_bug.cgi?id=136203

Reviewed by Darin Adler.

When the :placeholder-shown filter is hit, we were always marking the RenderStyle as unique.
As a result, if :placeholder-shown was used without a more restrictive filter (e.g. "*:placeholder-shown"
or simply ":placeholder-shown"), style sharing was disabled for the whole tree.

This patch rescope the tree marking to any element that can be affected by a placeholder:
any the subclass of HTMLTextFormControlElement. For other elements, any change in internal state
would be irrelevant for "isPlaceholderVisible".

Styling of :placeholder-shown is covered by the existing tests. Style sharing of :placeholder-shown
is covered by LayoutTests/fast/css/placeholder-shown-basics.html.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::isPlaceholderShown): Deleted.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::makeElementStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::isPlaceholderShown):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):
(WebCore::SelectorCompiler::makeUniqueIfNecessaryAndTestIsPlaceholderShown): Deleted.

12:32 PM Changeset in webkit [172932] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

After r172867 another crash in in js/dom/line-column-numbers.html
​https://bugs.webkit.org/show_bug.cgi?id=136192

Reviewed by Geoffrey Garen.

In lookupExceptionHandlerFromCallerFrame(), We need to use the caller's CallFrame
and VMEntryFrame when calling genericUnwind(). NativeCallFrameTracerWithRestore()
does that for us.

In general, NativeCallFrameTracerWithRestore(), restores the values because we may
do more processing that requires the current callFrame and vmEntryFrame before we
get to the catch handler where we change these to the catch values. In this
particular case, that restoration isn't currently needed, but we add complexity
and possible future confusion if we create another NativeCallFrameTracerXXX()
version that doesn't restore the values.

  • jit/JITOperations.cpp:

(JSC::lookupExceptionHandlerFromCallerFrame): Changed NativeCallFrameTracer() to
NativeCallFrameTracerWithRestore() so that VM::topVMEntryFrame will be updated
before calling genericUnwind().

11:46 AM Changeset in webkit [172931] by Antti Koivisto
  • 6 edits in trunk/Source/WebCore

Remove ResourceLoader::didChangePriority
​https://bugs.webkit.org/show_bug.cgi?id=136230

Reviewed by Andreas Kling.

It doesn't do anything on any platform.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::didChangePriority): Deleted.

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

(WebCore::CachedResource::setLoadPriority):

  • platform/network/ResourceHandle.cpp:

(WebCore::ResourceHandle::didChangePriority): Deleted.

  • platform/network/ResourceHandle.h:
11:39 AM Changeset in webkit [172930] by Brian Burg
  • 82 edits
    3 moves
    2 adds
    2 deletes in trunk/Source

Web Inspector: rename Inspector::TypeBuilder to Inspector::Protocol
​https://bugs.webkit.org/show_bug.cgi?id=136031

Reviewed by Timothy Hatcher.

Rename TypeBuilder namespace to Protocol. Disambiguate where
necessary. Also rename InspectorTypeBuilder to ProtocolTypes.

  • CMakeLists.txt:
  • DerivedSources.make:

Source/JavaScriptCore:

(Inspector::messageSourceValue):
(Inspector::messageTypeValue):
(Inspector::messageLevelValue):
(Inspector::ConsoleMessage::addToFrontend):

  • inspector/ContentSearchUtilities.cpp:

(Inspector::ContentSearchUtilities::buildObjectForSearchMatch):
(Inspector::ContentSearchUtilities::searchInTextByLines):

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

(Inspector::InjectedScript::evaluate):
(Inspector::InjectedScript::callFunctionOn):
(Inspector::InjectedScript::evaluateOnCallFrame):
(Inspector::InjectedScript::getFunctionDetails):
(Inspector::InjectedScript::getProperties):
(Inspector::InjectedScript::getInternalProperties):
(Inspector::InjectedScript::wrapCallFrames):
(Inspector::InjectedScript::wrapObject):
(Inspector::InjectedScript::wrapTable):

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

(Inspector::InjectedScriptBase::makeEvalCall):

  • inspector/InjectedScriptBase.h:
  • inspector/InspectorTypeBuilder.h: Removed.
  • inspector/ScriptCallFrame.cpp:

(Inspector::ScriptCallFrame::buildInspectorObject):

  • inspector/ScriptCallFrame.h:
  • inspector/ScriptCallStack.cpp:

(Inspector::ScriptCallStack::buildInspectorArray):

  • inspector/ScriptCallStack.h:
  • inspector/agents/InspectorAgent.cpp:

(Inspector::InspectorAgent::inspect):

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

(Inspector::breakpointActionTypeForString):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::resolveBreakpoint):
(Inspector::InspectorDebuggerAgent::searchInContent):
(Inspector::InspectorDebuggerAgent::getFunctionDetails):
(Inspector::InspectorDebuggerAgent::evaluateOnCallFrame):
(Inspector::InspectorDebuggerAgent::currentCallFrames):
(Inspector::InspectorDebuggerAgent::didParseSource):
(Inspector::InspectorDebuggerAgent::breakpointActionProbe):

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

(Inspector::InspectorProfilerAgent::createProfileHeader):
(Inspector::InspectorProfilerAgent::getProfileHeaders):
(Inspector::buildInspectorObject):
(Inspector::InspectorProfilerAgent::buildProfileInspectorObject):
(Inspector::InspectorProfilerAgent::getCPUProfile):

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

(Inspector::buildErrorRangeObject):
(Inspector::InspectorRuntimeAgent::parse):
(Inspector::InspectorRuntimeAgent::evaluate):
(Inspector::InspectorRuntimeAgent::callFunctionOn):
(Inspector::InspectorRuntimeAgent::getProperties):
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/scripts/codegen/init.py:
  • inspector/scripts/codegen/generate_backend_dispatcher_header.py:

(BackendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_backend_dispatcher_implementation.py:

(BackendDispatcherImplementationGenerator._generate_async_dispatcher_class_for_domain):
(BackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):

  • inspector/scripts/codegen/generate_frontend_dispatcher_header.py:

(FrontendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_frontend_dispatcher_implementation.py:

(FrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):

  • inspector/scripts/codegen/generate_type_builder_header.py: Removed.
  • inspector/scripts/codegen/generate_type_builder_implementation.py: Removed.
  • inspector/scripts/codegen/generator.py:

(Generator.protocol_type_string_for_type):
(Generator.protocol_type_string_for_type_member):
(Generator.type_string_for_type_with_name):
(Generator.type_string_for_formal_out_parameter):
(Generator.type_string_for_formal_async_parameter):
(Generator.type_string_for_stack_in_parameter):
(Generator.type_string_for_stack_out_parameter):
(Generator.assertion_method_for_type_member.assertion_method_for_type):
(Generator.assertion_method_for_type_member):
(Generator.type_builder_string_for_type): Deleted.
(Generator.type_builder_string_for_type_member): Deleted.

  • inspector/scripts/codegen/generator_templates.py:

(Inspector):

  • inspector/scripts/generate-inspector-protocol-bindings.py:

(generate_from_specification):

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • runtime/HighFidelityTypeProfiler.cpp:

(JSC::HighFidelityTypeProfiler::getTypesForVariableAtOffsetForInspector):

  • runtime/HighFidelityTypeProfiler.h:
  • runtime/TypeSet.cpp:

(JSC::TypeSet::allPrimitiveTypeNames):
(JSC::TypeSet::allStructureRepresentations):
(JSC::StructureShape::inspectorRepresentation):

  • runtime/TypeSet.h:

Source/WebCore:

  • ForwardingHeaders/inspector/InspectorJSTypeBuilders.h: Removed.
  • ForwardingHeaders/inspector/InspectorTypeBuilder.h: Removed.
  • WebCore.order:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/CommandLineAPIHost.cpp:

(WebCore::CommandLineAPIHost::inspectImpl):

  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
(WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):

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

(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getInlineStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::getAllStyleSheets):
(WebCore::InspectorCSSAgent::getStyleSheet):
(WebCore::InspectorCSSAgent::setStyleText):
(WebCore::InspectorCSSAgent::setPropertyText):
(WebCore::InspectorCSSAgent::toggleProperty):
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::addRule):
(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):
(WebCore::InspectorCSSAgent::asInspectorStyleSheet):
(WebCore::InspectorCSSAgent::collectStyleSheets):
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
(WebCore::InspectorCSSAgent::detectOrigin):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildArrayForRuleList):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
(WebCore::InspectorCSSAgent::buildObjectForNamedFlow):

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

(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::getDocument):
(WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
(WebCore::InspectorDOMAgent::querySelectorAll):
(WebCore::InspectorDOMAgent::pushNodePathToFrontend):
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
(WebCore::InspectorDOMAgent::getSearchResults):
(WebCore::InspectorDOMAgent::resolveNode):
(WebCore::InspectorDOMAgent::getAttributes):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::processAccessibilityChildren):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
(WebCore::InspectorDOMAgent::didCommitLoad):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::styleAttributeInvalidated):

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

(WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):

  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
(WebCore::InspectorDOMStorageAgent::storageId):
(WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):

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

(WebCore::InspectorDatabaseAgent::getDatabaseTableNames):

  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDatabaseResource.cpp:

(WebCore::InspectorDatabaseResource::bind):

  • inspector/InspectorIndexedDBAgent.cpp:
  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::layersForNode):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
(WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):

  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::resourceTypeJson):
(WebCore::InspectorPageAgent::cachedResourceTypeJson):
(WebCore::buildObjectForCookie):
(WebCore::buildArrayForCookies):
(WebCore::InspectorPageAgent::getCookies):
(WebCore::InspectorPageAgent::getResourceTree):
(WebCore::InspectorPageAgent::searchInResource):
(WebCore::buildObjectForSearchResult):
(WebCore::InspectorPageAgent::searchInResources):
(WebCore::InspectorPageAgent::buildObjectForFrame):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):

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

(WebCore::buildInspectorObjectForPosition):
(WebCore::buildInspectorObjectForInput):
(WebCore::buildInspectorObjectForSession):
(WebCore::buildInspectorObjectForSessionState):
(WebCore::buildInspectorObjectForSegmentState):
(WebCore::SerializeInputToJSONFunctor::SerializeInputToJSONFunctor):
(WebCore::SerializeInputToJSONFunctor::operator()):
(WebCore::buildInspectorObjectForSegment):
(WebCore::InspectorReplayAgent::switchSession):
(WebCore::InspectorReplayAgent::insertSessionSegment):
(WebCore::InspectorReplayAgent::removeSessionSegment):
(WebCore::InspectorReplayAgent::currentReplayState):
(WebCore::InspectorReplayAgent::getAvailableSessions):
(WebCore::InspectorReplayAgent::getSessionData):
(WebCore::InspectorReplayAgent::getSegmentData):

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

(WebCore::buildObjectForTiming):
(WebCore::buildObjectForResourceRequest):
(WebCore::buildObjectForResourceResponse):
(WebCore::buildObjectForCachedResource):
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::buildInitiatorObject):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):

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

(WebCore::buildSourceRangeObject):
(WebCore::buildMediaObject):
(WebCore::fillMediaListChain):
(WebCore::InspectorStyle::buildObjectForStyle):
(WebCore::InspectorStyle::buildArrayForComputedStyle):
(WebCore::InspectorStyle::styleWithProperties):
(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildObjectForStyle):
(WebCore::InspectorStyleSheet::resourceStyleSheetText):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):

  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorStyleSheet::canBind):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::toProtocol):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::sendEvent):

  • inspector/PageRuntimeAgent.cpp:
11:36 AM Changeset in webkit [172929] by Brent Fulgham
  • 5 edits in trunk

[Win] Pass OFFICIAL_BUILD flag to WebInspectorUI build process
​https://bugs.webkit.org/show_bug.cgi?id=136229

Reviewed by Dean Jackson.

Source/WebInspectorUI:

  • WebInspectorUI.vcxproj/WebInspectorUI.make: Pass OFFICIAL_BUILD

flag to build-webinspectorui.pl.

  • WebInspectorUI.vcxproj/build-webinspectorui.pl: Accept and use

the OFFICIAL_BUILD flag.

WebKitLibraries:

  • win/tools/vsprops/common.props: Pass OFFICIAL_BUILD argument

from VS to child Make processes.

11:34 AM Changeset in webkit [172928] by b.long@cablelabs.com
  • 2 edits in trunk/Source/WebCore

[GStreamer] ASSERT failure in WebKitWebSource in StreamingClient
​https://bugs.webkit.org/show_bug.cgi?id=136132

adoptGRef() has an ASSERT failure if it's used on a floating pointer. For some reason,
WebKitWebSrc* src in StreamingClient's constructor is floating. Since we
don't construct this ourselves, I assume this is happening in Playbin.

If we remove the ref and adopt, GRefPtr's constructor calls gst_object_ref_sink,
which removes the floating reference and doesn't increment the reference count.
This should work, but actually causes the page to either lock up or crash (different
results for different testers).

In this case, it seems like the adoptGRef / gst_object_ref was the correct thing to do,
but adoptGRef won't actually let us do. Removing the ASSERT is a bad idea, because
usually we don't want to adopt floating pointers.

This is all a long way of saying that making m_src a raw pointer and manually
calling gst_object_ref(), and calling gst_object_unref in the destructor is the
best solution in this case, since it fixes the problem while leaving the ASSERT
to protect us in the much more common case where adopting a floating reference is bad.

Reviewed by Philippe Normand.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(StreamingClient::StreamingClient): Make m_src a raw pointer instead of a GRefPtr.
(StreamingClient::~StreamingClient): Unref m_src.
(StreamingClient::createReadBuffer): Replace m_src.get() with m_src, since it's a raw pointer now.
(StreamingClient::handleResponseReceived): Same.
(StreamingClient::handleDataReceived): Same.
(StreamingClient::handleNotifyFinished): Same.
(CachedResourceStreamingClient::notifyFinished): Same.
(ResourceHandleStreamingClient::didFail): Same.
(ResourceHandleStreamingClient::wasBlocked): Same.
(ResourceHandleStreamingClient::cannotShowURL): Same.

11:04 AM Changeset in webkit [172927] by Antti Koivisto
  • 11 edits
    2 deletes in trunk/Source/WebKit2

Remove load scheduling code from network process
​https://bugs.webkit.org/show_bug.cgi?id=136199

Reviewed by Darin Adler.

Most platforms just flush resource loads directly to the networking layer by
making the parallel load count large. Also we always pass ResourceLoadPriorityHighest
to the scheduler so no actual scheduling happens. This is effectively dead code.

Keep basic support for serializing loads. This is only used for testing.

  • NetworkProcess/HostRecord.cpp: Removed.
  • NetworkProcess/HostRecord.h: Removed.
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::servePendingRequests):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::getNetworkProcessStatistics):

  • NetworkProcess/NetworkResourceLoadScheduler.cpp:

(WebKit::NetworkResourceLoadScheduler::NetworkResourceLoadScheduler):
(WebKit::NetworkResourceLoadScheduler::scheduleLoader):
(WebKit::NetworkResourceLoadScheduler::removeLoader):
(WebKit::NetworkResourceLoadScheduler::loadsPendingCount):
(WebKit::NetworkResourceLoadScheduler::loadsActiveCount):
(WebKit::NetworkResourceLoadScheduler::scheduleServePendingRequests): Deleted.
(WebKit::NetworkResourceLoadScheduler::requestTimerFired): Deleted.
(WebKit::NetworkResourceLoadScheduler::hostForURL): Deleted.
(WebKit::NetworkResourceLoadScheduler::receivedRedirect): Deleted.
(WebKit::NetworkResourceLoadScheduler::servePendingRequests): Deleted.
(WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders): Deleted.
(WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoader): Deleted.
(WebKit::NetworkResourceLoadScheduler::hostsPendingCount): Deleted.
(WebKit::NetworkResourceLoadScheduler::hostsActiveCount): Deleted.

  • NetworkProcess/NetworkResourceLoadScheduler.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::cleanup):
(WebKit::NetworkResourceLoader::continueWillSendRequest):

  • NetworkProcess/NetworkResourceLoader.h:

(WebKit::NetworkResourceLoader::isLoadingMainResource):
(WebKit::NetworkResourceLoader::setHostRecord): Deleted.
(WebKit::NetworkResourceLoader::hostRecord): Deleted.

  • NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm:

(WebKit::NetworkResourceLoadScheduler::platformInitializeNetworkSettings):
(WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost): Deleted.

  • NetworkProcess/soup/NetworkResourceLoadSchedulerSoup.cpp:

(WebKit::NetworkResourceLoadScheduler::platformInitializeNetworkSettings):
(WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost): Deleted.

  • WebKit2.xcodeproj/project.pbxproj:
9:25 AM Changeset in webkit [172926] by ap@apple.com
  • 2 edits in trunk/LayoutTests

ASSERT(extractable()) when storing a non-extractable key in IndexedDB
​https://bugs.webkit.org/show_bug.cgi?id=136202
rdar://problem/17993967

  • platform/mac-wk1/TestExpectations: Skip the test, IndexedDB is not supported

with WebKit1.

7:47 AM Changeset in webkit [172925] by Michał Pakuła vel Rutka
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed EFL gardening

  • platform/efl/TestExpectations: Added test expecations for failing and crashing tests.
  • platform/efl/scrollbars/scrollbar-selectors-expected.txt: Rebaseline after r172220.
6:44 AM Changeset in webkit [172924] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r172920 - [GTK] Older versions of WebKit should use the plugins cache in read only mode
​https://bugs.webkit.org/show_bug.cgi?id=136215

Reviewed by Philippe Normand.

Now that WebKitGTK+ 2.4 and 2.5 are parallel installable, since
they use different versions of the plugins cache, apps using 2.4
might override the plugins cache file. We should prevent this from
happening by making older versions use the plugin cache, but not
downgrade it.

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:

(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::updatePluginInfo):

  • UIProcess/Plugins/gtk/PluginInfoCache.h:
6:40 AM Changeset in webkit [172923] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Minibrowser : Enhance application to be able to support history list navigation
​https://bugs.webkit.org/show_bug.cgi?id=135795

Patch by Tanay C <​tanay.c@samsung.com> on 2014-08-25
Reviewed by Gyuyoung Kim.

  • MiniBrowser/efl/main.c: Adding functionality for long press history list navigation

(history_list_hide): Hiding and dereferencing the history list and items
(on_key_down):
(on_mouse_down):
(on_back_button_clicked): Early return for longpress
(on_forward_button_clicked): Early return for longpress
(list_item_label_get): Populate item labels
(on_list_item_select): Navigates on selection from history list
(navigation_button_longpress_process): Populates the history list and displays it
(on_forward_button_longpress):
(on_back_button_longpress):
(window_create): Add the widget for history list

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

Merge r172919 - [GTK] Should check if a plugin mixes GTK+ symbols earlier
​https://bugs.webkit.org/show_bug.cgi?id=136214

Reviewed by Philippe Normand.

We are currently checking if the plugin module and the plugin
process mix GTK symbols after the plugin has been loaded and
initialized. This is too late in many cases, since plugins can use
GTK methods in the NP_Initialize implementation. This is causing
the apps using WebKitGTK+ 2.4 to freeze when the plugin process
scans the plugins and there's a plugin using GTK+3 installed. We
should move the check earlier, once the module is loaded but
before calling NP_Initialize.

  • Shared/Plugins/Netscape/NetscapePluginModule.cpp:

(WebKit::moduleMixesGtkSymbols):
(WebKit::NetscapePluginModule::tryLoad):

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformPostInitialize):

6:05 AM Changeset in webkit [172921] by berto@igalia.com
  • 2 edits in trunk

[GTK] Unify webkitgtk and webkit2gtk directories
​https://bugs.webkit.org/show_bug.cgi?id=136209

Reviewed by Carlos Garcia Campos.

Use webkit2gtk-X.X both for the process binaries and the injected
bundle.

  • Source/cmake/OptionsGTK.cmake:
5:49 AM Changeset in webkit [172920] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] Older versions of WebKit should use the plugins cache in read only mode
​https://bugs.webkit.org/show_bug.cgi?id=136215

Reviewed by Philippe Normand.

Now that WebKitGTK+ 2.4 and 2.5 are parallel installable, since
they use different versions of the plugins cache, apps using 2.4
might override the plugins cache file. We should prevent this from
happening by making older versions use the plugin cache, but not
downgrade it.

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:

(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::updatePluginInfo):

  • UIProcess/Plugins/gtk/PluginInfoCache.h:
5:45 AM Changeset in webkit [172919] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] Should check if a plugin mixes GTK+ symbols earlier
​https://bugs.webkit.org/show_bug.cgi?id=136214

Reviewed by Philippe Normand.

We are currently checking if the plugin module and the plugin
process mix GTK symbols after the plugin has been loaded and
initialized. This is too late in many cases, since plugins can use
GTK methods in the NP_Initialize implementation. This is causing
the apps using WebKitGTK+ 2.4 to freeze when the plugin process
scans the plugins and there's a plugin using GTK+3 installed. We
should move the check earlier, once the module is loaded but
before calling NP_Initialize.

  • Shared/Plugins/Netscape/NetscapePluginModule.cpp:

(WebKit::moduleMixesGtkSymbols):
(WebKit::NetscapePluginModule::tryLoad):

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformPostInitialize):

5:24 AM Changeset in webkit [172918] by zandobersek@gmail.com
  • 2 edits
    4 deletes in trunk/Source/WebCore

[GTK] Remove PopupMenuGtk, SearchPopupMenuGtk
​https://bugs.webkit.org/show_bug.cgi?id=136211

Reviewed by Carlos Garcia Campos.

Remove the two classes from the codebase. They're not used anymore
after the WebKit1 layer of the GTK port was removed some time ago.

  • PlatformGTK.cmake:
  • platform/gtk/PopupMenuGtk.cpp: Removed.
  • platform/gtk/PopupMenuGtk.h: Removed.
  • platform/gtk/SearchPopupMenuGtk.cpp: Removed.
  • platform/gtk/SearchPopupMenuGtk.h: Removed.
5:22 AM Changeset in webkit [172917] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebKit2

Improve virtual method declarations in LayerTreeHostGtk
​https://bugs.webkit.org/show_bug.cgi?id=136210

Reviewed by Carlos Garcia Campos.

Mark the LayerTreeHostGtk class as final in the virtual inheritance hierarchy.

Order the public and private virtual method overrides from the LayerTreeHost
and GraphicsLayerClient interfaces. Explicitly mark them as overriding the
base class methods.

Remove the overriding notifyAnimationStarted() and notifyFlushRequired()
methods since they are identical to the methods in the base class.

De-virtualize flushPendingLayerChanges(). It's not inherited and is not
overriden by anything (and nothing can inherit from LayerTreeHostGtk from
now on due to the final specifier).

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::notifyAnimationStarted): Deleted.
(WebKit::LayerTreeHostGtk::notifyFlushRequired): Deleted.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:

(WebKit::LayerTreeHostGtk::didCommitChangesForLayer): Deleted.

5:05 AM Changeset in webkit [172916] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WTF

Merge r172903 - Add support for little-endian PowerPC64
​https://bugs.webkit.org/show_bug.cgi?id=135647

Patch by Tomas Popela <​tpopela@redhat.com> on 2014-08-25
Reviewed by Oliver Hunt.

  • wtf/Platform.h:
  • wtf/dtoa/utils.h:
4:06 AM Changeset in webkit [172915] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Tools

Merge r171794 - [GTK] GLib tests fail with recent GTK+ due to runtime warning about deprecated properties
​https://bugs.webkit.org/show_bug.cgi?id=135411

Reviewed by Sergio Villar Senin.

Recent versions of GTK+ now warn at runtime when a deprecated
property or signal is used. A diagnostic mode was added that is
enabled by default, but that can be disabled by setting
G_ENABLE_DIAGNOSTIC=0. Runtime warnings are considered test
failures by gtester, so we need to run the tests with the
diganostic mode disabled.

  • TestWebKitAPI/gtk/WebKit2Gtk/TestMain.cpp:

(main):

3:57 AM Changeset in webkit [172914] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r172317 - HTML <sub> and <sup> elements do not work in some 64-bit builds
​https://bugs.webkit.org/show_bug.cgi?id=135736

Reviewed by Tim Horton.

RootInlineBox::verticalPositionForBox() had some implicit conversions between
LayoutUnit and int that caused overflow, and resulted in different comparison
behavior with an int constant in different architectures, since overflow behavior
is undefined.

Specifically, VerticalPositionCache was written in terms of ints with a special
0x80000000 "not found" value. However, 0x80000000 was being assigned to
a LayoutUnit, which multiplies by 64 causing overflow. The result was then
compared again with 0x80000000 which could pass or fail depending on overflow
behavior.

Fix by converting VerticalPositionCache to use LayoutUnits, and to have a bool
return value with a result out param, instead of a special return value.

Not easily testable, since the difference does not show in DRT output,
and a ref test would be flakey.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::ascentAndDescentForBox):

  • rendering/VerticalPositionCache.h:

(WebCore::VerticalPositionCache::get):
(WebCore::VerticalPositionCache::set):

3:54 AM Changeset in webkit [172913] by Carlos Garcia Campos
  • 11 edits in releases/WebKitGTK/webkit-2.4

Merge r172707 - Completed iterator can be revived by adding more than one new entry to the target object
​https://bugs.webkit.org/show_bug.cgi?id=129993

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-08-18
Reviewed by Oliver Hunt.

Source/JavaScriptCore:

When iterator reaches end, finish iterator.

  • runtime/JSMapIterator.h:

(JSC::JSMapIterator::finish):

  • runtime/JSSetIterator.h:

(JSC::JSSetIterator::finish):

  • runtime/MapData.h:

(JSC::MapData::const_iterator::finish): set index of iterator to max
Int32.

  • runtime/MapIteratorPrototype.cpp:

(JSC::MapIteratorPrototypeFuncNext):

  • runtime/SetIteratorPrototype.cpp:

(JSC::SetIteratorPrototypeFuncNext):

LayoutTests:

Test a Map or Set iterator should remain dead after using it.

  • js/basic-map-expected.txt:
  • js/basic-set-expected.txt:
  • js/script-tests/basic-map.js:

(set var):
(set map):

  • js/script-tests/basic-set.js:

(keys.set keys):
(set add.set add):

3:36 AM Changeset in webkit [172912] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r172472 - [GStreamer] playback rate is rounded to integer
​https://bugs.webkit.org/show_bug.cgi?id=135802

Patch by Fabien Vallée <​fvallee@connected-labs.com> on 2014-08-12
Reviewed by Philippe Normand.

Source/WebCore:

Test: media/video-ended-event-slow-motion-playback.html

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::setRate):

LayoutTests:

add test to ensure playback is actually working
in slow motion (playback rate = 0.5): Player
should reach EOS and dispatch ended event.

  • media/video-ended-event-slow-motion-playback-expected.txt: Added.
  • media/video-ended-event-slow-motion-playback.html: Added.
3:30 AM Changeset in webkit [172911] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r172341 - [GTK] Do not use GtkWindow:resize-grip-visible with recent GTK+ versions
​https://bugs.webkit.org/show_bug.cgi?id=135699

Reviewed by Philippe Normand.

Resize grips support have been removed from GTK+ since 3.13.4, the
API has been deprecated and does nothing.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseSetToplevelOnScreenWindow):
(resizeWebKitWebViewBaseFromAllocation):

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

Merge r172896 - [GTK] Toggle buttons visually broken with GTK+ 3.13.7
​https://bugs.webkit.org/show_bug.cgi?id=136130

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-08-24
Reviewed by Martin Robinson.

No new tests. Hopefully covered by existing tests, and our tests only
run with GTK+ 3.6 anyway.

  • platform/gtk/RenderThemeGtk3.cpp:

(WebCore::paintToggle): use GTK_STATE_FLAG_CHECKED when compiling for
GTK+ 3.13.7 and above to ensure toggle buttons display as toggled.

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

Merge r172592 - WebKit2GTK - WebKitWebProcess assertion fails when dragging and dropping a file into the view
​https://bugs.webkit.org/show_bug.cgi?id=127576

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-08-14
Reviewed by Carlos Garcia Campos.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::performDragControllerAction): Assume read access
to any file that has been dragged into the web view when compiling for
GTK, since we don't support sandbox extensions.

2:59 AM Changeset in webkit [172908] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.4

Merge r172828 - [GTK] WebkitWebProcess crashing navigating away from ogg video element
​https://bugs.webkit.org/show_bug.cgi?id=135348

Reviewed by Philippe Normand.

Source/WebCore:

Let GraphicsLayerTextureMapper know it needs to detach the platform
layer when a MediaPlayerPrivateGStreamerBase is destroyed.

No new test since media/restore-from-page-cache.html covers it.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):

Source/WebKit2:

When a page is cached, by default doesn't recreate the backing store
(an optimization added in r89316).

Not all the ports uses that optimization. For example IOS port doesn't
use it (r161185).

In the case of the GTK port, the MediaPlayerPrivateGStreamer, not only
processes video buffers, also display them, because it is a
TextureMapperPlatformLayer too.

Nevertheless, in r153937, when a page is cached, the player is
destroyed. But our player has a backing store and the render tree
doesn't know that the player has gone. Hence, when the page is redraw,
the TextureMapper tree visits the video element, which doesn't exist
anymore, a segmentation fault occurs.

So, as our media player renders, and as we cannot trust that the
player exists when a page is painted, we cannot rely in the r89316
optimization.

Disabling the backing stores optimization fixes the problem.

Covered by existing tests.

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformSetCacheModel): Enable the backing store
clearing when page caching for GTK.

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

Merge r172442 - [GTK] The plugins metadata cache doesn't work if the user cache directory doesn't exist
​https://bugs.webkit.org/show_bug.cgi?id=135834

Reviewed by Philippe Normand.

Make sure the user cache directory exists. If creating the
directory fails for whatever reason, do not try to save the cache
to disk.

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:

(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::updatePluginInfo):

1:17 AM Changeset in webkit [172906] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Core: Fix unused parameter build warning.
​https://bugs.webkit.org/show_bug.cgi?id=136208

Patch by Shivakumar JM <​shiva.jm@samsung.com> on 2014-08-25
Reviewed by Darin Adler.

Fix unused build warning by removing parameter, which is not used.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer):

1:02 AM Changeset in webkit [172905] by clopez@igalia.com
  • 2 edits
    1 add in trunk/Tools

[GTK] JHBuild module gst-plugins-base fails to build on x86 with GCC 4.9
​https://bugs.webkit.org/show_bug.cgi?id=136152

Reviewed by Philippe Normand.

  • gtk/jhbuild.modules: Apply gst-plugins-base-fix-build-gcc-4.9-x86.patch.
  • gtk/patches/gst-plugins-base-fix-build-gcc-4.9-x86.patch: Added.

Cherry pick upstream patches daa194 and 4e3d101.

12:56 AM Changeset in webkit [172904] by svillar@igalia.com
  • 5 edits in trunk

ASSERTION FAILED: !trackSizes.isEmpty() in WebCore::createGridTrackList
​https://bugs.webkit.org/show_bug.cgi?id=136149

Reviewed by Darin Adler.

Source/WebCore:

The second argument of the repeat() function is a <track-list>
that must have at least one <track-size>. Should it not be found,
the declaration must be invalidated.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGridTrackRepeatFunction):

LayoutTests:

Added 3 new test cases to check invalid syntax in the repeat() function.

Also fixed a bug in the testInvalidSyntax() function. We were
using style.gridColumns instead of
style.webkitGridTemplateColumns, so the tests were working fine
because there were no such property.

  • fast/css-grid-layout/grid-element-repeat-get-set-expected.txt:
  • fast/css-grid-layout/grid-element-repeat-get-set.html:
12:12 AM Changeset in webkit [172903] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WTF

Add support for little-endian PowerPC64
​https://bugs.webkit.org/show_bug.cgi?id=135647

Patch by Tomas Popela <​tpopela@redhat.com> on 2014-08-25
Reviewed by Oliver Hunt.

  • wtf/Platform.h:
  • wtf/dtoa/utils.h:

Aug 24, 2014:

11:58 PM Changeset in webkit [172902] by ryuan.choi@samsung.com
  • 3 edits in trunk

[EFL] Move Efl specific code from Source/CMakeLists.txt
​https://bugs.webkit.org/show_bug.cgi?id=136206

Reviewed by Gyuyoung Kim.

WebKit/Efl only uses ENABLE_WERROR so it can be moved into OptionsEfl.cmake.
Inaddition, renamed ADDITIONAL_FLAGS to ADDITIONAL_COMPILER_FLAGS.

  • Source/CMakeLists.txt:
  • Source/cmake/OptionsEfl.cmake:
11:04 PM Changeset in webkit [172901] by zandobersek@gmail.com
  • 7 edits in trunk/Source/WebCore

Move WebCore storage code to C++11 lambdas, std::function
​https://bugs.webkit.org/show_bug.cgi?id=126435

Reviewed by Darin Adler.

Use C++11 lambdas instead of WTF::bind and std::function<void ()>
instead of WTF::Function<void ()> in StorageAreaSync, StorageSyncManager,
StorageThread and StorageTracker classes.

  • storage/StorageAreaSync.cpp:

(WebCore::StorageAreaSync::StorageAreaSync):
(WebCore::StorageAreaSync::scheduleFinalSync):
(WebCore::StorageAreaSync::syncTimerFired):

  • storage/StorageSyncManager.cpp:

(WebCore::StorageSyncManager::dispatch):

  • storage/StorageSyncManager.h:
  • storage/StorageThread.cpp:

(WebCore::StorageThread::dispatch):
(WebCore::StorageThread::terminate):
(WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads):

  • storage/StorageThread.h:
  • storage/StorageTracker.cpp:

(WebCore::StorageTracker::importOriginIdentifiers):
(WebCore::StorageTracker::syncImportOriginIdentifiers):
(WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
(WebCore::StorageTracker::setOriginDetails):
(WebCore::StorageTracker::deleteAllOrigins):
(WebCore::StorageTracker::deleteOrigin):

9:07 PM WebKitEFLLayoutTest edited by gyuyoung.kim@samsung.com
(diff)
9:06 PM Changeset in webkit [172900] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

The inspector should not use the "after" pseudo element with the compatibility syntax
​https://bugs.webkit.org/show_bug.cgi?id=136204

Reviewed by Darin Adler.

We should only use hte proper pseudo element syntax inside WebKit.

  • Tools/PrettyPrinting/codemirror-additions.css:
  • Tools/PrettyPrinting/populate/apple.css:
8:53 PM Changeset in webkit [172899] by Brian Burg
  • 2 edits in trunk/Source/WebKit2

Remove unused method declarations replaced by WebPage::setViewState
​https://bugs.webkit.org/show_bug.cgi?id=136180

Reviewed by Darin Adler.

  • WebProcess/WebPage/WebPage.h:

Remove setFocused, setActive, setViewIsVisible. No longer used.

7:33 PM Changeset in webkit [172898] by ap@apple.com
  • 5 edits
    2 adds in trunk

ASSERT(extractable()) when storing a non-extractable key in IndexedDB
​https://bugs.webkit.org/show_bug.cgi?id=136202
rdar://problem/17993967

Reviewed by Darin Adler.

Source/WebCore:

Test: crypto/subtle/rsa-indexeddb-non-exportable.html

Removed the obsolete assertion.

  • crypto/keys/CryptoKeyAES.cpp: (WebCore::CryptoKeyAES::exportData):
  • crypto/keys/CryptoKeyHMAC.cpp: (WebCore::CryptoKeyHMAC::exportData):
  • crypto/mac/CryptoKeyRSAMac.cpp: (WebCore::CryptoKeyRSA::exportData):

LayoutTests:

  • crypto/subtle/rsa-indexeddb-non-exportable-expected.txt: Added.
  • crypto/subtle/rsa-indexeddb-non-exportable.html: Added.
7:26 PM WebKitEFLLayoutTest edited by gyuyoung.kim@samsung.com
EFL port doesn't need to use SHARED_CORE=ON in order to run layout … (diff)
6:44 PM EFLWebKitReleasePlan created by ryuan.choi@samsung.com
6:28 PM EFLWebKit edited by ryuan.choi@samsung.com
(diff)
5:26 PM Changeset in webkit [172897] by Brian Burg
  • 9 edits in trunk/Source

Web Inspector: Rename DOM.RGBA and remove workarounds in the bindings generator
​https://bugs.webkit.org/show_bug.cgi?id=136025

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

This workaround can be removed since it is no longer necessary.

  • inspector/scripts/codegen/models.py:

(TypeReference.init):
(Type.raw_name):
(TypeDeclaration.init):

  • inspector/scripts/tests/type-declaration-object-type.json: Remove related test input.
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result: Rebaseline.

Source/WebCore:

Rename DOM.RGBA to DOM.RGBAColor to avoid name clashes with headers on Windows CE.
This workaround used to be special-cased in the bindings generator.

Type names are not used in protocol messages, so this does not introduce legacy issues.

  • inspector/protocol/DOM.json:

Source/WebInspectorUI:

Also rename DOM.RGBA in legacy protocol specifications.

  • Versions/Inspector-iOS-6.0.json:
  • Versions/Inspector-iOS-7.0.json:
3:07 PM Changeset in webkit [172896] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] Toggle buttons visually broken with GTK+ 3.13.7
​https://bugs.webkit.org/show_bug.cgi?id=136130

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-08-24
Reviewed by Martin Robinson.

No new tests. Hopefully covered by existing tests, and our tests only
run with GTK+ 3.6 anyway.

  • platform/gtk/RenderThemeGtk3.cpp:

(WebCore::paintToggle): use GTK_STATE_FLAG_CHECKED when compiling for
GTK+ 3.13.7 and above to ensure toggle buttons display as toggled.

1:14 PM Changeset in webkit [172895] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk

GenericHashTraits::peek() is producing copies of passed-in temporary values
​https://bugs.webkit.org/show_bug.cgi?id=131461

Patch by Zan Dobersek <​zdobersek@igalia.com> on 2014-08-24
Reviewed by Darin Adler.

Source/WTF:

  • wtf/HashTraits.h:

(WTF::GenericHashTraits::peek): Make this method a template that passes through
the passed-in value without copying, achieved by using universal references and
std::forward<>().

Tools:

Add a test case that checks the number of copies and moves of the mapped objects
when calling HashMap::get(). Exactly one copy of the mapped value should be
performed when there exists a value that is mapped to the specified key, and
exactly one move and no copies of the empty value should be performed when there
isn't any mapped value for the specified key.

  • TestWebKitAPI/Tests/WTF/CopyMoveCounter.h: Added.

(CopyMoveCounter::TestingScope::TestingScope):
(CopyMoveCounter::CopyMoveCounter):
(CopyMoveCounter::operator=):

  • TestWebKitAPI/Tests/WTF/HashMap.cpp:

(TestWebKitAPI::TEST):

2:12 AM Changeset in webkit [172894] by ryuan.choi@samsung.com
  • 5 edits in trunk

[EFL] Introduce DEVELOPER_MODE
​https://bugs.webkit.org/show_bug.cgi?id=135884

Reviewed by Gyuyoung Kim.

.:

Like GTK port, DEVELOPER_MODE can be good solution for developing, debugging and testing
instead of SHARED_CORE.
SHARED_CORE can reduce link time and memory consumption but it is slightly different
from release binary.

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/WebKitHelpers.cmake:

Moved fvisibility=hidden to OptionsEfl.cmake

Tools:

  • Scripts/webkitdirs.pm: Turn on DEVELOPER_MODE for the EFL port.

(generateBuildSystemFromCMakeProject):

12:10 AM Changeset in webkit [172893] by ap@apple.com
  • 6 edits in trunk/Tools

build.webkit.org/dashboard unnecessarily loads results of hidden queues
​https://bugs.webkit.org/show_bug.cgi?id=136195

Reviewed by Tim Horton.

This patch also makes it possible to avoid any automatic loading, as needed for metrics view.

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

Don't start an update just because a queue object was created. Periodic updates
are triggered by views, so it only makes sense to do the same for the initial update.

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

Now that Trac object doesn't auto-load, start loading here.

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

(QueueView): Calling _updateHiddenState right away was wrong, because it accesses
a data member added by subclasses later. With this.platform being undefined, it
always looked like this queue was not hidden.
(QueueView.prototype._updateHiddenState): Start an immediate update, too.

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

(Trac): Don't load anything here, the client may choose to load a custom date range.
(Trac.prototype.startPeriodicUpdates): Added a function to start automatic loading.

Aug 23, 2014:

6:35 PM Changeset in webkit [172892] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard: Further improve Trac loading
​https://bugs.webkit.org/show_bug.cgi?id=136174

Reviewed by Timothy Hatcher.

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

(Trac.prototype._xmlTimelineURL): Passing -1 as "max" resulted in an off by one
error, the oldest commit within the range wasn't returned. The correct argument for
"no limit" is 0.
(Trac.prototype.load): Added a function to load a specific time range.
(Trac.prototype._loaded): Updated to support loading revisions that are arbitrarily
positioned with regards to ones that were already known.

6:22 PM Changeset in webkit [172891] by ap@apple.com
  • 3 edits in trunk/Tools

build.webkit.org/dashboard: Make it possible to pull historic data from Buildbot
​https://bugs.webkit.org/show_bug.cgi?id=136182

Reviewed by Timothy Hatcher.

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

Make it possible to create a complete BuildbotIteration object with JSON, not only by
loading data from the network.

An iteration has three states:

  1. Just created, it only knows the revision, and whether it's already finished.

BuildbotIteration constructor used to create these.

  1. A complete JSON report loaded from buildbot. The new constructor form creates these.
  2. Data about tests is fetched.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:

Make it possible to pull all data from a buildbot queue. This needs to be better
optimized eventually, as it's somewhat slow.

1:39 PM Changeset in webkit [172890] by beidson@apple.com
  • 8 edits in trunk/Source/WebCore

Random Gamepad cleanup
​https://bugs.webkit.org/show_bug.cgi?id=136193

Reviewed by Sam Weinig.

No new tests (Not tested yet, and no change in behavior anyways)

  • Use DOMWindow WeakPtrs when iterating
  • More references instead of pointers
  • Modules/gamepad/GamepadEvent.cpp:

(WebCore::GamepadEvent::GamepadEvent):

  • Modules/gamepad/GamepadEvent.h:

(WebCore::GamepadEvent::create):

  • Modules/gamepad/GamepadManager.cpp:

(WebCore::GamepadManager::platformGamepadDisconnected):
(WebCore::GamepadManager::makeGamepadVisible):

  • Modules/gamepad/NavigatorGamepad.cpp:

(WebCore::NavigatorGamepad::gamepadFromPlatformGamepad):
(WebCore::NavigatorGamepad::gamepadAtIndex): Deleted.

  • Modules/gamepad/NavigatorGamepad.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::DOMWindow):

  • page/DOMWindow.h:
2:24 AM Changeset in webkit [172889] by commit-queue@webkit.org
  • 15 edits in trunk/Source

Unify GraphicsLayer::setContentsToMedia and setContentsToCanvas
​https://bugs.webkit.org/show_bug.cgi?id=109658
Source/WebCore:

Patch by Byungseon Shin <​sun.shin@lge.com> on 2014-08-23
Reviewed by Martin Robinson.

Based on patch originally written by Tim Horton.
Merge setContentsToMedia and setContentsToCanvas into setContentsToPlatformLayer.

  • WebCore.exp.in:

Adjust exports.

  • platform/graphics/GraphicsLayer.h:

Move ContentsLayerPurpose enum up out of GraphicsLayer platform implmentations
and into GraphicsLayer, so we can use it as a parameter.
Add ContentsLayerForPlugin.

(WebCore::GraphicsLayer::setContentsToPlatformLayer):
Remove setContentsToMedia and setContentsToCanvas, and replace them
with setContentsToPlatformLayer, which previously existed but was unused
and simply called setContentsToMedia.
setContentsToPlatformLayer takes a ContentsLayerPurpose, primarily
so that GraphicsLayerCA can know whether it needs to setNeedsDisplay
the layer when parenting it (canvas) or not (everything else).

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::setContentsToPlatformLayer):
Rename function setContentsToMedia -> setContentsToPlatformLayer.
Rename argument mediaLayer -> platformLayer.
Store the passed-in ContentsLayerPurpose.
Remove setContentsToCanvas.

(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateContentsPlatformLayer):
Remove updateContentsMediaLayer and updateContentsCanvas layer,
add updateContentsPlatformLayer.

  • platform/graphics/ca/GraphicsLayerCA.h:

Do the same to the LayerChange enum.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::setContentsToImage):
(WebCore::GraphicsLayerTextureMapper::setContentsToPlatformLayer):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
(WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer):
(WebCore::CoordinatedGraphicsLayer::syncPlatformLayer):
(WebCore::CoordinatedGraphicsLayer::destroyPlatformLayerIfNeeded):
(WebCore::CoordinatedGraphicsLayer::createPlatformLayerIfNeeded):
(WebCore::CoordinatedGraphicsLayer::flushCompositingStateForThisLayerOnly):
Fold these together in the same way as elsewhere.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:

Do the same to the LayerChange enum.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::createPlatformLayerIfNeeded):
(WebCore::CoordinatedGraphicsScene::syncPlatformLayerIfNeeded):
(WebCore::CoordinatedGraphicsScene::destroyPlatformLayerIfNeeded):
(WebCore::CoordinatedGraphicsScene::setLayerState):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:

(WebCore::CoordinatedGraphicsLayerState::CoordinatedGraphicsLayerState):
Rename canvasLayer -> platformLayer.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateConfiguration):
Use the new setContentsToPlatformLayer, passing in the relevant ContentsLayerPurpose.

Source/WebKit2:

Patch by Byungseon Shin <​sun.shin@lge.com> on 2014-08-23
Reviewed by Martin Robinson.

Based on patch originally written by Tim Horton.
Merge setContentsToMedia and setContentsToCanvas into setContentsToPlatformLayer.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::encode):
(IPC::ArgumentCoder<CoordinatedGraphicsLayerState>::decode):
Rename canvas -> platformLayer.

1:16 AM Changeset in webkit [172888] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Web Inspector: Do not copy large module source strings
​https://bugs.webkit.org/show_bug.cgi?id=136191

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-23
Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

  • inspector/InjectedScriptManager.cpp:

(Inspector::InjectedScriptManager::injectedScriptSource):

Source/WebCore:

  • inspector/CommandLineAPIModule.cpp:

(WebCore::CommandLineAPIModule::source):

12:15 AM Changeset in webkit [172887] by zandobersek@gmail.com
  • 5 edits in trunk/Source/WebCore

Remove uses of CrossThreadTask in ThreadableWebSocketChannelClientWrapper, WorkerThreadableWebSocketChannel
​https://bugs.webkit.org/show_bug.cgi?id=133954

Reviewed by Darin Adler.

Replace uses of CrossThreadTask with C++11 lambdas in the ThreadableWebSocketChannelClientWrapper
and WorkerThreadableWebSocketChannel classes.

  • Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:

(WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
(WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
(WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
(WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
(WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
(WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasksCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmountCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback): Deleted.
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageErrorCallback): Deleted.

  • Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
  • Modules/websockets/WorkerThreadableWebSocketChannel.cpp:

(WebCore::WorkerThreadableWebSocketChannel::Peer::send):
(WebCore::WorkerThreadableWebSocketChannel::Peer::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessage):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
(WebCore::workerGlobalScopeDidSend): Deleted.
(WebCore::workerGlobalScopeDidGetBufferedAmount): Deleted.
(WebCore::workerGlobalScopeDidConnect): Deleted.
(WebCore::workerGlobalScopeDidReceiveMessage): Deleted.
(WebCore::workerGlobalScopeDidReceiveBinaryData): Deleted.
(WebCore::workerGlobalScopeDidUpdateBufferedAmount): Deleted.
(WebCore::workerGlobalScopeDidStartClosingHandshake): Deleted.
(WebCore::workerGlobalScopeDidClose): Deleted.
(WebCore::workerGlobalScopeDidReceiveMessageError): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadConnect): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadSend): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadSendArrayBuffer): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadSendBlob): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadBufferedAmount): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadClose): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadFail): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadSuspend): Deleted.
(WebCore::WorkerThreadableWebSocketChannel::mainThreadResume): Deleted.

  • Modules/websockets/WorkerThreadableWebSocketChannel.h:
12:12 AM Changeset in webkit [172886] by Yusuke Suzuki
  • 3 edits in trunk/Source/WebCore

Clean up build warnings: control reaches end of non-void function
​https://bugs.webkit.org/show_bug.cgi?id=135889

Reviewed by Alexey Proskuryakov.

  • bindings/js/JSCryptoAlgorithmDictionary.cpp:

(WebCore::JSCryptoAlgorithmDictionary::createParametersForEncrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDecrypt):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForSign):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForVerify):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDigest):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForGenerateKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForDeriveBits):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForImportKey):
(WebCore::JSCryptoAlgorithmDictionary::createParametersForExportKey):

  • crypto/CryptoKey.cpp:

(WebCore::CryptoKey::type):

12:11 AM Changeset in webkit [172885] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[TexMap] Only notify of a required flush on the first layer property change
​https://bugs.webkit.org/show_bug.cgi?id=136104

Reviewed by Martin Robinson.

The GraphicsLayer's client should only be notified that a flush is required
when the first change of one of the layer's properties is initiated, instead
of requesting the flush on every such change.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::notifyChange):

Aug 22, 2014:

11:59 PM Changeset in webkit [172884] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Try to fix the Mac build using the internal SDK.

  • bindings/objc/PublicDOMInterfaces.h:
11:32 PM Changeset in webkit [172883] by commit-queue@webkit.org
  • 12 edits
    3 deletes in trunk

Remove LevelDB.
​https://bugs.webkit.org/show_bug.cgi?id=136170

Patch by Renato Nagy <​nagy.renato@stud.u-szeged.hu> on 2014-08-22
Reviewed by Gyuyoung Kim.

Source/ThirdParty:

  • leveldb/AUTHORS: Removed.
  • leveldb/LICENSE: Removed.
  • leveldb/Makefile: Removed.
  • leveldb/NEWS: Removed.
  • leveldb/README: Removed.
  • leveldb/TODO: Removed.
  • leveldb/build_detect_platform: Removed.
  • leveldb/db/builder.cc: Removed.
  • leveldb/db/builder.h: Removed.
  • leveldb/db/c.cc: Removed.
  • leveldb/db/c_test.c: Removed.
  • leveldb/db/corruption_test.cc: Removed.
  • leveldb/db/db_bench.cc: Removed.
  • leveldb/db/db_impl.cc: Removed.
  • leveldb/db/db_impl.h: Removed.
  • leveldb/db/db_iter.cc: Removed.
  • leveldb/db/db_iter.h: Removed.
  • leveldb/db/db_test.cc: Removed.
  • leveldb/db/dbformat.cc: Removed.
  • leveldb/db/dbformat.h: Removed.
  • leveldb/db/dbformat_test.cc: Removed.
  • leveldb/db/filename.cc: Removed.
  • leveldb/db/filename.h: Removed.
  • leveldb/db/filename_test.cc: Removed.
  • leveldb/db/leveldb_main.cc: Removed.
  • leveldb/db/log_format.h: Removed.
  • leveldb/db/log_reader.cc: Removed.
  • leveldb/db/log_reader.h: Removed.
  • leveldb/db/log_test.cc: Removed.
  • leveldb/db/log_writer.cc: Removed.
  • leveldb/db/log_writer.h: Removed.
  • leveldb/db/memtable.cc: Removed.
  • leveldb/db/memtable.h: Removed.
  • leveldb/db/repair.cc: Removed.
  • leveldb/db/skiplist.h: Removed.
  • leveldb/db/skiplist_test.cc: Removed.
  • leveldb/db/snapshot.h: Removed.
  • leveldb/db/table_cache.cc: Removed.
  • leveldb/db/table_cache.h: Removed.
  • leveldb/db/version_edit.cc: Removed.
  • leveldb/db/version_edit.h: Removed.
  • leveldb/db/version_edit_test.cc: Removed.
  • leveldb/db/version_set.cc: Removed.
  • leveldb/db/version_set.h: Removed.
  • leveldb/db/version_set_test.cc: Removed.
  • leveldb/db/write_batch.cc: Removed.
  • leveldb/db/write_batch_internal.h: Removed.
  • leveldb/db/write_batch_test.cc: Removed.
  • leveldb/doc/bench/db_bench_sqlite3.cc: Removed.
  • leveldb/doc/bench/db_bench_tree_db.cc: Removed.
  • leveldb/doc/benchmark.html: Removed.
  • leveldb/doc/doc.css: Removed.
  • leveldb/doc/impl.html: Removed.
  • leveldb/doc/index.html: Removed.
  • leveldb/doc/log_format.txt: Removed.
  • leveldb/doc/table_format.txt: Removed.
  • leveldb/helpers/memenv/memenv.cc: Removed.
  • leveldb/helpers/memenv/memenv.h: Removed.
  • leveldb/helpers/memenv/memenv_test.cc: Removed.
  • leveldb/include/leveldb/c.h: Removed.
  • leveldb/include/leveldb/cache.h: Removed.
  • leveldb/include/leveldb/comparator.h: Removed.
  • leveldb/include/leveldb/db.h: Removed.
  • leveldb/include/leveldb/env.h: Removed.
  • leveldb/include/leveldb/filter_policy.h: Removed.
  • leveldb/include/leveldb/iterator.h: Removed.
  • leveldb/include/leveldb/options.h: Removed.
  • leveldb/include/leveldb/slice.h: Removed.
  • leveldb/include/leveldb/status.h: Removed.
  • leveldb/include/leveldb/table.h: Removed.
  • leveldb/include/leveldb/table_builder.h: Removed.
  • leveldb/include/leveldb/write_batch.h: Removed.
  • leveldb/port/README: Removed.
  • leveldb/port/atomic_pointer.h: Removed.
  • leveldb/port/port.h: Removed.
  • leveldb/port/port_example.h: Removed.
  • leveldb/port/port_posix.cc: Removed.
  • leveldb/port/port_posix.h: Removed.
  • leveldb/port/thread_annotations.h: Removed.
  • leveldb/port/win/stdint.h: Removed.
  • leveldb/table/block.cc: Removed.
  • leveldb/table/block.h: Removed.
  • leveldb/table/block_builder.cc: Removed.
  • leveldb/table/block_builder.h: Removed.
  • leveldb/table/filter_block.cc: Removed.
  • leveldb/table/filter_block.h: Removed.
  • leveldb/table/filter_block_test.cc: Removed.
  • leveldb/table/format.cc: Removed.
  • leveldb/table/format.h: Removed.
  • leveldb/table/iterator.cc: Removed.
  • leveldb/table/iterator_wrapper.h: Removed.
  • leveldb/table/merger.cc: Removed.
  • leveldb/table/merger.h: Removed.
  • leveldb/table/table.cc: Removed.
  • leveldb/table/table_builder.cc: Removed.
  • leveldb/table/table_test.cc: Removed.
  • leveldb/table/two_level_iterator.cc: Removed.
  • leveldb/table/two_level_iterator.h: Removed.
  • leveldb/util/arena.cc: Removed.
  • leveldb/util/arena.h: Removed.
  • leveldb/util/arena_test.cc: Removed.
  • leveldb/util/bloom.cc: Removed.
  • leveldb/util/bloom_test.cc: Removed.
  • leveldb/util/cache.cc: Removed.
  • leveldb/util/cache_test.cc: Removed.
  • leveldb/util/coding.cc: Removed.
  • leveldb/util/coding.h: Removed.
  • leveldb/util/coding_test.cc: Removed.
  • leveldb/util/comparator.cc: Removed.
  • leveldb/util/crc32c.cc: Removed.
  • leveldb/util/crc32c.h: Removed.
  • leveldb/util/crc32c_test.cc: Removed.
  • leveldb/util/env.cc: Removed.
  • leveldb/util/env_posix.cc: Removed.
  • leveldb/util/env_test.cc: Removed.
  • leveldb/util/filter_policy.cc: Removed.
  • leveldb/util/hash.cc: Removed.
  • leveldb/util/hash.h: Removed.
  • leveldb/util/histogram.cc: Removed.
  • leveldb/util/histogram.h: Removed.
  • leveldb/util/logging.cc: Removed.
  • leveldb/util/logging.h: Removed.
  • leveldb/util/mutexlock.h: Removed.
  • leveldb/util/options.cc: Removed.
  • leveldb/util/posix_logger.h: Removed.
  • leveldb/util/random.h: Removed.
  • leveldb/util/status.cc: Removed.
  • leveldb/util/testharness.cc: Removed.
  • leveldb/util/testharness.h: Removed.
  • leveldb/util/testutil.cc: Removed.
  • leveldb/util/testutil.h: Removed.

Source/WebCore:

  • CMakeLists.txt:
  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::createIndex):

  • Modules/indexeddb/IDBTransactionCoordinator.cpp:

(WebCore::IDBTransactionCoordinator::canRunTransaction):
(WebCore::doScopesOverlap): Deleted.

  • Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.cpp: Removed.
  • Modules/indexeddb/leveldb/IDBBackingStoreCursorLevelDB.h: Removed.
  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.cpp: Removed.
  • Modules/indexeddb/leveldb/IDBBackingStoreLevelDB.h: Removed.
  • Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.cpp: Removed.
  • Modules/indexeddb/leveldb/IDBBackingStoreTransactionLevelDB.h: Removed.
  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp: Removed.
  • Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h: Removed.
  • Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.cpp: Removed.
  • Modules/indexeddb/leveldb/IDBIndexWriterLevelDB.h: Removed.
  • Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp: Removed.
  • Modules/indexeddb/leveldb/IDBLevelDBCoding.h: Removed.
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.cpp: Removed.
  • Modules/indexeddb/leveldb/IDBServerConnectionLevelDB.h: Removed.
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/DatabaseStrategy.cpp:

(WebCore::DatabaseStrategy::createIDBFactoryBackend):

  • platform/leveldb/LevelDBComparator.h: Removed.
  • platform/leveldb/LevelDBDatabase.cpp: Removed.
  • platform/leveldb/LevelDBDatabase.h: Removed.
  • platform/leveldb/LevelDBIterator.h: Removed.
  • platform/leveldb/LevelDBSlice.h: Removed.
  • platform/leveldb/LevelDBTransaction.cpp: Removed.
  • platform/leveldb/LevelDBTransaction.h: Removed.
  • platform/leveldb/LevelDBWriteBatch.cpp: Removed.
  • platform/leveldb/LevelDBWriteBatch.h: Removed.

Tools:

  • Scripts/webkitpy/common/config/watchlist:
  • Scripts/webkitpy/style/checker.py:
11:29 PM Changeset in webkit [172882] by commit-queue@webkit.org
  • 4 edits in trunk

.:
[EFL] Turn on ENABLE_GAMEPAD_DEPRECATED option.
​https://bugs.webkit.org/show_bug.cgi?id=136110

Patch by KwangHyuk Kim <​hyuki.kim@samsung.com> on 2014-08-22
Reviewed by Gyuyoung Kim.

Turn on ENABLE_GAMEPAD_DEPRECATED option for the WK2 Efl.

  • Source/cmake/OptionsEfl.cmake:

Source/WebCore:
[EFL] Fix build break caused by ENABLE_GAMEPAD_DEPRECATED.
​https://bugs.webkit.org/show_bug.cgi?id=136110

Patch by KwangHyuk Kim <​hyuki.kim@samsung.com> on 2014-08-22
Reviewed by Gyuyoung Kim.

WebCore_INCLUDE_DIRECTORY for gamepad was removed from WK2 Efl in order to fix build break when ENABLE_GAMEPAD_DEPRECATED is on.

No new tests because no functional changes.

  • PlatformEfl.cmake:
9:34 PM Changeset in webkit [172881] by zoltan@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][WK2] Remove fast/css3-text/css3-text-align-last/text-align-last-with-text-align-justify.html from skipped list
​https://bugs.webkit.org/show_bug.cgi?id=128732

Reviewed by Gyuyoung Kim.

  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html:
  • platform/efl/TestExpectations:
9:30 PM Changeset in webkit [172880] by benjamin@webkit.org
  • 13 edits
    12 adds in trunk

Style invalidation does not work for adjacent node updates
​https://bugs.webkit.org/show_bug.cgi?id=136145

Reviewed by Antti Koivisto.

Source/WebCore:

There were a bunch of cases in which the style would be in an inconsistent
state until the style resolver kicks in for the entire document.

For example, let's take the selector "foo.bar + target". When the class "bar"
changes, the element foo is invalidated. The element target is untouched.

Now, if the style of "target" is accessed, nodeOrItsAncestorNeedsStyleRecalc()
returns false and the old style is accessed.

At some point, when the style of the entire document is resolved, the node
"foo" is styled, and "target" is invalidated.

To fix the issue, this patch adds an extra flag keeping track of subtrees that
have any node needing style recalc: DirectChildNeedsStyleRecalcFlag.

When invalidating the node "foo", its parent is marked with
DirectChildNeedsStyleRecalcFlag to note that one of the child nodes has an invalid style.

When verifying the style state in nodeOrItsAncestorNeedsStyleRecalc(), we check that flag
in addition to the siblings dependencies to find if the node is part of a subtree that may
be invalid due to sibling selectors.

Similarly, in the style resolver, we use the flag to clear the style on all elements
that could potentially be invalid.

This patch removes the changes introduced by r172721
(The style is not updated correctly when the pseudo class :empty is applied on anything but the rightmost element).
That bug was just a special case of what is solved here.

Tests: fast/selectors/attribute-direct-adjacent-style-update.html

fast/selectors/attribute-sibling-style-update.html
fast/selectors/class-direct-adjacent-style-update.html
fast/selectors/class-sibling-style-update.html
fast/selectors/first-child-direct-adjacent-style-update.html
fast/selectors/first-child-sibling-style-update.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsEmpty):
(WebCore::SelectorCompiler::setStyleOfSiblingsAffectedByEmpty): Deleted.

  • dom/ContainerNode.h:

(WebCore::ContainerNode::directChildNeedsStyleRecalc):
(WebCore::ContainerNode::setDirectChildNeedsStyleRecalc):
Remove the special case for :empty.

  • dom/Document.cpp:

(WebCore::nodeOrItsAncestorNeedsStyleRecalc):

  • dom/Element.cpp:

(WebCore::checkForEmptyStyleChange):
(WebCore::checkForSiblingStyleChanges):
(WebCore::Element::setStyleOfSiblingsAffectedByEmpty): Deleted.
(WebCore::Element::rareDataStyleOfSiblingsAffectedByEmpty): Deleted.

  • dom/Element.h:

(WebCore::Element::styleOfSiblingsAffectedByEmpty): Deleted.

  • dom/ElementRareData.h:

(WebCore::ElementRareData::ElementRareData):
(WebCore::ElementRareData::styleOfSiblingsAffectedByEmpty): Deleted.
(WebCore::ElementRareData::setStyleOfSiblingsAffectedByEmpty): Deleted.

  • dom/Node.cpp:

(WebCore::markAncestorsWithChildNeedsStyleRecalc):
(WebCore::Node::setNeedsStyleRecalc):
(WebCore::Node::markAncestorsWithChildNeedsStyleRecalc): Deleted.

  • dom/Node.h:

(WebCore::Node::clearChildNeedsStyleRecalc):

  • style/StyleResolveTree.cpp:

(WebCore::Style::resetStyleForNonRenderedDescendants):

LayoutTests:

Add tests covering the basic cases: classes and attributes.

First-child covers the basic positional updates.

The tests have a version without any indirect adjacent ("~") because the marking
used for those is much more generic and having them hide some bugs.

Some tests are still failing. That is due to the style resolver not handling
direct siblings ("+") correctly when there are multiple of them. I will address
that separately.

  • fast/selectors/attribute-direct-adjacent-style-update-expected.txt: Added.
  • fast/selectors/attribute-direct-adjacent-style-update.html: Added.
  • fast/selectors/attribute-sibling-style-update-expected.txt: Added.
  • fast/selectors/attribute-sibling-style-update.html: Added.
  • fast/selectors/class-direct-adjacent-style-update-expected.txt: Added.
  • fast/selectors/class-direct-adjacent-style-update.html: Added.
  • fast/selectors/class-sibling-style-update-expected.txt: Added.
  • fast/selectors/class-sibling-style-update.html: Added.
  • fast/selectors/first-child-direct-adjacent-style-update.html: Added.
  • fast/selectors/first-child-sibling-style-update-expected.txt: Added.
  • fast/selectors/first-child-sibling-style-update.html: Added.
  • fast/selectors/placeholder-shown-sibling-style-update-expected.txt:
6:58 PM Changeset in webkit [172879] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

6:54 PM Changeset in webkit [172878] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.1.15

New Tag.

6:28 PM Changeset in webkit [172877] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove unused legacy InspectorFrontendHost methods
​https://bugs.webkit.org/show_bug.cgi?id=136186

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-22
Reviewed by Andreas Kling.

  • bindings/js/JSInspectorFrontendHostCustom.cpp:

(WebCore::JSInspectorFrontendHost::recordActionTaken): Deleted.
(WebCore::JSInspectorFrontendHost::recordPanelShown): Deleted.
(WebCore::JSInspectorFrontendHost::recordSettingChanged): Deleted.

  • inspector/InspectorFrontendHost.idl:
5:43 PM Changeset in webkit [172876] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Remove unnecessary WTFString creation in Dictionary getter
​https://bugs.webkit.org/show_bug.cgi?id=136184

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-22
Reviewed by Benjamin Poulain.

  • bindings/js/Dictionary.cpp:

(WebCore::Dictionary::getWithUndefinedOrNullCheck):

  • bindings/js/Dictionary.h:
  • bindings/js/JSDictionary.cpp:

(WebCore::JSDictionary::getWithUndefinedOrNullCheck):

  • bindings/js/JSDictionary.h:
4:04 PM Changeset in webkit [172875] by commit-queue@webkit.org
  • 18 edits in trunk/Source

Unreviewed, rolling out r172866.
​https://bugs.webkit.org/show_bug.cgi?id=136177

Broke iOS build (Requested by othermaciej on #webkit).

Reverted changeset:

"Replace use of WKCopyCFLocalizationPreferredName with
NSLocale public API"
​https://bugs.webkit.org/show_bug.cgi?id=136082
​http://trac.webkit.org/changeset/172866

3:30 PM Changeset in webkit [172874] by hyatt@apple.com
  • 5 edits
    3 adds in trunk

Add proper support for letter-spacing to bopomofo Ruby
​https://bugs.webkit.org/show_bug.cgi?id=136171

Reviewed by Sam Weinig.

Source/WebCore:

Added fast/ruby/bopomofo-letter-spacing.html

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::layout):
Alter the layout of bopomofo ruby so that the distance between the base characters is the max of
the letter-spacing between the characters and the minimum required width to hold two rows of
Ruby.

Push the bopomofo ruby into the letter-spacing to ensure that it comes right after the base character
and not after all the letter-spacing.

LayoutTests:

  • fast/ruby/bopomofo-letter-spacing.html: Added.
  • platform/mac/fast/ruby/bopomofo-expected.png:
  • platform/mac/fast/ruby/bopomofo-expected.txt:
  • platform/mac/fast/ruby/bopomofo-letter-spacing-expected.png: Added.
  • platform/mac/fast/ruby/bopomofo-letter-spacing-expected.txt: Added.
3:09 PM Changeset in webkit [172873] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix showing paint rects when selecting lines in the timeline
​https://bugs.webkit.org/show_bug.cgi?id=136173

Reviewed by Joseph Pecoraro.

Fix the condition used to decide when to show the overlay.

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::shouldShowOverlay):

3:09 PM Changeset in webkit [172872] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Use the correct rect for paint flashing
​https://bugs.webkit.org/show_bug.cgi?id=136169

Reviewed by Sam Weinig.

Use the rect we've converted to root document coordinates for paint flashing.

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::didPaint):

1:55 PM Changeset in webkit [172871] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Google Canvas2D maps are too slow and uncontrollable with Safari with full screen mode
​https://bugs.webkit.org/show_bug.cgi?id=136168

Reviewed by Tim Horton.

When Google maps are using their 2D "lite" fallback and you're drawing in a huge
window such as fullscreen 4K, we would drop back to unaccelerated mode, thinking
that we'd exceeded the maximum IOSurface size.

Remove the hardcoded limit on IOSurface sizes, and instead ask the system
what it believe the maximum to be. This was significantly higher than our
limit on the systems I tested.

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::ImageBuffer): Include our IOSurface wrapper, which
has a query for maximum size, and use that instead.

1:40 PM Changeset in webkit [172870] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Maybe fix Windows.

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::showPaintRect):

1:26 PM Changeset in webkit [172869] by Simon Fraser
  • 10 edits in trunk/Source

Implement paint flashing in the WK1 InspectorOverlay page
​https://bugs.webkit.org/show_bug.cgi?id=136138

Reviewed by Sam Weinig, Joseph Pecoraro.

Implement paint flashing for the WebKit1 InspectorOverlay via a second canvas in the overlay page.
We avoid allocating backing store for this canvas until we have paint rects.

Because this overlay page is weird and doesn't know how to paint itself, InspectorOverlay manages
an array of rects, and pushes them to the page when they change, before forcing a paint.

Because iOS doesn't use the InspectorOverlay page, stub out setShowPaintRects on its
WebKit WebInspectorClient, but don't yet implement paint flashing there.

Source/WebCore:

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::InspectorOverlay):
(WebCore::InspectorOverlay::shouldShowOverlay):
(WebCore::InspectorOverlay::update):
(WebCore::buildObjectForRect):
(WebCore::InspectorOverlay::setShowingPaintRects):
(WebCore::InspectorOverlay::showPaintRect):
(WebCore::InspectorOverlay::updatePaintRectsTimerFired):
(WebCore::InspectorOverlay::drawPaintRects):
(WebCore::InspectorOverlay::forcePaint):
(WebCore::quadToPath): Deleted.
(WebCore::drawOutlinedQuad): Deleted.
(WebCore::InspectorOverlay::drawOutline): Deleted.

  • inspector/InspectorOverlay.h:
  • inspector/InspectorOverlayPage.html:
  • inspector/InspectorOverlayPage.js:

(updatePaintRects):
(reset):
(_drawShapeHighlight):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::setShowPaintRects):
(WebCore::InspectorPageAgent::didPaint):

Source/WebKit/ios:

  • WebCoreSupport/WebInspectorClientIOS.mm:

(WebInspectorClient::setShowPaintRects):
(WebInspectorClient::showPaintRect):

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorClient::WebInspectorClient):

1:10 PM Changeset in webkit [172868] by eric.carlson@apple.com
  • 6 edits in trunk/Source/WebCore

[iOS] Cleanup media code
​https://bugs.webkit.org/show_bug.cgi?id=136163

Reviewed by Jer Noble.

No new tests, no functionality was changed.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Don't initialize m_requestingPlay.
(WebCore::HTMLMediaElement::parseMediaPlayerAttribute): Deleted.
(WebCore::HTMLMediaElement::parseAttribute): Don't call parseMediaPlayerAttribute.
(WebCore::HTMLMediaElement::playInternal): m_requestingPlay is dead, Jim.
(WebCore::HTMLMediaElement::updatePlayState): Ditto.
(WebCore::HTMLMediaElement::updatePlayState): Remove obsolete FIXME.

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::attributeChanged): Deleted.
(WebCore::MediaPlayer::readyForPlayback): Deleted.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::attributeChanged): Deleted.
(WebCore::MediaPlayerPrivateInterface::readyForPlayback): Deleted.

12:54 PM Changeset in webkit [172867] by msaboff@apple.com
  • 17 edits in trunk/Source/JavaScriptCore

REGRESSION(r163179): Sporadic crash in js/dom/line-column-numbers.html test
​https://bugs.webkit.org/show_bug.cgi?id=136111

Reviewed by Filip Pizlo.

The problem was that we weren't properly handling VM::topVMEntryFrame in two ways.

First in the case where we get an exception of a stack overflow during setup of the direct
callee frame of a VM entry frame, we need to throw the exception in the caller's frame.
This requires unrolling topVMEntryFrame while creating the exception object. This is
accomplished with the renamed NativeCallFrameTracerWithRestore object. As part of this,
split the JIT rollback exception handling to call a new helper,
callLookupExceptionHandlerFromCallerFrame, which will unroll the callFrame and VMEntryFrame.

Second, when we unwind to find a handler, we also need to unwind topVMCallFrame for the
case where we end up (re)throwing another exception after entering the catch block, but
before another vmEntry call. Added VM::vmEntryFrameForThrow as a way similar to
VM::callFrameForThrow to pass the appropriate VMENtryFrame to the catch block.

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileExceptionHandlers):

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileExceptionHandlers):
Split out the unroll cases to use the new helper callLookupExceptionHandlerFromCallerFrame()
to unwind both the callFrame and topVMEntryFrame.

  • interpreter/Interpreter.cpp:

(JSC::UnwindFunctor::UnwindFunctor):
(JSC::UnwindFunctor::operator()):
(JSC::Interpreter::unwind):

  • jit/JITExceptions.cpp:

(JSC::genericUnwind):
Added VMEntryFrame as another component to unwind.

  • interpreter/Interpreter.h:

(JSC::NativeCallFrameTracer::NativeCallFrameTracer):
(JSC::NativeCallFrameTracerWithRestore::NativeCallFrameTracerWithRestore):
(JSC::NativeCallFrameTracerWithRestore::~NativeCallFrameTracerWithRestore):
Renamed and changed to save and restore topCallFrame and topVMEntryFrame around the setting of
both values.

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::gotoNextFrame):
(JSC::StackVisitor::readNonInlinedFrame):

  • interpreter/StackVisitor.h:

(JSC::StackVisitor::Frame::vmEntryFrame):
Added code to unwind the VMEntryFrame.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::jumpToExceptionHandler): Updated comment to indicate that the value
the handler should use for VM::topEntryFrame is in VM::vmEntryFrameForThrow.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_catch):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_catch):

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

Added code to update VM::topVMEntryFrame from VM::vmEntryFrameForThrowOffset.

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:

(JSC::operationThrowStackOverflowError):
(JSC::operationCallArityCheck):
(JSC::operationConstructArityCheck):

  • runtime/VM.h:

(JSC::VM::vmEntryFrameForThrowOffset):
(JSC::VM::topVMEntryFrameOffset):
Added as the side channel to return the topVMEntryFrame that the handler should use.

12:39 PM Changeset in webkit [172866] by mjs@apple.com
  • 18 edits in trunk/Source

Replace use of WKCopyCFLocalizationPreferredName with NSLocale public API
​https://bugs.webkit.org/show_bug.cgi?id=136082

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • platform/mac/Language.mm:

(WebCore::httpStyleLanguageCode): Replace use of WKCopyCFLocalizationPreferredName
with new WebCoreNSStringExtras helper.

  • platform/mac/WebCoreNSStringExtras.mm: Replacements for the aspects of

WKCopyCFLocalizationPreferredName.
(preferredBundleLocalizationName): New helper - most preferred localization available
in the main bundle, canonicalized the way we like it.
(canonicalLocalizationName): Convert a lcalization name to a string with language and
country code, using default if necessary (e.g. "en" maps to "en_US").

  • WebCore.order: Remove mention of WKCopyCFLocalizationPreferredName.
  • WebCore.exp.in: ditto; also export preferredBundleLocalizationName for WebKit(2).
  • platform/ios/WebCoreSystemInterfaceIOS.mm: ditto
  • platform/mac/WebCoreSystemInterface.h: ditto
  • platform/mac/WebCoreSystemInterface.mm: ditto

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::spawnPluginHost): Get current
localization name using WebCore helper instead of SPI.

  • Plugins/WebBasePluginPackage.mm: Fixed the include style for this

file.
(-[WebBasePluginPackage getPluginInfoFromPLists]): Get current
localization name using WebCore helper instead of SPI.
(+[WebBasePluginPackage preferredLocalizationName]): Deleted. This
helper no longer pulls its weight.

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Remove mention of
WKCopyCFLocalizationPreferredName.

  • WebKit.order: ditto

Source/WebKit2:

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToService): Remove accidental leftover retrieval
of the localization.
(WebKit::createProcess): Get current localization name from
CFBundle API instead of using SPI.

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Remove mention of WKCopyCFLocalizationPreferredName

  • mac/WebKit2.order: ditto
12:09 PM Changeset in webkit [172865] by dbates@webkit.org
  • 30 edits in trunk/Source

[iOS] Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, and temporarily disable ENABLE_TOUCH_EVENTS
and ENABLE_XSLT when building with the iOS public SDK
​https://bugs.webkit.org/show_bug.cgi?id=135945

Reviewed by Andy Estes.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Towards bringing up the iOS WebKit port using the iOS public SDK, disable the proprietary
iOS gesture and touch event code. For now we also temporarily disable ENABLE_TOUCH_EVENTS
and ENABLE_XSLT while we focus to get the rest of the port built using the public SDK. We'll
look to enable these features once we stabilize the build.

  • Configurations/FeatureDefines.xcconfig: Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, ENABLE_TOUCH_EVENTS

and ENABLE_XSLT when building with the public SDK.

  • Configurations/WebCore.xcconfig:
  • DerivedSources.make: Conditionally generate derived sources for touch and gesture events as applicable and pass

define WTF_USE_APPLE_INTERNAL_SDK when generating bindings (if applicable). Make the logic for determining
whether WTF_PLATFORM_IOS is defined consistent with logic for determining whether WTF_USE_APPLE_INTERNAL_SDK and
ENABLE_ORIENTATION_EVENTS are defined. We should look to further cleanup this code.

  • bindings/js/ios/TouchConstructors.cpp: Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "PLATFORM(IOS) && ENABLE(TOUCH_EVENTS)".
  • bindings/objc/DOMEvents.h: Write preprocessor logic in terms of ENABLE_TOUCH_EVENTS and ENABLE_IOS_GESTURE_EVENTS.
  • bindings/objc/PublicDOMInterfaces.h: Include private header <WebKitAdditions/PublicDOMInterfacesIOS.h> when

it exists as opposed to assuming it exists when building for iOS.

  • dom/Document.cpp:

(WebCore::Document::Document): Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "ENABLE(TOUCH_EVENTS) && PLATFORM(IOS)".
(WebCore::Document::prepareForDestruction): Ditto.
(WebCore::Document::removeAllEventListeners): Ditto.

  • dom/Document.h: Write preprocessor logic in terms of ENABLE_IOS_TOUCH_EVENTS and ENABLE_TOUCH_EVENTS.
  • dom/Document.idl: Ditto.
  • dom/Touch.h: Substitute ENABLE(IOS_TOUCH_EVENTS) for PLATFORM(IOS)..
  • dom/TouchEvent.h: Ditto.
  • dom/TouchList.h: Ditto.
  • dom/ios/TouchEvents.cpp: Substitute ENABLE(IOS_TOUCH_EVENTS) for macro expression "PLATFORM(IOS) && ENABLE(TOUCH_EVENTS)".
  • history/CachedFrame.cpp: Add PLATFORM(IOS) guard.
  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::SliderThumbElement): Substitute ENABLE(IOS_TOUCH_EVENTS) for ENABLE(TOUCH_EVENTS).
(WebCore::SliderThumbElement::willDetachRenderers): Ditto.

  • html/shadow/SliderThumbElement.h: Ditto.
  • loader/EmptyClients.h: Ditto.
  • platform/ios/PlatformEventFactoryIOS.h: Write preprocessor logic in terms of ENABLE_IOS_TOUCH_EVENTS and ENABLE_TOUCH_EVENTS.

Only include header <WebKitAdditions/PlatformTouchEventIOS.h> when building with ENABLE_TOUCH_EVENTS enabled.

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig: Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, ENABLE_TOUCH_EVENTS

and ENABLE_XSLT when building with the public SDK.

  • MigrateHeaders.make: Conditionally migrate headers for touch and gesture events.

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig: Disable ENABLE_IOS_{GESTURE, TOUCH}_EVENTS, ENABLE_TOUCH_EVENTS

and ENABLE_XSLT when building with the public SDK.

  • Shared/WebEventConversion.h: Write preprocessor logic in terms of ENABLE(IOS_TOUCH_EVENTS).
  • WebProcess/WebPage/WebPage.h: Ditto.

Source/WTF:

  • wtf/FeatureDefines.h:
12:07 PM Changeset in webkit [172864] by Simon Fraser
  • 12 edits in trunk/Source

Implement paint flashing via GraphicsLayers in the WK2 inspector overlay
​https://bugs.webkit.org/show_bug.cgi?id=136136

Reviewed by Sam Weinig, Joseph Pecoraro.
Source/WebCore:

Allow InspectorClient to have a custom implementation of showPaintRect(). For
WebKit2's WebInspectorClient, implement this by creating a set of GraphicsLayers
which are parented in a document overlay, with 0.25s fade-out animations.

Also change InspectorInstrumentation::didPaintImpl() to no longer take a GraphicsContext;
it makes no sense to paint the paint rects directly into the context of the web page.
Now that the paint rects are painted into an overlay, the rectangles need to be converted
to root document coordinates, which is done in InspectorInstrumentation::didPaintImpl().

Remove the generic InspectorOverlay::drawOutline()-based indicators; they will
be reimplemented in a later patch.

  • WebCore.exp.in:
  • inspector/InspectorClient.h:

(WebCore::InspectorClient::showPaintRect):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::didPaintImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didPaint):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::didPaint):

  • inspector/InspectorPageAgent.h:
  • page/FrameView.cpp:

(WebCore::FrameView::didPaintContents):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintContents):

Source/WebKit2:

Allow InspectorClient to have a custom implementation of showPaintRect(). For
WebKit2's WebInspectorClient, implement this by creating a set of GraphicsLayers
which are parented in a document overlay, with 0.25s fade-out animations.

Also change InspectorInstrumentation::didPaintImpl() to no longer take a GraphicsContext;
it makes no sense to paint the paint rects directly into the context of the web page.
Now that the paint rects are painted into an overlay, the rectangles need to be converted
to root document coordinates, which is done in InspectorInstrumentation::didPaintImpl().

Remove the generic InspectorOverlay::drawOutline()-based indicators; they will
be reimplemented in a later patch.

  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:

(WebKit::RepaintIndicatorLayerClient::RepaintIndicatorLayerClient):
(WebKit::RepaintIndicatorLayerClient::~RepaintIndicatorLayerClient):
(WebKit::RepaintIndicatorLayerClient::notifyAnimationEnded):
(WebKit::WebInspectorClient::WebInspectorClient):
(WebKit::WebInspectorClient::~WebInspectorClient):
(WebKit::WebInspectorClient::showPaintRect):
(WebKit::WebInspectorClient::animationEndedForLayer):

  • WebProcess/WebCoreSupport/WebInspectorClient.h:

(WebKit::WebInspectorClient::WebInspectorClient): Deleted.

11:59 AM Changeset in webkit [172863] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Enable fixed executable allocator for any ARM64 target.
​https://bugs.webkit.org/show_bug.cgi?id=136162

Patch by Akos Kiss <​akiss@inf.u-szeged.hu> on 2014-08-22
Reviewed by Michael Saboff.

The ARM64 macro assembler relies on near calls being implemented by BL
instructions, which have only 128MB offset range from PC. The
on-demand executable allocator cannot ensure that any two locations in
memory allocated for the JIT-compiled code are within this range.
However, the fixed executable allocator has a fixed 16MB memory pool for
ARM64.

  • wtf/Platform.h:

Define ENABLE_EXECUTABLE_ALLOCATOR_FIXED if CPU(ARM64), and update
attached comment.

11:25 AM Changeset in webkit [172862] by commit-queue@webkit.org
  • 138 edits in trunk/Source

Unreviewed, rolling out r172844.
​https://bugs.webkit.org/show_bug.cgi?id=136164

re-applying WEBCORE_EXPORTS patch (Requested by
alexchristensen on #webkit).

Reverted changeset:

"Revert r172831, it broke the Windows build."
​http://trac.webkit.org/changeset/172844

11:18 AM Changeset in webkit [172861] by hyatt@apple.com
  • 14 edits
    6 adds in trunk

Implement rudimentary Bopomofo Ruby support (ruby-position:inter-character)
​https://bugs.webkit.org/show_bug.cgi?id=136137
<rdar://problem/12567545>

Reviewed by Sam Weinig.

Source/WebCore:

Added fast/ruby/bopomofo.html and fast/ruby/bopomofo-rl.html.

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator RubyPosition):

  • css/CSSPropertyNames.in:
  • css/CSSValueKeywords.in:

Add support for the new inter-character value for ruby-position and also
add support for a new font-size keyword, -webkit-ruby-text, that is used
to set a smart initial font size based off the type of ruby being presented.

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyFontSize::determineRubyTextSizeMultiplier):
(WebCore::ApplyPropertyFontSize::applyValue):
Determine the Ruby text size multiplier when -webkit-ruby-text is specified
as the font size. For ruby-position of before/after, we use 50% of the parent
font size. For inter-character ruby, we default to 25% instead. If inter-character
Ruby is nested, we assume it's to display tone marks, and we use 100% to ensure
the tone mark is the same size and does not get smaller.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustStyleForInterCharacterRuby):
(WebCore::StyleResolver::applyMatchedProperties):

  • css/StyleResolver.h:

ruby-position is now the highest priority CSS property, and it is resolved
before all other properties to ensure that its value can be checked when
determining a smart default font size. adjustStyleForInterCharacterRuby is a new
function called to auto-adjust inter-character ruby text to be vertical writing mode when
encountered inside horizontal documents.

  • css/html.css:

(ruby > rt):
Change the font-size from 50% to -webkit-ruby-text to allow us to customize it as
needed depending on what kind of Ruby we want to show.

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::layout):

  • rendering/RenderRubyRun.h:

Add layout code to properly position vertical ruby text relative to a horizontal base.

  • rendering/style/RenderStyleConstants.h:

Add the new inter-character constant for ruby-position.

  • rendering/style/StyleRareInheritedData.h:

Increase the number of storage bits for RubyPosition from 1 to 2 now that we support 3 values.

LayoutTests:

  • fast/ruby/bopomofo-rl.html: Added.
  • fast/ruby/bopomofo.html: Added.
  • platform/mac/fast/ruby/bopomofo-expected.png: Added.
  • platform/mac/fast/ruby/bopomofo-expected.txt: Added.
  • platform/mac/fast/ruby/bopomofo-rl-expected.png: Added.
  • platform/mac/fast/ruby/bopomofo-rl-expected.txt: Added.
10:56 AM Changeset in webkit [172860] by jonlee@apple.com
  • 11 edits in trunk/Source

Fix iOS build due to r172832 and move RUBBER_BANDING out of FeatureDefines.h
​https://bugs.webkit.org/show_bug.cgi?id=136157

Reviewed by Simon Fraser.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]): Wrap in ENABLE(RUBBER_BANDING).

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig: Add ENABLE(RUBBER_BANDING).

Source/WTF:

  • wtf/FeatureDefines.h: Remove ENABLE(RUBBER_BANDING) logic for Mac platform.
9:09 AM Changeset in webkit [172859] by Lucas Forschler
  • 10 edits
    2 copies in branches/safari-600.1-branch

Merged r172854. <rdar://problem/18001179>

5:40 AM Changeset in webkit [172858] by clopez@igalia.com
  • 2 edits in trunk/Tools

[GTK] install-dependencies don't installs Xvfb that is needed for the tests.
​https://bugs.webkit.org/show_bug.cgi?id=136153

Reviewed by Martin Robinson.

  • gtk/install-dependencies: Add Xvfb package to the list of dependencies necessary for running tests.
2:32 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
2:27 AM Changeset in webkit [172857] by gyuyoung.kim@samsung.com
  • 3 edits in trunk

[EFL] Apply eflsymbols.filter to WebKit2
​https://bugs.webkit.org/show_bug.cgi?id=136148

Reviewed by Csaba Osztrogonác.

eflsymbol filter hasn't been applied to WK2 port. Additionally clean up WK1 symbol
in the eflsymbols.filter.

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/eflsymbols.filter:
1:19 AM Changeset in webkit [172856] by zandobersek@gmail.com
  • 2 edits
    2 adds in trunk/Source/WebCore

[GTK] Add the Wayland protocol extension
​https://bugs.webkit.org/show_bug.cgi?id=136102

Reviewed by Martin Robinson.

Add the Wayland protocol extension that allows mapping GtkWidget
objects (via an ID that's unique to that GtkWidget) to the
corresponding Wayland surface objects. This way the nested
compositor has the proper information about what GtkWidget has
to be updated when surfaces are committed by the LayerTreeHost.

  • PlatformGTK.cmake:
  • platform/graphics/wayland: Added.
  • platform/graphics/wayland/WebKitGtkWaylandClientProtocol.xml: Added.

Aug 21, 2014:

10:41 PM Changeset in webkit [172855] by achristensen@apple.com
  • 2 edits in trunk/Tools

[Win] Another unreviewed build fix.

  • DumpRenderTree/config.h:

Defined WEBCORE_EXPORT on Windows.

10:38 PM Changeset in webkit [172854] by Antti Koivisto
  • 10 edits
    2 adds in trunk

Animated GIFs scrolled out of view still cause titlebar blur to update, on tumblr.com page
​https://bugs.webkit.org/show_bug.cgi?id=136139

Reviewed by Simon Fraser.

Source/WebCore:

The mechanism for pausing GIF images outside the viewport did not work for subframes.

Test: fast/repaint/no-animation-outside-viewport-subframe.html

  • WebCore.exp.in:
  • page/FrameView.cpp:

(WebCore::FrameView::scrollPositionChanged):
(WebCore::FrameView::resumeVisibleImageAnimationsIncludingSubframes):

Add a function for resuming animations as needed in all subframes.
This is used after scrolling instead of calling the RenderView function directly.

  • page/FrameView.h:
  • page/Page.cpp:

(WebCore::Page::resumeAnimatingImages):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::newImageAnimationFrameAvailable):

Determine the overall visible rect so that it is correct in subframes too.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollTo):

  • rendering/RenderView.cpp:

(WebCore::RenderView::resumePausedImageAnimationsIfNeeded):

LayoutTests:

  • fast/repaint/no-animation-outside-viewport-subframe-expected.txt: Added.
  • fast/repaint/no-animation-outside-viewport-subframe.html: Added.
10:30 PM Changeset in webkit [172853] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

r171362 accidentally increased the size of InlineCallFrame.
<​https://webkit.org/b/136141>

Reviewed by Filip Pizlo.

r171362 increased the size of InlineCallFrame::kind to 2 bits. This increased
the size of InlineCallFrame from 72 to 80 though not intentionally. The fix
is to reduce the size of InlineCallFrame::stackOffset to 29 bits.

Also added an assert to ensure that we never set a value that exceeds the size
of InlineCallFrame::stackOffset.

  • bytecode/CodeOrigin.h:

(JSC::InlineCallFrame::setStackOffset):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

10:27 PM Changeset in webkit [172852] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit/win

[Win] Unreviewed build fix after r172849.

  • WebKitPrefix.h:

Defined WEBCORE_EXPORT.

10:22 PM Changeset in webkit [172851] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merge r172841. <rdar://problem/17733682>

10:20 PM Changeset in webkit [172850] by matthew_hanson@apple.com
  • 11 edits in branches/safari-600.1-branch

Merge r172707. <rdar://problem/18043281>

9:21 PM Changeset in webkit [172849] by achristensen@apple.com
  • 183 edits in trunk/Source/WebCore

More WEBCORE_EXPORT macros!
​https://bugs.webkit.org/show_bug.cgi?id=136146

Reviewed by Benjamin Poulain.

  • Modules/geolocation/GeolocationClient.h:
  • Modules/mediastream/UserMediaClient.h:
  • Modules/mediastream/UserMediaRequest.h:
  • Modules/notifications/NotificationClient.h:
  • Modules/speech/SpeechSynthesis.h:
  • bindings/generic/RuntimeEnabledFeatures.h:
  • bindings/js/DOMWrapperWorld.h:
  • bindings/js/GCController.h:
  • bindings/js/IDBBindingUtilities.h:
  • bindings/js/JSDOMBinding.h:
  • bindings/js/JSNodeCustom.h:
  • bindings/js/JSNodeListCustom.h:
  • bindings/js/JSPluginElementFunctions.h:
  • bindings/js/ScriptController.h:
  • bindings/js/SerializedScriptValue.h:
  • crypto/SerializedCryptoKeyWrap.h:
  • css/LengthFunctions.h:
  • css/StyleProperties.h:
  • css/StyleSheetContents.h:
  • dom/DeviceOrientationClient.h:
  • dom/Range.h:
  • dom/ScriptExecutionContext.h:
  • dom/StyledElement.h:
  • dom/TreeScope.h:
  • dom/UIEventWithKeyState.h:
  • dom/UserGestureIndicator.h:
  • dom/UserTypingGestureIndicator.h:
  • dom/ViewportArguments.h:
  • editing/SmartReplace.h:
  • editing/TextIterator.h:
  • editing/VisiblePosition.h:
  • editing/VisibleSelection.h:
  • editing/VisibleUnits.h:
  • editing/cocoa/HTMLConverter.h:
  • editing/htmlediting.h:
  • editing/mac/TextAlternativeWithRange.h:
  • editing/mac/TextUndoInsertionMarkupMac.h:
  • editing/markup.h:
  • history/HistoryItem.cpp:
  • history/PageCache.h:
  • html/TimeRanges.h:
  • html/parser/HTMLParserIdioms.h:
  • inspector/InstrumentingAgents.h:
  • loader/FrameLoader.h:
  • loader/ResourceBuffer.h:
  • loader/ResourceLoadScheduler.h:
  • loader/ResourceLoader.h:

(WebCore::ResourceLoader::originalRequest):

  • loader/SubframeLoader.h:
  • loader/SubresourceLoader.h:
  • loader/TextResourceDecoder.h:
  • loader/appcache/ApplicationCacheStorage.h:
  • loader/cache/MemoryCache.h:
  • loader/icon/IconDatabaseBase.h:
  • loader/ios/DiskImageCacheIOS.h:
  • page/Chrome.h:
  • page/SecurityOrigin.h:
  • page/SecurityPolicy.h:
  • page/Settings.h:
  • page/UserContentController.h:
  • page/UserContentURLPattern.h:
  • page/UserMessageHandlerDescriptor.h:
  • page/ViewportConfiguration.h:
  • page/VisitedLinkStore.h:
  • page/WheelEventDeltaTracker.h:
  • page/cocoa/UserAgent.h:
  • page/scrolling/ScrollingConstraints.h:
  • page/scrolling/ScrollingCoordinator.h:
  • page/scrolling/ScrollingStateFixedNode.h:
  • page/scrolling/ScrollingStateFrameScrollingNode.h:
  • page/scrolling/ScrollingStateNode.h:
  • page/scrolling/ScrollingStateOverflowScrollingNode.h:
  • page/scrolling/ScrollingStateScrollingNode.h:
  • page/scrolling/ScrollingStateStickyNode.h:
  • page/scrolling/ScrollingStateTree.h:
  • page/scrolling/ScrollingThread.h:
  • page/scrolling/ScrollingTree.h:
  • page/scrolling/ScrollingTreeOverflowScrollingNode.h:
  • page/scrolling/ScrollingTreeScrollingNode.h:
  • page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.h:
  • page/scrolling/mac/ScrollingTreeFixedNode.h:
  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeStickyNode.h:
  • platform/Cursor.h:
  • platform/DragImage.h:
  • platform/FileSystem.h:
  • platform/Language.h:
  • platform/LinkHash.h:
  • platform/LocalizedStrings.h:
  • platform/Logging.h:
  • platform/MemoryPressureHandler.h:
  • platform/NotImplemented.h:
  • platform/PlatformStrategies.h:
  • platform/PublicSuffix.h:
  • platform/RuntimeApplicationChecks.h:
  • platform/RuntimeApplicationChecksIOS.h:
  • platform/SchemeRegistry.h:
  • platform/ScrollView.h:
  • platform/ScrollableArea.h:
  • platform/Scrollbar.h:
  • platform/ScrollbarTheme.h:
  • platform/SharedBuffer.h:
  • platform/ThreadCheck.h:
  • platform/ThreadGlobalData.h:
  • platform/Timer.h:
  • platform/URL.h:
  • platform/UUID.h:
  • platform/UserActivity.h:
  • platform/Widget.h:
  • platform/cf/CFURLExtras.h:
  • platform/cf/RunLoopObserver.h:
  • platform/cocoa/SystemVersion.h:
  • platform/graphics/Color.h:
  • platform/graphics/FloatRect.h:
  • platform/graphics/FontCache.h:
  • platform/graphics/GeometryUtilities.h:
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/IntRect.h:
  • platform/graphics/LayoutRect.h:
  • platform/graphics/StringTruncator.h:
  • platform/graphics/TextRun.h:
  • platform/graphics/ca/TileController.h:
  • platform/graphics/ca/mac/PlatformCAAnimationMac.h:
  • platform/graphics/cg/GraphicsContextCG.h:
  • platform/graphics/mac/ColorMac.h:
  • platform/graphics/transforms/TransformationMatrix.h:
  • platform/ios/FileSystemIOS.h:
  • platform/ios/PlatformEventFactoryIOS.h:
  • platform/ios/SelectionRect.h:
  • platform/ios/SystemMemory.h:
  • platform/ios/TileControllerMemoryHandlerIOS.h:
  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:
  • platform/mac/PlatformEventFactoryMac.h:
  • platform/mac/ScrollbarThemeMac.h:
  • platform/mac/WebCoreNSURLExtras.h:
  • platform/mac/WebNSAttributedStringExtras.h:
  • platform/network/BlobRegistry.h:
  • platform/network/CookieStorage.h:
  • platform/network/DNS.h:
  • platform/network/NetworkStateNotifier.h:
  • platform/network/PlatformCookieJar.h:
  • platform/network/ProxyServer.h:
  • platform/network/ResourceErrorBase.h:
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleClient.h:
  • platform/network/ResourceRequestBase.h:
  • platform/network/ResourceResponseBase.h:
  • platform/network/SynchronousLoaderClient.h:
  • platform/network/cf/ResourceError.h:
  • platform/network/cf/ResourceRequest.h:
  • platform/network/cf/ResourceResponse.h:
  • platform/network/ios/QuickLook.h:
  • platform/network/mac/AuthenticationMac.h:
  • platform/sql/SQLiteDatabase.cpp:
  • platform/text/LocaleToScriptMapping.h:
  • platform/text/TextBreakIterator.h:
  • platform/text/TextEncoding.h:

(WebCore::TextEncoding::decode):

  • platform/text/TextEncodingRegistry.h:
  • platform/text/TextStream.h:
  • rendering/RenderBlock.h:
  • rendering/RenderBox.h:
  • rendering/RenderEmbeddedObject.h:
  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.h:
  • rendering/RenderListItem.h:
  • rendering/RenderObject.h:
  • rendering/RenderText.h:
  • rendering/RenderTextControl.h:
  • rendering/RenderThemeIOS.h:
  • rendering/RenderTreeAsText.h:
  • rendering/RenderView.h:
  • rendering/RenderWidget.h:
  • rendering/ScrollBehavior.cpp:
  • rendering/break_lines.cpp:
  • rendering/style/RenderStyle.h:
  • replay/UserInputBridge.h:
  • storage/StorageEventDispatcher.h:
  • storage/StorageMap.h:
  • storage/StorageStrategy.h:
  • storage/StorageTracker.h:
  • testing/Internals.h:
  • workers/WorkerThread.h:

Added more WEBCORE_EXPORT macros where needed.

8:55 PM Changeset in webkit [172848] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

8:35 PM Changeset in webkit [172847] by Alan Bujtas
  • 2 edits
    1 add
    1 delete in trunk/LayoutTests

ruby-base-merge-block-children-crash-2.html should not use render tree dump.

Unreviewed gardening.

  • fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Added.
  • fast/ruby/ruby-base-merge-block-children-crash-2.html: restore previous version of the test.
  • platform/mac/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Removed.
8:27 PM Changeset in webkit [172846] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Possible RetainPtr misuse in WKScriptMessage.mm - could leak
​https://bugs.webkit.org/show_bug.cgi?id=136140

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-21
Reviewed by Darin Adler.

Adopt a copy into a RetainPtr to avoid leaking.

  • UIProcess/API/Cocoa/WKScriptMessage.mm:

(-[WKScriptMessage _initWithBody:webView:frameInfo:name:]):

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

Web Inspector: RetainPtr misuse, CFRunLoopSource leak
​https://bugs.webkit.org/show_bug.cgi?id=136143

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-21
Reviewed by Timothy Hatcher.

Adopt a Create into the RetainPtr to avoid leaking.

  • inspector/remote/RemoteInspectorDebuggableConnection.mm:

(Inspector::RemoteInspectorDebuggableConnection::setupRunLoop):

8:14 PM Changeset in webkit [172844] by timothy_horton@apple.com
  • 138 edits in trunk/Source

Revert r172831, it broke the Windows build.

  • wtf/ExportMacros.h:

... and many more.

8:07 PM Changeset in webkit [172843] by Alan Bujtas
  • 1 edit
    2 deletes in trunk/LayoutTests

Remove flaky saturated reftest. UnitTest takes care of saturated arithmetics.

Unreviewed gardening.

  • fast/dynamic/saturated-layout-arithmetic-expected.html: Removed.
  • fast/dynamic/saturated-layout-arithmetic.html: Removed.
6:28 PM Changeset in webkit [172842] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix when RUBBER_BANDING is not enabled.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::overhangAmount):
(WebCore::RenderLayer::setHasHorizontalScrollbar):
(WebCore::RenderLayer::setHasVerticalScrollbar):

6:19 PM Changeset in webkit [172841] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] WebCore.proj is not copying WebKit resource files.
​https://bugs.webkit.org/show_bug.cgi?id=136142
<rdar://problem/17733682>

Reviewed by Tim Horton.

  • WebCore.vcxproj/WebCore.proj: Copy missing resource files during

post-build step.

5:25 PM Changeset in webkit [172840] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Minibrowser : Add stop button to abort page load
​https://bugs.webkit.org/show_bug.cgi?id=136122

Patch by Rohit Kumar <​kumar.rohit@samsung.com> on 2014-08-21
Reviewed by Gyuyoung Kim.

  • MiniBrowser/efl/main.c:

(on_key_down):
(on_stop_button_clicked): Callback for stop button press.
(window_create):

4:49 PM Changeset in webkit [172839] by Simon Fraser
  • 3 edits
    1 add in trunk/Source/WebInspectorUI

Add a button to enable paint flashing in the web inspector
​https://bugs.webkit.org/show_bug.cgi?id=136133

Reviewed by Tim Hatcher.

Add a button to the right of the layer borders button to turn on paint flashing.
Future patches will actually enable this feature.

  • Localizations/en.lproj/localizedStrings.js: Tooltip strings.
  • UserInterface/Images/PaintFlashing.svg: Added. "Paintbrush" icon.
  • UserInterface/Views/DOMTreeContentView.js:

(WebInspector.DOMTreeContentView):
(WebInspector.DOMTreeContentView.prototype.get navigationItems):
(WebInspector.DOMTreeContentView.prototype._togglePaintFlashing):

4:11 PM Changeset in webkit [172838] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r172808): It made 6 different tests fail on 32 bit platforms.
<​https://webkit.org/b/136123>

Reviewed by Filip Pizlo.

The original patch in r172808 removed the code to skip the top scope in
the 64-bit port of JIT::emitResolveClosure() but not in the 32-bit port.
This patch fixes that and achieves parity.

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitResolveClosure):

4:09 PM Changeset in webkit [172837] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Try to fix the 32-bit build by using wildcards in the exported non-virtual thunks
for GraphicsLayerCA::platformCALayerAnimationStarted and GraphicsLayerCA::platformCALayerAnimationEnded.

  • WebCore.exp.in:
3:43 PM Changeset in webkit [172836] by Simon Fraser
  • 31 edits in trunk/Source

Add animationDidEnd callbacks on GraphicsLayer
​https://bugs.webkit.org/show_bug.cgi?id=136084

Reviewed by Tim Horton.

Hook up GraphicsLayerClient::notifyAnimationEnded() so that code using GraphicsLayers directly
can add animations, and know when they finish.

Source/WebCore:

  • WebCore.exp.in:
  • platform/graphics/GraphicsLayerClient.h:

(WebCore::GraphicsLayerClient::notifyAnimationStarted):
(WebCore::GraphicsLayerClient::notifyAnimationEnded):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::platformCALayerAnimationStarted):
(WebCore::GraphicsLayerCA::platformCALayerAnimationEnded):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/PlatformCALayerClient.h:

(WebCore::PlatformCALayerClient::platformCALayerAnimationStarted):
(WebCore::PlatformCALayerClient::platformCALayerAnimationEnded):

  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(-[WebAnimationDelegate animationDidStart:]):
(-[WebAnimationDelegate animationDidStop:finished:]):
(PlatformCALayerMac::animationStarted):
(PlatformCALayerMac::animationEnded):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::notifyAnimationStarted):

  • rendering/RenderLayerBacking.h:

Source/WebKit2:

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

(WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidEnd):

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

(WebKit::RemoteLayerTreeHost::animationDidEnd):

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::acceleratedAnimationDidEnd):

  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:

(-[WKAnimationDelegate animationDidStop:finished:]):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::animationStarted):
(WebKit::PlatformCALayerRemote::animationEnded):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::layerWillBeDestroyed):
(WebKit::RemoteLayerTreeContext::willStartAnimationOnLayer):
(WebKit::RemoteLayerTreeContext::animationDidStart):
(WebKit::RemoteLayerTreeContext::animationDidEnd):

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

(WebKit::RemoteLayerTreeDrawingArea::acceleratedAnimationDidEnd):

2:34 PM Changeset in webkit [172835] by Alan Bujtas
  • 17 edits
    2 adds in trunk

Enable SATURATED_LAYOUT_ARITHMETIC.
​https://bugs.webkit.org/show_bug.cgi?id=136106

Reviewed by Simon Fraser.

SATURATED_LAYOUT_ARITHMETIC protects LayoutUnit against arithmetic overflow.
(No measurable performance regression on Mac.)

.:

  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Test: fast/dynamic/saturated-layout-arithmetic.html

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

LayoutTests:

  • fast/dynamic/saturated-layout-arithmetic-expected.html: Added.
  • fast/dynamic/saturated-layout-arithmetic.html: Added.
  • fast/ruby/ruby-base-merge-block-children-crash-2.html: saturated arithmetics changes behavior. fix test case.
  • scrollbars/scrollbar-large-overflow-rectangle.html: saturated arithmetics changes behavior. fix test case.
2:30 PM Changeset in webkit [172834] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

New ruby parsing rule breaks some real web sites.
​https://bugs.webkit.org/show_bug.cgi?id=136062

Patch by Yuki Sekiguchi <​yuki.sekiguchi@access-company.com> on 2014-08-21
Reviewed by Ryosuke Niwa.

Source/WebCore:

An RP element should not auto close an RTC element.

The HTML5.1 spec was changed:
​http://www.w3.org/html/wg/drafts/html/master/syntax.html#parsing-main-inbody
This was done at the following commit:
​https://github.com/w3c/html/commit/c61397b989b28235ee2228f280aa8d475f3b9ebf

This patch changed the RP element's behavior to follow the spec change.

Test: fast/ruby/rp-inside-rtc.html

  • html/parser/HTMLTreeBuilder.cpp:

(WebCore::HTMLTreeBuilder::processStartTagForInBody):

LayoutTests:

html5lib-test was updated using my pull request:
​https://github.com/darobin/html5lib-tests/pull/2

  • fast/ruby/rp-inside-rtc-expected.html: Added.
  • fast/ruby/rp-inside-rtc.html: Added.
  • html5lib/resources/ruby.dat: The rp element should not auto close the rtc element.
1:29 PM Changeset in webkit [172833] by commit-queue@webkit.org
  • 4 edits
    4 adds in trunk

REGRESSION: CSS not() selector does not work when it appears after or within @supports
​https://bugs.webkit.org/show_bug.cgi?id=136063

Patch by Yuki Sekiguchi <​yuki.sekiguchi@access-company.com> on 2014-08-21
Reviewed by Darin Adler.

Source/WebCore:

CSSParser changes its m_parsingMode to SupportsMode when it finds
"@supports" token. However, the mode will be never changed to
NormalMode. This changes parsing algorithm for "not" token forever,
and it cannot parse not pseudo class selector.

When we finish parsing @supports rule, we should change to normal
mode.

@media does the same thing. This patch changed CharacterEndMediaQuery
to CharacterEndConditionQuery, and we change parsing mode from
SupportsMode to NormalMode when the parser finished to parse
@supports rule.

Like "@-webkit-mediaquery", we cannot use '{' to
"@-webkit-supports-condition". Changed "@-webkit-supports-condition"
parsing rule and parseSupportsCondition() not to use '{'.

Tests: css3/supports-not-selector-cssom.html

css3/supports-not-selector.html

  • css/CSSGrammar.y.in:
  • css/CSSParser.cpp:

(WebCore::CSSParser::parseSupportsCondition):
(WebCore::isCSSLetter):
(WebCore::CSSParser::realLex):

LayoutTests:

Test that @supports doesn't break "not" pseudo class selector.

  • css3/supports-not-selector-cssom-expected.txt: Added.
  • css3/supports-not-selector-cssom.html: Added.
  • css3/supports-not-selector-expected.html: Added.
  • css3/supports-not-selector.html: Added.
1:08 PM Changeset in webkit [172832] by Beth Dakin
  • 22 edits in trunk

overflow:scroll elements should support rubber-banding
​https://bugs.webkit.org/show_bug.cgi?id=91655

Reviewed by Sam Weinig and Darin Adler.

Source/WebCore:

This patch enables rubber-banding in overflow regions and it keeps latching
working as currently implemented.

We cannot return early here if there is no scroll delta. There won't be a scroll
delta in most cases during event.phase() == PlatformWheelEventPhaseEnded, but that
phase is required to be processed in order for rubber-banding to work properly.

  • dom/Element.cpp:

(WebCore::Element::dispatchWheelEvent):

  • page/EventHandler.cpp:

(WebCore::handleWheelEventInAppropriateEnclosingBoxForSingleAxis):

Add a setting for this, which will default to true. This allows us to disable the
feature in WebKit1 for now. There is a bug about making it work.

  • page/Settings.in:

allowsHorizontalStretching() and allowsVerticalStretching() now take the
PlatformWheelEvent as a parameter, so that ScrollElasticityAutomatic can use the
event to decide whether or not stretching should be allowed in this case.
ScrollElasticityAutomatic will not allow stretching if it is a brand new gesture
that would result in a rubber-band. We don't want to rubber-band in that case
because we want the event to propagate up to a parent view. Also added some helper
functions just to make that code easier to read.

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

(WebCore::newGestureIsStarting):
(WebCore::ScrollingTreeFrameScrollingNodeMac::isAlreadyPinnedInDirectionOfGesture):
(WebCore::ScrollingTreeFrameScrollingNodeMac::allowsHorizontalStretching):
(WebCore::ScrollingTreeFrameScrollingNodeMac::allowsVerticalStretching):

  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::handleWheelEvent):
(WebCore::newGestureIsStarting):
(WebCore::ScrollAnimatorMac::isAlreadyPinnedInDirectionOfGesture):
(WebCore::ScrollAnimatorMac::allowsVerticalStretching):
(WebCore::ScrollAnimatorMac::allowsHorizontalStretching):

  • platform/mac/ScrollElasticityController.h:
  • platform/mac/ScrollElasticityController.mm:

(WebCore::ScrollElasticityController::handleWheelEvent):

To opt into rubber-banding, all we have to do is implement overhangAmount and set
scroll elasticity. We'll choose ScrollElasticityAutomatic which means that we'll
only rubber-band in directions that can scroll and that we won't rubber-band for
new gestures when we're already pinned to the edge.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::overhangAmount):
(WebCore::RenderLayer::setHasHorizontalScrollbar):
(WebCore::RenderLayer::setHasVerticalScrollbar):

Source/WebKit/mac:

Disable rubber-banding in overflow areas for now.

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

LayoutTests:

Re-baseline. Mostly these tests are different now that end end event is handled.

  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-div-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-div-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-iframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-iframe-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler-expected.txt:
  • platform/mac-wk2/tiled-drawing/scrolling/fast-scroll-select-latched-select-with-handler-expected.txt:

This test requires a longer timeout to ensure that the rubber-band has ended.

  • platform/mac/fast/scrolling/scroll-latched-nested-div.html:
12:51 PM Changeset in webkit [172831] by achristensen@apple.com
  • 138 edits in trunk/Source

More WEBCORE_EXPORT macros.
​https://bugs.webkit.org/show_bug.cgi?id=136129

Reviewed by Tim Horton.

Source/WebCore:

  • Modules/geolocation/Geolocation.h:
  • Modules/geolocation/GeolocationController.h:
  • Modules/indexeddb/IDBDatabaseBackend.h:
  • Modules/indexeddb/IDBDatabaseMetadata.h:
  • Modules/indexeddb/IDBKey.h:
  • Modules/indexeddb/IDBKeyData.h:
  • Modules/indexeddb/IDBKeyPath.h:
  • Modules/indexeddb/IDBKeyRange.h:
  • Modules/indexeddb/IDBKeyRangeData.h:
  • Modules/notifications/Notification.h:
  • Modules/notifications/NotificationController.h:
  • bindings/js/GCController.h:
  • bridge/IdentifierRep.h:
  • css/StyleProperties.h:
  • dom/ExceptionCodePlaceholder.h:
  • dom/KeyboardEvent.h:
  • dom/MouseEvent.h:
  • dom/MouseRelatedEvent.h:
  • dom/Node.h:

(WebCore::Node::hasEditableStyle):

  • dom/NodeTraversal.h:
  • dom/Position.h:

(WebCore::Position::Position):

  • dom/Range.h:

(WebCore::Range::startContainer):
(WebCore::Range::startOffset):
(WebCore::Range::endContainer):
(WebCore::Range::endOffset):

  • editing/FrameSelection.h:

(WebCore::DragCaretController::clear):

  • history/HistoryItem.h:
  • history/PageCache.h:
  • html/FormController.h:
  • html/HTMLElement.h:
  • html/HTMLFormElement.h:
  • html/HTMLFrameOwnerElement.h:
  • html/HTMLInputElement.h:
  • html/HTMLMediaElement.h:
  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.h:
  • html/HTMLPlugInElement.h:
  • html/HTMLPlugInImageElement.h:
  • html/HTMLSelectElement.h:
  • html/HTMLTableCellElement.h:
  • html/HTMLTextAreaElement.h:
  • html/HTMLTextFormControlElement.h:
  • html/HTMLVideoElement.h:
  • html/ImageDocument.h:
  • html/PluginDocument.h:
  • html/forms/FileIconLoader.h:
  • html/shadow/InsertionPoint.h:
  • inspector/InspectorClient.h:
  • inspector/InspectorController.h:
  • inspector/InspectorFrontendClientLocal.h:
  • inspector/InspectorInstrumentation.h:
  • loader/FrameLoadRequest.h:
  • loader/FrameLoader.h:
  • loader/FrameLoaderStateMachine.h:
  • loader/HistoryController.h:
  • loader/LoaderStrategy.h:
  • loader/NavigationAction.h:
  • loader/NetscapePlugInStreamLoader.h:
  • loader/ProgressTracker.h:
  • loader/archive/cf/LegacyWebArchive.h:
  • loader/cache/MemoryCache.h:
  • loader/icon/IconController.h:
  • loader/icon/IconDatabase.h:
  • loader/icon/IconDatabaseBase.h:
  • page/FocusController.h:
  • page/Frame.h:
  • page/FrameDestructionObserver.h:

Replaced WEBCORE_TESTING with WEBCORE_EXPORT.

  • page/FrameTree.h:
  • page/FrameView.h:
  • page/Page.h:
  • page/PageConsole.h:
  • page/PageGroup.h:
  • page/PageThrottler.h:
  • page/PrintContext.h:
  • page/scrolling/ScrollingConstraints.h:
  • page/scrolling/ScrollingStateNode.h:
  • platform/FileChooser.h:
  • platform/GamepadProvider.h:
  • platform/Length.h:
  • platform/MIMETypeRegistry.h:
  • platform/MemoryPressureHandler.h:
  • platform/Pasteboard.h:
  • platform/PlatformExportMacros.h:

Removed WEBCORE_TESTING, which I'm replacing with WEBCORE_EXPORT.

  • platform/PlatformKeyboardEvent.h:
  • platform/PlatformPasteboard.h:
  • platform/PlatformSpeechSynthesisVoice.h:
  • platform/PlatformSpeechSynthesizer.h:
  • platform/audio/MediaSessionManager.h:
  • platform/graphics/FloatPoint.h:
  • platform/graphics/FloatQuad.h:
  • platform/graphics/FloatRect.h:
  • platform/graphics/FloatSize.h:
  • platform/graphics/Font.h:
  • platform/graphics/FontCache.h:
  • platform/graphics/FontGlyphs.h:
  • platform/graphics/FontPlatformData.h:
  • platform/graphics/GlyphPageTreeNode.h:
  • platform/graphics/Gradient.h:
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/GraphicsLayer.h:
  • platform/graphics/Icon.h:
  • platform/graphics/Image.h:
  • platform/graphics/ImageBuffer.h:
  • platform/graphics/IntPoint.h:
  • platform/graphics/IntRect.h:
  • platform/graphics/IntSize.h:
  • platform/graphics/LayoutRect.h:
  • platform/graphics/MediaPlayer.h:
  • platform/graphics/Path.h:
  • platform/graphics/Region.h:
  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/LayerFlushScheduler.h:
  • platform/graphics/ca/LayerPool.h:
  • platform/graphics/ca/PlatformCAFilters.h:
  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/mac/PlatformCAAnimationMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/cg/IOSurfacePool.h:
  • platform/graphics/cocoa/IOSurface.h:
  • platform/graphics/filters/FilterOperations.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/ios/LegacyTileCache.h:
  • platform/ios/PlatformEventFactoryIOS.h:
  • platform/ios/wak/FloatingPointEnvironment.h:
  • platform/mac/HIDGamepadProvider.h:
  • platform/mock/MockMediaStreamCenter.h:
  • platform/network/FormData.h:
  • platform/network/HTTPHeaderMap.h:
  • platform/network/NetworkStorageSession.h:
  • platform/network/ProtectionSpaceBase.h:
  • platform/network/cocoa/ProtectionSpaceCocoa.h:

(WebCore::ProtectionSpace::encodingRequiresPlatformData):

  • platform/network/ios/QuickLook.h:
  • platform/text/TextBreakIterator.h:
  • plugins/PluginData.h:
  • plugins/PluginMainThreadScheduler.h:
  • rendering/HitTestLocation.h:
  • rendering/HitTestResult.h:
  • rendering/InlineBox.h:

Added more WEBCORE_EXPORT macros, which don't do anything yet.

Source/WTF:

  • wtf/ExportMacros.h:

Removed WTF_TESTING which isn't used.

8:47 AM Changeset in webkit [172830] by clopez@igalia.com
  • 8 edits in trunk/Tools

[GTK] Load the llvmpipe (Mesa) libraries when running the tests with Xvfb.
​https://bugs.webkit.org/show_bug.cgi?id=134070

Reviewed by Martin Robinson.

  • Scripts/webkitpy/port/base.py:

(Port.init): Set default _jhbuild_wrapper variable.
(Port._should_use_jhbuild): Implement generic check.

  • Scripts/webkitpy/port/efl.py: Rename to jhbuild_wrapper variable

to make it consistent with the other ports.

  • Scripts/webkitpy/port/gtk.py:

(GtkPort.init): Use the new _should_use_jhbuild() method.
(GtkPort.setup_environ_for_server): Get the path for llvmpipe_libgl_path by
querying the jhbuild with printenv. Also check that the path contains
the libraries we expect. Preload this path only for XvfbDriver.

  • Scripts/webkitpy/port/xvfbdriver.py:

(XvfbDriver.check_driver): Check for the jhbuild wrapper and use it.
(XvfbDriver._start): The environment for llvmpipe_libgl_path is now
configured at setup_environ_for_server()

  • Scripts/webkitpy/port/xvfbdriver_unittest.py:

(XvfbDriverTest.make_driver): Get the port default environment.
(XvfbDriverTest.test_start_no_pixel_tests): The expected log now
should include the environment that is passed when running Xvfb.
(XvfbDriverTest.test_start_pixel_tests): Ditto.
(XvfbDriverTest.test_start_arbitrary_worker_number): Ditto.
(XvfbDriverTest.test_start_next_worker): Ditto.

  • gtk/jhbuild.modules: Rename checkoutdir to generic "Mesa" to

prevent future problems when the version is raised. Add also a
comment with a warning.

  • gtk/jhbuildrc: The path LLVMPIPE_LIBGL_PATH should be the one

that has the llvm optimized Gallium libGL libraries.

6:06 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
5:29 AM Changeset in webkit [172829] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Fix countFailures of RunLLINTCLoopTests and Run32bitJSCTests.
​https://bugs.webkit.org/show_bug.cgi?id=136125

Patch by Renato Nagy <​nagy.renato@stud.u-szeged.hu> on 2014-08-21
Reviewed by Csaba Osztrogonác.

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

(RunLLINTCLoopTests.countFailures):
(Run32bitJSCTests.countFailures):

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:

(RunLLINTCLoopTestsTest):
(RunLLINTCLoopTestsTest.assertResults):
(RunLLINTCLoopTestsTest.test_failures):
(RunLLINTCLoopTestsTest.test_failure):
(RunLLINTCLoopTestsTest.test_no_failure):
(Run32bitJSCTestsTest):
(Run32bitJSCTestsTest.assertResults):
(Run32bitJSCTestsTest.test_failures):
(Run32bitJSCTestsTest.test_failure):
(Run32bitJSCTestsTest.test_no_failure):

4:00 AM WebKitGTK/2.4.x edited by vjaquez@igalia.com
minor code style fix (diff)
3:57 AM WebKitGTK/2.4.x edited by vjaquez@igalia.com
propose r172828 for 2.4.5 (diff)
3:51 AM Changeset in webkit [172828] by vjaquez@igalia.com
  • 6 edits in trunk

[GTK] WebkitWebProcess crashing navigating away from ogg video element
​https://bugs.webkit.org/show_bug.cgi?id=135348

Reviewed by Philippe Normand.

Source/WebCore:

Let GraphicsLayerTextureMapper know it needs to detach the platform
layer when a MediaPlayerPrivateGStreamerBase is destroyed.

No new test since media/restore-from-page-cache.html covers it.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):

Source/WebKit2:

When a page is cached, by default doesn't recreate the backing store
(an optimization added in r89316).

Not all the ports uses that optimization. For example IOS port doesn't
use it (r161185).

In the case of the GTK port, the MediaPlayerPrivateGStreamer, not only
processes video buffers, also display them, because it is a
TextureMapperPlatformLayer too.

Nevertheless, in r153937, when a page is cached, the player is
destroyed. But our player has a backing store and the render tree
doesn't know that the player has gone. Hence, when the page is redraw,
the TextureMapper tree visits the video element, which doesn't exist
anymore, a segmentation fault occurs.

So, as our media player renders, and as we cannot trust that the
player exists when a page is painted, we cannot rely in the r89316
optimization.

Disabling the backing stores optimization fixes the problem.

Covered by existing tests.

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformSetCacheModel): Enable the backing store
clearing when page caching for GTK.

LayoutTests:

  • platform/gtk/TestExpectations: Enable

media/restore-from-page-cache.html,
plugins/netscape-plugin-page-cache-works.html and
animations/resume-after-page-cache.html. They should pass correctly.
Skip compositing/iframes/page-cache-layer-tree.html since we disable
that optimization.

2:32 AM Changeset in webkit [172827] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][WK2] Websocket Layout Tests passed in latest build.
​https://bugs.webkit.org/show_bug.cgi?id=136100

Unreviewed gardening.

Websocket Layout Tests passed in latest build, possibly because r172438 (​https://bugs.webkit.org/show_bug.cgi?id=135831) in version
172796.

Patch by Shivakumar JM <​shiva.jm@samsung.com> on 2014-08-21

  • platform/efl/TestExpectations:

Aug 20, 2014:

8:33 PM Changeset in webkit [172826] by benjamin@webkit.org
  • 22 edits
    12 adds in trunk

CSS: Implement the :placeholder-shown pseudo-class from Selectors Level 4
​https://bugs.webkit.org/show_bug.cgi?id=118162

Reviewed by Antti Koivisto.

Source/WebCore:

Previously, HTMLTextFormControlElement was using some mix of its own state
and style to change the visibility of the placeholder. That approach was a little
bit too fragile, and we do not want the style to depends on the renderer() since
that creates circular dependencies.

The biggest change here is refactoring HTMLTextFormControlElement to have
1) An explicit "visible placeholder" state.
2) Separate the textUpdate() from the visibilityUpdate().
3) Remove the dependencies between the Element's style and the placeholder's style.

This is done by simply using display:none; on the placeholder so that its parent's visibility
is irrelevant.

When matching the selector, the style is set as unique since style sharing does not deal with
the changes of HTMLTextFormControlElement.

Tests: fast/css/placeholder-shown-basics.html

fast/selectors/placeholder-shown-long-adjacent-backtracking.html
fast/selectors/placeholder-shown-sibling-style-update.html
fast/selectors/placeholder-shown-style-update.html
fast/selectors/placeholder-shown-with-input-basics.html
fast/selectors/placeholder-shown-with-textarea-basics.html

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::selectorText):
Add the CSS Selector description for CSSOM.

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

(WebCore::SelectorChecker::checkOne):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::isPlaceholderShown):

  • css/SelectorPseudoClassAndCompatibilityElementMap.in:
  • css/html.css:

(::-webkit-input-placeholder):
Previously, the display was forced through the UA stylesheet. Since the display is now part
of the placeholder visibility, it is explicitly handled by HTMLTextFormControlElement and
its subclasses.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::makeUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::parseAttribute):

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::updateValue):
(WebCore::HTMLTextAreaElement::setValueCommon):
(WebCore::HTMLTextAreaElement::updatePlaceholderText):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement):
(WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
(WebCore::HTMLTextFormControlElement::dispatchBlurEvent):
(WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
(WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
(WebCore::HTMLTextFormControlElement::selectionDirection):
(WebCore::HTMLTextFormControlElement::restoreCachedSelection):
(WebCore::HTMLTextFormControlElement::parseAttribute):
(WebCore::HTMLTextFormControlElement::hidePlaceholder):
(WebCore::HTMLTextFormControlElement::showPlaceholderIfNecessary):

  • html/HTMLTextFormControlElement.h:

(WebCore::HTMLTextFormControlElement::isPlaceholderVisible):
(WebCore::HTMLTextFormControlElement::cachedSelectionDirection):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::updatePlaceholderText):
(WebCore::TextFieldInputType::subtreeHasChanged):
(WebCore::TextFieldInputType::updateInnerTextValue):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::styleDidChange):

  • testing/Internals.cpp:

(WebCore::Internals::visiblePlaceholder):

LayoutTests:

Add basic test coverage for common operations: styling, querySelector, CSSOM.

The layout test failure of placeholder-shown-sibling-style-update.html seems unrelated
to this patch, it fails in many more cases. This will be investigated separately, the failure
are used as expected values for now.

  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/css-set-selector-text.html:
  • fast/css/placeholder-shown-basics-expected.html: Added.
  • fast/css/placeholder-shown-basics.html: Added.
  • fast/selectors/placeholder-shown-long-adjacent-backtracking-expected.txt: Added.
  • fast/selectors/placeholder-shown-long-adjacent-backtracking.html: Added.
  • fast/selectors/placeholder-shown-sibling-style-update-expected.txt: Added.
  • fast/selectors/placeholder-shown-sibling-style-update.html: Added.
  • fast/selectors/placeholder-shown-style-update-expected.txt: Added.
  • fast/selectors/placeholder-shown-style-update.html: Added.
  • fast/selectors/placeholder-shown-with-input-basics-expected.txt: Added.
  • fast/selectors/placeholder-shown-with-input-basics.html: Added.
  • fast/selectors/placeholder-shown-with-textarea-basics-expected.txt: Added.
  • fast/selectors/placeholder-shown-with-textarea-basics.html: Added.
8:24 PM Changeset in webkit [172825] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

Unreviewed, EFL build fix since r172814.

  • WebKitTestRunner/config.h: Define WEBCORE_EXPORT.
8:20 PM Changeset in webkit [172824] by dburkart@apple.com
  • 1 copy in tags/Safari-600.1.14

Tag 600.1.14

7:45 PM Changeset in webkit [172823] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

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

Fix how CodeBlock dumps the opcode op_profile_type
​https://bugs.webkit.org/show_bug.cgi?id=136088

Patch by Saam Barati <​sbarati@apple.com> on 2014-08-20
Reviewed by Filip Pizlo.

op_profile_type was modified to receive two extra arguments,
but its dump in CodeBlock::dumpBytecode wasn't changed to
account for this, so it broke CodeBlock::dumpBytecode when
op_profile_type was in the stream of bytecode instructions.
CodeBlock::dumpBytecode now accounts for the change in
op_profile_type's arity.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):

6:18 PM Changeset in webkit [172821] by dburkart@apple.com
  • 1 copy in tags/Safari-600.1.13

Tagging.

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

Rename HighFidelityTypeProfiling variables for more clarity
​https://bugs.webkit.org/show_bug.cgi?id=135899

Patch by Saam Barati <​sbarati@apple.com> on 2014-08-20
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Many names that are used in the type profiling infrastructure
prefix themselves with "HighFidelity" or include the words "high"
and/or "fidelity" in some way. But the words "high" and "fidelity" don't
add anything descriptive to the names surrounding type profiling.
So this patch removes all uses of "HighFidelity" and its variants.

Most renamings change "HighFidelity*" to "TypeProfiler*" or simply
drop the prefix "HighFidelity" all together. Now, almost all names
in relation to type profiling contain in them "TypeProfiler" or
"TypeProfiling" or some combination of the words "type" and "profile".

This patch also changes how we check if type profiling is enabled:
We no longer call vm::isProfilingTypesWithHighFidelity. We now just
check that vm::typeProfiler is not null.

This patch also changes all calls to TypeProfilerLog::processLogEntries
to use ASCIILiteral to form WTFStrings instead of vanilla C string literals.

  • CMakeLists.txt:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):

  • bytecode/TypeLocation.h:
  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedCodeBlock::typeProfilerExpressionInfoForBytecodeOffset):
(JSC::UnlinkedCodeBlock::addTypeProfilerExpressionInfo):
(JSC::UnlinkedCodeBlock::highFidelityTypeProfileExpressionInfoForBytecodeOffset): Deleted.
(JSC::UnlinkedCodeBlock::addHighFidelityTypeProfileExpressionInfo): Deleted.

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedFunctionExecutable::typeProfilingStartOffset):
(JSC::UnlinkedFunctionExecutable::typeProfilingEndOffset):
(JSC::UnlinkedFunctionExecutable::highFidelityTypeProfilingStartOffset): Deleted.
(JSC::UnlinkedFunctionExecutable::highFidelityTypeProfilingEndOffset): Deleted.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitMove):
(JSC::BytecodeGenerator::emitTypeProfilerExpressionInfo):
(JSC::BytecodeGenerator::emitProfileType):
(JSC::BytecodeGenerator::emitHighFidelityTypeProfilingExpressionInfo): Deleted.
(JSC::BytecodeGenerator::emitProfileTypesWithHighFidelity): Deleted.

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::isProfilingTypesWithHighFidelity): Deleted.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ThisNode::emitBytecode):
(JSC::ResolveNode::emitBytecode):
(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::FunctionCallValueNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::FunctionCallBracketNode::emitBytecode):
(JSC::FunctionCallDotNode::emitBytecode):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::PostfixNode::emitBracket):
(JSC::PostfixNode::emitDot):
(JSC::PrefixNode::emitResolve):
(JSC::PrefixNode::emitBracket):
(JSC::PrefixNode::emitDot):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::AssignDotNode::emitBytecode):
(JSC::ReadModifyDotNode::emitBytecode):
(JSC::AssignBracketNode::emitBytecode):
(JSC::ReadModifyBracketNode::emitBytecode):
(JSC::ConstDeclNode::emitCodeSingle):
(JSC::EmptyVarExpression::emitBytecode):
(JSC::ReturnNode::emitBytecode):
(JSC::FunctionBodyNode::emitBytecode):

  • heap/Heap.cpp:

(JSC::Heap::collect):

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
(Inspector::recompileAllJSFunctionsForTypeProfiling):
(Inspector::InspectorRuntimeAgent::willDestroyFrontendAndBackend):
(Inspector::InspectorRuntimeAgent::enableTypeProfiler):
(Inspector::InspectorRuntimeAgent::disableTypeProfiler):
(Inspector::InspectorRuntimeAgent::setTypeProfilerEnabledState):
(Inspector::InspectorRuntimeAgent::enableHighFidelityTypeProfiling): Deleted.
(Inspector::InspectorRuntimeAgent::disableHighFidelityTypeProfiling): Deleted.
(Inspector::InspectorRuntimeAgent::setHighFidelityTypeProfilingEnabledState): Deleted.

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/protocol/Runtime.json:
  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompile):

  • jit/JIT.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_profile_type):
(JSC::JIT::emit_op_profile_types_with_high_fidelity): Deleted.

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_profile_type):
(JSC::JIT::emit_op_profile_types_with_high_fidelity): Deleted.

  • jit/JITOperations.cpp:
  • jsc.cpp:

(functionDumpTypesForAllVariables):

  • llint/LLIntSlowPaths.cpp:
  • llint/LowLevelInterpreter.asm:
  • runtime/CodeCache.cpp:

(JSC::CodeCache::getGlobalCodeBlock):

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:
  • runtime/Executable.cpp:

(JSC::ScriptExecutable::ScriptExecutable):
(JSC::ProgramExecutable::ProgramExecutable):
(JSC::FunctionExecutable::FunctionExecutable):
(JSC::ProgramExecutable::initializeGlobalProperties):

  • runtime/Executable.h:

(JSC::ScriptExecutable::typeProfilingStartOffset):
(JSC::ScriptExecutable::typeProfilingEndOffset):
(JSC::ScriptExecutable::highFidelityTypeProfilingStartOffset): Deleted.
(JSC::ScriptExecutable::highFidelityTypeProfilingEndOffset): Deleted.

  • runtime/HighFidelityLog.cpp: Removed.
  • runtime/HighFidelityLog.h: Removed.
  • runtime/HighFidelityTypeProfiler.cpp: Removed.
  • runtime/HighFidelityTypeProfiler.h: Removed.
  • runtime/Options.h:
  • runtime/SymbolTable.cpp:

(JSC::SymbolTable::prepareForTypeProfiling):
(JSC::SymbolTable::uniqueIDForVariable):
(JSC::SymbolTable::uniqueIDForRegister):
(JSC::SymbolTable::prepareForHighFidelityTypeProfiling): Deleted.

  • runtime/SymbolTable.h:
  • runtime/TypeProfiler.cpp: Added.

(JSC::TypeProfiler::logTypesForTypeLocation):
(JSC::TypeProfiler::insertNewLocation):
(JSC::TypeProfiler::getTypesForVariableAtOffsetForInspector):
(JSC::descriptorMatchesTypeLocation):
(JSC::TypeProfiler::findLocation):

  • runtime/TypeProfiler.h: Added.

(JSC::QueryKey::QueryKey):
(JSC::QueryKey::isHashTableDeletedValue):
(JSC::QueryKey::operator==):
(JSC::QueryKey::hash):
(JSC::QueryKeyHash::hash):
(JSC::QueryKeyHash::equal):
(JSC::TypeProfiler::functionHasExecutedCache):
(JSC::TypeProfiler::typeLocationCache):

  • runtime/TypeProfilerLog.cpp: Added.

(JSC::TypeProfilerLog::initializeLog):
(JSC::TypeProfilerLog::~TypeProfilerLog):
(JSC::TypeProfilerLog::processLogEntries):

  • runtime/TypeProfilerLog.h: Added.

(JSC::TypeProfilerLog::LogEntry::structureIDOffset):
(JSC::TypeProfilerLog::LogEntry::valueOffset):
(JSC::TypeProfilerLog::LogEntry::locationOffset):
(JSC::TypeProfilerLog::TypeProfilerLog):
(JSC::TypeProfilerLog::recordTypeInformationForLocation):
(JSC::TypeProfilerLog::logEndPtr):
(JSC::TypeProfilerLog::logStartOffset):
(JSC::TypeProfilerLog::currentLogEntryOffset):

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::VM::enableTypeProfiler):
(JSC::VM::disableTypeProfiler):
(JSC::VM::dumpTypeProfilerData):
(JSC::VM::enableHighFidelityTypeProfiling): Deleted.
(JSC::VM::disableHighFidelityTypeProfiling): Deleted.
(JSC::VM::dumpHighFidelityProfilingTypes): Deleted.

  • runtime/VM.h:

(JSC::VM::typeProfilerLog):
(JSC::VM::typeProfiler):
(JSC::VM::isProfilingTypesWithHighFidelity): Deleted.
(JSC::VM::highFidelityLog): Deleted.
(JSC::VM::highFidelityTypeProfiler): Deleted.

Source/WebInspectorUI:

Change a reference in a comment to a JavaScriptCore file to its
newly renamed variant.

  • UserInterface/Models/ScriptSyntaxTree.js:
5:32 PM Changeset in webkit [172819] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.11-branch/Source

Versioning.

4:55 PM Changeset in webkit [172818] by mrowe@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the release build after r172806.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveRenderingError): Add a missing semicolon.

3:55 PM Changeset in webkit [172817] by benjamin@webkit.org
  • 16 edits
    4 deletes in trunk

Remove HTMLInputElement's suggestedValue
​https://bugs.webkit.org/show_bug.cgi?id=136094

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-08-20
Reviewed by Darin Adler.

Source/WebCore:

That code is Chrome specific. It is unused now.

  • WebCore.exp.in:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::setValue):
(WebCore::HTMLInputElement::setValueFromRenderer):
(WebCore::HTMLInputElement::suggestedValue): Deleted.
(WebCore::HTMLInputElement::setSuggestedValue): Deleted.

  • html/HTMLInputElement.h:
  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):

  • html/HTMLTextFormControlElement.h:

(WebCore::HTMLTextFormControlElement::isEmptySuggestedValue): Deleted.

  • html/InputType.cpp:

(WebCore::InputType::canSetSuggestedValue): Deleted.

  • html/InputType.h:
  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::updateInnerTextValue):
(WebCore::TextFieldInputType::canSetSuggestedValue): Deleted.

  • html/TextFieldInputType.h:
  • testing/Internals.cpp:

(WebCore::Internals::suggestedValue): Deleted.
(WebCore::Internals::setSuggestedValue): Deleted.

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

Source/WebKit:

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

LayoutTests:

  • fast/forms/suggested-value-after-setvalue-expected.txt: Removed.
  • fast/forms/suggested-value-after-setvalue.html: Removed.
  • fast/forms/suggested-value-expected.txt: Removed.
  • fast/forms/suggested-value.html: Removed.
3:39 PM Changeset in webkit [172816] by dino@apple.com
  • 3 edits
    2 adds in trunk

WebAudio FFT analysis uses incorrect scaling
​https://bugs.webkit.org/show_bug.cgi?id=136120

Reviewed by Tim Horton.

Source/WebCore:

This is a port of Blink r166687 (author rtoy)
​https://codereview.chromium.org/156993002

Currently, for a fixed sine-wave input, the peak FFT amplitude changes
depending on the selected FFT size. This is incorrect; the FFT amplitude
should not appreciably change when the FFT size changes.

Layout test added to verify the FFT result stays approximately constant,
independent of the FFT size used.

When this test is run using an older version of WebKit, the peak varies
from about -44 dB (FFT size 32) to -7 dB (FFT size 2048). With this CL,
the peak is about -7 dB. (It's not 0 dB because of the Blackman window that is applied.)

Note: this change may break existing applications that depended on this strange scaling effect.

Test: webaudio/realtimeanalyser-fft-scaling.html

  • Modules/webaudio/RealtimeAnalyser.cpp:

(WebCore::RealtimeAnalyser::doFFTAnalysis):

LayoutTests:

Test from Blink r166687.

  • webaudio/realtimeanalyser-fft-scaling.html: Added.
  • webaudio/realtimeanalyser-fft-scaling-expected.txt: Added.
3:08 PM Changeset in webkit [172815] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.11.2

New tag.

2:56 PM Changeset in webkit [172814] by achristensen@apple.com
  • 107 edits in trunk

Introducing WEBCORE_EXPORT macro.
​https://bugs.webkit.org/show_bug.cgi?id=136108

Reviewed by Antti Koivisto.

Source/WebCore:

This should eventually replace WebCore.exp.in.

  • platform/PlatformExportMacros.h:

Define WEBCORE_EXPORT to nothing to not cause problems while I'm working on it.

  • Modules/encryptedmedia/CDM.h:
  • Modules/speech/DOMWindowSpeechSynthesis.h:
  • Modules/webdatabase/DatabaseManager.h:
  • Modules/webdatabase/DatabaseTracker.h:
  • accessibility/AXObjectCache.h:
  • bindings/js/DOMWrapperWorld.h:
  • bridge/jsc/BridgeJSC.h:
  • bridge/runtime_method.h:
  • bridge/runtime_object.h:
  • bridge/runtime_root.h:
  • css/CSSComputedStyleDeclaration.h:
  • css/CSSParserMode.h:
  • css/CSSValue.h:
  • css/DOMWindowCSS.h:
  • css/StyleSheetContents.h:
  • dom/CharacterData.h:
  • dom/ClientRect.h:
  • dom/ClientRectList.h:
  • dom/ContainerNode.h:
  • dom/ContextDestructionObserver.h:
  • dom/DOMImplementation.h:
  • dom/DataTransfer.h:
  • dom/DeviceMotionData.h:
  • dom/DeviceOrientationData.h:
  • dom/Document.h:

(WebCore::Document::setAnnotatedRegionsDirty):

  • dom/DocumentMarker.h:
  • dom/DocumentMarkerController.h:
  • dom/DocumentStyleSheetCollection.h:
  • dom/Element.h:
  • dom/Event.h:

(WebCore::Event::create):

  • dom/EventListenerMap.h:
  • editing/DictationAlternative.h:
  • editing/EditCommand.h:
  • editing/EditingStyle.h:
  • editing/Editor.h:
  • editing/mac/AlternativeTextUIController.h:
  • history/BackForwardController.h:
  • history/BackForwardList.h:
  • history/CachedFrame.h:
  • loader/CookieJar.h:
  • loader/CrossOriginPreflightResultCache.h:
  • loader/DocumentLoader.h:
  • loader/DocumentWriter.h:
  • loader/appcache/ApplicationCache.h:
  • loader/appcache/ApplicationCacheHost.h:
  • loader/appcache/ApplicationCacheStorage.h:
  • loader/archive/ArchiveResource.h:
  • loader/cache/CachedImage.h:
  • loader/cache/CachedResource.h:
  • loader/cache/CachedResourceHandle.h:
  • loader/cache/CachedResourceLoader.h:
  • page/Chrome.h:
  • page/ContextMenuController.h:
  • page/DOMWindow.h:
  • page/DOMWindowExtension.h:
  • page/DragController.h:
  • page/EventHandler.h:
  • page/animation/AnimationController.h:
  • page/scrolling/AsyncScrollingCoordinator.h:
  • platform/CalculationValue.h:
  • platform/ContentFilter.h:
  • platform/ContextMenu.h:
  • platform/ContextMenuItem.h:
  • platform/CrossThreadCopier.h:
  • platform/Cursor.h:
  • platform/DatabaseStrategy.h:
  • platform/DisplaySleepDisabler.h:
  • platform/DragData.h:
  • platform/LocalizedStrings.h:
  • platform/audio/AudioHardwareListener.h:
  • platform/audio/AudioSession.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:
  • platform/graphics/BitmapImage.h:
  • platform/graphics/Color.h:
  • platform/graphics/DisplayRefreshMonitor.h:
  • platform/graphics/transforms/AffineTransform.h:
  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/ios/WebVideoFullscreenModelMediaElement.h:
  • platform/ios/wak/WAKView.mm:
  • platform/ios/wak/WKContentObservation.h:
  • platform/ios/wak/WKView.h:
  • platform/ios/wak/WebCoreThread.h:
  • platform/ios/wak/WebCoreThreadMessage.h:
  • platform/mac/BlockExceptions.h:
  • platform/mock/DeviceOrientationClientMock.h:
  • platform/network/AuthenticationChallengeBase.h:
  • platform/network/BlobData.h:
  • platform/network/BlobDataFileReference.h:
  • platform/network/BlobRegistry.h:
  • platform/network/BlobRegistryImpl.h:
  • platform/network/CredentialBase.h:
  • platform/network/CredentialStorage.h:
  • platform/network/PlatformCookieJar.h:
  • platform/network/cf/AuthenticationChallenge.h:
  • platform/network/cocoa/CredentialCocoa.h:
  • platform/network/mac/CertificateInfo.h:
  • platform/sql/SQLiteDatabase.h:

(WebCore::SQLiteDatabase::disableThreadingChecks):

  • platform/sql/SQLiteDatabaseTracker.h:
  • platform/sql/SQLiteStatement.h:
  • platform/sql/SQLiteTransaction.h:
  • platform/text/BidiContext.h:

Added WEBCORE_EXPORT macros.

Source/WebKit2:

  • config.h:

Added stub definition of WEBCORE_EXPORT defined to nothing to be able to compile with WebCore headers.

Tools:

  • TestWebKitAPI/config.h:

Added stub definition of WEBCORE_EXPORT defined to nothing to be able to compile with WebCore headers.

2:43 PM Changeset in webkit [172813] by Csaba Osztrogonác
  • 3 edits in trunk/Source/JavaScriptCore

URTBF after r172799.

  • disassembler/ARM64/A64DOpcode.cpp:
  • disassembler/ARM64Disassembler.cpp:
2:43 PM Changeset in webkit [172812] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit

<​https://webkit.org/b/136119> WebKit1 plug-in test failures in production builds after r172595

Reviewed by Alexey Proskuryakov.

  • WebKit.xcodeproj/project.pbxproj: Add the symlinks at the top level of WebKitLegacy.framework

even in Production builds. Add the symlinks in the right locations too.

2:07 PM Changeset in webkit [172811] by psolanki@apple.com
  • 8 edits
    4 copies
    1 add in trunk/Source

Move DiskCacheMonitor to WebCore so that WebKit1 clients can use it as well
​https://bugs.webkit.org/show_bug.cgi?id=135896

Reviewed by Andreas Kling.

Source/WebCore:

Refactor code and move it to WebCore.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/ResourceLoader.h:

Make willCacheResponse protected so that SubresourceLoader can override it.

  • loader/SubresourceLoader.h:
  • loader/cocoa/DiskCacheMonitorCocoa.h: Added.

Mostly the same as the existing NetworkDiskCacheMonitor class in WebKit2. In the
CFNetwork callback block, it calls a virtual function that is overridden by
NetworkDiskCacheMonitor to send a message to WebContent process.

(WebCore::DiskCacheMonitor::~DiskCacheMonitor):
(WebCore::DiskCacheMonitor::resourceRequest):
(WebCore::DiskCacheMonitor::sessionID):

  • loader/cocoa/DiskCacheMonitorCocoa.mm:

(WebCore::DiskCacheMonitor::tryGetFileBackedSharedBufferFromCFURLCachedResponse):

Copied from NetworkResourceLoader::tryGetFileBackedSharedBufferFromCFURLCachedResponse.

(WebCore::DiskCacheMonitor::monitorFileBackingStoreCreation):
(WebCore::DiskCacheMonitor::DiskCacheMonitor):
(WebCore::DiskCacheMonitor::resourceBecameFileBacked):

Replace the cached resource data with the contents of the file backed buffer. This is
used in WebKit1 (and also for any resource loads that happen from the WebContent
process).

  • loader/cocoa/SubresourceLoaderCocoa.mm: Added.

(WebCore::SubresourceLoader::willCacheResponse):

Override willCacheresponse from ResourceLoader to listen for disk cache notifications.

Source/WebKit2:

  • NetworkProcess/mac/NetworkDiskCacheMonitor.h:

Inherit from WebCore::DiskCacheMonitor which has the bulk of the functionality now.

(WebKit::NetworkDiskCacheMonitor::~NetworkDiskCacheMonitor):

  • NetworkProcess/mac/NetworkDiskCacheMonitor.mm:

(WebKit::NetworkDiskCacheMonitor::monitorFileBackingStoreCreation):
(WebKit::NetworkDiskCacheMonitor::NetworkDiskCacheMonitor):
(WebKit::NetworkDiskCacheMonitor::resourceBecameFileBacked):

Override virtual method and send the data to the WebContent process as before.

2:04 PM Changeset in webkit [172810] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/JavaScriptCore

Merged r172805. <rdar://problem/18075852>

2:02 PM Changeset in webkit [172809] by eric.carlson@apple.com
  • 4 edits in trunk/Source/WebCore

Cleanup MediaSession
​https://bugs.webkit.org/show_bug.cgi?id=136116

Reviewed by Brent Fulgham.

MediaSessionManagerClient interface isn't used, remove it.
No new tests, this doesn't change behavior.

  • WebCore.exp.in:
  • platform/audio/MediaSessionManager.cpp:

(WebCore::MediaSessionManager::addSession):
(WebCore::MediaSessionManager::removeSession):
(WebCore::MediaSessionManager::sessionWillBeginPlayback):
(WebCore::MediaSessionManager::addClient): Deleted.
(WebCore::MediaSessionManager::removeClient): Deleted.

  • platform/audio/MediaSessionManager.h:

(WebCore::MediaSessionManagerClient::~MediaSessionManagerClient): Deleted.
(WebCore::MediaSessionManagerClient::MediaSessionManagerClient): Deleted.

1:47 PM Changeset in webkit [172808] by oliver@apple.com
  • 19 edits in trunk/Source/JavaScriptCore

Stop implicitly skipping a function's own activation when walking the scope chain
​https://bugs.webkit.org/show_bug.cgi?id=136118

Reviewed by Geoffrey Garen.

Remove the current logic that implicitly skips a function's
own activation when walking the scope chain. This is ground
work for ensuring that all closed variable access is made
through the function's activation. This leads to a further
10% regression on earley, but we're already tracking the
overall performance regression.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGHeapLocation.cpp:

(WTF::printInternal):

  • dfg/DFGHeapLocation.h:
  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitResolveClosure):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSScope.cpp:

(JSC::JSScope::abstractResolve):

  • runtime/JSScope.h:
1:28 PM Changeset in webkit [172807] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION: Web Inspector crashes when reloading apple.com with Timeline recording active
​https://bugs.webkit.org/show_bug.cgi?id=136034

Reviewed by Mark Lam.

DebuggerCallFrame::positionForCallFrame is trying to unwind starting somewhere in the middle
of the stack. Hardened StackVisitor to skip over the frames between the current top frame
and the requested start frame.

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::StackVisitor):

1:19 PM Changeset in webkit [172806] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

[MSE] add additional SourceBuffer and MediaSource logging
​https://bugs.webkit.org/show_bug.cgi?id=136114

Reviewed by Brent Fulgham.

No new tests, this adds debug-only logging.

  • Modules/mediasource/MediaSource.cpp:

(WebCore::MediaSource::setReadyState): Fix a typo.
(WebCore::MediaSource::streamEndedWithError): Log the error.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete): Log when parsing fails.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveRenderingError): Log error.
(WebCore::SourceBuffer::sourceBufferPrivateDidEndStream): Ditto.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment): Log.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Log error.

12:46 PM Changeset in webkit [172805] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

[Win] JavaScriptCore.dll is missing version information.
​https://bugs.webkit.org/show_bug.cgi?id=136105
<rdar://problem/18075852>

Reviewed by Dean Jackson.

  • JavaScriptCore.vcxproj/JavaScriptCorePreBuild.cmd: Add missing step to generate

version information for intermediary build path.

12:27 PM Changeset in webkit [172804] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Fix a memory leak in TypeSet
​https://bugs.webkit.org/show_bug.cgi?id=135913

Patch by Saam Barati <​sbarati@apple.com> on 2014-08-20
Reviewed by Filip Pizlo.

Currently, TypeSet unconditionally allocates memory for its member
variable m_structureHistory, but never deallocates it. Change this
from being a pointer that is unconditionally allocated to a member
variable that will be deallocated when TypeSet itself is deallocated.

  • runtime/TypeSet.cpp:

(JSC::TypeSet::TypeSet):
(JSC::TypeSet::addTypeInformation):
(JSC::TypeSet::seenTypes):
(JSC::TypeSet::displayName):
(JSC::TypeSet::allStructureRepresentations):
(JSC::StructureShape::leastCommonAncestor):

  • runtime/TypeSet.h:
12:10 PM Changeset in webkit [172803] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

import-w3c-tests doesn't import .svg support files
​https://bugs.webkit.org/show_bug.cgi?id=135928

Patch by Rebecca Hauck <​rhauck@adobe.com> on 2014-08-20
Reviewed by Bem Jones-Bey.

This patch fixes the W3C import script to not treat all
files with an xml mimetype as convertible tests, which
was causing SVG support files to not be imported.

  • Scripts/webkitpy/w3c/test_importer.py:

(TestImporter.find_importable_tests):

11:37 AM Changeset in webkit [172802] by commit-queue@webkit.org
  • 105 edits in trunk/Source/WebCore

Unreviewed, rolling out r172798.
​https://bugs.webkit.org/show_bug.cgi?id=136113

Broke builds (Requested by msaboff on #webkit).

Reverted changeset:

"Introducing WEBCORE_EXPORT macro."
​https://bugs.webkit.org/show_bug.cgi?id=136108
​http://trac.webkit.org/changeset/172798

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

[Win] Assertion fails when running JSC stress tests.
​https://bugs.webkit.org/show_bug.cgi?id=136103

Patch by ​peavo@outlook.com <​peavo@outlook.com> on 2014-08-20
Reviewed by Darin Adler.

Use unsigned bitfield member instead of enum bitfield member to avoid negative values.

  • bytecode/CodeOrigin.h: Use unsigned bitfield member.

(JSC::InlineCallFrame::specializationKind): Compile fix.

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

fast/multicol/mixed-opacity-fixed-test.html fails in compositing mode
​https://bugs.webkit.org/show_bug.cgi?id=136109

  • platform/mac-wk2/TestExpectations: Updated test expectations to a non-flaky failure,

and to point to the new bug.

10:59 AM Changeset in webkit [172799] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Enable ARM64 disassembler on EFL
​https://bugs.webkit.org/show_bug.cgi?id=136089

Patch by Akos Kiss <​akiss@inf.u-szeged.hu> on 2014-08-20
Reviewed by Filip Pizlo.

Source/JavaScriptCore:

  • CMakeLists.txt:

Added disassembler/ARM64Disassembler.cpp and
disassembler/ARM64/A64DOpcode.cpp to JavaScriptCore_SOURCES.

  • disassembler/ARM64/A64DOpcode.cpp:

Added USE(ARM64_DISASSEMBLER) guard around implementation.

  • disassembler/ARM64/A64DOpcode.h:

(JSC::ARM64Disassembler::A64DOpcode::appendUnsignedImmediate64):
(JSC::ARM64Disassembler::A64DOpcode::appendPCRelativeOffset):
Made format strings portable by changing "%llx" to "%" PRIx64 for
uint64_t arguments.

Source/WTF:

  • wtf/Platform.h:

Enable WTF_USE_ARM64_DISASSEMBLER for EFL as well.

10:56 AM Changeset in webkit [172798] by achristensen@apple.com
  • 105 edits in trunk/Source/WebCore

Introducing WEBCORE_EXPORT macro.
​https://bugs.webkit.org/show_bug.cgi?id=136108

Reviewed by Antti Koivisto.

This should eventually replace WebCore.exp.in.

  • platform/PlatformExportMacros.h:

Define WEBCORE_EXPORT to nothing to not cause problems while I'm working on it.

  • Modules/encryptedmedia/CDM.h:
  • Modules/speech/DOMWindowSpeechSynthesis.h:
  • Modules/webdatabase/DatabaseManager.h:
  • Modules/webdatabase/DatabaseTracker.h:
  • accessibility/AXObjectCache.h:
  • bindings/js/DOMWrapperWorld.h:
  • bridge/jsc/BridgeJSC.h:
  • bridge/runtime_method.cpp:
  • bridge/runtime_method.h:
  • bridge/runtime_object.cpp:
  • bridge/runtime_object.h:
  • bridge/runtime_root.h:
  • css/CSSComputedStyleDeclaration.h:
  • css/CSSParserMode.h:
  • css/CSSValue.h:
  • css/DOMWindowCSS.h:
  • css/StyleSheetContents.h:
  • dom/CharacterData.h:
  • dom/ClientRect.h:
  • dom/ClientRectList.h:
  • dom/ContainerNode.h:
  • dom/ContextDestructionObserver.h:
  • dom/DOMImplementation.h:
  • dom/DataTransfer.h:
  • dom/DeviceMotionData.h:
  • dom/DeviceOrientationData.h:
  • dom/Document.h:

(WebCore::Document::setAnnotatedRegionsDirty):

  • dom/DocumentMarker.h:
  • dom/DocumentMarkerController.h:
  • dom/DocumentStyleSheetCollection.h:
  • dom/Element.h:
  • dom/Event.h:

(WebCore::Event::create):

  • dom/EventListenerMap.h:
  • editing/DictationAlternative.h:
  • editing/EditCommand.h:
  • editing/EditingStyle.h:
  • editing/Editor.h:
  • editing/mac/AlternativeTextUIController.h:
  • history/BackForwardController.h:
  • history/BackForwardList.h:
  • history/CachedFrame.h:
  • loader/CookieJar.h:
  • loader/CrossOriginPreflightResultCache.h:
  • loader/DocumentLoader.h:
  • loader/DocumentWriter.h:
  • loader/appcache/ApplicationCache.h:
  • loader/appcache/ApplicationCacheHost.h:
  • loader/appcache/ApplicationCacheStorage.h:
  • loader/archive/ArchiveResource.h:
  • loader/cache/CachedImage.h:
  • loader/cache/CachedResource.h:
  • loader/cache/CachedResourceHandle.h:
  • loader/cache/CachedResourceLoader.h:
  • page/Chrome.h:
  • page/ContextMenuController.h:
  • page/DOMWindow.h:
  • page/DOMWindowExtension.h:
  • page/DragController.h:
  • page/EventHandler.h:
  • page/animation/AnimationController.h:
  • page/scrolling/AsyncScrollingCoordinator.h:
  • platform/CalculationValue.h:
  • platform/ContentFilter.h:
  • platform/ContextMenu.h:
  • platform/ContextMenuItem.h:
  • platform/CrossThreadCopier.h:
  • platform/Cursor.h:
  • platform/DatabaseStrategy.h:
  • platform/DisplaySleepDisabler.h:
  • platform/DragData.h:
  • platform/LocalizedStrings.h:
  • platform/audio/AudioHardwareListener.h:
  • platform/audio/AudioSession.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm:
  • platform/graphics/BitmapImage.h:
  • platform/graphics/Color.h:
  • platform/graphics/DisplayRefreshMonitor.h:
  • platform/graphics/transforms/AffineTransform.h:
  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/ios/WebVideoFullscreenModelMediaElement.h:
  • platform/ios/wak/WAKView.mm:
  • platform/ios/wak/WKContentObservation.h:
  • platform/ios/wak/WKView.h:
  • platform/ios/wak/WebCoreThread.h:
  • platform/ios/wak/WebCoreThreadMessage.h:
  • platform/mac/BlockExceptions.h:
  • platform/mock/DeviceOrientationClientMock.h:
  • platform/network/AuthenticationChallengeBase.h:
  • platform/network/BlobData.h:
  • platform/network/BlobDataFileReference.h:
  • platform/network/BlobRegistry.h:
  • platform/network/BlobRegistryImpl.h:
  • platform/network/CredentialBase.h:
  • platform/network/CredentialStorage.h:
  • platform/network/PlatformCookieJar.h:
  • platform/network/cf/AuthenticationChallenge.h:
  • platform/network/cocoa/CredentialCocoa.h:
  • platform/network/mac/CertificateInfo.h:
  • platform/sql/SQLiteDatabase.h:

(WebCore::SQLiteDatabase::disableThreadingChecks):

  • platform/sql/SQLiteDatabaseTracker.h:
  • platform/sql/SQLiteStatement.h:
  • platform/sql/SQLiteTransaction.h:
  • platform/text/BidiContext.h:

Added WEBCORE_EXPORT macros.

7:44 AM Changeset in webkit [172797] by Alan Bujtas
  • 4 edits
    32 adds in trunk

Dashed/dotted borders do not paint.
​https://bugs.webkit.org/show_bug.cgi?id=135898

Reviewed by Simon Fraser.

Source/WebCore:

Remove the empty line checks for drawLines. There's no need to protect the graphics
context from empty lines.

Tests: fast/borders/border-painting-dashed-at-all.html

fast/borders/border-painting-dashed.html
fast/borders/border-painting-dotted-at-all.html
fast/borders/border-painting-dotted.html
fast/borders/border-painting-double-at-all.html
fast/borders/border-painting-double.html
fast/borders/border-painting-groove-at-all.html
fast/borders/border-painting-inset-at-all.html
fast/borders/border-painting-inset.html
fast/borders/border-painting-outset-at-all.html
fast/borders/border-painting-outset.html
fast/borders/border-painting-ridge-at-all.html
fast/borders/border-painting-solid-at-all.html
fast/borders/border-painting-solid.html
fast/borders/hidpi-border-painting-groove.html
fast/borders/hidpi-border-painting-ridge.html

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::drawLineForBoxSide):
(WebCore::drawBorderLineRect): Deleted.
(WebCore::drawBorderLine): Deleted.

LayoutTests:

*-at-all files test that we always paint borders.
The other set of files test that borders are painted properly. They take
advantage of the fact that borders with radius use a different painting code path.

  • TestExpectations:
  • fast/borders/border-painting-dashed-at-all-expected.html: Added.
  • fast/borders/border-painting-dashed-at-all.html: Added.
  • fast/borders/border-painting-dashed-expected.html: Added.
  • fast/borders/border-painting-dashed.html: Added.
  • fast/borders/border-painting-dotted-at-all-expected.html: Added.
  • fast/borders/border-painting-dotted-at-all.html: Added.
  • fast/borders/border-painting-dotted-expected.html: Added.
  • fast/borders/border-painting-dotted.html: Added.
  • fast/borders/border-painting-double-at-all-expected.html: Added.
  • fast/borders/border-painting-double-at-all.html: Added.
  • fast/borders/border-painting-double-expected.html: Added.
  • fast/borders/border-painting-double.html: Added.
  • fast/borders/border-painting-groove-at-all-expected.html: Added.
  • fast/borders/border-painting-groove-at-all.html: Added.
  • fast/borders/border-painting-inset-at-all-expected.html: Added.
  • fast/borders/border-painting-inset-at-all.html: Added.
  • fast/borders/border-painting-inset-expected.html: Added.
  • fast/borders/border-painting-inset.html: Added.
  • fast/borders/border-painting-outset-at-all-expected.html: Added.
  • fast/borders/border-painting-outset-at-all.html: Added.
  • fast/borders/border-painting-outset-expected.html: Added.
  • fast/borders/border-painting-outset.html: Added.
  • fast/borders/border-painting-ridge-at-all-expected.html: Added.
  • fast/borders/border-painting-ridge-at-all.html: Added.
  • fast/borders/border-painting-solid-at-all-expected.html: Added.
  • fast/borders/border-painting-solid-at-all.html: Added.
  • fast/borders/border-painting-solid-expected.html: Added.
  • fast/borders/border-painting-solid.html: Added.
  • fast/borders/hidpi-border-painting-groove-expected.html: Added.
  • fast/borders/hidpi-border-painting-groove.html: Added.
  • fast/borders/hidpi-border-painting-ridge-expected.html: Added.
  • fast/borders/hidpi-border-painting-ridge.html: Added.

Aug 19, 2014:

9:32 PM Changeset in webkit [172796] by jinwoo7.song@samsung.com
  • 4 edits
    2 adds in trunk

Ignore usemap attributes without '#' in img element
​https://bugs.webkit.org/show_bug.cgi?id=133336

Reviewed by Ryosuke Niwa.

HTML5 specification says we should ignore usemap attributes without #.
​http://www.w3.org/TR/html5/infrastructure.html#valid-hash-name-reference

Source/WebCore:

Test: fast/dom/replaced-image-map-valid-hash-name.html

  • dom/TreeScope.cpp:

(WebCore::TreeScope::getImageMap):

LayoutTests:

  • fast/dom/replaced-image-map-valid-hash-name-expected.txt: Added.
  • fast/dom/replaced-image-map-valid-hash-name.html: Added.
  • fast/images/image-map-multiple-xhtml.xhtml: Modified usemap attribute value to use '#'.
8:02 PM Changeset in webkit [172795] by mitz@apple.com
  • 2 edits in trunk/Tools

update-webkit should not check for the presence of Apple’s Internal directory
Last part of ​https://bugs.webkit.org/show_bug.cgi?id=135815

Reviewed by Tim Horton.

  • Scripts/update-webkit:
7:38 PM Changeset in webkit [172794] by fpizlo@apple.com
  • 7 edits
    5 adds in trunk

REGRESSION(r172401): for-in optimization no longer works at all
​https://bugs.webkit.org/show_bug.cgi?id=136056

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Roll this back in, along with a fix to make proxies work. Previously, for-in over proxies
would instacrash every time.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitGetByVal):
(JSC::BytecodeGenerator::pushIndexedForInScope):
(JSC::BytecodeGenerator::pushStructureForInScope):

  • bytecompiler/BytecodeGenerator.h:

(JSC::ForInContext::ForInContext):
(JSC::StructureForInContext::StructureForInContext):
(JSC::IndexedForInContext::IndexedForInContext):
(JSC::ForInContext::base): Deleted.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ForInNode::emitMultiLoopBytecode):

  • runtime/JSProxy.cpp:

(JSC::JSProxy::getStructurePropertyNames):
(JSC::JSProxy::getGenericPropertyNames):

  • tests/stress/for-in-base-reassigned-later-and-change-structure.js: Added.

(foo):

  • tests/stress/for-in-base-reassigned-later.js: Added.

(foo):

  • tests/stress/for-in-base-reassigned.js: Added.

(foo):

  • tests/stress/for-in-proxy-target-changed-structure.js: Added.

(deleteAll):
(foo):

  • tests/stress/for-in-proxy.js: Added.

(foo):

LayoutTests:

This just needs a rebase because the number of calls into the DOM has changed and so the
number of console messages about security stuff has now changed.

  • http/tests/security/cross-frame-access-enumeration-expected.txt:
7:17 PM Changeset in webkit [172793] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix EFL build after r17275

Fix error: ignoring #pragma clang diagnostic [-Werror=unknown-pragmas]

  • runtime/JSDataViewPrototype.cpp:

Add #if COMPILER(CLANG) and #endif.

5:36 PM Changeset in webkit [172792] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Crash in jsc-layout-tests.yaml/js/script-tests/reentrant-caching.js
​https://bugs.webkit.org/show_bug.cgi?id=136080

Reviewed by Mark Lam.

Update VM::topVMEntryFrame via NativeCallFrameTracer() when we pass the caller's frame
to NativeCallFrameTracer() as the callee's frame may be the first callee from an entry
frame. In that case, the caller will have the prior VM entry frame.

The new NativeCallFrameTracer with a VMEntryFrame parameter should be used when throwing
an exception from a caller frame. The value to use for the VMEntryFrame should be a
value possibly modified by CallFrame::callerFrame(&*VMEntryFrame) used to find the caller.

  • interpreter/Interpreter.h:

(JSC::NativeCallFrameTracer::NativeCallFrameTracer): Added a new constructor that takes a
VMEntryFrame. Added an ASSERT to both constructors to check that the updated topCallFrame
is below the current vmEntryFrame.

  • jit/JITOperations.cpp:

(JSC::operationThrowStackOverflowError):
(JSC::operationCallArityCheck):
(JSC::operationConstructArityCheck):
Set VM::topVMEntryFrame to the possibly updated VMEntryFrame after getting the caller's frame.

5:22 PM Changeset in webkit [172791] by dburkart@apple.com
  • 3 edits in branches/safari-600.1-branch/Source/WebCore

Merge r172317. <rdar://problem/18052514>

4:55 PM Changeset in webkit [172790] by psolanki@apple.com
  • 31 edits
    3 deletes in trunk/Source

Remove PurgeableBuffer since it is not very useful any more
​https://bugs.webkit.org/show_bug.cgi?id=135939

Reviewed by Andreas Kling.

Source/WebCore:

The usefulness of having purgeable memory for cached resources has diminished now that
WebKit uses file backed resources when possible. Since this is read only memory, it is in
essence "purgeable". Having the PurgeableBuffer code adds additional complexity that we
don't need. e.g. on my Mac, I am not seeing any entry for "WebCore purgeable data" when I
run vmmap against the web processes that I have running. It is used on iOS, however even
there much of the purgeable memory we create gets replaced by file backed memory once we get
the notification from CFNetwork.

No new tests because no functional changes.

  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorPageAgent.cpp:

(WebCore::prepareCachedResourceBuffer):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::subresource):

  • loader/ResourceBuffer.cpp:

(WebCore::ResourceBuffer::hasPurgeableBuffer): Deleted.
(WebCore::ResourceBuffer::setShouldUsePurgeableMemory): Deleted.
(WebCore::ResourceBuffer::createPurgeableBuffer): Deleted.
(WebCore::ResourceBuffer::releasePurgeableBuffer): Deleted.

  • loader/ResourceBuffer.h:
  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didFinishLoading):

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::sheetText):
(WebCore::CachedCSSStyleSheet::destroyDecodedData):

  • loader/cache/CachedCSSStyleSheet.h:
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::image):
(WebCore::CachedImage::imageForRenderer):
(WebCore::CachedImage::imageSizeForRenderer):
(WebCore::CachedImage::destroyDecodedData):
(WebCore::CachedImage::canUseDiskImageCache):

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

(WebCore::CachedResource::addClientToSet):
(WebCore::CachedResource::isSafeToMakePurgeable): Deleted.
(WebCore::CachedResource::makePurgeable): Deleted.
(WebCore::CachedResource::isPurgeable): Deleted.
(WebCore::CachedResource::wasPurged): Deleted.

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::resourceBuffer):
(WebCore::CachedResource::purgePriority): Deleted.

  • loader/cache/CachedScript.cpp:

(WebCore::CachedScript::script):
(WebCore::CachedScript::destroyDecodedData):

  • loader/cache/CachedScript.h:
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::resourceForRequestImpl):
(WebCore::MemoryCache::pruneDeadResourcesToSize):
(WebCore::MemoryCache::evict):
(WebCore::MemoryCache::TypeStatistic::addResource):
(WebCore::MemoryCache::dumpStats):
(WebCore::MemoryCache::dumpLRULists):
(WebCore::MemoryCache::makeResourcePurgeable): Deleted.

  • loader/cache/MemoryCache.h:

(WebCore::MemoryCache::TypeStatistic::TypeStatistic):
(WebCore::MemoryCache::shouldMakeResourcePurgeableOnEviction): Deleted.

  • platform/PurgePriority.h: Removed.
  • platform/PurgeableBuffer.h: Removed.
  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::SharedBuffer):
(WebCore::SharedBuffer::size):
(WebCore::SharedBuffer::data):
(WebCore::SharedBuffer::append):
(WebCore::SharedBuffer::clear):
(WebCore::SharedBuffer::copy):
(WebCore::SharedBuffer::getSomeData):
(WebCore::SharedBuffer::adoptPurgeableBuffer): Deleted.
(WebCore::SharedBuffer::createPurgeableBuffer): Deleted.
(WebCore::SharedBuffer::releasePurgeableBuffer): Deleted.

  • platform/SharedBuffer.h:

(WebCore::SharedBuffer::hasPurgeableBuffer): Deleted.
(WebCore::SharedBuffer::shouldUsePurgeableMemory): Deleted.

  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::SharedBuffer):

  • platform/mac/PurgeableBufferMac.cpp: Removed.
  • platform/mac/SharedBufferMac.mm:

(WebCore::SharedBuffer::createCFData):

  • platform/soup/SharedBufferSoup.cpp:

Source/WebKit/mac:

  • Misc/WebCache.mm:

(+[WebCache statistics]):

Source/WebKit/win:

  • WebCache.cpp:

(WebCache::statistics):

Source/WebKit2:

  • WebProcess/WebProcess.cpp:

(WebKit::getWebCoreMemoryCacheStatistics):

Source/WTF:

  • wtf/Platform.h: Remove ENABLE_PURGEABLE_MEMORY define.
  • wtf/VMTags.h: Remove VM tags used by WebCore for cached resource purgeable memory.
4:53 PM Changeset in webkit [172789] by dburkart@apple.com
  • 4 edits
    2 copies in branches/safari-600.1-branch

Merge r172727. <rdar://problem/18051847>

4:50 PM Changeset in webkit [172788] by dburkart@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merge r172720. <rdar://problem/17767169>

4:49 PM Changeset in webkit [172787] by dburkart@apple.com
  • 13 edits
    12 copies
    10 deletes in branches/safari-600.1-branch

Merge r172709. <rdar://problem/17850158>

4:45 PM Changeset in webkit [172786] by dburkart@apple.com
  • 4 edits in branches/safari-600.1-branch/Source/WebCore

Merge r172705. <rdar://problem/17767169>

4:43 PM Changeset in webkit [172785] by dburkart@apple.com
  • 4 edits in branches/safari-600.1-branch/Source/WebCore

Merge r172703. <rdar://problem/17767169>

4:39 PM Changeset in webkit [172784] by dburkart@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merge r172693. <rdar://problem/17577321>

4:38 PM Changeset in webkit [172783] by aestes@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[Cocoa] Offline Assembler build phase fails when $BUILT_PRODUCTS_DIR contains spaces
​https://bugs.webkit.org/show_bug.cgi?id=136086

Reviewed by Filip Pizlo.

Enclosed arguments to asm.rb containing $BUILT_PRODUCTS_DIR in double quotes so that they don't get split on
whitespace. Also let Xcode have its way with an unrelated part of the project file.

4:35 PM Changeset in webkit [172782] by dburkart@apple.com
  • 6 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merge r172689. <rdar://problem/18040028>

4:33 PM Changeset in webkit [172781] by dburkart@apple.com
  • 5 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merge r172682. <rdar://problem/18038767>

4:33 PM Changeset in webkit [172780] by commit-queue@webkit.org
  • 14 edits in trunk/Source

Expose injected bundle SPI to get a node's URL element, get the visible selection range of that
element, and snapshot that range
​https://bugs.webkit.org/show_bug.cgi?id=136076

Patch by Peyton Randolph <​prandolph@apple.com> on 2014-08-19
Reviewed by Tim Horton.

  • WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:

(WKBundleHitTestResultCopyURLElementHandle): Added.

  • WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
  • WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:

(WKBundleNodeHandleCopyVisibleRange): Added.

  • WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
  • WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:

(WKBundleRangeHandleGetBoundingRectInWindowCoordinates): Added.
(WKBundleRangeHandleCopySnapshotWithOptions): Added.

  • WebProcess/InjectedBundle/API/c/WKBundleRangeHandlePrivate.h:
  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::InjectedBundleNodeHandle::visibleRange): Added.

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:

(WebKit::InjectedBundleRangeHandle::boundingRectInWindowCoordinates): Added.
(WebKit::InjectedBundleRangeHandle::renderedImage): Added.

  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
  • WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:

(WebKit::InjectedBundleHitTestResult::urlElementHandle): Added.

  • WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
4:29 PM Changeset in webkit [172779] by dburkart@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merge r172662. <rdar://problem/17971908>

4:26 PM Changeset in webkit [172778] by dburkart@apple.com
  • 16 edits in branches/safari-600.1-branch/Source/WebCore

Merge r172657. <rdar://problem/17896828>

4:25 PM Changeset in webkit [172777] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

LLInt build should be way faster
​https://bugs.webkit.org/show_bug.cgi?id=136085

Reviewed by Geoffrey Garen.

This does three things to improve the LLInt build performance. One of them is only for
Xcode for now while the others should benefit all platforms:

  • Don't exponentially build settings combinations that correspond to being on two backends simultaneously. This is by far the biggest win.


  • Don't generate offset extraction code for backends that aren't supported by the current port. This currently only works on Xcode-based ports. This is a relatively small win.


  • Remove the ALWAYS_ALLOCATE_SLOW option. Each option increases build time, and we haven't used this one in a long time. Anyway, setting this option could be emulated by just directly hacking the code.


This is an enormous speed-up in the LLInt build.

  • JavaScriptCore.xcodeproj/project.pbxproj: Prune the set of backends that we should consider on Xcode-based platforms.
  • llint/LLIntOfflineAsmConfig.h: Remove ALWAYS_ALLOCATE_SLOW
  • llint/LowLevelInterpreter.asm: Remove ALWAYS_ALLOCATE_SLOW
  • offlineasm/backends.rb: Add infrastructure for reasoning about valid backends.
  • offlineasm/generate_offset_extractor.rb: Allow the client to specify a filtered set of valid backends.
  • offlineasm/settings.rb: Improve the construction of settings combinations so that it doesn't traverse the enourmous set of obviously invalid multi-backend combinations. Also glue into support for valid backends.
4:20 PM Changeset in webkit [172776] by dburkart@apple.com
  • 6 edits
    2 copies in branches/safari-600.1-branch

Merge r172656. <rdar://problem/17961698>

4:12 PM Changeset in webkit [172775] by dburkart@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merge r172650. <rdar://problem/18034356>

4:09 PM Changeset in webkit [172774] by dburkart@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merge r172643. <rdar://problem/18032571>

4:06 PM Changeset in webkit [172773] by dburkart@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merge r172640. <rdar://problem/18025668>

4:02 PM Changeset in webkit [172772] by dburkart@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merge r172639. <rdar://problem/17957716>

4:00 PM Changeset in webkit [172771] by dburkart@apple.com
  • 6 edits in branches/safari-600.1-branch/Source/WebKit2

Merge r172636. <rdar://problem/17957716>

3:54 PM Changeset in webkit [172770] by dburkart@apple.com
  • 12 edits in branches/safari-600.1-branch/Source/WebKit2

Merge r172635. <rdar://problem/18006149>

3:47 PM Changeset in webkit [172769] by dburkart@apple.com
  • 3 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merge r172617. <rdar://problem/18023242>

3:43 PM Changeset in webkit [172768] by dburkart@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merge r172615. <rdar://problem/18024530>

3:25 PM Changeset in webkit [172767] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix indentation and style in LowLevelInterpreter.asm
​https://bugs.webkit.org/show_bug.cgi?id=136083

Reviewed by Mark Lam.

  • llint/LowLevelInterpreter.asm:
3:25 PM Changeset in webkit [172766] by dburkart@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r172606. <rdar://problem/18022467>

3:18 PM Changeset in webkit [172765] by dburkart@apple.com
  • 3 edits
    3 copies in branches/safari-600.1-branch

Merged r172603. <rdar://problem/17989469>

3:05 PM Changeset in webkit [172764] by dburkart@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r172601. <rdar://problem/18021462>

2:39 PM Changeset in webkit [172763] by dburkart@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merged r172600. <rdar://problem/18021928>

2:34 PM Changeset in webkit [172762] by dburkart@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172596. <rdar://problem/17957690>

2:31 PM Changeset in webkit [172761] by dburkart@apple.com
  • 6 edits in branches/safari-600.1-branch/Source

Merged r172502. <rdar://problem/18022784>

2:28 PM Changeset in webkit [172760] by dburkart@apple.com
  • 3 edits in branches/safari-600.1-branch/Source/WebCore

Merged r172481. <rdar://problem/17954473>

2:25 PM Changeset in webkit [172759] by berto@igalia.com
  • 4 edits in trunk/Source

TEXTREL in libjavascriptcoregtk-1.0.so.0.11.0 on x86 (or i586)
​https://bugs.webkit.org/show_bug.cgi?id=70610

Patch by Magnus Granberg <​zorry@gentoo.org> on 2014-08-19
Reviewed by Darin Adler.

Source/JavaScriptCore:

Setup %ebx so we can use the plt.

  • jit/ThunkGenerators.cpp:

Source/WTF:

Add PLT if we're building with PIC.

  • wtf/InlineASM.h:
2:02 PM Changeset in webkit [172758] by Alan Bujtas
  • 29 edits in trunk

Remove ENABLE(SUBPIXEL_LAYOUT).
​https://bugs.webkit.org/show_bug.cgi?id=136077

Reviewed by Simon Fraser.

Remove compile time flag SUBPIXEL_LAYOUT. All ports have it enabled for a while now.

.:

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsMac.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::computeLength):

  • dom/Element.cpp:

(WebCore::adjustForLocalZoom):
(WebCore::Element::offsetWidth):
(WebCore::Element::offsetHeight):
(WebCore::Element::clientLeft):
(WebCore::Element::clientTop):
(WebCore::Element::clientWidth):
(WebCore::Element::clientHeight):

  • platform/LayoutUnit.h:

(WebCore::LayoutUnit::LayoutUnit):
(WebCore::LayoutUnit::ceilToFloat):
(WebCore::LayoutUnit::ceil):
(WebCore::LayoutUnit::round):
(WebCore::LayoutUnit::floor):
(WebCore::boundedMultiply):
(WebCore::operator*):
(WebCore::operator/):
(WebCore::intMod):
(WebCore::operator%):
(WebCore::roundedLayoutUnit):
(WebCore::ceiledLayoutUnit):
(WebCore::LayoutUnit::toInt): Deleted.
(WebCore::LayoutUnit::toFloat): Deleted.
(WebCore::LayoutUnit::toDouble): Deleted.
(WebCore::LayoutUnit::epsilon): Deleted.

  • platform/graphics/LayoutPoint.h:

(WebCore::roundedForPainting):
(WebCore::flooredForPainting):
(WebCore::ceiledForPainting):
(WebCore::roundedLayoutPoint):

  • platform/graphics/LayoutRect.cpp:

(WebCore::enclosingLayoutRect):

  • platform/graphics/LayoutRect.h:

(WebCore::pixelSnappedIntRect):
(WebCore::pixelSnappedForPainting):

  • platform/graphics/LayoutSize.h:

(WebCore::roundedLayoutSize):
(WebCore::flooredForPainting):

  • rendering/RenderBlock.cpp:

(WebCore::adjustFloatForSubPixelLayout):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild):

  • rendering/RenderElement.h:

(WebCore::adjustLayoutUnitForAbsoluteZoom):

  • rendering/style/RenderStyle.h:

(WebCore::adjustLayoutUnitForAbsoluteZoom):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp:
1:41 PM Changeset in webkit [172757] by Bem Jones-Bey
  • 6 edits in trunk

[CSS Shapes] A few calc() test failures in the shape-image-threshold parsing tests
​https://bugs.webkit.org/show_bug.cgi?id=135926

Reviewed by Dirk Schulze.

Source/WebCore:

shape-image-threshold is a Number, so it should be parsed as one. The
default parsing doesn't support calcs, but numbers do.

No new tests, fixes exitsing test to pass.

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): Use

ApplyPropertyNumber instead of ApplyPropertyDefault for
shape-image-threshold.

LayoutTests:

  • TestExpectations: Remove Failure and Crash expectations.
  • css3/shapes/shape-outside/values/shape-image-threshold-001-expected.txt:

Proper expected results now that the test passes.

  • css3/shapes/shape-outside/values/shape-image-threshold-001.html:

Adding together calcs isn't valid, so move the addition inside of
the calc expression. This will also be updated upstream.

11:57 AM Changeset in webkit [172756] by mmirman@apple.com
  • 12 edits
    1 delete in trunk/Source/JavaScriptCore

Merges the two native inlining passes from the build.
Also adds the AvailableExternallyLinkage assertion to linked
functions to allow unused and duplicate ones to be removed.
​https://bugs.webkit.org/show_bug.cgi?id=135526

Reviewed by Filip Pizlo.

Removed second generation of llvm binary files.
Fixed the flags on the first pass.

  • build-symbol-table-index.py: Modified some paths.
  • build-symbol-table-index.sh: Removed.
  • copy-llvm-ir-to-derived-sources.sh: Now calls build-symbol-table-index directly.
  • ftl/FTLLowerDFGToLLVM.cpp: Added LLVMAvailableExternallyLinkage assertion.

(JSC::FTL::LowerDFGToLLVM::getModuleByPathForSymbol):

  • runtime/ArrayPrototype.cpp: Removed static declarations.
  • runtime/DateConstructor.cpp: ditto.

(JSC::dateParse):
(JSC::dateNow):
(JSC::dateUTC):

  • runtime/DatePrototype.cpp: ditto.
  • runtime/JSDataViewPrototype.cpp: ditto on both.

(JSC::dataViewProtoFuncGetInt8):
(JSC::dataViewProtoFuncGetInt16):
(JSC::dataViewProtoFuncGetInt32):
(JSC::dataViewProtoFuncGetUint8):
(JSC::dataViewProtoFuncGetUint16):
(JSC::dataViewProtoFuncGetUint32):
(JSC::dataViewProtoFuncGetFloat32):
(JSC::dataViewProtoFuncGetFloat64):
(JSC::dataViewProtoFuncSetInt8):
(JSC::dataViewProtoFuncSetInt16):
(JSC::dataViewProtoFuncSetInt32):
(JSC::dataViewProtoFuncSetUint8):
(JSC::dataViewProtoFuncSetUint16):
(JSC::dataViewProtoFuncSetUint32):
(JSC::dataViewProtoFuncSetFloat32):
(JSC::dataViewProtoFuncSetFloat64):

  • runtime/JSONObject.cpp: ditto.
  • runtime/ObjectConstructor.cpp: ditto.
  • runtime/StringPrototype.cpp: ditto.
11:32 AM Changeset in webkit [172755] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

Extend injected bundle node snapshotting to support forced white and black text
​https://bugs.webkit.org/show_bug.cgi?id=136061

Patch by Peyton Randolph <​prandolph@apple.com> on 2014-08-19
Reviewed by Beth Dakin.

  • Shared/API/c/WKImage.h:

Add -ForceBlackText and -ForceWhiteText snapshotting options.

  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toSnapshotOptions):
Support aforementioned text snapshotting options.

  • Shared/ImageOptions.h:
  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::imageForRect):
Respect text color snapshotting options by setting appropriate paint behaviors.

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

[CMake] Generate LLInt assembly correctly on Windows.
​https://bugs.webkit.org/show_bug.cgi?id=135888

Patch by Alex Christensen <​achristensen@webkit.org> on 2014-08-19
Reviewed by Oliver Hunt.

  • CMakeLists.txt:

Generate LowLevelInterpreterWin.asm instead of LLIntAssembly.h on Windows like the existing build system.

  • PlatformWin.cmake:

Don't build JSGlobalObjectInspectorController.cpp on Windows.

  • offlineasm/x86.rb:

Detect non-cygwin ruby installations correctly.

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

ASSERT_NOT_REACHED on css3/shapes/shape-outside/values/shape-image-threshold-001.html
​https://bugs.webkit.org/show_bug.cgi?id=136075

8:43 AM Changeset in webkit [172752] by bshafiei@apple.com
  • 7 edits in branches/safari-600.1.4.11-branch

Merged r172213. <rdar://problem/18052523>

6:09 AM Changeset in webkit [172751] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Let the caller define JSC_timeout for run-javascriptcore-tests
​https://bugs.webkit.org/show_bug.cgi?id=136068

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

Keep the 60 second timeout for jsc tests as the default setting but
don't override the value of JSC_timeout if already set.

  • Scripts/run-javascriptcore-tests:
5:05 AM Changeset in webkit [172750] by clopez@igalia.com
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Mark tests failing after r172733 (W3C CSS Shapes test suite import)

Update list of flaky tests. Report and mark new failures. Remove expectations for new passing tests.

2:41 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
1:37 AM Changeset in webkit [172749] by mjs@apple.com
  • 20 edits
    3 adds in trunk/Source

Use NSURLFileTypeMappings directly instead of depending on WebKitSystemInterface wrappers for it
​https://bugs.webkit.org/show_bug.cgi?id=136035

Reviewed by Dan Bernstein.

Source/WebCore:

  • WebCore.exp.in: Remove reference to no longer existent sumbols.
  • WebCore.order: ditto
  • WebCore.xcodeproj/project.pbxproj: Install new NSURLFileTyeMappings.h header.
  • platform/ios/MIMETypeRegistryIOS.mm:

(WebCore::MIMETypeRegistry::getMIMETypeForExtension): Use NSURLFileTypeMappings
directly instead of via WKSI wrapper.

  • platform/mac/MIMETypeRegistryMac.mm:

(WebCore::MIMETypeRegistry::getMIMETypeForExtension): ditto
(WebCore::MIMETypeRegistry::getExtensionsForMIMEType): ditto
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): ditto

  • platform/mac/WebCoreSystemInterface.h: Remove references to the no-longer-used

WKGetExtensionsForMIMEType, WKGetPreferredExtensionForMIMEType, or WKGetMIMETypeForExtension

  • platform/mac/WebCoreSystemInterface.mm: ditto
  • platform/spi: Added. This is where headers to declare SPI go.
  • platform/spi/cocoa: Added. See above.
  • platform/spi/cocoa/NSURLFileTypeMappingsSPI.h: Added. Header to declare

the internal class NSURLFileTypeMappings and some of its methods.

Source/WebKit/mac:

  • Misc/WebNSViewExtras.m:

(-[NSView _web_DragImageForElement:rect:event:pasteboard:source:offset:]): Remove comment
reference to obsolete WKSI function.

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Don't initialize the no-longer-used WKGetExtensionsForMIMEType,
WKGetPreferredExtensionForMIMEType, or WKGetMIMETypeForExtension

  • Plugins/WebPluginDatabase.mm:

(-[WebPluginDatabase pluginForExtension:]): Include SPI header from WebCore; use
NSURLFileTypeMappings directly instead of via WKSI wrapper.

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::objectContentType): ditto

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _imageExistsAtPaths:]): ditto

  • WebView/WebView.mm:

(+[WebView _supportedFileExtensions]): ditto
(+[WebView suggestedFileExtensionForMIMEType:]): ditto
(+[WebView _MIMETypeForFile:]): ditto

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Don't initialize the no-longer-used WKGetExtensionsForMIMEType,
WKGetPreferredExtensionForMIMEType, or WKGetMIMETypeForExtension

  • mac/WebKit2.order: Remove exports related to above.

Source/WTF:

  • wtf/Platform.h: Define USE(APPLE_INTERNAL_SDK) by default on platforms that have it.
1:09 AM Changeset in webkit [172748] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Remove obsolete run-javascriptcore-tests result parsing from master.cfg
​https://bugs.webkit.org/show_bug.cgi?id=136039

Patch by Renato Nagy <​nagy.renato@stud.u-szeged.hu> on 2014-08-19
Reviewed by Csaba Osztrogonác.

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

(RunJavaScriptCoreTests.commandComplete):

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:

(RunJavaScriptCoreTestsTest.test_no_failure_new_output):
(RunJavaScriptCoreTestsTest.test_mozilla_failure_old_output):
(RunJavaScriptCoreTestsTest):
(RunJavaScriptCoreTestsTest.test_jsc_stress_failure_new_output):
(RunJavaScriptCoreTestsTest.test_mozilla_failure_new_output): Deleted.
(test_layout_failure_new_output): Deleted.
(test_layout_crash_new_output): Deleted.
(test_mozilla_and_layout_failure_new_output): Deleted.
(test_jsc_stress_failure_new_output): Deleted.
(test_js_crashes_and_jsc_stress_failures_new_output): Deleted.

12:37 AM Changeset in webkit [172747] by ap@apple.com
  • 3 edits in trunk/Tools

build.webkit.org/dashboard should not request 50 revisions from trac each time
​https://bugs.webkit.org/show_bug.cgi?id=127130

build.webkit.org/dashboard sometimes fetches a Trac revision in an intermediate state, and never updates later
​https://bugs.webkit.org/show_bug.cgi?id=127131

Reviewed by Timothy Hatcher.

Turns out that requesting 50 builds is much slower than requesting by date - even
if the request ends up returning more than 50 results. There is no way to only
request updates, but this change brings request time from 6-8 seconds down to
less than a second.

This patch generalizes date handling for later use in metrics code. As part of the
rewrite, I made newly fetched data update author e-mail in previously fetched
revisions, as it changes after commit queue first lands.

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

Updated for event rename. I changed the trac event to not contain the list of new
commits, as we now sometimes update old commits, and that couldn't be expressed
in event data. We never used the list anywhere in the first place.

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

(Trac.prototype._xmlTimelineURL): Made this function take arbitrary dates. When called
without arguments, return commits for today and yesterday.
(Trac.prototype._loaded):
(Trac.prototype.update): Moved the function for processing loaded results out of
here for clarity, and also because I'm going to have a separate loading code path
for metrics.

12:14 AM Changeset in webkit [172746] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r163179): It broke the build on ARM Thumb2 with GCC
​https://bugs.webkit.org/show_bug.cgi?id=136028

Patch by Michael Saboff <​msaboff@apple.com> on 2014-08-19
Reviewed by Oliver Hunt.

Added back ARMv7 conditionals around three op addp and subp since ARM Thumb2 spec says that
the behavior for those ops are undefined. This was originally done in changeset 163179.

  • llint/LowLevelInterpreter32_64.asm:

Aug 18, 2014:

11:12 PM Changeset in webkit [172745] by bshafiei@apple.com
  • 3 edits in branches/safari-600.1.4.11-branch/Source/WebCore

Merged r172317. <rdar://problem/18052514>

10:10 PM Changeset in webkit [172744] by commit-queue@webkit.org
  • 31 edits
    3 adds in trunk/Source

Unreviewed, rolling out r172736.
​https://bugs.webkit.org/show_bug.cgi?id=136060

Caused 14% PLT regressions (Requested by rniwa on #webkit).

Reverted changeset:

"Remove PurgeableBuffer since it is not very useful any more"
​https://bugs.webkit.org/show_bug.cgi?id=135939
​http://trac.webkit.org/changeset/172736

10:04 PM Changeset in webkit [172743] by dburkart@apple.com
  • 5 edits in branches/safari-600.1-branch/Source

Bump versioning

9:41 PM Changeset in webkit [172742] by commit-queue@webkit.org
  • 4 edits
    3 deletes in trunk/Source/JavaScriptCore

Unreviewed, rolling out r172741.
​https://bugs.webkit.org/show_bug.cgi?id=136058

This change is breaking PLT. (Requested by mlam on #webkit).

Reverted changeset:

"REGRESSION(r172401): for-in optimization no longer works at
all"
​https://bugs.webkit.org/show_bug.cgi?id=136056
​http://trac.webkit.org/changeset/172741

7:48 PM Changeset in webkit [172741] by fpizlo@apple.com
  • 4 edits
    3 adds in trunk/Source/JavaScriptCore

REGRESSION(r172401): for-in optimization no longer works at all
​https://bugs.webkit.org/show_bug.cgi?id=136056

Reviewed by Mark Hahnenberg.

This is a partial roll-out of r172401. It turns out that the fix wasn't actually fixing a
real bug (since it's fine to use op_get_direct_pname on the wrong base because it has a
structure check) and it was actually breaking the entire for-in optimization (since there is
no way that we can statically prove that the base matches, because the base we see is a
newly created temporary, and anyway doing it right would be really hard in our bytecode
because it's 3AC form).

But, I added a new test for the problem, and kept the original test. Both the old test and
the new test prove that r172401 wasn't fixing what it thought it was fixing. To the extent
that it resolved crashes it was because it just disabled the for-in optimization entirely.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitGetByVal):
(JSC::BytecodeGenerator::pushIndexedForInScope):
(JSC::BytecodeGenerator::pushStructureForInScope):

  • bytecompiler/BytecodeGenerator.h:

(JSC::ForInContext::ForInContext):
(JSC::StructureForInContext::StructureForInContext):
(JSC::IndexedForInContext::IndexedForInContext):
(JSC::ForInContext::base): Deleted.

  • bytecompiler/NodesCodegen.cpp:

(JSC::ForInNode::emitMultiLoopBytecode):

  • tests/stress/for-in-base-reassigned.js: Added.
  • tests/stress/for-in-base-reassigned-later.js: Added.
  • tests/stress/for-in-base-reassigned-later-and-change-structure.js: Added.
7:46 PM Changeset in webkit [172740] by benjamin@webkit.org
  • 2 edits in trunk/LayoutTests

Mark shape-image-threshold-001.html as crashing in debug

Patch by Benjamin Poulain <​bpoulain@apple.com> on 2014-08-18

The test css3/shapes/shape-outside/values/shape-image-threshold-001.html systematically assert
in debug. Skip the results until the author investigate.

7:31 PM Changeset in webkit [172739] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Gardening: build fix for non-Mac builds after r172737.
​https://bugs.webkit.org/show_bug.cgi?id=135750

Not reviewed.

6:04 PM Changeset in webkit [172738] by Simon Fraser
  • 7 edits in trunk/Source

Provide default implementations of all GraphicsLayerClient methods
​https://bugs.webkit.org/show_bug.cgi?id=136054

Reviewed by Tim Horton.
Source/WebCore:

Make none of the functions in GraphicsLayerClient pure virtual, since in many cases
subclasses don't need to provide their own implementations.

  • platform/graphics/GraphicsLayerClient.h:

(WebCore::GraphicsLayerClient::notifyAnimationStarted):
(WebCore::GraphicsLayerClient::notifyFlushRequired):
(WebCore::GraphicsLayerClient::paintContents):

  • rendering/RenderLayerCompositor.h:

Source/WebKit2:

Remove overrides which are no longer required.

  • WebProcess/WebPage/PageOverlayController.h:
  • WebProcess/WebPage/ServicesOverlayController.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
5:55 PM Changeset in webkit [172737] by fpizlo@apple.com
  • 15 edits
    2 moves in trunk/Source/JavaScriptCore

REGRESSION(r172129): ftlopt branch merge made performance tests flakey crash
​https://bugs.webkit.org/show_bug.cgi?id=135750

Reviewed by Mark Lam.

This was caused by a rather embarrassing oversight in how the DFG tracks structures: we
could sometimes perform an optimization that requires a structure to be alive but forget to
ensure that the structure is actually kept alive. In particular, any watchpoint-based
optimizations involve setting watchpoints even if the code that got optimized is eventually
deleted because it is unreachable. All such optimizations would leave behind something in
the IR to tell us that we are interested in the structure and that therefore it should be
kept alive. But, IR can be deleted if it is unreachable.

The solution is to ensure that as soon as the DFG is made aware of a structure, it adds it
to the set of weak references.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGAbstractValue.cpp:

(JSC::DFG::AbstractValue::setOSREntryValue):
(JSC::DFG::AbstractValue::set):
(JSC::DFG::AbstractValue::normalizeClarity):
(JSC::DFG::AbstractValue::assertIsRegistered):
(JSC::DFG::AbstractValue::assertIsWatched): Deleted.

  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::assertIsRegistered):
(JSC::DFG::AbstractValue::assertIsWatched): Deleted.

  • dfg/DFGCommon.h:
  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):

  • dfg/DFGDesiredWeakReferences.cpp:

(JSC::DFG::DesiredWeakReferences::addLazily):
(JSC::DFG::DesiredWeakReferences::contains):
(JSC::DFG::DesiredWeakReferences::reallyAdd):
(JSC::DFG::DesiredWeakReferences::visitChildren):

  • dfg/DFGDesiredWeakReferences.h:
  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::canOptimizeStringObjectAccess):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::Graph):
(JSC::DFG::Graph::registerFrozenValues):
(JSC::DFG::Graph::convertToConstant):
(JSC::DFG::Graph::registerStructure):
(JSC::DFG::Graph::assertIsRegistered):
(JSC::DFG::Graph::assertIsWatched): Deleted.

  • dfg/DFGGraph.h:
  • dfg/DFGPlan.cpp:

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

  • dfg/DFGStructureAbstractValue.cpp:

(JSC::DFG::StructureAbstractValue::assertIsRegistered):
(JSC::DFG::StructureAbstractValue::assertIsWatched): Deleted.

  • dfg/DFGStructureAbstractValue.h:

(JSC::DFG::StructureAbstractValue::assertIsRegistered):
(JSC::DFG::StructureAbstractValue::assertIsWatched): Deleted.

  • dfg/DFGStructureRegistrationPhase.cpp: Copied from Source/JavaScriptCore/dfg/DFGWatchableStructureWatchingPhase.cpp.

(JSC::DFG::StructureRegistrationPhase::StructureRegistrationPhase):
(JSC::DFG::StructureRegistrationPhase::run):
(JSC::DFG::StructureRegistrationPhase::registerStructures):
(JSC::DFG::StructureRegistrationPhase::registerStructure):
(JSC::DFG::performStructureRegistration):
(JSC::DFG::WatchableStructureWatchingPhase::WatchableStructureWatchingPhase): Deleted.
(JSC::DFG::WatchableStructureWatchingPhase::run): Deleted.
(JSC::DFG::WatchableStructureWatchingPhase::tryWatch): Deleted.
(JSC::DFG::performWatchableStructureWatching): Deleted.

  • dfg/DFGStructureRegistrationPhase.h: Copied from Source/JavaScriptCore/dfg/DFGWatchableStructureWatchingPhase.h.
  • dfg/DFGWatchableStructureWatchingPhase.cpp: Removed.
  • dfg/DFGWatchableStructureWatchingPhase.h: Removed.
4:25 PM Changeset in webkit [172736] by psolanki@apple.com
  • 31 edits
    3 deletes in trunk/Source

Remove PurgeableBuffer since it is not very useful any more
​https://bugs.webkit.org/show_bug.cgi?id=135939

Reviewed by Geoffrey Garen.

Source/WebCore:

The usefulness of having purgeable memory for cached resources has diminished now that
WebKit uses file backed resources when possible. Since this is read only memory, it is in
essence "purgeable". Having the PurgeableBuffer code adds additional complexity that we
don't need. e.g. on my Mac, I am not seeing any entry for "WebCore purgeable data" when I
run vmmap against the web processes that I have running. It is used on iOS, however even
there much of the purgeable memory we create gets replaced by file backed memory once we get
the notification from CFNetwork.

No new tests because no functional changes.

  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorPageAgent.cpp:

(WebCore::prepareCachedResourceBuffer):

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::subresource):

  • loader/ResourceBuffer.cpp:

(WebCore::ResourceBuffer::hasPurgeableBuffer): Deleted.
(WebCore::ResourceBuffer::setShouldUsePurgeableMemory): Deleted.
(WebCore::ResourceBuffer::createPurgeableBuffer): Deleted.
(WebCore::ResourceBuffer::releasePurgeableBuffer): Deleted.

  • loader/ResourceBuffer.h:
  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didFinishLoading):

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::sheetText):
(WebCore::CachedCSSStyleSheet::destroyDecodedData):

  • loader/cache/CachedCSSStyleSheet.h:
  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::image):
(WebCore::CachedImage::imageForRenderer):
(WebCore::CachedImage::imageSizeForRenderer):
(WebCore::CachedImage::destroyDecodedData):
(WebCore::CachedImage::canUseDiskImageCache):

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

(WebCore::CachedResource::addClientToSet):
(WebCore::CachedResource::isSafeToMakePurgeable): Deleted.
(WebCore::CachedResource::makePurgeable): Deleted.
(WebCore::CachedResource::isPurgeable): Deleted.
(WebCore::CachedResource::wasPurged): Deleted.

  • loader/cache/CachedResource.h:

(WebCore::CachedResource::resourceBuffer):
(WebCore::CachedResource::purgePriority): Deleted.

  • loader/cache/CachedScript.cpp:

(WebCore::CachedScript::script):
(WebCore::CachedScript::destroyDecodedData):

  • loader/cache/CachedScript.h:
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::resourceForRequestImpl):
(WebCore::MemoryCache::pruneDeadResourcesToSize):
(WebCore::MemoryCache::evict):
(WebCore::MemoryCache::TypeStatistic::addResource):
(WebCore::MemoryCache::dumpStats):
(WebCore::MemoryCache::dumpLRULists):
(WebCore::MemoryCache::makeResourcePurgeable): Deleted.

  • loader/cache/MemoryCache.h:

(WebCore::MemoryCache::TypeStatistic::TypeStatistic):
(WebCore::MemoryCache::shouldMakeResourcePurgeableOnEviction): Deleted.

  • platform/PurgePriority.h: Removed.
  • platform/PurgeableBuffer.h: Removed.
  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::SharedBuffer):
(WebCore::SharedBuffer::size):
(WebCore::SharedBuffer::data):
(WebCore::SharedBuffer::append):
(WebCore::SharedBuffer::clear):
(WebCore::SharedBuffer::copy):
(WebCore::SharedBuffer::getSomeData):
(WebCore::SharedBuffer::adoptPurgeableBuffer): Deleted.
(WebCore::SharedBuffer::createPurgeableBuffer): Deleted.
(WebCore::SharedBuffer::releasePurgeableBuffer): Deleted.

  • platform/SharedBuffer.h:

(WebCore::SharedBuffer::hasPurgeableBuffer): Deleted.
(WebCore::SharedBuffer::shouldUsePurgeableMemory): Deleted.

  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::SharedBuffer):

  • platform/mac/PurgeableBufferMac.cpp: Removed.
  • platform/mac/SharedBufferMac.mm:

(WebCore::SharedBuffer::createCFData):

  • platform/soup/SharedBufferSoup.cpp:

Source/WebKit/mac:

  • Misc/WebCache.mm:

(+[WebCache statistics]):

Source/WebKit/win:

  • WebCache.cpp:

(WebCache::statistics):

Source/WebKit2:

  • WebProcess/WebProcess.cpp:

(WebKit::getWebCoreMemoryCacheStatistics):

Source/WTF:

  • wtf/Platform.h: Remove ENABLE_PURGEABLE_MEMORY define.
  • wtf/VMTags.h: Remove VM tags used by WebCore for cached resource purgeable memory.
4:22 PM Changeset in webkit [172735] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

Use modern for loop instead of iterators in SharedBufferCF.cpp
​https://bugs.webkit.org/show_bug.cgi?id=136000

Reviewed by Andreas Kling.

  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::copyBufferAndClear):
(WebCore::SharedBuffer::copySomeDataFromDataArray):
(WebCore::SharedBuffer::maybeAppendDataArray): Use auto& instead of auto for less RetainPtr/refcount churn.

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

Fix ASSERT in ARM64's JSC::GPRInfo::debugName
​https://bugs.webkit.org/show_bug.cgi?id=136050

Patch by Akos Kiss <​akiss@inf.u-szeged.hu> on 2014-08-18
Reviewed by Darin Adler.

Remove cast of GPRReg to unsigned to prevent signed/unsigned comparison
error.

  • jit/GPRInfo.h:

(JSC::GPRInfo::debugName):

4:10 PM Changeset in webkit [172733] by commit-queue@webkit.org
  • 2 edits
    405 adds in trunk/LayoutTests

[CSS Shapes] Import the CSS Shapes W3C test suite
​https://bugs.webkit.org/show_bug.cgi?id=135921

Patch by Rebecca Hauck <​rhauck@adobe.com> on 2014-08-18
Reviewed by Bem Jones-Bey.

This patch contains the imported CSS Shapes W3C test suite
brought in and converted to WebKit style using
Tools/Scripts/impoart-w3c-tests.

  • TestExpectations:
  • css3/shapes/shape-outside-invalid-001-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-001.html: Added.
  • css3/shapes/shape-outside-invalid-circle-000-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-circle-000.html: Added.
  • css3/shapes/shape-outside-invalid-circle-001-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-circle-001.html: Added.
  • css3/shapes/shape-outside-invalid-circle-002-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-circle-002.html: Added.
  • css3/shapes/shape-outside-invalid-circle-003-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-circle-003.html: Added.
  • css3/shapes/shape-outside-invalid-ellipse-001-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-ellipse-001.html: Added.
  • css3/shapes/shape-outside-invalid-ellipse-002-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-ellipse-002.html: Added.
  • css3/shapes/shape-outside-invalid-ellipse-003-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-ellipse-003.html: Added.
  • css3/shapes/shape-outside-invalid-ellipse-004-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-ellipse-004.html: Added.
  • css3/shapes/shape-outside-invalid-ellipse-005-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-ellipse-005.html: Added.
  • css3/shapes/shape-outside-invalid-ellipse-006-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-ellipse-006.html: Added.
  • css3/shapes/shape-outside-invalid-inset-001-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-inset-001.html: Added.
  • css3/shapes/shape-outside-invalid-inset-002-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-inset-002.html: Added.
  • css3/shapes/shape-outside-invalid-inset-003-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-inset-003.html: Added.
  • css3/shapes/shape-outside-invalid-inset-004-expected.txt: Added.
  • css3/shapes/shape-outside-invalid-inset-004.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-002-expected.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-002.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-003-expected.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-003.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-004-expected.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-004.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-006-expected.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-006.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-007-expected.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-007.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-008-expected.html: Added.
  • css3/shapes/shape-outside/shape-box/shape-outside-box-008.html: Added.
  • css3/shapes/shape-outside/shape-box/w3c-import.log: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-001-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-001.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-002-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-002.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-003-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-003.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-004-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-linear-gradient-004.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-001.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-002.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-003.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/shape-outside-radial-gradient-004.html: Added.
  • css3/shapes/shape-outside/shape-image/gradients/w3c-import.log: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-000-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-000.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-001-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-001.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-002-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-002.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-003-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-003.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-004-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-004.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-005-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-005.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-012-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-012.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-013-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-013.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-014-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-014.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-015-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-015.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-016-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-016.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-017-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-017.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-018-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-018.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-019-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-019.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-020-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-020.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-021-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-021.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-022-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-022.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-023-expected.html: Added.
  • css3/shapes/shape-outside/shape-image/shape-image-023.html: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle-20.png: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle-20.svg: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle-50.png: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle-50.svg: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle-70.png: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle-70.svg: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle.jpg: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle.png: Added.
  • css3/shapes/shape-outside/shape-image/support/left-half-rectangle.svg: Added.
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle-20.png: Added.
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle-50.png: Added.
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle-70.png: Added.
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle-70.svg: Added.
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle.gif: Added.
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle.jpg: Added.
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle.png: Added.
  • css3/shapes/shape-outside/shape-image/support/right-half-rectangle.svg: Added.
  • css3/shapes/shape-outside/shape-image/support/w3c-import.log: Added.
  • css3/shapes/shape-outside/shape-image/w3c-import.log: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-013-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-013.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-014-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-014.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-015-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-015.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-016-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-016.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-017-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-017.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-018-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-018.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-019-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-019.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-020-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-020.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-021-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-021.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-022-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-022.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-024-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-024.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-025-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-025.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-026-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-026.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-027-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-027.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-028-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-028.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-029-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-029.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-030-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-030.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-031-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/shape-outside-circle-031.html: Added.
  • css3/shapes/shape-outside/supported-shapes/circle/w3c-import.log: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-013-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-013.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-014-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-014.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-015-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-015.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-016-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-016.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-017-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-017.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-018-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-018.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-019-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-019.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-020-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-020.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-021-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-021.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-022-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-022.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-023-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-023.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-024-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-024.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-025-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-025.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-030.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/shape-outside-ellipse-031.html: Added.
  • css3/shapes/shape-outside/supported-shapes/ellipse/w3c-import.log: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-010-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-010.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-011-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-011.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-012-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-012.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-013-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-013.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-014-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-014.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-015-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/shape-outside-inset-015.html: Added.
  • css3/shapes/shape-outside/supported-shapes/inset/w3c-import.log: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-007-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-007.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-008-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-008.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-009-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-009.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-010-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-010.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-011-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-011.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-013-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-013.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-014-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-014.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-015-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-015.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-016-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-016.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-017-expected.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-017.html: Added.
  • css3/shapes/shape-outside/supported-shapes/polygon/w3c-import.log: Added.
  • css3/shapes/shape-outside/supported-shapes/support/rounded-rectangle.js: Added.

(ellipseXIntercept):
(scanConvertRoundedRectangleOutside):
(genLeftRoundedRectFloatShapeOutsideRefTest):
(getRoundedRectLeftEdge):
(genRightRoundedRectFloatShapeOutsideRefTest):

  • css3/shapes/shape-outside/supported-shapes/support/subpixel-utils.js: Added.

(SubPixelLayout):
(SubPixelLayout.):

  • css3/shapes/shape-outside/supported-shapes/support/test-utils.js: Added.

(verifyTextPoints):

  • css3/shapes/shape-outside/values/shape-image-threshold-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-image-threshold-000.html: Added.
  • css3/shapes/shape-outside/values/shape-image-threshold-001-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-image-threshold-001.html: Added.
  • css3/shapes/shape-outside/values/shape-image-threshold-002-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-image-threshold-002.html: Added.
  • css3/shapes/shape-outside/values/shape-image-threshold-003-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-image-threshold-003.html: Added.
  • css3/shapes/shape-outside/values/shape-margin-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-margin-000.html: Added.
  • css3/shapes/shape-outside/values/shape-margin-001-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-margin-001.html: Added.
  • css3/shapes/shape-outside/values/shape-margin-002-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-margin-002.html: Added.
  • css3/shapes/shape-outside/values/shape-margin-003-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-margin-003.html: Added.
  • css3/shapes/shape-outside/values/shape-margin-004-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-margin-004.html: Added.
  • css3/shapes/shape-outside/values/shape-margin-005-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-margin-005.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-box-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-box-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-001-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-001.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-002-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-002.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-003-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-003.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-004-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-004.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-005-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-005.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-006-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-006.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-007-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-007.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-008-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-008.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-009-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-009.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-010-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-010.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-011-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-circle-011.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-computed-shape-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-computed-shape-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-computed-shape-001-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-computed-shape-001.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-001-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-001.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-002-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-002.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-003-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-003.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-004-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-004.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-005-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-005.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-006-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-006.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-007-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-007.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-008-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-008.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-009-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-009.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-010-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-010.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-011-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-ellipse-011.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-001-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-001.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-002-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-002.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-003-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-003.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-004-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-004.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-005-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-005.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-006-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-006.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-007-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-007.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-008-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-008.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-009-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-inset-009.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-001-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-001.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-002-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-002.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-003-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-003.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-004-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-004.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-005-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-005.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-006-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-polygon-006.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-arguments-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-arguments-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-arguments-001-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-arguments-001.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-box-pair-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-box-pair-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-inherit-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-inherit-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-initial-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-initial-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-none-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-none-000.html: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-notation-000-expected.txt: Added.
  • css3/shapes/shape-outside/values/shape-outside-shape-notation-000.html: Added.
  • css3/shapes/shape-outside/values/support/parsing-utils.js: Added.

(ParsingUtils):
(ParsingUtils.):

  • css3/shapes/shape-outside/values/support/w3c-import.log: Added.
  • css3/shapes/shape-outside/values/w3c-import.log: Added.
  • css3/shapes/spec-examples/shape-outside-001-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-001.html: Added.
  • css3/shapes/spec-examples/shape-outside-002-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-002.html: Added.
  • css3/shapes/spec-examples/shape-outside-003-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-003.html: Added.
  • css3/shapes/spec-examples/shape-outside-004-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-004.html: Added.
  • css3/shapes/spec-examples/shape-outside-005-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-005.html: Added.
  • css3/shapes/spec-examples/shape-outside-006-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-006.html: Added.
  • css3/shapes/spec-examples/shape-outside-007-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-007.html: Added.
  • css3/shapes/spec-examples/shape-outside-008-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-008.html: Added.
  • css3/shapes/spec-examples/shape-outside-010-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-010.html: Added.
  • css3/shapes/spec-examples/shape-outside-011-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-011.html: Added.
  • css3/shapes/spec-examples/shape-outside-012-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-012.html: Added.
  • css3/shapes/spec-examples/shape-outside-013-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-013.html: Added.
  • css3/shapes/spec-examples/shape-outside-014-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-014.html: Added.
  • css3/shapes/spec-examples/shape-outside-015-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-015.html: Added.
  • css3/shapes/spec-examples/shape-outside-016-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-016.html: Added.
  • css3/shapes/spec-examples/shape-outside-017-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-017.html: Added.
  • css3/shapes/spec-examples/shape-outside-018-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-018.html: Added.
  • css3/shapes/spec-examples/shape-outside-019-expected.html: Added.
  • css3/shapes/spec-examples/shape-outside-019.html: Added.
  • css3/shapes/spec-examples/support/circle-no-shadow.png: Added.
  • css3/shapes/spec-examples/support/circle-shadow.png: Added.
  • css3/shapes/spec-examples/support/rounded-triangle.svg: Added.
  • css3/shapes/spec-examples/support/w3c-import.log: Added.
  • css3/shapes/spec-examples/w3c-import.log: Added.
  • css3/shapes/w3c-import.log: Added.
3:42 PM Changeset in webkit [172732] by dburkart@apple.com
  • 4 edits in branches/safari-600.1-branch

Merged r172680. <rdar://problem/18049780>

3:39 PM Changeset in webkit [172731] by dburkart@apple.com
  • 5 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172660. <rdar://problem/18049780>

3:16 PM Changeset in webkit [172730] by Antti Koivisto
  • 9 edits in trunk/Source/WebCore

Tighten RenderCounter typing
​https://bugs.webkit.org/show_bug.cgi?id=136049

Reviewed by Andreas Kling.

RenderObject* -> RenderElement&

  • rendering/CounterNode.cpp:

(WebCore::CounterNode::CounterNode):
(WebCore::CounterNode::create):
(WebCore::showTreeAndMark):

  • rendering/CounterNode.h:

(WebCore::CounterNode::owner):

  • rendering/RenderCounter.cpp:

(WebCore::previousInPreOrder):
(WebCore::parentOrPseudoHostElement):
(WebCore::previousSiblingOrParent):
(WebCore::areRenderersElementsSiblings):
(WebCore::nextInPreOrder):
(WebCore::planCounter):
(WebCore::findPlaceForCounter):
(WebCore::makeCounterNode):
(WebCore::RenderCounter::originalText):
(WebCore::destroyCounterNodeWithoutMapRemoval):
(WebCore::RenderCounter::destroyCounterNodes):
(WebCore::RenderCounter::destroyCounterNode):
(WebCore::RenderCounter::rendererRemovedFromTree):
(WebCore::updateCounters):
(WebCore::RenderCounter::rendererSubtreeAttached):
(WebCore::RenderCounter::rendererStyleChanged):
(showCounterRendererTree):

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

(WebCore::RenderElement::RenderElement):
(WebCore::RenderElement::insertChildInternal):
(WebCore::RenderElement::removeChildInternal):
(WebCore::RenderElement::styleDidChange):
(WebCore::RenderElement::willBeDestroyed):

  • rendering/RenderElement.h:

(WebCore::RenderElement::hasCounterNodeMap):
(WebCore::RenderElement::setHasCounterNodeMap):

Move CounterNodeMap to RenderElement from RenderObject.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::willBeDestroyed):

  • rendering/RenderObject.h:

(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
(WebCore::RenderObject::hasCounterNodeMap): Deleted.
(WebCore::RenderObject::setHasCounterNodeMap): Deleted.

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

Expose long mouse press WebKit API. Part of 135257 - Add long mouse press gesture
​https://bugs.webkit.org/show_bug.cgi?id=136048

Patch by Peyton Randolph <​prandolph@apple.com> on 2014-08-18
Reviewed by Dan Bernstein.

This patch exposes long mouse press API callbacks in both the injected bundle and on the UI process
through their respective page UI clients. The callbacks are modeled off of the mouseDidMoveOverElement
callback. Like the mouseDidMoveOverElement callback, these callbacks allow the bundle to pass
information to the UI process via a userData out parameter.

Source/WebCore:

  • page/Chrome.cpp:

(WebCore::Chrome::didBeginTrackingPotentialLongMousePress): Added.
(WebCore::Chrome::didRecognizeLongMousePress): Added.
(WebCore::Chrome::didCancelTrackingPotentialLongMousePress): Added.

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

(WebCore::ChromeClient::didBeginTrackingPotentialLongMousePress): Added.
(WebCore::ChromeClient::didRecognizeLongMousePress): Added.
(WebCore::ChromeClient::didCancelTrackingPotentialLongMousePress): Added.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):
Pass the press hit test result to kick off the long mouse press.
(WebCore::EventHandler::beginTrackingPotentialLongMousePress): Notify the chrome.
(WebCore::EventHandler::recognizeLongMousePress): Ditto.
(WebCore::EventHandler::cancelTrackingPotentialLongMousePress):
Ditto. Also opportunistically remove a runtime switch check to see if long pressing is enabled. The
runtime switch check was only triggered when long pressing was disabled in the middle of a long press.

  • page/EventHandler.h:

Source/WebKit2:

  • UIProcess/API/APIUIClient.h:

(API::UIClient::didBeginTrackingPotentialLongMousePress): Added.
(API::UIClient::didRecognizeLongMousePress): Added.
(API::UIClient::didCancelTrackingPotentialLongMousePress): Added.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageUIClient):

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

(WebKit::WebPageProxy::didBeginTrackingPotentialLongMousePress): Added.
(WebKit::WebPageProxy::didRecognizeLongMousePress): Added.
(WebKit::WebPageProxy::didCancelTrackingPotentialLongMousePress): Added.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/InjectedBundle/API/APIInjectedBundlePageUIClient.h:

(API::InjectedBundle::PageUIClient::didBeginTrackingPotentialLongMousePress): Added.
(API::InjectedBundle::PageUIClient::didRecognizeLongMousePress): Added.
(API::InjectedBundle::PageUIClient::didCancelTrackingPotentialLongMousePress): Added.

  • WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp: Added.

(WebKit::InjectedBundlePageUIClient::didBeginTrackingPotentialLongMousePress): Added.
(WebKit::InjectedBundlePageUIClient::didRecognizeLongMousePress): Added.
(WebKit::InjectedBundlePageUIClient::didCancelTrackingPotentialLongMousePress): Added.

  • WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::didBeginTrackingPotentialLongMousePress): Added.
(WebKit::WebChromeClient::didRecognizeLongMousePress): Added.
(WebKit::WebChromeClient::didCancelTrackingPotentialLongMousePress): Added.

  • WebProcess/WebCoreSupport/WebChromeClient.h:
2:44 PM Changeset in webkit [172728] by mitz@apple.com
  • 3 edits in trunk/Tools

Added an update-webkit option to override the ../Internal check.
Part of ​https://bugs.webkit.org/show_bug.cgi?id=135815

Reviewed by Tim Horton.

  • Scripts/update-webkit:

Added an explicit --internal option to control updating ../Internal, defaulting to whether
../Internal exists.
(runSvnUpdate): Moved to webkitdirs.pm.
(runGitUpdate): Ditto.

  • Scripts/webkitdirs.pm:

(runSvnUpdateAndResolveChangeLogs): Moved runSvnUpdate from update-webkit and renamed to this.
(runGitUpdate): Moved from update-webkit.

2:33 PM Changeset in webkit [172727] by akling@apple.com
  • 4 edits
    2 adds in trunk

REGRESSION(r168256): JSString can get 8-bit flag wrong when re-using AtomicStrings.
<​https://webkit.org/b/133574>
<rdar://problem/18051847>

Source/JavaScriptCore:

The optimization that resolves JSRopeStrings into an existing
AtomicString (to save time and memory by avoiding StringImpl allocation)
had a bug that it wasn't copying the 8-bit flag from the AtomicString.

This could lead to a situation where a 16-bit StringImpl containing
only 8-bit characters is sitting in the AtomicString table, is found
by the rope resolution optimization, and gives you a rope that thinks
it's all 8-bit, but has a fiber with 16-bit characters.

Resolving that rope will then yield incorrect results.

This was all caught by an assertion, but very hard to reproduce.

Test: js/dopey-rope-with-16-bit-propertyname.html

Reviewed by Darin Adler.

  • runtime/JSString.cpp:

(JSC::JSRopeString::resolveRopeToAtomicString):
(JSC::JSRopeString::resolveRopeToExistingAtomicString):

  • runtime/JSString.h:

(JSC::JSString::setIs8Bit):
(JSC::JSString::toExistingAtomicString):

LayoutTests:

Add a tests that creates a 16-bit AtomicString with only 8-bit characters,
then tiers up into baseline JIT and uses that string as part of a rope-within-a-rope
and serializes that rope to get an incorrect concatenation.

Reviewed by Darin Adler.

  • js/dopey-rope-with-16-bit-propertyname-expected.txt: Added.
  • js/dopey-rope-with-16-bit-propertyname.html: Added.
2:14 PM Changeset in webkit [172726] by psolanki@apple.com
  • 2 edits in trunk/Tools

Make update-webkit more lenient for pure git svn repositories
​https://bugs.webkit.org/show_bug.cgi?id=135805

Reviewed by Oliver Hunt.

Make the call to git fetch be non fatal. If you have a pure git svn repository, then the
call to git fetch will fail and update-webkit will abort. The purpose of r72966 was to
provide an optimization when you have a git repository setup. We should not fail if the
git setup does not have svn-remote.svn.fetch set.

  • Scripts/update-webkit:

(runGitUpdate):

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

Fix unintentional integer overflow before widen
​https://bugs.webkit.org/show_bug.cgi?id=135463

Patch by Przemyslaw Kuczynski <​p.kuczynski@samsung.com> on 2014-08-18
Reviewed by Oliver Hunt.

Overflowing expression is evaluated using operands arithmetic but then is used in
context which expects an wider integer type. To avoid overflow at least one operand
has to be representative of the wider type.

Source/WebCore:

  • loader/FTPDirectoryParser.cpp:

(WebCore::parseOneFTPLine): Changed strtoul to strtoull.

  • loader/ProgressTracker.cpp:

(WebCore::ProgressTracker::incrementProgress): Added static_cast to long long.

  • platform/efl/FileSystemEfl.cpp:

(WebCore::getVolumeFreeSizeForPath): Added static_cast to uint64_t.

Source/WebKit2:

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::getMemorySize): Added long long literal.

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

Fix resource leak in unclosed file descriptor handles
​https://bugs.webkit.org/show_bug.cgi?id=135458

Patch by Przemyslaw Kuczynski <​p.kuczynski@samsung.com> on 2014-08-18
Reviewed by Oliver Hunt.

Leaving descriptor unclosed will cause the resources associated with the open
file description never be freed (they are freed on closing the last descriptor
refering to the underlying file).

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

(WebKit::StdoutDevNullRedirector::StdoutDevNullRedirector): Closed newStdout descriptor.
(WebKit::StdoutDevNullRedirector::~StdoutDevNullRedirector): Closed m_savedStdout descriptor.

1:58 PM Changeset in webkit [172723] by vivek.vg@samsung.com
  • 5 edits
    2 adds in trunk

Implement CanvasRenderingContext2D direction attribute
​https://bugs.webkit.org/show_bug.cgi?id=135878

Reviewed by Darin Adler.

Source/WebCore:

The attribute, 'direction', represents the text directionality.
This is an important attribute for the bi-directional text within the CanvasRenderingContext2D.
The allowed set of values are 'rtl', 'ltr' and 'inherit'.

Specification URL: ​http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting.html#dom-context-2d-direction

Test: fast/canvas/canvas-direction.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::inheritedDirection):
(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
(WebCore::CanvasRenderingContext2D::reset):
(WebCore::CanvasRenderingContext2D::State::State):
(WebCore::CanvasRenderingContext2D::State::operator=):
(WebCore::CanvasRenderingContext2D::direction):
(WebCore::CanvasRenderingContext2D::setDirection):
(WebCore::CanvasRenderingContext2D::drawTextInternal):

  • html/canvas/CanvasRenderingContext2D.h:
  • html/canvas/CanvasRenderingContext2D.idl:

LayoutTests:

  • fast/canvas/canvas-direction-expected.txt: Added.
  • fast/canvas/canvas-direction.html: Added.
1:54 PM Changeset in webkit [172722] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk/Source/WebInspectorUI

Web Inspector: Introduce an inspector Abstract Syntax Tree.
​https://bugs.webkit.org/show_bug.cgi?id=135763

Patch by Saam Barati <​sbarati@apple.com> on 2014-08-18
Reviewed by Joseph Pecoraro.

This patch adds an Abstract Syntax Tree to the Web inspector.
This syntax tree is modeled off the Esprima.js syntax tree
which complies with the Mozilla Parser API:
​https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Parser_API
Script is the owner of the Web Inspector syntax tree, and has an API
for accessing its syntax tree property.

  • UserInterface/External/Esprima/esprima.js:
  • UserInterface/Main.html:
  • UserInterface/Models/Script.js:

(WebInspector.Script):
(WebInspector.Script.prototype.requestScriptSyntaxTree.makeSyntaxTreeAndCallCallback):
(WebInspector.Script.prototype._resolveResource):
(WebInspector.Script.prototype._makeSyntaxTree):

  • UserInterface/Models/ScriptSyntaxTree.js: Added.

(WebInspector.ScriptSyntaxTree):
(WebInspector.ScriptSyntaxTree.prototype.get parsedSuccessfully):
(WebInspector.ScriptSyntaxTree.prototype.forEachNode):
(WebInspector.ScriptSyntaxTree.prototype.):
(WebInspector.ScriptSyntaxTree.prototype.filter):
(WebInspector.ScriptSyntaxTree.prototype.filterForNodesInRange):
(WebInspector.ScriptSyntaxTree.prototype.filterByRange):
(WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement.removeFunctionsFilter):
(WebInspector.ScriptSyntaxTree.prototype.containsNonEmptyReturnStatement):
(WebInspector.ScriptSyntaxTree.prototype.updateTypes):
(WebInspector.ScriptSyntaxTree.prototype._defaultParserState):
(WebInspector.ScriptSyntaxTree.prototype._recurse):
(WebInspector.ScriptSyntaxTree.prototype._recurseArray):
(WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):

1:52 PM Changeset in webkit [172721] by benjamin@webkit.org
  • 11 edits
    6 adds in trunk

The style is not updated correctly when the pseudo class :empty is applied on anything but the rightmost element
​https://bugs.webkit.org/show_bug.cgi?id=135999

Reviewed by Antti Koivisto.

Source/WebCore:

In Element's checkForEmptyStyleChange(), the style invalidation was only considering the invalidation of the element
for which the subtree has changed. When the pseudo class :empty is used with a sibling combinator (e.g. foo:empty+bar),
we were never invalidating the style of the element on which the selector applies.

This patch fixes the issue by invalidating the whole subtree rooted at the parent if the :empty rules applies
to siblings. A new flag "styleOfSiblingsAffectedByEmpty" is introduced to cover this case.

SelectorChecker just sets the flag all the time if any sibling rule exists.
This is overkill but that code is just there for non-jit cases.

SelectorCompiler does a better job and only sets the flag if matching anything else than the rightmost element.
There is a case not optimized, :empty with descendant (e.g. foo:empty>bar). Those cases are useless in practice,
it is not worth optimizing them.

Tests: fast/css/pseudo-element-updates-on-empty.html

fast/selectors/not-empty-adjacent-style-update.html
fast/selectors/not-empty-style-update.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::fragmentMatchesTheRightmostElement):
shouldUseRenderStyleFromCheckingContext() is renamed fragmentMatchesTheRightmostElement() because
it is now also used by generateElementIsEmpty() in a context where the Context's style is irrelevant.

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsActive):
(WebCore::SelectorCompiler::setStyleOfSiblingsAffectedByEmpty):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsEmpty):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsFirstChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsHovered):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsLastChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsOnlyChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPseudoElement):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateRequestedPseudoElementEqualsToSelectorPseudoElement):
(WebCore::SelectorCompiler::shouldUseRenderStyleFromCheckingContext): Deleted.
(WebCore::SelectorCompiler::setElementStyleIsAffectedByEmptyAndUpdateRenderStyleIfNecessary): Deleted.

  • dom/Element.cpp:

(WebCore::checkForEmptyStyleChange):
(WebCore::Element::setStyleOfSiblingsAffectedByEmpty):
(WebCore::Element::rareDataStyleOfSiblingsAffectedByEmpty):

  • dom/Element.h:

(WebCore::Element::styleOfSiblingsAffectedByEmpty):

  • dom/ElementRareData.h:

(WebCore::ElementRareData::styleOfSiblingsAffectedByEmpty):
(WebCore::ElementRareData::setStyleOfSiblingsAffectedByEmpty):
(WebCore::ElementRareData::ElementRareData):

LayoutTests:

  • fast/css/pseudo-element-updates-on-empty-expected.html: Added.
  • fast/css/pseudo-element-updates-on-empty.html: Added.
  • fast/selectors/empty-adjacent-style-update-expected.txt:
  • fast/selectors/empty-adjacent-style-update.html:
  • fast/selectors/empty-style-update-expected.txt:
  • fast/selectors/empty-style-update.html:
  • fast/selectors/not-empty-adjacent-style-update-expected.txt: Copied from LayoutTests/fast/selectors/empty-adjacent-style-update-expected.txt.
  • fast/selectors/not-empty-adjacent-style-update.html: Copied from LayoutTests/fast/selectors/empty-adjacent-style-update.html.
  • fast/selectors/not-empty-style-update-expected.txt: Copied from LayoutTests/fast/selectors/empty-style-update-expected.txt.
  • fast/selectors/not-empty-style-update.html: Copied from LayoutTests/fast/selectors/empty-style-update.html.
1:41 PM Changeset in webkit [172720] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Mac] Unreviewed merge correction.

  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::platformCompleteWheelEvent): Revert an
unintended change from r172705.

1:25 PM Changeset in webkit [172719] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit/ios

Fix the iOS build after r172709.

  • WebView/WebPDFViewPlaceholder.mm:

(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):

12:52 PM Changeset in webkit [172718] by aestes@apple.com
  • 1 edit
    1 delete in trunk/LayoutTests

Remove a test inadvertently landed in r172709.

  • fast/loader/redirect-to-invalid-url-using-javascript-disallowed-after-load.html: Removed.
12:11 PM Changeset in webkit [172717] by commit-queue@webkit.org
  • 7 edits in trunk/Source/JavaScriptCore

The parser should generate AST nodes the var declarations with no initializers
​https://bugs.webkit.org/show_bug.cgi?id=135545

Patch by Saam Barati <​sbarati@apple.com> on 2014-08-18
Reviewed by Geoffrey Garen.

Currently, JSC's parser ignores variable declarations
that have no assignment initializer value because all
variables are implicitly assigned to undefined. But,
type profiling needs an AST node to be generated for these
empty variable declarations because it needs to be able to
profile their text locations and to see that their type
is undefined.

  • bytecompiler/NodesCodegen.cpp:

(JSC::EmptyVarExpression::emitBytecode):

  • parser/ASTBuilder.h:

(JSC::ASTBuilder::createVarStatement):
(JSC::ASTBuilder::createEmptyVarExpression):

  • parser/NodeConstructors.h:

(JSC::EmptyVarExpression::EmptyVarExpression):

  • parser/Nodes.h:
  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseVarDeclarationList):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::createEmptyVarExpression):

12:07 PM Changeset in webkit [172716] by Bem Jones-Bey
  • 2 edits in trunk/Source/WebCore

Small cleanup for ShapeOutsideDeltas
​https://bugs.webkit.org/show_bug.cgi?id=136043

Reviewed by Zoltan Horvath.

Remove explicit initializtion of LayoutUnit members and explicitly
size the boolean flags so they pack properly.

No new tests, no behavior change.

  • rendering/shapes/ShapeOutsideInfo.h:
11:55 AM Changeset in webkit [172715] by Simon Fraser
  • 2 edits in trunk/Tools

Enable Web Inspector in MiniBrowser WK2 windows
​https://bugs.webkit.org/show_bug.cgi?id=136045

Reviewed by Tim Horton.

Set the pref to enable developer extras for all WK2 windows.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController awakeFromNib]):

11:24 AM Changeset in webkit [172714] by dburkart@apple.com
  • 4 edits in tags/Safari-600.1.10.2

Merged r172680. <rdar://problem/18049780>

11:23 AM Changeset in webkit [172713] by dburkart@apple.com
  • 5 edits in tags/Safari-600.1.10.2/Source/WebKit2

Merged r172660. <rdar://problem/18049780>

11:21 AM Changeset in webkit [172712] by dburkart@apple.com
  • 5 edits in tags/Safari-600.1.10.2/Source

Bump versioning.

11:18 AM Changeset in webkit [172711] by krit@webkit.org
  • 20 edits
    2 adds in trunk

calc() doesn't work for SVG CSS properties
​https://bugs.webkit.org/show_bug.cgi?id=136026

Reviewed by Andreas Kling.

Source/WebCore:

Make calc() work on SVG CSS properties as well. stroke-width and
stroke-dashoffset used SVGLength. SVGLength doesn't work together with
cross units length arguments like % and px (just returns 0 in these
cases). I moved these properties over to Length. All modified files
beside to SVGCSSParser are related to this switch.

Test: svg/css/parse-calc-length.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • css/SVGCSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::svgPropertyValue):

  • css/SVGCSSParser.cpp:

(WebCore::CSSParser::parseSVGValue):

  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • rendering/style/RenderStyle.h:
  • rendering/style/SVGRenderStyle.h:

(WebCore::SVGRenderStyle::setStrokeWidth):
(WebCore::SVGRenderStyle::setStrokeDashOffset):
(WebCore::SVGRenderStyle::strokeWidth):
(WebCore::SVGRenderStyle::strokeDashOffset):
(WebCore::SVGRenderStyle::initialStrokeDashOffset): Deleted.
(WebCore::SVGRenderStyle::initialStrokeWidth): Deleted.

  • rendering/style/SVGRenderStyleDefs.cpp:

(WebCore::StyleStrokeData::StyleStrokeData):

  • rendering/style/SVGRenderStyleDefs.h:
  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::strokeWidth):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::strokeBoundingBox):

  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::applyStrokeStyleToContext):

  • rendering/svg/SVGRenderTreeAsText.cpp:

(WebCore::writeStyle):

  • svg/SVGLengthContext.cpp:

(WebCore::SVGLengthContext::valueForLength):

LayoutTests:

Test calc() on length properties for SVG.

  • svg/css/getComputedStyle-basic-expected.txt:
  • svg/css/parse-calc-length-expected.txt: Added.
  • svg/css/parse-calc-length.html: Added.
10:55 AM Changeset in webkit [172710] by dburkart@apple.com
  • 1 copy in tags/Safari-600.1.10.2

Tagging

10:48 AM Changeset in webkit [172709] by aestes@apple.com
  • 13 edits
    12 adds
    10 deletes in trunk

REGRESSION (r167856): adobe.com no longer able to launch Create Cloud app using a URL with a custom scheme
​https://bugs.webkit.org/show_bug.cgi?id=136010

Reviewed by Darin Adler.

Source/WebCore:

r167856 caused WebKit to stop scheduling certain kinds of navigations (window.location changes, meta-refresh,
and some calls to window.open) when the request URL is invalid. Adobe.com performs one of these navigations to
an invalid URL with an external scheme (aam:), relying on Safari's navigation policy delegate to ignore the
navigation and launch the external app registered to handle aam: URLs. Since the navigation is no longer
scheduled, the policy delegate is never executed and the external app never launches.

Instead of not scheduling the navigation, allow it to proceed until the client's policy delegate has executed
and made a decision. Only disallow the navigation if the policy delegate told WebKit to proceed with the load.
This exposes these navigations to clients via the policy delegate and via willPerformClientRedirectToURL and
didCancelClientRedirectForFrame on the frame load delegate.

To constrain this check only to the navigation types covered by r167856, only two NavigationSchedulers
(ScheduledRedirect and ScheduledLocationChange) enable the invalid URL check.

Note that r167856 also caused an iOS regression, and this was resolved in r170120 by adding a linked-on-or-after
check and a WebCore setting. Since the iOS regression is also resolved by the approach described above, this
patch reverts r170120 (but keeps some of its tests).

Tests: fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate.html

fast/loader/redirect-to-invalid-url-using-javascript-disallowed.html
fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate.html
fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html
fast/loader/window-open-to-invalid-url-calls-policy-delegate.html
fast/loader/window-open-to-invalid-url-disallowed.html

  • WebCore.exp.in: Updated the symbol FrameLoader::loadFrameRequest.
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::changeLocation): Added an AllowNavigationToInvalidURL argument; passed down to urlSelected.
(WebCore::FrameLoader::urlSelected): Added an AllowNavigationToInvalidURL argument; passed down to loadFrameRequest.
(WebCore::FrameLoader::loadURLIntoChildFrame): Passed AllowNavigationToInvalidURL::Yes to loadURL.
(WebCore::FrameLoader::loadFrameRequest): Added an AllowNavigationToInvalidURL argument; passed down to loadURL and loadPostRequest.
(WebCore::FrameLoader::loadURL): Added an AllowNavigationToInvalidURL argument; passed down to continueLoadAfterNewWindowPolicy and loadWithNavigationAction.
(WebCore::FrameLoader::loadPostRequest): Ditto.
(WebCore::FrameLoader::load): Passed AllowNavigationToInvalidURL::Yes to continueLoadAfterNewWindowPolicy.
(WebCore::FrameLoader::loadWithNavigationAction): Added an AllowNavigationToInvalidURL argument; passed down to loadWithDocumentLoader.
(WebCore::FrameLoader::loadWithDocumentLoader): Added an AllowNavigationToInvalidURL argument; passed down to continueLoadAfterNavigationPolicy.
(WebCore::FrameLoader::reloadWithOverrideEncoding): Passed AllowNavigationToInvalidURL::Yes to loadWithDocumentLoader.
(WebCore::FrameLoader::reload): Ditto.
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):

Added an AllowNavigationToInvalidURL argument; if its value is No and the request's URL is invalid, do not continue.
Added a FIXME about calling clientRedirectCancelledOrFinished on non-quick redirect cancellations.

(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): Added an AllowNavigationToInvalidURL argument; passed down to loadWithNavigationAction.
(WebCore::FrameLoader::loadDifferentDocumentItem): Passed AllowNavigationToInvalidURL::Yes to either loadWithDocumentLoader or loadWithNavigationAction.

  • loader/FrameLoader.h:
  • loader/FrameLoaderTypes.h: Defined AllowNavigationToInvalidURL to have values of Yes and No.
  • loader/NavigationScheduler.cpp:

(WebCore::ScheduledRedirect::fire): Passed AllowNavigationToInvalidURL::No to FrameLoader::changeLocation.
(WebCore::ScheduledLocationChange::fire): Ditto.
(WebCore::NavigationScheduler::shouldScheduleNavigation): Removed the URL::isValid check.
(WebCore::NavigationScheduler::scheduleLocationChange): Passed AllowNavigationToInvalidURL::No to FrameLoder::changeLocation during fragment navigations.

  • page/ContextMenuController.cpp:

(WebCore::openNewWindow): Passed AllowNavigationToInvalidURL::Yes to FrameLoader::loadFrameRequest.
(WebCore::ContextMenuController::contextMenuItemSelected): Ditto.

  • page/Settings.in: Removed allowNavigationToInvalidURL.

Source/WebKit/mac:

  • Misc/WebKitVersionChecks.h: Removed WEBKIT_FIRST_VERSION_WITH_NAVIGATION_URL_VALIDATION.
  • WebView/WebPDFView.mm:

(-[WebPDFView PDFViewWillClickOnLink:withURL:]): Passed AllowNavigationToInvalidURL::Yes to FrameLoader::loadFrameRequest.

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]): Reverted the linked-on-or-after check added in r170120 since it's no longer necessary.

LayoutTests:

Removed tests that verified the behavior of setAllowNavigationToInvalidURL(true), which no longer exists:

  • fast/loader/allow-redirect-to-invalid-url-using-javascript-expected.txt: Removed.
  • fast/loader/allow-redirect-to-invalid-url-using-javascript.html: Removed.
  • fast/loader/allow-redirect-to-invalid-url-using-meta-refresh-expected.txt: Removed.
  • fast/loader/allow-redirect-to-invalid-url-using-meta-refresh.html: Removed.

Added tests that verify the policy delegate is executed on some navigations to invalid URLs:

  • fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate-expected.txt: Added.
  • fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate.html: Added.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate-expected.txt: Added.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate.html: Added.
  • fast/loader/window-open-to-invalid-url-calls-policy-delegate-expected.txt: Added.
  • fast/loader/window-open-to-invalid-url-calls-policy-delegate.html: Added.

Renamed some existing tests added in r170120, modified them to log willPerformClientRedirectToURL and
didCancelClientRedirectForFrame, and added a test to verify navigations in existing frames via window.open:

  • fast/loader/redirect-to-invalid-url-using-javascript-disallowed-expected.txt: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-javascript-expected.txt.
  • fast/loader/redirect-to-invalid-url-using-javascript-disallowed.html: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-javascript.html.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed-expected.txt: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh-expected.txt.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh.html.
  • fast/loader/window-open-to-invalid-url-disallowed-expected.txt: Added.
  • fast/loader/window-open-to-invalid-url-disallowed.html: Added.
10:08 AM Changeset in webkit [172708] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.11-branch/Source

Versioning.

10:08 AM Changeset in webkit [172707] by commit-queue@webkit.org
  • 11 edits in trunk

Completed iterator can be revived by adding more than one new entry to the target object
​https://bugs.webkit.org/show_bug.cgi?id=129993

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-08-18
Reviewed by Oliver Hunt.

Source/JavaScriptCore:

When iterator reaches end, finish iterator.

  • runtime/JSMapIterator.h:

(JSC::JSMapIterator::finish):

  • runtime/JSSetIterator.h:

(JSC::JSSetIterator::finish):

  • runtime/MapData.h:

(JSC::MapData::const_iterator::finish): set index of iterator to max
Int32.

  • runtime/MapIteratorPrototype.cpp:

(JSC::MapIteratorPrototypeFuncNext):

  • runtime/SetIteratorPrototype.cpp:

(JSC::SetIteratorPrototypeFuncNext):

LayoutTests:

Test a Map or Set iterator should remain dead after using it.

  • js/basic-map-expected.txt:
  • js/basic-set-expected.txt:
  • js/script-tests/basic-map.js:

(set var):
(set map):

  • js/script-tests/basic-set.js:

(keys.set keys):
(set add.set add):

10:02 AM Changeset in webkit [172706] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Fix keyTimes list length of from/to/by animations.
​https://bugs.webkit.org/show_bug.cgi?id=136037

Patch by Renata Hodovan <​rhodovan.u-szeged@partner.samsung.com> on 2014-08-18
Reviewed by Darin Adler.

Source/WebCore:

For from/to/by animations, the length of keyTimes and keyPoints
attribute if are specified must be equal and must have at least
2 values.

This is backport of my fix in Blink: ​https://codereview.chromium.org/453243003/

Test: svg/animations/invalid-keytime-number-crash.html

  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::startedActiveInterval):

LayoutTests:

  • svg/animations/invalid-keytime-number-crash-expected.txt: Added.
  • svg/animations/invalid-keytime-number-crash.html: Added.
9:51 AM Changeset in webkit [172705] by Brent Fulgham
  • 4 edits in trunk/Source/WebCore

[Mac] Follow-up to r136040 based on Darin Adler's comments.

Pass Widget* as a Widget&, since it can never be null.

  • page/EventHandler.cpp:

(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent):
(WebCore::EventHandler::handleWheelEvent):

  • page/EventHandler.h:
  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::platformCompleteWheelEvent):
(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent):

9:35 AM Changeset in webkit [172704] by Bem Jones-Bey
  • 2 edits in trunk/Websites/webkit.org

Remove people that have left Adobe from Security Contact list
​https://bugs.webkit.org/show_bug.cgi?id=135256

Reviewed by Alexey Proskuryakov.

  • security/security-group-members.html:
8:54 AM Changeset in webkit [172703] by Brent Fulgham
  • 4 edits in trunk/Source/WebCore

[Mac] Gesture scrolls don't work in the WebKit1 clients after scrolling a non-scrollable iFrame
​https://bugs.webkit.org/show_bug.cgi?id=136029
<rdar://problem/17767169>

Reviewed by Maciej Stachowiak.

This is difficult to test in our layout tests, since it relies on specific host application
behavior.

If the platform widget is a frame view (IFrame), and we are in WebKit1, 'passWheelEventToWidget'
has already called 'scrollWheel' on the underlying platform widget. We need to return true in
this case to avoid getting multiple copies of the scrollWheel event sent to the platform widget.

  • page/EventHandler.cpp:

(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Revise default stub to
accept a Widget* argument.
(WebCore::EventHandler::handleWheelEvent):

  • page/EventHandler.h:
  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Check for WK1 case and
return 'true' when the underlying NSScrollView has been issues a scrollWheel event.

3:01 AM Changeset in webkit [172702] by zandobersek@gmail.com
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed GTK gardening. Adding a GTK-specific baseline
that's required after changes in r172620.

  • platform/gtk/editing/pasteboard/onpaste-text-html-expected.txt: Added.
2:52 AM Changeset in webkit [172701] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

master.cfg should handle special return codes of run-perf-tests
​https://bugs.webkit.org/show_bug.cgi?id=135974

Patch by Renato Nagy <​nagy.renato@stud.u-szeged.hu> on 2014-08-18
Reviewed by Ryosuke Niwa.

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

(RunAndUploadPerfTests.getText2):

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:

(RunAndUploadPerfTestsTest):
(RunAndUploadPerfTestsTest.assertResults):
(RunAndUploadPerfTestsTest.test_tests_failed):
(RunAndUploadPerfTestsTest.test_build_bad_build):
(RunAndUploadPerfTestsTest.test_build_bad_source_json):
(RunAndUploadPerfTestsTest.test_build_bad_marge):
(RunAndUploadPerfTestsTest.test_build_bad_failed_uploading):
(RunAndUploadPerfTestsTest.test_build_bad_preparation):

1:16 AM Changeset in webkit [172700] by g.czajkowski@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL] ewk_init() is sufficient to initialize EFL components
​https://bugs.webkit.org/show_bug.cgi?id=136036

Reviewed by Gyuyoung Kim.

Developers do not have to initialize EFL components as ewk_init()
already does it.

  • UIProcess/API/efl/ewk_intro.h:
12:35 AM Changeset in webkit [172699] by aestes@apple.com
  • 8 edits
    1 move
    10 adds
    11 deletes in trunk

Revert r172697.

It made several webarchive layout tests flaky and didn't have the correct behavior for non-quick redirects.

Source/WebCore:

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):

  • loader/NavigationScheduler.cpp:

(WebCore::NavigationScheduler::shouldScheduleNavigation):

  • page/Settings.in:

Source/WebKit/mac:

  • Misc/WebKitVersionChecks.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

LayoutTests:

  • fast/loader/allow-redirect-to-invalid-url-using-javascript-expected.txt: Added.
  • fast/loader/allow-redirect-to-invalid-url-using-javascript.html: Added.
  • fast/loader/allow-redirect-to-invalid-url-using-meta-refresh-expected.txt: Added.
  • fast/loader/allow-redirect-to-invalid-url-using-meta-refresh.html: Added.
  • fast/loader/disallow-redirect-to-invalid-url-using-javascript-expected.txt: Added.
  • fast/loader/disallow-redirect-to-invalid-url-using-javascript.html: Added.
  • fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh-expected.txt: Added.
  • fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh.html: Added.
  • fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate-expected.txt: Removed.
  • fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate.html: Removed.
  • fast/loader/redirect-to-invalid-url-using-javascript-disallowed-expected.txt: Removed.
  • fast/loader/redirect-to-invalid-url-using-javascript-disallowed.html: Removed.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate-expected.txt: Removed.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate.html: Removed.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed-expected.txt: Removed.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html: Removed.
  • fast/loader/resources/redirect-to-invalid-url-using-javascript.html: Added.
  • fast/loader/resources/redirect-to-invalid-url-using-meta-refresh.html: Added.
  • fast/loader/window-open-to-invalid-url-calls-policy-delegate-expected.txt: Removed.
  • fast/loader/window-open-to-invalid-url-calls-policy-delegate.html: Removed.
  • fast/loader/window-open-to-invalid-url-disallowed-expected.txt: Removed.
  • fast/loader/window-open-to-invalid-url-disallowed.html: Removed.

Aug 17, 2014:

11:03 PM Changeset in webkit [172698] by zandobersek@gmail.com
  • 4 edits in trunk

[CMake] Optimization-disabling compiler flags should be appended to CMAKE_C(XX)_FLAGS_RELEASE
​https://bugs.webkit.org/show_bug.cgi?id=135980

Reviewed by Martin Robinson.

CMAKE_C(XX)_FLAGS_RELEASE variables usually contain the -On flag which
overrides any other disabled optimization that was prepended to these
variables or was added to the CMAKE_C(XX)_FLAGS variables which CMake
lists first in the final list of compilation flags.

To avoid -On re-enabling optimizations that we'd like to keep disabled,
the specific compiler flags must be appended to CMAKE_C(XX)_FLAGS_RELEASE.

  • Source/cmake/OptionsCommon.cmake:
  • Source/cmake/OptionsEfl.cmake: Also do the appending with CMAKE_SHARED_LINKER_FLAGS_RELEASE.
  • Source/cmake/OptionsGTK.cmake:
9:37 PM Changeset in webkit [172697] by aestes@apple.com
  • 8 edits
    12 adds
    10 deletes in trunk

REGRESSION (r167856): adobe.com no longer able to launch Create Cloud app using a URL with a custom scheme
​https://bugs.webkit.org/show_bug.cgi?id=136010

Reviewed by Darin Adler.

Source/WebCore:

r167856 caused WebKit to stop scheduling certain kinds of navigations (window.location changes, meta-refresh,
and some calls to window.open) when the request URL is invalid. Adobe.com performs one of these navigations to
an invalid URL with an external scheme (aam:), relying on Safari's navigation policy delegate to ignore the
navigation and launch the external app registered to handle aam: URLs. Since the navigation is no longer
scheduled, the policy delegate is never executed and the external app never launches.

Instead of not scheduling the navigation, allow it to proceed until the client's policy delegate has executed
and made a decision. Only disallow the navigation if the policy delegate told WebKit to proceed with the load.
This exposes these navigations to clients via the policy delegate and via willPerformClientRedirectToURL and
didCancelClientRedirectForFrame on the frame load delegate.

Note that r167856 also caused an iOS regression, and this was resolved in r170120 by adding a linked-on-or-after
check and a WebCore setting. Since the iOS regression is also resolved by the approach described above, this
patch reverts r170120 (but keeps some of its tests).

Tests: fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate.html

fast/loader/redirect-to-invalid-url-using-javascript-disallowed.html
fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate.html
fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html
fast/loader/window-open-to-invalid-url-calls-policy-delegate.html
fast/loader/window-open-to-invalid-url-disallowed.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Do not continue if the navigation will be a redirect
to an invalid URL.

  • loader/NavigationScheduler.cpp:

(WebCore::NavigationScheduler::shouldScheduleNavigation): Resumed scheduling navigations to invalid URLs.

  • page/Settings.in: Removed the allowNavigationToInvalidURL setting.

Source/WebKit/mac:

Reverted the linked-on-or-after check added in r170120 since it is no longer necessary.

  • Misc/WebKitVersionChecks.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

LayoutTests:

Removed tests that verified the behavior of setAllowNavigationToInvalidURL(true), which no longer exists:

  • fast/loader/allow-redirect-to-invalid-url-using-javascript-expected.txt: Removed.
  • fast/loader/allow-redirect-to-invalid-url-using-javascript.html: Removed.
  • fast/loader/allow-redirect-to-invalid-url-using-meta-refresh-expected.txt: Removed.
  • fast/loader/allow-redirect-to-invalid-url-using-meta-refresh.html: Removed.

Added tests that verify the policy delegate is executed on some navigations to invalid URLs:

  • fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate-expected.txt: Added.
  • fast/loader/redirect-to-invalid-url-using-javascript-calls-policy-delegate.html: Added.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate-expected.txt: Added.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-calls-policy-delegate.html: Added.
  • fast/loader/window-open-to-invalid-url-calls-policy-delegate-expected.txt: Added.
  • fast/loader/window-open-to-invalid-url-calls-policy-delegate.html: Added.

Renamed some existing tests added in r170120, modified them to log willPerformClientRedirectToURL and
didCancelClientRedirectForFrame, and added a test to verify navigations in existing frames via window.open:

  • fast/loader/redirect-to-invalid-url-using-javascript-disallowed-expected.txt: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-javascript-expected.txt.
  • fast/loader/redirect-to-invalid-url-using-javascript-disallowed.html: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-javascript.html.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed-expected.txt: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh-expected.txt.
  • fast/loader/redirect-to-invalid-url-using-meta-refresh-disallowed.html: Renamed from fast/loader/disallow-redirect-to-invalid-url-using-meta-refresh.html.
  • fast/loader/window-open-to-invalid-url-disallowed-expected.txt: Added.
  • fast/loader/window-open-to-invalid-url-disallowed.html: Added.
12:54 PM Changeset in webkit [172696] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Unreviewed change to force rebuild
(plus drive-by add an accessor I wanted for
some future tooling).

  • WinLauncher/WinLauncher.h:

(WinLauncher::webView): Added.

8:35 AM Changeset in webkit [172695] by Brent Fulgham
  • 2 edits in trunk/WebKitLibraries

[Win] Unreviewed build fix.

Upload static VS2013 version of WebKitSystemInterface.

  • win/lib32/WebKitSystemInterface.lib:

Aug 16, 2014:

3:52 PM Changeset in webkit [172694] by mjs@apple.com
  • 3 edits in trunk/Source/WebKit/mac

Remove the obsolete WebKitEnableCoalescedUpdatesPreferenceKey
​https://bugs.webkit.org/show_bug.cgi?id=136024

Reviewed by Filip Pizlo.

  • WebView/WebFrameView.mm:

(-[WebFrameView initWithFrame:]): Remove code that respects
this key. It was SPI and is no longer used; also it was
only relevant for versions of OS X that WebKit no longer supports.

  • WebView/WebPreferenceKeysPrivate.h: Remove declaration.
1:32 PM Changeset in webkit [172693] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r164173): Safari AutoFill button in popover, default buttons on iCloud control panel and Safari Safe Browsing pages don't have default appearance
​https://bugs.webkit.org/show_bug.cgi?id=136011

Reviewed by Sam Weinig.

When we render some controls, we need to make sure the NSWindow subclass we
use as the host of the AppKit views identifies itself as the key window (if
the control state is correct). We already have a flag tracking this for
key appearance - just make sure we do the same for isKeyWindow.

  • platform/mac/ThemeMac.mm:

(-[WebCoreThemeWindow isKeyWindow]): New override to mirror the static
variable for key appearance.

12:26 PM Changeset in webkit [172692] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Update contributors.json for my new email
​https://bugs.webkit.org/show_bug.cgi?id=136021

Patch by Mark Hahnenberg <​mhahnenb@gmail.com> on 2014-08-16
Reviewed by Filip Pizlo.

  • Scripts/webkitpy/common/config/contributors.json:
12:01 PM Changeset in webkit [172691] by psolanki@apple.com
  • 3 edits
    2 moves in trunk/Source/WebKit2

Rename DiskCacheMonitor to NetworkDiskCacheMonitor
​https://bugs.webkit.org/show_bug.cgi?id=135897

Reviewed by Andreas Kling.

In preparation for moving DiskCacheMonitor code to WebCore in bug 135896, rename the WebKit2
class to NetworkDiskCacheMonitor.

  • NetworkProcess/mac/NetworkDiskCacheMonitor.h: Renamed from Source/WebKit2/NetworkProcess/mac/DiskCacheMonitor.h.

(WebKit::NetworkDiskCacheMonitor::resourceRequest):

  • NetworkProcess/mac/NetworkDiskCacheMonitor.mm: Renamed from Source/WebKit2/NetworkProcess/mac/DiskCacheMonitor.mm.

(WebKit::NetworkDiskCacheMonitor::monitorFileBackingStoreCreation):
(WebKit::NetworkDiskCacheMonitor::NetworkDiskCacheMonitor):
(WebKit::NetworkDiskCacheMonitor::messageSenderConnection):
(WebKit::NetworkDiskCacheMonitor::messageSenderDestinationID):

  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::willCacheResponseAsync):

  • WebKit2.xcodeproj/project.pbxproj:
7:26 AM Changeset in webkit [172690] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[GTK] build fails with error: cannot allocate an object of abstract type 'WebKit::PageClientImpl'
​https://bugs.webkit.org/show_bug.cgi?id=136017

Patch by Byungseon Shin <​sun.shin@lge.com> on 2014-08-16
Reviewed by Gyuyoung Kim.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
(WebKit::PageClientImpl::didFinishLoadForMainFrame):

  • UIProcess/API/gtk/PageClientImpl.h:
2:25 AM Changeset in webkit [172689] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Improve performance of selection range changes viewing Scripts timeline
​https://bugs.webkit.org/show_bug.cgi?id=136015

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-16
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Utilities.js:

(clamp):
Helper function to clamp a value between a min and max.

  • UserInterface/Models/ProfileNode.js:

(WebInspector.ProfileNode.prototype.get startTime):
(WebInspector.ProfileNode.prototype.get endTime):
These can be quickly calculated, so avoid full calculation to grab the values.

  • UserInterface/Views/ScriptTimelineView.js:

(WebInspector.ScriptTimelineView.prototype.updateLayout):
Update ranges with a smart helper, instead of blindly doing it and needing refresh.

  • UserInterface/Views/ProfileNodeDataGridNode.js:

(WebInspector.ProfileNodeDataGridNode.prototype.get rangeEndTime):
(WebInspector.ProfileNodeDataGridNode.prototype.get data):
(WebInspector.ProfileNodeDataGridNode.prototype.updateRangeTimes):
(WebInspector.ProfileNodeDataGridNode.prototype.set rangeStartTime): Deleted.
(WebInspector.ProfileNodeDataGridNode.prototype.set rangeEndTime): Deleted.

  • UserInterface/Views/ScriptTimelineDataGridNode.js:

(WebInspector.ScriptTimelineDataGridNode.prototype.updateRangeTimes):
(WebInspector.ScriptTimelineDataGridNode.prototype.set rangeStartTime): Deleted.
(WebInspector.ScriptTimelineDataGridNode.prototype.set rangeEndTime): Deleted.
When updating the range selection, compare to the last range selection
on this DataGridNode. If the visible portion of this node's time range
changes, we need a refresh. Otherwise, we don't need a refresh.

Aug 15, 2014:

10:49 PM Changeset in webkit [172688] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Update Scripts/update-LegacyInspectorBackendCommands.rb for the new generator
​https://bugs.webkit.org/show_bug.cgi?id=136006

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-15
Reviewed by Timothy Hatcher.

  • Scripts/update-LegacyInspectorBackendCommands.rb:

Use the new generator and pass the appropriate flags.

  • UserInterface/Protocol/Legacy/6.0/InspectorWebBackendCommands.js:
  • UserInterface/Protocol/Legacy/7.0/InspectorWebBackendCommands.js:

Newly generated files using the new generator.

  • Versions/Inspector-iOS-6.0.json:

Remove unsupported features.

9:38 PM Changeset in webkit [172687] by Brian Burg
  • 12 edits in trunk/Source/JavaScriptCore

Web Inspector: rewrite CodeGeneratorInspector to be modular and testable
​https://bugs.webkit.org/show_bug.cgi?id=131596

Unreviewed gardening to rebaseline inspector generator tests after addressing review comments.

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
9:36 PM Changeset in webkit [172686] by Brian Burg
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed build fix for some GTK bots after r172655.

Some bots use Python 2.6, which lacks the 'flags' named parameter for re.sub.

  • inspector/scripts/codegen/generator.py:

(Generator.stylized_name_for_enum_value): Do things the old-school way.

9:35 PM Changeset in webkit [172685] by ryuan.choi@samsung.com
  • 3 edits
    1 add in trunk/Source/WebKit2

[EFL] Add ewk_intro.h to describe main page of doxygen
​https://bugs.webkit.org/show_bug.cgi?id=136013

Reviewed by Gyuyoung Kim.

  • PlatformEfl.cmake:
  • UIProcess/API/efl/EWebKit2.h.in:
  • UIProcess/API/efl/ewk_intro.h: Added.
9:21 PM Changeset in webkit [172684] by matthew_hanson@apple.com
  • 3 edits in branches/safari-600.1-branch/WebKitLibraries

Merge r172661. <rdar://problem/18037766>

9:19 PM Changeset in webkit [172683] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.1-branch

Merge r172019. <rdar://problem/18029617>

9:05 PM Changeset in webkit [172682] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: Remove forced layouts during recording caused by striped background element resizing
​https://bugs.webkit.org/show_bug.cgi?id=136009

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-15
Reviewed by Timothy Hatcher.

We used to manually resize and a custom striped background behind
the timeline tree outline content area. This can happen frequently
during timeline recordings causing forced layouts. We can eliminate
the hack and instead put the stripe background on the tree outline.

  • UserInterface/Views/TimelineSidebarPanel.js:

(WebInspector.TimelineSidebarPanel.prototype.updateCustomContentOverflow): Deleted.

  • UserInterface/Views/TimelineSidebarPanel.css:

(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .content .item > .status > .status-button):
(.sidebar > .panel.navigation.timeline > .content > .stripe-background): Deleted.
(.sidebar > .panel.navigation.timeline.timeline-content-view-showing > .content > .stripe-background): Deleted.
Eliminate the striped background element.

  • UserInterface/Views/TimelineView.css:

(.panel.navigation.timeline > .content > .navigation-sidebar-panel-content-tree-outline):
(.panel.navigation.timeline.timeline-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline):
Give the timeline content tree outlines the striped background.

  • UserInterface/Views/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
(WebInspector.NavigationSidebarPanel.prototype.updateCustomContentOverflow): Deleted.
Remove the now unused updateCustomContentOverflow method.

9:03 PM Changeset in webkit [172681] by Alan Bujtas
  • 19 edits in trunk/Source

Do not use FloatRect::infiniteRect() to flag full repaints.
​https://bugs.webkit.org/show_bug.cgi?id=135900

Reviewed by Simon Fraser.

Converting FloatRect::infiniteRect() to IntRect leads to value overflow
and we end up with invalid repaint rectangle. Use a boolean flag to indicate
full repaint request.

Covered by existing tests.

Source/WebCore:

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::GraphicsLayerCA):
(WebCore::GraphicsLayerCA::setNeedsDisplay):
(WebCore::GraphicsLayerCA::setNeedsDisplayInRect):
(WebCore::GraphicsLayerCA::repaintLayerDirtyRects):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/TileGrid.cpp:

(WebCore::TileGrid::setTileNeedsDisplayInRect):

  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(PlatformCALayerMac::setNeedsDisplay):
(PlatformCALayerMac::setNeedsDisplayInRect):

Source/WebKit2:

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::setNeedsDisplayInRect):
(WebKit::PlatformCALayerRemote::setNeedsDisplay):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h:
  • WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm:

(WebKit::PlatformCALayerRemoteCustom::setNeedsDisplayInRect):
(WebKit::PlatformCALayerRemoteCustom::setNeedsDisplay):

  • WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:

(WebKit::PlatformCALayerRemoteTiledBacking::setNeedsDisplayInRect):
(WebKit::PlatformCALayerRemoteTiledBacking::setNeedsDisplay):

  • WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
7:57 PM Changeset in webkit [172680] by ap@apple.com
  • 4 edits in trunk

REGRESSION (r172660): WebKit2.TerminateTwice asserts
​https://bugs.webkit.org/show_bug.cgi?id=136012

Source/WebKit2:

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::terminateProcess):

Added bug number to a fixme.

Tools:

  • TestWebKitAPI/Tests/WebKit2/TerminateTwice.cpp: Skipped the test in debug mode.
7:49 PM Changeset in webkit [172679] by benjamin@webkit.org
  • 6 edits in trunk/Source/WebCore

Unify the modes style resolution modes SharingRules and StyleInvalidation
​https://bugs.webkit.org/show_bug.cgi?id=135969

Reviewed by Andreas Kling.

Unifying the Collector and SelectorCheckers was done in previous patches,
this is just removing the enums.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::collectMatchingRules):
(WebCore::ElementRuleCollector::hasAnyMatchingRules):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::match):

  • css/SelectorChecker.h:
  • css/StyleInvalidationAnalysis.cpp:

(WebCore::invalidateStyleRecursively):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateMarkPseudoStyleForPseudoElement):

7:32 PM Changeset in webkit [172678] by ryuan.choi@samsung.com
  • 4 edits in trunk/Source/WebKit2

Unreviewed build fix on the EFL port since r172635

  • UIProcess/WebPageProxy.cpp: Guard removeNavigationGestureSnapshot with PLATFORM(MAC) macro.
  • UIProcess/WebPageProxy.h: Ditto.
  • UIProcess/efl/WebViewEfl.h: Added didFirstVisuallyNonEmptyLayoutForMainFrame and didFinishLoadForMainFrame as dummy.
7:25 PM Changeset in webkit [172677] by matthew_hanson@apple.com
  • 3 edits in tags/Safari-600.1.10.1/WebKitLibraries

Merge r172661. <rdar://problem/18037766>

7:23 PM Changeset in webkit [172676] by matthew_hanson@apple.com
  • 6 edits in tags/Safari-600.1.10.1

Merge r172019. <rdar://problem/18029617>

7:14 PM Changeset in webkit [172675] by matthew_hanson@apple.com
  • 5 edits in tags/Safari-600.1.10.1/Source

Versioning.

7:11 PM Changeset in webkit [172674] by matthew_hanson@apple.com
  • 1 delete in tags/Safari-600.1.2.10.1

Delete Tag.

7:10 PM Changeset in webkit [172673] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.1.10.1

New Tag.

7:09 PM Changeset in webkit [172672] by ryuan.choi@samsung.com
  • 2 edits in trunk/Tools

Unreviewed build fix attempt on the CMake based pots since r172665

  • TestWebKitAPI/CMakeLists.txt: Added JavaScriptCore/interpreter to the include list.
7:05 PM Changeset in webkit [172671] by matthew_hanson@apple.com
  • 3 edits in tags/Safari-600.1.2.10.1/WebKitLibraries

Merge r172661. <rdar://problem/18037766>

7:03 PM Changeset in webkit [172670] by matthew_hanson@apple.com
  • 1 edit in tags/Safari-600.1.2.10.1/WebKitLibraries/ChangeLog

Merge r172019. <rdar://problem/18029617>

6:59 PM Changeset in webkit [172669] by matthew_hanson@apple.com
  • 5 edits in tags/Safari-600.1.2.10.1/Source

Versioning.

6:54 PM Changeset in webkit [172668] by matthew_hanson@apple.com
  • 1 delete in tags/Safari-600.1.10.1

Delete tag.

6:52 PM Changeset in webkit [172667] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.1.2.10.1

New Tag.

6:47 PM Changeset in webkit [172666] by matthew_hanson@apple.com
  • 5 edits in tags/Safari-600.1.10.1/Source

Versioning.

6:45 PM Changeset in webkit [172665] by msaboff@apple.com
  • 28 edits
    1 add in trunk/Source/JavaScriptCore

Change callToJavaScript and callToNativeFunction so their callFrames match the native calling conventions
​https://bugs.webkit.org/show_bug.cgi?id=131578

Reviewed by Geoffrey Garen.

Renamed callToJavaScript and callToNativeFunction to vmEntryToJavaScript and vmEntryToNative,
respectively. Eliminated the sentinel frame and replaced it with the structure VMEntryRecord
that appears in the "locals" area of a VM entry stack frame. Changed the order that
vmEntryToJavaScript and vmEntryToNative creates their stack frames to be native calling
convention compliant. That is to save prior frame pointer, save callee save registers, then
allocate and populate the VMEntryRecord, and finally allocate a CallFrame for the JS function
that vmEntryToJavaScript will invoke. The top most vm entry frame pointer is saved in
VM::topVMEntryFrame. The vmEntry functions save prior contents of VM::topVMEntryFrame
along with the VM and VM::topCallFrame in the VMEntryRecord it places on the stack. Starting
at VM::topCallFrame, the stack can be walked using these VMEntryRecords.

Arbitrary stack unwinding is now handled either iteratively by loading VM::topVMEntryFrame
into a local variable and using CallFrame::callerFrame(VMEntryFrame*&) or by using StackVisitor.
Given that the stack is effectively a singly linked list, general stack unwinding needs to use
one of these two methods.

Addition of VMEntryRecord.h

  • bytecode/BytecodeList.json:

Renaming of llint helper opcodes due to renaming callToJavaScript and callToNativeFunction.

  • debugger/Debugger.cpp:

(JSC::Debugger::stepOutOfFunction):
(JSC::Debugger::returnEvent):
(JSC::Debugger::didExecuteProgram):

  • jsc.cpp:

(functionDumpCallFrame):

  • jit/JITOperations.cpp:

Changed unwinding to use CallFrame::callerFrame(VMEntryFrame*&).

  • bytecode/CodeBlock.cpp:

(JSC::RecursionCheckFunctor::RecursionCheckFunctor):
(JSC::RecursionCheckFunctor::operator()):
(JSC::RecursionCheckFunctor::didRecurse):
(JSC::CodeBlock::noticeIncomingCall):

  • debugger/DebuggerCallFrame.cpp:

(JSC::FindCallerMidStackFunctor::FindCallerMidStackFunctor):
(JSC::FindCallerMidStackFunctor::operator()):
(JSC::FindCallerMidStackFunctor::getCallerFrame):
(JSC::DebuggerCallFrame::callerFrame):

  • interpreter/VMInspector.cpp:

(JSC::CountFramesFunctor::CountFramesFunctor):
(JSC::CountFramesFunctor::operator()):
(JSC::CountFramesFunctor::count):
(JSC::VMInspector::countFrames):

  • runtime/VM.cpp:

(JSC::VM::VM):
(JSC::FindFirstCallerFrameWithCodeblockFunctor::FindFirstCallerFrameWithCodeblockFunctor):
(JSC::FindFirstCallerFrameWithCodeblockFunctor::operator()):
(JSC::FindFirstCallerFrameWithCodeblockFunctor::foundCallFrame):
(JSC::FindFirstCallerFrameWithCodeblockFunctor::index):
(JSC::VM::throwException):
Changed unwinding to use StackVisitor including added functor classes.

  • interpreter/CallFrame.cpp:

(JSC::CallFrame::callerFrame):
Added new flavor of callerFrame() that can iteratively unwind the stack.

  • interpreter/CallFrame.h:

(JSC::ExecState::callerFrame): Changed callerFrame() to use private common helper.
(JSC::ExecState::callerFrameOrVMEntryFrame): Deleted.
(JSC::ExecState::isVMEntrySentinel): Deleted.
(JSC::ExecState::vmEntrySentinelCallerFrame): Deleted.
(JSC::ExecState::initializeVMEntrySentinelFrame): Deleted.
(JSC::ExecState::callerFrameSkippingVMEntrySentinel): Deleted.
(JSC::ExecState::vmEntrySentinelCodeBlock): Deleted.

  • interpreter/CallFrame.h:

(JSC::ExecState::init):
(JSC::ExecState::topOfFrame):
(JSC::ExecState::currentVPC):
(JSC::ExecState::setCurrentVPC):
Eliminated unneded checking of sentinel frame.

  • interpreter/Interpreter.cpp:

(JSC::unwindCallFrame):
(JSC::Interpreter::getStackTrace): Updated for unwidning changes.
(JSC::Interpreter::unwind): Eliminated unneeded sentinel frame check.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):

  • jit/JITStubs.h:
  • llint/LLIntThunks.cpp:

(JSC::callToJavaScript): Deleted.
(JSC::callToNativetion): Deleted.
(JSC::vmEntryToJavaScript):
(JSC::vmEntryToNative):

  • llint/LLIntThunks.h:

Updated for vmEntryToJavaScript and vmEntryToNative name changes.

  • interpreter/Interpreter.h:

(JSC::TopCallFrameSetter::TopCallFrameSetter):
(JSC::TopCallFrameSetter::~TopCallFrameSetter):
Eliminated unneeded sentinel frame check.

  • interpreter/Interpreter.h:

(JSC::NativeCallFrameTracer::NativeCallFrameTracer):
Removed sentinel specific constructor.

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::StackVisitor):
(JSC::StackVisitor::readFrame):
(JSC::StackVisitor::readNonInlinedFrame):
(JSC::StackVisitor::readInlinedFrame):
(JSC::StackVisitor::Frame::print):

  • interpreter/StackVisitor.h:

(JSC::StackVisitor::Frame::callerIsVMEntry):
Changes for unwinding using CallFrame::callerFrame(VMEntryFrame*&). Also added field that
indicates when about to step over a VM entry frame.

  • interpreter/VMEntryRecord.h: Added.

(JSC::VMEntryRecord::prevTopCallFrame):
(JSC::VMEntryRecord::prevTopVMEntryFrame):
New struct to record prior state of VM's notion of VM entry and top call frames.

  • jit/JITCode.cpp:

(JSC::JITCode::execute):
Use new vmEntryToJavaScript and vmEntryToNative name.

  • llint/LLIntOffsetsExtractor.cpp: Added include for VMEntryRecord.h.
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:

Offline assembly implementation of creating stack frame with VMEntryRecord and well as restoring
relevent VM fields when exiting the VM. Added a helper that returns a VMEntryRecord given
a pointer to the VM entry frame.

  • llint/LLIntThunks.cpp:

(JSC::vmEntryRecord):

  • llint/LowLevelInterpreter.cpp:

(JSC::CLoop::execute):
C Loop changes to mirror the assembly changes.

  • runtime/VM.h:

Added topVMEntryFrame field.

6:39 PM Changeset in webkit [172664] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.1.10.1

New Tag.

6:37 PM Changeset in webkit [172663] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

CSS JIT: compile :-webkit-full-page-media
​https://bugs.webkit.org/show_bug.cgi?id=135968

Reviewed by Alexey Proskuryakov.

Add the pseudo class :-webkit-full-page-media with an unoptimized function call.

It would be possible to inline it, but this selector is so uncommon I don't think
it is worth having any additional complexity for it.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::isMediaDocument):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):

5:56 PM Changeset in webkit [172662] by jonowells@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Inspect Element doesn't always highlight the correct element when inspector is closed before inspecting
​https://bugs.webkit.org/show_bug.cgi?id=135995

Reviewed by Joseph Pecoraro.

Change so if an element is inspected via the Inspect Element context menu, selected
node restoration is disallowed until the main resource in the main frame changes.
This way an attempt by a sub-frame will not change the highlighted element in the
Main Frame's DOM tree unexpectedly.

  • UserInterface/Controllers/DOMTreeManager.js:

(WebInspector.DOMTreeManager):
(WebInspector.DOMTreeManager.prototype._mainResourceDidChange):
(WebInspector.DOMTreeManager.prototype.inspectElement):

5:42 PM Changeset in webkit [172661] by Brent Fulgham
  • 3 edits in trunk/WebKitLibraries

[Win] Link to static VS2013 runtime library.
​https://bugs.webkit.org/show_bug.cgi?id=136007
<rdar://problem/18037766>

Reviewed by Dean Jackson.

  • win/tools/vsprops/common.props: Update link command.
  • win/tools/vsprops/debugsuffix.props: Ditto.
4:56 PM Changeset in webkit [172660] by ap@apple.com
  • 5 edits in trunk/Source/WebKit2

Improve page to process relationship tracking
​https://bugs.webkit.org/show_bug.cgi?id=135996
<rdar://problem/16991213>

Reviewed by Sam Weinig.

  • UIProcess/VisitedLinkProvider.cpp:

(WebKit::VisitedLinkProvider::removeAll):
(WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
(WebKit::VisitedLinkProvider::sendTable):
Added assertions for m_processes only having valid entries.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::reattachToWebProcess): When attaching to a new process,
tell the old process that the page is not longer associated with it, avoiding
a potential stale pointer.
If re-attached to an existing process, make sure that we perform all the same
registrations as after having launched a new process. This substantially improves
the behavior when the number of open tabs is over process limit.
(WebKit::WebPageProxy::reattachToWebProcessWithItem): Added ASSERT(!isValid())
to avoid confusion. All other calls to reattachToWebProcess() have this as a
runtime check, but reattachToWebProcessWithItem() is only called for valid pages.
(WebKit::WebPageProxy::terminateProcess): Added an assertion with a FIXME for
something that will need to be fixed another day.

  • UIProcess/WebPageProxy.h: Removed an unimplemented function.
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::addExistingWebPage): Added assertions for page map sanity.
(WebKit::WebProcessProxy::removeWebPage): Added a check for page state being Terminated
already. This avoids an assertion failure that happened under the new call to
removeWebPage() in reattachToWebProcess(), as we are now calling it for terminated
processes that are not in WebContext::m_processes any more.
(WebKit::WebProcessProxy::didFinishLaunching): Added an assertion that page agrees
about using this process.

4:35 PM Changeset in webkit [172659] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Fix gliding in AxisScrollSnapAnimator for Mac
​https://bugs.webkit.org/show_bug.cgi?id=135971

Patch by Wenson Hsieh <Wenson Hsieh> on 2014-08-15
Reviewed by Dean Jackson.

Previously, momentum events that are handled immediately after finishing a glide animation cause a second, extremely
slow glide animation to trigger. To fix this, I added a new state DestinationReached. During this state, additional
momentum events that are handled after the glide animation completes will not fill up the momentum window and trigger
a second glide event.

  • platform/mac/AxisScrollSnapAnimator.h:
  • platform/mac/AxisScrollSnapAnimator.mm:

(WebCore::AxisScrollSnapAnimator::AxisScrollSnapAnimator):
(WebCore::AxisScrollSnapAnimator::handleWheelEvent):
(WebCore::AxisScrollSnapAnimator::scrollSnapAnimationUpdate):
(WebCore::AxisScrollSnapAnimator::endScrollSnapAnimation):
(WebCore::AxisScrollSnapAnimator::computeGlideDelta):

4:19 PM Changeset in webkit [172658] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

[iOS] Teach postprocess-headers.sh to remove code guarded by ENABLE_IOS_GESTURE_EVENTS
and ENABLE_TOUCH_EVENTS if applicable
​https://bugs.webkit.org/show_bug.cgi?id=135993

Reviewed by Andy Estes.

Add support infrastructure to remove code from public and private API headers that is
guarded by macro define ENABLE_{IOS_GESTURE, TOUCH}_EVENTS when these features are disabled.

We aren't using this functionality yet, but we will soon.

  • postprocess-headers.sh:
4:09 PM Changeset in webkit [172657] by eric.carlson@apple.com
  • 16 edits in trunk/Source/WebCore

[MSE] Implement a maximum buffer size for SourceBuffer
​https://bugs.webkit.org/show_bug.cgi?id=135614

Reviewed by Jer Noble.

Implement the MSE coded frame eviction algorithm: when new buffers are appended attempt
to keep the amount of data buffered below a maximum size (which is determined by the media
session manager) by freeing coded frames as follows:

1 - Free frames in 30 second chunks from 0 to 30 seconds before the current time.
2 - If there are time ranges after the range with the current time, free frames in

30 second chunks from duration back to the beginning of the time range after
current time.

For now we DO NOT throw a QUOTA_EXCEEDED_ERR when we are not able to free up enough
space to remain below the prescribed quota, because some big name, widely deployed,
code bases ignore the error and continue appending data as though the failed append
succeeded, leading to a corrupted bitstream and failure to play.

  • Modules/mediasource/SampleMap.cpp:

(WebCore::SampleMap::addSample): Drive-by performance optimization: sample->presentationTime()

is used more than once, stash it in a local variable.

(WebCore::SampleMap::removeSample): Ditto.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::logRanges): Debug-only function to log TimeRanges.
(WebCore::SourceBuffer::SourceBuffer):
(WebCore::SourceBuffer::remove): Optimize logging. Buffer full and coded frame eviction logic

is in SourceBuffer instead of SourceBufferPrivate.

(WebCore::SourceBuffer::appendBufferInternal): Ditto.
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete): Set m_bufferFull when more data

has been buffered than allowed.

(WebCore::removeSamplesFromTrackBuffer): Add logging.
(WebCore::SourceBuffer::removeCodedFrames): Improve logging. Avoid debug build assert when

current time is after last enqueued presentation time.

(WebCore::SourceBuffer::evictCodedFrames): The coded frame eviction algorithm.
(WebCore::SourceBuffer::maximumBufferSize): Return the maximum amount of data that can

be buffered.

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Improve logging. Don't attempt

to create a PlatformTimeRanges with inverted start and end to avoid an assert in debug.

(WebCore::SourceBuffer::hasAudio): New, return true if there are any audio tracks.
(WebCore::SourceBuffer::hasVideo): New, return true if there are any video tracks.
(WebCore::SourceBuffer::sourceBufferPrivateHasAudio): Call hasAudio.
(WebCore::SourceBuffer::sourceBufferPrivateHasVideo): Call hasVideo.
(WebCore::SourceBuffer::hasCurrentTime): Return true if currentTime is greater than duration.
(WebCore::SourceBuffer::hasFutureTime): Ditto.
(WebCore::SourceBuffer::extraMemoryCost): Return the amount of data buffered: the size of

the input buffer plus the size of all track samples.

(WebCore::SourceBuffer::reportExtraMemoryCost): Move buffered size calculation to extraMemoryCost.
(WebCore::SourceBuffer::document): Document accessor.

  • Modules/mediasource/SourceBuffer.h: Drive-by size optimization by moving all bool member

variables to the end of class.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::refreshCachedTime): Drive-by removal of overly chatty logging.
(WebCore::HTMLMediaElement::maximumSourceBufferSize): New, maximum source buffer size.

  • html/HTMLMediaElement.h:
  • html/HTMLMediaSession.cpp:

(WebCore::HTMLMediaSession::maximumMediaSourceBufferSize): New, get maximum source buffer

size from settings, return full amount for an SourceBuffer with video and audio, return 5%
of the maximum for an audio-only SourceBuffer.

  • html/HTMLMediaSession.h:
  • page/Settings.in: Add maximumSourceBufferSize. Default value is enough for approximately

five minutes of 1080p video and stereo audio.

  • platform/graphics/PlatformTimeRanges.cpp:

(WebCore::PlatformTimeRanges::totalDuration): Drive-by optimization.
(WebCore::PlatformTimeRanges::dump): New, allow a PlatformTimeRanges to be printed.

  • platform/graphics/PlatformTimeRanges.h:
  • platform/graphics/SourceBufferPrivate.h: Delete evictCodedFrames and isFull, that logic

is not in SourceBuffer.

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

(WebCore::SourceBufferPrivateAVFObjC::processCodedFrame): Drive-by logging fix.
(WebCore::SourceBufferPrivateAVFObjC::evictCodedFrames): Deleted.
(WebCore::SourceBufferPrivateAVFObjC::isFull): Deleted.

  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

(WebCore::MockSourceBufferPrivate::evictCodedFrames): Deleted.
(WebCore::MockSourceBufferPrivate::isFull): Deleted.

  • platform/mock/mediasource/MockSourceBufferPrivate.h:
3:43 PM Changeset in webkit [172656] by Alan Bujtas
  • 6 edits
    2 adds in trunk

REGRESSION: Parts of the route/route options windows are invisible at maps.google.com
​https://bugs.webkit.org/show_bug.cgi?id=135977
<rdar://problem/17961698>

Reviewed by Andreas Kling.

When the style change requires both layout and repaint, the style diff is set to
'layout is needed' (and masks the repaint change) as normally layout is followed by a repaint.
However, in compositing context, layout may not be followed by repaint, so when the style diff
indicates layout, we need to figure out whether it implies repaint too.
This logic should eventually be moved from RenderElement to RenderLayerModelObject/RenderLayer.
-tracked here: webkit.org/b/135990

Source/WebCore:

Test: compositing/cliprect-and-position-change-on-compositing-layer.html

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::setNeedsPositionedMovementLayout):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayerRepaint):
(WebCore::RenderStyle::diffRequiresLayerRepaint):
(WebCore::RenderStyle::diffRequiresRepaint): Deleted.

  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h:

LayoutTests:

  • compositing/cliprect-and-position-change-on-compositing-layer-expected.html: Added.
  • compositing/cliprect-and-position-change-on-compositing-layer.html: Added.
3:40 PM Changeset in webkit [172655] by Brian Burg
  • 39 edits
    57 adds
    2 deletes in trunk

Web Inspector: rewrite CodeGeneratorInspector to be modular and testable
​https://bugs.webkit.org/show_bug.cgi?id=131596

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Replace CodeGeneratorInspector.py with generate-inspector-protocol-bindings.py.
The new generator decouples parsing and typechecking a model of the protocol from
code generation. Each generated file is created by a different subclass of Generator.
Helper methods to compute various type signatures are shared among generators.

This patch introduces a test harness and a test suite that covers all functionality.

Aside from hooking up the new inspector bindings generator to the build system,
there are a few comingled changes that would be painful to split from the main
patch:

Convert protocol enumeration types from struct-namespaced enums to C++ scoped enums.

Move all runtimeCast(), assertValueHasExpectedType(), and RuntimeCastHelper methods to static
methods of BindingTraits specializations.

Together, these changes reduce duplication and make it possible to forward-declare
all protocol enum and object types, reducing weird ordering dependencies between domains.

  • CMakeLists.txt:
  • DerivedSources.make:
  • JavaScriptCore.vcxproj/copy-files.cmd:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Add inspector scripts to solution filters.
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • inspector/ConsoleMessage.cpp: Convert to scoped enums.

(Inspector::messageSourceValue):
(Inspector::messageTypeValue):
(Inspector::messageLevelValue):

  • inspector/InjectedScript.cpp: Convert to scoped enums and BindingTraits.

(Inspector::InjectedScript::getFunctionDetails):
(Inspector::InjectedScript::getProperties):
(Inspector::InjectedScript::getInternalProperties):
(Inspector::InjectedScript::wrapCallFrames):
(Inspector::InjectedScript::wrapObject):
(Inspector::InjectedScript::wrapTable):

  • inspector/InjectedScriptBase.cpp: Convert InspectorValue::Type to a scoped enum.

(Inspector::InjectedScriptBase::makeEvalCall):

  • inspector/InjectedScriptManager.cpp:

(Inspector::InjectedScriptManager::injectedScriptForObjectId):

  • inspector/InspectorTypeBuilder.h:

(Inspector::TypeBuilder::Array::create):
(Inspector::TypeBuilder::StructItemTraits::pushRefPtr):
(Inspector::TypeBuilder::ArrayItemHelper<String>::Traits::pushRaw):
(Inspector::TypeBuilder::ArrayItemHelper<int>::Traits::pushRaw):
(Inspector::TypeBuilder::ArrayItemHelper<double>::Traits::pushRaw):
(Inspector::TypeBuilder::ArrayItemHelper<bool>::Traits::pushRaw):
(Inspector::TypeBuilder::ArrayItemHelper<InspectorValue>::Traits::pushRefPtr):
(Inspector::TypeBuilder::ArrayItemHelper<InspectorObject>::Traits::pushRefPtr):
(Inspector::TypeBuilder::ArrayItemHelper<InspectorArray>::Traits::pushRefPtr):
(Inspector::TypeBuilder::PrimitiveBindingTraits::assertValueHasExpectedType):
(Inspector::TypeBuilder::BindingTraits<TypeBuilder::Array<T>>::runtimeCast):
(Inspector::TypeBuilder::BindingTraits<TypeBuilder::Array<T>>::assertValueHasExpectedType):
(Inspector::TypeBuilder::BindingTraits<InspectorValue>::assertValueHasExpectedType):
(Inspector::TypeBuilder::BindingTraits<int>::assertValueHasExpectedType):
(Inspector::TypeBuilder::ExactlyInt::ExactlyInt): Deleted. It was not used.
(Inspector::TypeBuilder::ExactlyInt::operator int): Deleted.
(Inspector::TypeBuilder::ExactlyInt::cast_to_int): Deleted.
(Inspector::TypeBuilder::ExactlyInt::cast_to_int<int>): Deleted.
(Inspector::TypeBuilder::int>): Deleted.
(Inspector::TypeBuilder::RuntimeCastHelper::assertType): Deleted.
(Inspector::TypeBuilder::RuntimeCastHelper::assertAny): Deleted.
(Inspector::TypeBuilder::RuntimeCastHelper::assertInt): Deleted.
(Inspector::TypeBuilder::Array::runtimeCast): Deleted.
(Inspector::TypeBuilder::Array::assertCorrectValue): Deleted.
(Inspector::TypeBuilder::StructItemTraits::assertCorrectValue): Deleted.
(Inspector::TypeBuilder::ArrayItemHelper<String>::Traits::assertCorrectValue): Deleted.
(Inspector::TypeBuilder::ArrayItemHelper<int>::Traits::assertCorrectValue): Deleted.
(Inspector::TypeBuilder::ArrayItemHelper<double>::Traits::assertCorrectValue): Deleted.
(Inspector::TypeBuilder::ArrayItemHelper<bool>::Traits::assertCorrectValue): Deleted.
(Inspector::TypeBuilder::ArrayItemHelper<InspectorValue>::Traits::assertCorrectValue): Deleted.
(Inspector::TypeBuilder::ArrayItemHelper<InspectorObject>::Traits::assertCorrectValue): Deleted.
(Inspector::TypeBuilder::ArrayItemHelper<InspectorArray>::Traits::assertCorrectValue): Deleted.
(Inspector::TypeBuilder::ArrayItemHelper<TypeBuilder::Array<T>>::Traits::assertCorrectValue): Deleted.

  • inspector/InspectorValues.cpp: Convert InspectorValue::Type to a scoped enum.

(Inspector::InspectorValue::writeJSON):
(Inspector::InspectorBasicValue::asBoolean):
(Inspector::InspectorBasicValue::asNumber):
(Inspector::InspectorBasicValue::writeJSON):
(Inspector::InspectorString::writeJSON):
(Inspector::InspectorObjectBase::InspectorObjectBase):
(Inspector::InspectorObjectBase::setArray): Take InspectorArrayBase.
(Inspector::InspectorObjectBase::setObject): Take InspectorObjectBase.
(Inspector::InspectorArrayBase::InspectorArrayBase):

  • inspector/InspectorValues.h:
  • inspector/agents/InspectorDebuggerAgent.cpp: Convert to scoped enums.

(Inspector::InspectorDebuggerAgent::schedulePauseOnNextStatement):
(Inspector::InspectorDebuggerAgent::breakProgram):

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

(Inspector::InspectorRuntimeAgent::parse):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/scripts/CodeGeneratorInspector.py: Removed.
  • inspector/scripts/codegen/init.py: Added.
  • inspector/scripts/codegen/generate_backend_commands.py: Added.

(BackendCommandsGenerator):
(BackendCommandsGenerator.init):
(BackendCommandsGenerator.model):
(BackendCommandsGenerator.output_filename):
(BackendCommandsGenerator.generate_license):
(BackendCommandsGenerator.generate_output):
(BackendCommandsGenerator.generate_domain):
(BackendCommandsGenerator.generate_domain.is_anonymous_enum_member):
(BackendCommandsGenerator.generate_domain.generate_parameter_object):

  • inspector/scripts/codegen/generate_backend_dispatcher_header.py: Added.

(BackendDispatcherHeaderGenerator):
(BackendDispatcherHeaderGenerator.init):
(BackendDispatcherHeaderGenerator.model):
(BackendDispatcherHeaderGenerator.output_filename):
(BackendDispatcherHeaderGenerator.generate_license):
(BackendDispatcherHeaderGenerator.generate_output):
(BackendDispatcherHeaderGenerator.generate_output.for):
(BackendDispatcherHeaderGenerator._generate_handler_declarations_for_domain):
(BackendDispatcherHeaderGenerator._generate_anonymous_enum_for_parameter):
(BackendDispatcherHeaderGenerator._generate_handler_declaration_for_command):
(BackendDispatcherHeaderGenerator._generate_async_handler_declaration_for_command):
(BackendDispatcherHeaderGenerator._generate_dispatcher_declarations_for_domain):
(BackendDispatcherHeaderGenerator._generate_dispatcher_declaration_for_command):

  • inspector/scripts/codegen/generate_backend_dispatcher_implementation.py: Added.

(BackendDispatcherImplementationGenerator):
(BackendDispatcherImplementationGenerator.init):
(BackendDispatcherImplementationGenerator.model):
(BackendDispatcherImplementationGenerator.output_filename):
(BackendDispatcherImplementationGenerator.generate_license):
(BackendDispatcherImplementationGenerator.generate_output):
(BackendDispatcherImplementationGenerator._generate_handler_class_destructor_for_domain):
(BackendDispatcherImplementationGenerator._generate_dispatcher_implementations_for_domain):
(BackendDispatcherImplementationGenerator._generate_small_dispatcher_switch_implementation_for_domain):
(BackendDispatcherImplementationGenerator._generate_large_dispatcher_switch_implementation_for_domain):
(BackendDispatcherImplementationGenerator._generate_async_dispatcher_class_for_domain):
(BackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):

  • inspector/scripts/codegen/generate_frontend_dispatcher_header.py: Added.

(FrontendDispatcherHeaderGenerator):
(FrontendDispatcherHeaderGenerator.init):
(FrontendDispatcherHeaderGenerator.model):
(FrontendDispatcherHeaderGenerator.output_filename):
(FrontendDispatcherHeaderGenerator.generate_license):
(FrontendDispatcherHeaderGenerator.generate_output):
(FrontendDispatcherHeaderGenerator._generate_anonymous_enum_for_parameter):
(FrontendDispatcherHeaderGenerator._generate_dispatcher_declarations_for_domain):
(FrontendDispatcherHeaderGenerator._generate_dispatcher_declaration_for_event):

  • inspector/scripts/codegen/generate_frontend_dispatcher_implementation.py: Added.

(FrontendDispatcherImplementationGenerator):
(FrontendDispatcherImplementationGenerator.init):
(FrontendDispatcherImplementationGenerator.model):
(FrontendDispatcherImplementationGenerator.output_filename):
(FrontendDispatcherImplementationGenerator.generate_license):
(FrontendDispatcherImplementationGenerator.generate_output):
(FrontendDispatcherImplementationGenerator._generate_dispatcher_implementations_for_domain):
(FrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):

  • inspector/scripts/codegen/generate_type_builder_header.py: Added.

(TypeBuilderHeaderGenerator):
(TypeBuilderHeaderGenerator.init):
(TypeBuilderHeaderGenerator.model):
(TypeBuilderHeaderGenerator.output_filename):
(TypeBuilderHeaderGenerator.generate_license):
(TypeBuilderHeaderGenerator.generate_output):
(TypeBuilderHeaderGenerator._generate_forward_declarations):
(_generate_typedefs):
(_generate_typedefs_for_domain):
(_generate_builders_for_domain):
(_generate_class_for_object_declaration):
(_generate_struct_for_enum_declaration):
(_generate_struct_for_anonymous_enum_member):
(_generate_struct_for_anonymous_enum_member.apply_indentation):
(_generate_struct_for_enum_type):
(_generate_builder_state_enum):
(_generate_builder_setter_for_member):
(_generate_unchecked_setter_for_member):
(_generate_forward_declarations_for_binding_traits):

  • inspector/scripts/codegen/generate_type_builder_implementation.py: Added.

(TypeBuilderImplementationGenerator):
(TypeBuilderImplementationGenerator.init):
(TypeBuilderImplementationGenerator.model):
(TypeBuilderImplementationGenerator.output_filename):
(TypeBuilderImplementationGenerator.generate_license):
(TypeBuilderImplementationGenerator.generate_output):
(TypeBuilderImplementationGenerator._generate_enum_mapping):
(TypeBuilderImplementationGenerator._generate_open_field_names):
(TypeBuilderImplementationGenerator._generate_builders_for_domain):
(TypeBuilderImplementationGenerator._generate_runtime_cast_for_object_declaration):
(TypeBuilderImplementationGenerator._generate_assertion_for_object_declaration):
(TypeBuilderImplementationGenerator._generate_assertion_for_enum):

  • inspector/scripts/codegen/generator.py: Added.

(ucfirst):
(Generator):
(Generator.init):
(Generator.model):
(Generator.generate_license):
(Generator.domains_to_generate):
(Generator.generate_output):
(Generator.output_filename):
(Generator.encoding_for_enum_value):
(Generator.assigned_enum_values):
(Generator.type_needs_runtime_casts):
(Generator.type_has_open_fields):
(Generator.type_needs_shape_assertions):
(Generator.calculate_types_requiring_shape_assertions):
(Generator.calculate_types_requiring_shape_assertions.gather_transitively_referenced_types):
(Generator._traverse_and_assign_enum_values):
(Generator._assign_encoding_for_enum_value):
(Generator.wrap_with_guard_for_domain):
(Generator.stylized_name_for_enum_value):
(Generator.stylized_name_for_enum_value.replaceCallback):
(Generator.keyed_get_method_for_type):
(Generator.keyed_set_method_for_type):
(Generator.type_builder_string_for_type):
(Generator.type_builder_string_for_type_member):
(Generator.type_string_for_unchecked_formal_in_parameter):
(Generator.type_string_for_checked_formal_event_parameter):
(Generator.type_string_for_type_member):
(Generator.type_string_for_type_with_name):
(Generator.type_string_for_formal_out_parameter):
(Generator.type_string_for_formal_async_parameter):
(Generator.type_string_for_stack_in_parameter):
(Generator.type_string_for_stack_out_parameter):
(Generator.assertion_method_for_type_member):
(Generator.assertion_method_for_type_member.assertion_method_for_type):
(Generator.cpp_name_for_primitive_type):
(Generator.js_name_for_parameter_type):
(Generator.should_use_wrapper_for_return_type):
(Generator.should_pass_by_copy_for_return_type):

  • inspector/scripts/codegen/generator_templates.py: Added.

(GeneratorTemplates):
(void):
(HashMap):
(Builder):
(Inspector):

  • inspector/scripts/codegen/models.py: Added.

(ucfirst):
(ParseException):
(TypecheckException):
(Framework):
(Framework.init):
(Framework.setting):
(Framework.fromString):
(Frameworks):
(TypeReference):
(TypeReference.init):
(TypeReference.referenced_name):
(Type):
(Type.init):
(Type.eq):
(Type.hash):
(Type.raw_name):
(Type.is_enum):
(Type.type_domain):
(Type.qualified_name):
(Type.resolve_type_references):
(PrimitiveType):
(PrimitiveType.init):
(PrimitiveType.repr):
(PrimitiveType.type_domain):
(PrimitiveType.qualified_name):
(AliasedType):
(AliasedType.init):
(AliasedType.repr):
(AliasedType.is_enum):
(AliasedType.type_domain):
(AliasedType.qualified_name):
(AliasedType.resolve_type_references):
(EnumType):
(EnumType.init):
(EnumType.repr):
(EnumType.is_enum):
(EnumType.type_domain):
(EnumType.enum_values):
(EnumType.qualified_name):
(EnumType.resolve_type_references):
(ArrayType):
(ArrayType.init):
(ArrayType.repr):
(ArrayType.type_domain):
(ArrayType.qualified_name):
(ArrayType.resolve_type_references):
(ObjectType):
(ObjectType.init):
(ObjectType.repr):
(ObjectType.type_domain):
(ObjectType.qualified_name):
(check_for_required_properties):
(Protocol):
(Protocol.init):
(Protocol.parse_specification):
(Protocol.parse_domain):
(Protocol.parse_type_declaration):
(Protocol.parse_type_member):
(Protocol.parse_command):
(Protocol.parse_event):
(Protocol.parse_call_or_return_parameter):
(Protocol.resolve_types):
(Protocol.lookup_type_for_declaration):
(Protocol.lookup_type_reference):
(Domain):
(Domain.init):
(Domain.resolve_type_references):
(Domains):
(TypeDeclaration):
(TypeDeclaration.init):
(TypeDeclaration.resolve_type_references):
(TypeMember):
(TypeMember.init):
(TypeMember.resolve_type_references):
(Parameter):
(Parameter.init):
(Parameter.resolve_type_references):
(Command):
(Command.init):
(Command.resolve_type_references):
(Event):
(Event.init):
(Event.resolve_type_references):

  • inspector/scripts/generate-inspector-protocol-bindings.py: Added.

(IncrementalFileWriter):
(IncrementalFileWriter.init):
(IncrementalFileWriter.write):
(IncrementalFileWriter.close):
(generate_from_specification):
(generate_from_specification.load_specification):

  • inspector/scripts/tests/commands-with-async-attribute.json: Added.
  • inspector/scripts/tests/commands-with-optional-call-return-parameters.json: Added.
  • inspector/scripts/tests/domains-with-varying-command-sizes.json: Added.
  • inspector/scripts/tests/events-with-optional-parameters.json: Added.
  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result: Added.
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result: Added.
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result: Added.
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result: Added.
  • inspector/scripts/tests/fail-on-duplicate-type-declarations.json-error: Added.
  • inspector/scripts/tests/fail-on-enum-with-no-values.json-error: Added.
  • inspector/scripts/tests/fail-on-type-declaration-using-type-reference.json-error: Added.
  • inspector/scripts/tests/fail-on-type-with-lowercase-name.json-error: Added.
  • inspector/scripts/tests/fail-on-unknown-type-reference-in-type-declaration.json-error: Added.
  • inspector/scripts/tests/fail-on-unknown-type-reference-in-type-member.json-error: Added.
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result: Added.
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result: Added.
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result: Added.
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result: Added.
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result: Added.
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result: Added.
  • inspector/scripts/tests/fail-on-duplicate-type-declarations.json: Added.
  • inspector/scripts/tests/fail-on-enum-with-no-values.json: Added.
  • inspector/scripts/tests/fail-on-type-declaration-using-type-reference.json: Added.
  • inspector/scripts/tests/fail-on-type-with-lowercase-name.json: Added.
  • inspector/scripts/tests/fail-on-unknown-type-reference-in-type-declaration.json: Added.
  • inspector/scripts/tests/fail-on-unknown-type-reference-in-type-member.json: Added.
  • inspector/scripts/tests/same-type-id-different-domain.json: Added.
  • inspector/scripts/tests/type-declaration-aliased-primitive-type.json: Added.
  • inspector/scripts/tests/type-declaration-array-type.json: Added.
  • inspector/scripts/tests/type-declaration-enum-type.json: Added.
  • inspector/scripts/tests/type-declaration-object-type.json: Added.
  • inspector/scripts/tests/type-requiring-runtime-casts.json: Added.

Source/WebCore:

Aside from hooking up the new inspector bindings generator to the build system,
there are a few comingled changes that would be painful to split from the main
patch. Together, these changes make it possible to forward-declare all protocol
enumerations as scoped enums, reducing weird ordering dependencies between domains.

All runtimeCast() methods are now static methods of BindingTraits specializations,
rather than as static methods of the type builder classes.

All protocol enumeration types are scoped enums rather than struct-namespaced enums.

Remove some implicit protocol type and enumeration definitions because they trigger
compiler bugs or introduce unnecessary complexity in the bindings generator.

No new tests, no behavior changed.

  • CMakeLists.txt:
  • DerivedSources.make: Update script dependencies and the bindings generator script name.
  • inspector/CommandLineAPIHost.cpp:

(WebCore::CommandLineAPIHost::inspectImpl): Convert to BindingTraits.

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::detectOrigin):
(WebCore::InspectorCSSAgent::buildArrayForRegions):

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

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::resourceTypeJson):
(WebCore::InspectorPageAgent::cachedResourceTypeJson):
(WebCore::InspectorPageAgent::getScriptExecutionStatus): Convert to scoped enums.

(WebCore::InspectorPageAgent::buildObjectForFrameTree): Extract FrameResourceTree::Resources
into its own explicitly-defined object type. The new generator does not support implicitly
defining object types as elements of arrays.

  • inspector/InspectorPageAgent.h:
  • inspector/InspectorReplayAgent.cpp: Disambiguate between internal and protocol types.

(WebCore::buildInspectorObjectForSessionState):
(WebCore::buildInspectorObjectForSegmentState):
(WebCore::InspectorReplayAgent::sessionState):
(WebCore::InspectorReplayAgent::didCreateFrontendAndBackend):
(WebCore::InspectorReplayAgent::frameNavigated):
(WebCore::InspectorReplayAgent::frameDetached):
(WebCore::InspectorReplayAgent::willDispatchEvent):
(WebCore::InspectorReplayAgent::startCapturing):
(WebCore::InspectorReplayAgent::stopCapturing):
(WebCore::InspectorReplayAgent::replayToPosition):
(WebCore::InspectorReplayAgent::replayToCompletion):
(WebCore::InspectorReplayAgent::pausePlayback):
(WebCore::InspectorReplayAgent::cancelPlayback):
(WebCore::InspectorReplayAgent::switchSession):
(WebCore::InspectorReplayAgent::insertSessionSegment):
(WebCore::InspectorReplayAgent::removeSessionSegment):
(WebCore::InspectorReplayAgent::currentReplayState):
(WebCore::InspectorReplayAgent::getAvailableSessions):
(WebCore::InspectorReplayAgent::getSessionData):
(WebCore::InspectorReplayAgent::getSegmentData):

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

(WebCore::InspectorResourceAgent::willSendRequest):

  • inspector/InspectorStyleSheet.cpp: Convert to scoped enums. Extract CSSProperty::Status

because scoped enums defined in a class scope trigger compiler bugs in GCC 4.8.
(WebCore::buildMediaObject):
(WebCore::InspectorStyle::styleWithProperties): Work around compiler disagreements.
(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):

  • inspector/InspectorStyleSheet.h:
  • inspector/InspectorTimelineAgent.cpp: Convert to scoped enums and BindingTraits.

(WebCore::toProtocol):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::sendEvent):

  • inspector/protocol/CSS.json: Extract CSSProperty::Status.
  • inspector/protocol/Page.json: Extract FrameResourceTree::Resources.

Source/WebInspectorUI:

Also apply type extraction refactorings to old protocol versions for consistency.

  • Versions/Inspector-iOS-6.0.json:
  • Versions/Inspector-iOS-7.0.json:

Tools:

  • Scripts/run-inspector-generator-tests: Added.

(main):

  • Scripts/webkitpy/inspector/init.py: Added.
  • Scripts/webkitpy/inspector/main.py: Added.

(InspectorGeneratorTests):
(InspectorGeneratorTests.init):
(InspectorGeneratorTests.generate_from_json):
(InspectorGeneratorTests.write_error_file):
(InspectorGeneratorTests.detect_changes):
(InspectorGeneratorTests.run_tests):
(InspectorGeneratorTests.main):

2:48 PM Changeset in webkit [172654] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.1.4.11.1

New Tag.

2:22 PM Changeset in webkit [172653] by barraclough@apple.com
  • 3 edits in trunk/Source/WebKit2

Fix plugin visibility check.
​https://bugs.webkit.org/show_bug.cgi?id=135991

D'oh, more unreviewed typo fix. :-(

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::visibilityDidChange):
(WebKit::PluginControllerProxy::windowVisibilityChanged):
(WebKit::PluginControllerProxy::updateVisibilityActivity):
(WebKit::PluginControllerProxy::updateVisiblityActivity): Deleted.

  • PluginProcess/PluginControllerProxy.h:
2:16 PM Changeset in webkit [172652] by matthew_hanson@apple.com
  • 3 edits
    3 copies in branches/safari-600.1.4.11-branch

Merge r172603. <rdar://problem/18008488>

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

[EME][Mac] Adopt AVStreamSession.
​https://bugs.webkit.org/show_bug.cgi?id=135983

Reviewed by Eric Carlson.

Add AVStreamDataParsers to a new AVStreamSession instance, and expire that session when asked to release
the session's keys.

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

(WebCore::CDMSessionMediaSourceAVFObjC::~CDMSessionMediaSourceAVFObjC):
(WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys):
(WebCore::CDMSessionMediaSourceAVFObjC::update):

2:12 PM Changeset in webkit [172650] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Probe details sidebar data grids do not show data
​https://bugs.webkit.org/show_bug.cgi?id=135992

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/ProbeSetDataGrid.js:

(WebInspector.ProbeSetDataGrid): Make the DataGrid be inline to show the data correctly.

2:09 PM Changeset in webkit [172649] by commit-queue@webkit.org
  • 19 edits in trunk/Source

Implement snapping behavior for iOS
​https://bugs.webkit.org/show_bug.cgi?id=135769

Patch by Wenson Hsieh <Wenson Hsieh> on 2014-08-15
Reviewed by Brent Fulgham.

Source/WebCore:

Added support for snap points on iOS. This entails sending snap points from the web process to the UI process
by encoding and decoding snap points and updating ScrollingTreeOverflowScrollingNodeIOS and WKWebView to support
animation to snap points in the cases of mainframe and overflow scrolling, respectively.

There are no new tests yet -- we'll need to find a way to test this!

  • WebCore.exp.in:
  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::setStateScrollingNodeSnapOffsetsAsFloat): Helper functions used to convert LayoutUnits to floats for snap offsets.
(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated): Update snap offsets for mainframe scrolling, as well as the state node.
(WebCore::AsyncScrollingCoordinator::updateOverflowScrollingNode): Added snap offsets.

  • page/scrolling/AxisScrollSnapOffsets.h:

(WebCore::closestSnapOffset): Computes the closest snap offset given a sorted vector of comparable types (e.g. float, LayoutUnit).

  • page/scrolling/ScrollingCoordinator.h:
  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setHorizontalSnapOffsets):
(WebCore::ScrollingStateScrollingNode::setVerticalSnapOffsets):

  • page/scrolling/ScrollingStateScrollingNode.h:

(WebCore::ScrollingStateScrollingNode::horizontalSnapOffsets):
(WebCore::ScrollingStateScrollingNode::verticalSnapOffsets):

  • page/scrolling/ScrollingTreeScrollingNode.cpp:

(WebCore::ScrollingTreeScrollingNode::updateBeforeChildren):

  • page/scrolling/ScrollingTreeScrollingNode.h:

(WebCore::ScrollingTreeScrollingNode::horizontalSnapOffsets):
(WebCore::ScrollingTreeScrollingNode::verticalSnapOffsets):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateScrollInfoAfterLayout): Update snap offsets for overflow scrolling.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer): Updates the state node's snap offsets for overflow scrolling.

Source/WebKit2:

Added support for snap points on iOS.

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(ArgumentCoder<ScrollingStateScrollingNode>::encode): Added snap offset encoding.
(ArgumentCoder<ScrollingStateScrollingNode>::decode): Added snap offset decoding.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]): For mainframe scrolling, retargets the scroll destination to the appropriate snap point.

  • UIProcess/Scrolling/RemoteScrollingCoordinatorProxy.h: Added methods to extract relevant information for WKWebView from snap offsets in mainframe scrolling.
  • UIProcess/Scrolling/ios/ScrollingTreeOverflowScrollingNodeIOS.mm:

(-[WKOverflowScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset:]): For overflow scrolling, retargets the scroll destination to the appropriate snap point.
(WebKit::ScrollingTreeOverflowScrollingNodeIOS::updateAfterChildren): Sets the deceleration factor to FAST if snap points are active.

  • UIProcess/ios/RemoteScrollingCoordinatorProxyIOS.mm:

(WebKit::RemoteScrollingCoordinatorProxy::adjustTargetContentOffsetForSnapping): Used by WKWebView for mainframe scrolling to retarget the scroll destination, if necessary.
(WebKit::RemoteScrollingCoordinatorProxy::shouldSetScrollViewDecelerationRateFast): Used by WKWebView for mainframe scrolling to determine whether to set deceleration rate to the fast value.
(WebKit::RemoteScrollingCoordinatorProxy::shouldSnapForMainFrameScrolling): Helper method.
(WebKit::RemoteScrollingCoordinatorProxy::closestSnapOffsetForMainFrameScrolling): Helper method.

2:04 PM Changeset in webkit [172648] by mmirman@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Made native inlining errors not segfault.
​https://bugs.webkit.org/show_bug.cgi?id=135988

Reviewed by Geoffrey Garen.

  • ftl/FTLAbbreviations.h:

(JSC::FTL::disposeMessage): Added.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compilePutById):
abstracted out Options::verboseCompilation as was the case in the rest of the file.
(JSC::FTL::LowerDFGToLLVM::compileNativeCallOrConstruct):
(JSC::FTL::LowerDFGToLLVM::getModuleByPathForSymbol):
added output error messages for llvm module loading.

1:48 PM Changeset in webkit [172647] by krit@webkit.org
  • 4 edits in trunk

Turn r/rx/ry to presentation attributes
​https://bugs.webkit.org/show_bug.cgi?id=135978

Source/WebCore:

Unreviewed typo.

Patch by Dirk Schulze <​krit@webkit.org> on 2014-08-15

  • rendering/svg/RenderSVGEllipse.cpp:

(WebCore::RenderSVGEllipse::calculateRadiiAndCenter):

LayoutTests:

Patch by Dirk Schulze <​krit@webkit.org> on 2014-08-15
Reviewed by Dean Jackson.

Rebaseline test.

  • svg/css/parse-length-expected.txt:
1:37 PM Changeset in webkit [172646] by barraclough@apple.com
  • 3 edits in trunk/Source/WebKit2

Fix plugin visibility check.
​https://bugs.webkit.org/show_bug.cgi?id=135991

Unreviewed typo fix.

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::PluginControllerProxy):
(WebKit::PluginControllerProxy::visibilityDidChange):
(WebKit::PluginControllerProxy::windowVisibilityChanged):
(WebKit::PluginControllerProxy::updateVisiblityActivity):

  • PluginProcess/PluginControllerProxy.h:
1:32 PM Changeset in webkit [172645] by barraclough@apple.com
  • 3 edits in trunk/Source/WebKit2

Fix plugin visibility check.
​https://bugs.webkit.org/show_bug.cgi?id=135991

Reviewed by Andreas Kling.

We should only take a UserActivity if the plugin is in a visible window,
and also is itself visible.

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::PluginControllerProxy):

  • initialize member state.

(WebKit::PluginControllerProxy::visibilityDidChange):
(WebKit::PluginControllerProxy::windowVisibilityChanged):

  • update member state & call updateVisiblityActivity.

(WebKit::PluginControllerProxy::updateVisiblityActivity):

  • enable the UserActivity only if both visibilities are true.
  • PluginProcess/PluginControllerProxy.h:
    • added m_isVisible, m_isWindowVisible, updateVisibilityActivity.
1:12 PM Changeset in webkit [172644] by dburkart@apple.com
  • 5 edits in branches/safari-600.1-branch/Source

Bump versioning.

12:53 PM Changeset in webkit [172643] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

[Services with UI] Selections are incorrect when selecting three lines.
​https://bugs.webkit.org/show_bug.cgi?id=135989
<rdar://problem/18032571>

Reviewed by Tim Horton.

The stitching algorithm did not handle correctly the case of selections
over three lines if the middle line is composed of only one rectangle.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::stitchRects):

12:42 PM Changeset in webkit [172642] by krit@webkit.org
  • 21 edits in trunk

Turn r/rx/ry to presentation attributes
​https://bugs.webkit.org/show_bug.cgi?id=135978

Patch by Dirk Schulze <​krit@webkit.org> on 2014-08-15
Reviewed by Dean Jackson.

This follows the patch for width and height presentation attributes and
Source/WebCore:

turns rx, ry and r to presentation attributes as well:

​​http://trac.webkit.org/changeset/171341

Extended existing tests.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::isSimpleLengthPropertyID):

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • css/SVGCSSParser.cpp:

(WebCore::CSSParser::parseSVGValue):

  • css/SVGCSSPropertyNames.in:
  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • rendering/style/RenderStyle.h:
  • rendering/style/SVGRenderStyle.h:

(WebCore::SVGRenderStyle::setR):
(WebCore::SVGRenderStyle::setRx):
(WebCore::SVGRenderStyle::setRy):
(WebCore::SVGRenderStyle::r):
(WebCore::SVGRenderStyle::rx):
(WebCore::SVGRenderStyle::ry):

  • rendering/style/SVGRenderStyleDefs.cpp:

(WebCore::StyleLayoutData::StyleLayoutData):
(WebCore::StyleLayoutData::operator==):

  • rendering/style/SVGRenderStyleDefs.h:
  • rendering/svg/RenderSVGEllipse.cpp:

(WebCore::RenderSVGEllipse::calculateRadiiAndCenter):

  • rendering/svg/SVGPathData.cpp:

(WebCore::updatePathFromCircleElement):
(WebCore::updatePathFromEllipseElement):
(WebCore::updatePathFromRectElement):
(WebCore::updatePathFromLineElement): Deleted.

  • svg/SVGCircleElement.cpp:

(WebCore::SVGCircleElement::svgAttributeChanged):

  • svg/SVGElement.cpp:

(WebCore::populateAttributeNameToCSSPropertyIDMap):
(WebCore::populateCSSPropertyWithSVGDOMNameToAnimatedPropertyTypeMap):

  • svg/SVGEllipseElement.cpp:

(WebCore::SVGEllipseElement::svgAttributeChanged):

  • svg/SVGRectElement.cpp:

(WebCore::SVGRectElement::svgAttributeChanged):

LayoutTests:

turns r, rx and ry to presentation attributes as well:

​​http://trac.webkit.org/changeset/171341

  • svg/css/parse-length.html:
  • transitions/svg-layout-transition-expected.txt:
  • transitions/svg-layout-transition.html:
12:38 PM Changeset in webkit [172641] by krit@webkit.org
  • 23 edits in trunk

Turn cx/cy to presentation attributes
​https://bugs.webkit.org/show_bug.cgi?id=135975

Reviewed by Dean Jackson.

This follows the patch for width and height presentation attributes and
Source/WebCore:

turns x and y to presentation attributes as well:

​​http://trac.webkit.org/changeset/171341

Extended existing tests.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::isSimpleLengthPropertyID):

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):

  • css/SVGCSSParser.cpp:

(WebCore::CSSParser::parseSVGValue):

  • css/SVGCSSPropertyNames.in:
  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • rendering/style/RenderStyle.h:
  • rendering/style/SVGRenderStyle.h:

(WebCore::SVGRenderStyle::setCx):
(WebCore::SVGRenderStyle::setCy):
(WebCore::SVGRenderStyle::cx):
(WebCore::SVGRenderStyle::cy):

  • rendering/style/SVGRenderStyleDefs.cpp:

(WebCore::StyleLayoutData::StyleLayoutData):
(WebCore::StyleLayoutData::operator==):

  • rendering/style/SVGRenderStyleDefs.h:
  • rendering/svg/RenderSVGEllipse.cpp:

(WebCore::RenderSVGEllipse::calculateRadiiAndCenter):

  • rendering/svg/SVGPathData.cpp:

(WebCore::updatePathFromCircleElement):
(WebCore::updatePathFromEllipseElement):

  • svg/SVGCircleElement.cpp:

(WebCore::SVGCircleElement::svgAttributeChanged):
(WebCore::SVGCircleElement::selfHasRelativeLengths): Deleted.

  • svg/SVGCircleElement.h:
  • svg/SVGElement.cpp:

(WebCore::populateAttributeNameToCSSPropertyIDMap):
(WebCore::populateCSSPropertyWithSVGDOMNameToAnimatedPropertyTypeMap):

  • svg/SVGEllipseElement.cpp:

(WebCore::SVGEllipseElement::svgAttributeChanged):
(WebCore::SVGEllipseElement::selfHasRelativeLengths): Deleted.

  • svg/SVGEllipseElement.h:

LayoutTests:

turns cx and cy to presentation attributes as well:

​​http://trac.webkit.org/changeset/171341

  • svg/css/parse-length-expected.txt:
  • svg/css/parse-length.html:
  • transitions/svg-layout-transition-expected.txt:
  • transitions/svg-layout-transition.html:
12:11 PM Changeset in webkit [172640] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Legacy Mac toolbar appearance looks wrong
​https://bugs.webkit.org/show_bug.cgi?id=135962

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/Toolbar.css:

(body.mac-platform.legacy .toolbar): Don't draw a gradient background when not docked.
Move border-bottom-color from body.mac-platform.legacy.docked .toolbar to here so it
applies all the time as it should have.

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

Service overlays stay fixed when <iframe> scrolls
​https://bugs.webkit.org/show_bug.cgi?id=135959
<rdar://problem/17957716>

Reviewed by Enrica Casucci.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::highlightsAreEquivalent):
Tiny correctness fix; highlights can only be equivalent if their
types are equivalent as well.

12:03 PM Changeset in webkit [172638] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

run-webkit-tests should skip 'support' directories
​https://bugs.webkit.org/show_bug.cgi?id=135910

Patch by Rebecca Hauck <​rhauck@adobe.com> on 2014-08-15
Reviewed by Bem Jones-Bey.

This patch adds the 'support' directory to the list
of dirs to skip when looking for runnable tests.
the W3C uses this name for support files, so tests
imported from the W3C will not work without this change
or without many edits.

  • Scripts/webkitpy/port/base.py:

(Port._real_tests):

11:56 AM Changeset in webkit [172637] by barraclough@apple.com
  • 12 edits in trunk/Source/WebKit2

de-PLATFORM(COCOA) a couple of methods in plugin code
​https://bugs.webkit.org/show_bug.cgi?id=135987

Reviewed by Sam Weinig.

Pass through the visibility & focus on all platforms, to simplify & avoid
any weird inconsistencies between platforms.

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::windowFocusChanged):
(WebKit::PluginControllerProxy::windowVisibilityChanged):

  • PluginProcess/PluginControllerProxy.h:
  • PluginProcess/PluginControllerProxy.messages.in:
  • PluginProcess/mac/PluginControllerProxyMac.mm:

(WebKit::PluginControllerProxy::windowFocusChanged): Deleted.
(WebKit::PluginControllerProxy::windowVisibilityChanged): Deleted.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::windowFocusChanged):
(WebKit::NetscapePlugin::windowVisibilityChanged):

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:
  • WebProcess/Plugins/Plugin.h:
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::windowAndViewFramesChanged):

  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::viewStateDidChange):
(WebKit::PluginView::platformViewStateDidChange): Deleted.

  • WebProcess/Plugins/PluginView.h:
11:47 AM Changeset in webkit [172636] by timothy_horton@apple.com
  • 6 edits in trunk/Source/WebKit2

Service overlays stay fixed when <iframe> scrolls
​https://bugs.webkit.org/show_bug.cgi?id=135959
<rdar://problem/17957716>

Reviewed by Enrica Casucci.

  • WebProcess/WebPage/PageOverlay.cpp:

(WebKit::PageOverlay::didScrollFrame):

  • WebProcess/WebPage/PageOverlay.h:

(WebKit::PageOverlay::Client::didScrollFrame):

  • WebProcess/WebPage/PageOverlayController.cpp:

(WebKit::PageOverlayController::didScrollFrame):
Push didScrollFrame down to the overlays.

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

(WebKit::ServicesOverlayController::Highlight::createForSelection):
Hold on to the selection's Range so we can use it to compare Highlights later.

(WebKit::ServicesOverlayController::Highlight::Highlight):
(WebKit::ServicesOverlayController::Highlight::setDDHighlight):
Factor the code to set up and paint the highlight out, so that we can
set a new DDHighlightRef on a Highlight and the layer moves/reshapes/repaints.

(WebKit::ServicesOverlayController::buildPhoneNumberHighlights):
(WebKit::ServicesOverlayController::buildSelectionHighlight):
(WebKit::ServicesOverlayController::replaceHighlightsOfTypePreservingEquivalentHighlights):
Factor replaceHighlightsOfTypePreservingEquivalentHighlights out
so that we can use it for buildSelectionHighlight as well.

Steal the DDHighlightRef from the new Highlight when re-using an old one
so that the newly computed rects are used instead of the old ones.

(WebKit::ServicesOverlayController::highlightsAreEquivalent):
We will always have a Range now, so we can always check equivalence using it.

(WebKit::ServicesOverlayController::didScrollFrame):
Rebuild all highlights upon subframe scroll, as they might have moved.
We could optimize this in the future, but for now it's cheap enough
and rare enough that it doesn't matter.

11:42 AM Changeset in webkit [172635] by timothy_horton@apple.com
  • 12 edits in trunk/Source/WebKit2

REGRESSION (WebKit2 Gestures): White flash when swiping back to cnn.com's homepage from an article
​https://bugs.webkit.org/show_bug.cgi?id=135951
<rdar://problem/18006149>

Reviewed by Simon Fraser.

Wait for (the first visually non-empty layout AND the render tree size threshold to be hit),
OR didFinishLoadForFrame, whichever comes first. Once we've done the first visually non-empty layout,
we'll start the watchdog and tear down the snapshot in three seconds no matter what.
Also, force a repaint so we can asynchronously wait for the Web Process to paint and return to us
before removing the snapshot, which improves our chances that something is actually on the screen.

  • UIProcess/API/mac/WKView.mm:

(-[WKView _didFirstVisuallyNonEmptyLayoutForMainFrame]):
(-[WKView _didFinishLoadForMainFrame]):
(-[WKView _removeNavigationGestureSnapshot]):

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

(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
(WebKit::WebPageProxy::removeNavigationGestureSnapshot):

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

(WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
(WebKit::PageClientImpl::didFinishLoadForMainFrame):

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

(WebKit::PageClientImpl::didFirstVisuallyNonEmptyLayoutForMainFrame):
(WebKit::PageClientImpl::didFinishLoadForMainFrame):
(WebKit::PageClientImpl::removeNavigationGestureSnapshot):
Plumb didFirstVisuallyNonEmptyLayoutForMainFrame and didFinishLoadForMainFrame
through to ViewGestureController from WebPageProxy via the PageClient, etc.

Ditto for removeNavigationGestureSnapshot, though it is called from a
VoidCallback in ViewGestureController instead of from WebFrameLoaderClient and friends.

  • UIProcess/mac/ViewGestureController.h:
  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::endSwipeGesture):
When finishing a swipe, we want to wait for both the first visually non-empty layout
and the render tree size threshold being hit.

(WebKit::ViewGestureController::didHitRenderTreeSizeThreshold):
(WebKit::ViewGestureController::didFirstVisuallyNonEmptyLayoutForMainFrame):
When both of these things have happened, remove the swipe snapshot (after forcing a repaint).
For didFirstVisuallyNonEmptyLayoutForMainFrame, we will also start a watchdog
ensuring that we remove the snapshot in three seconds.

(WebKit::ViewGestureController::didFinishLoadForMainFrame):
When didFinishLoadForMainFrame happens, remove the swipe snapshot (after forcing a repaint).

(WebKit::ViewGestureController::swipeSnapshotWatchdogTimerFired):
If the watchdog timer fires, remove the swipe snapshot (after forcing a repaint).

(WebKit::ViewGestureController::removeSwipeSnapshotAfterRepaint):
Force a repaint and wait for the async callback before removing the snapshot.
It is safe to hold on to the WebPageProxy here because it will always
call all of its callbacks before it is destroyed.
Avoid enqueuing multiple force-repaints.

(WebKit::ViewGestureController::removeSwipeSnapshot):

11:26 AM Changeset in webkit [172634] by barraclough@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix plugin visibility initialization
​https://bugs.webkit.org/show_bug.cgi?id=135985

Reviewed by Geoffrey Garen.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::didInitializePlugin):

  • We're not currently initializing the plugin visibility state, and we're passing the wrong value for window visibility.
11:26 AM Changeset in webkit [172633] by Lucas Forschler
  • 6 edits in branches/safari-600.1.4.11-branch/Source

Merged r172502. <rdar://problem/18022784>

11:24 AM Changeset in webkit [172632] by Lucas Forschler
  • 3 edits
    4 copies in branches/safari-600.1.4.11-branch

Merged r171675. <rdar://problem/18022779>

10:38 AM Changeset in webkit [172631] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit

[Cocoa] Add migrate-headers.sh and postprocess-headers.sh to WebKit.xcodeproj
​https://bugs.webkit.org/show_bug.cgi?id=135984

Reviewed by Daniel Bates.

It's nice to be able to look at these files in Xcode.

  • WebKit.xcodeproj/project.pbxproj:
10:36 AM Changeset in webkit [172630] by Lucas Forschler
  • 5 edits in branches/safari-600.1.4.11-branch/Source

Versioning.

10:33 AM Changeset in webkit [172629] by barraclough@apple.com
  • 8 edits in trunk/Source/WebKit2

Simplify visibility activity accounting for plugins
​https://bugs.webkit.org/show_bug.cgi?id=135981

Reviewed by Dan Bernstein.

Just take one per connection, rather than implementing a counting mechanism.

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::PluginControllerProxy):

  • PluginProcess/PluginControllerProxy.h:
    • added m_visiblityActivity.
  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::PluginProcess):
(WebKit::PluginProcess::pluginsForWebProcessDidBecomeVisible): Deleted.
(WebKit::PluginProcess::pluginsForWebProcessDidBecomeHidden): Deleted.

  • PluginProcess/PluginProcess.h:
    • removed pluginsForWebProcessDidBecomeVisible/Hidden.
  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::removePluginControllerProxy):
(WebKit::WebProcessConnection::pluginDidBecomeVisible): Deleted.
(WebKit::WebProcessConnection::pluginDidBecomeHidden): Deleted.

  • PluginProcess/WebProcessConnection.h:
    • removed pluginDidBecomeVisible/Hidden.
  • PluginProcess/mac/PluginControllerProxyMac.mm:

(WebKit::PluginControllerProxy::windowVisibilityChanged):

  • windowVisibilityChanged uses m_visiblityActivity, rather than calling to PluginControllerProxy.
10:31 AM Changeset in webkit [172628] by Lucas Forschler
  • 1 copy in branches/safari-600.1.4.11-branch

New Branch.

9:49 AM Changeset in webkit [172627] by mrowe@apple.com
  • 2 edits in trunk/Source/WebKit

<​https://webkit.org/b/135979> WebKit1 Plug-in test failures in clean builds after r172595

Reviewed by Dan Bernstein.

  • WebKit.xcodeproj/project.pbxproj: Add a WebKitPluginHost.app symlink at the top level of

WebKitLegacy.framework that points into Versions/Current. This enables -[NSBundle pathForAuxiliaryExecutable:]
to work correctly. Adding this symlink requires deleting any content that may already exist
at that path, since prior to r172595 it may have contained either a symlink or an
application bundle.

9:38 AM Changeset in webkit [172626] by cavalcantii@gmail.com
  • 2 edits in trunk/Source/WebCore

Fix typo in Path comment
​https://bugs.webkit.org/show_bug.cgi?id=135960

Reviewed by Alexey Proskuryakov.

No new tests, no change on behavior.

  • platform/graphics/Path.h:
5:35 AM Changeset in webkit [172625] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.5.3

WebKitGTK+ 2.5.3

5:23 AM Changeset in webkit [172624] by Carlos Garcia Campos
  • 4 edits in trunk

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

.:

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

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.5.3.
4:30 AM Changeset in webkit [172623] by Carlos Garcia Campos
  • 2 edits in trunk

[GTK] Disable memory sampler on non-Linux system
​https://bugs.webkit.org/show_bug.cgi?id=134483

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2014-08-15
Reviewed by Philippe Normand.

Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp only works on
Linux because it uses many Linux-specific features, so we should disable
memory sampler on other systems by default.

  • Source/cmake/OptionsGTK.cmake:
2:16 AM Changeset in webkit [172622] by Carlos Garcia Campos
  • 2 edits in trunk

[GTK] HTML API documentation should also be installed versioned
​https://bugs.webkit.org/show_bug.cgi?id=135970

Reviewed by Philippe Normand.

  • Source/PlatformGTK.cmake: Append -${WEBKITGTK_API_VERSION} to

the directory name.

Aug 14, 2014:

9:24 PM Changeset in webkit [172621] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Remove two unused Range functions.
<​https://webkit.org/b/135944>

Reviewed by Geoffrey Garen.

  • dom/Range.cpp:

(WebCore::Range::maxStartOffset): Deleted.
(WebCore::Range::maxEndOffset): Deleted.

  • dom/Range.h:
9:10 PM Changeset in webkit [172620] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Preserve editing style for -webkit-tap-highlight-color on all ports that enable ENABLE_TOUCH_EVENTS
​https://bugs.webkit.org/show_bug.cgi?id=135963

Reviewed by Andy Estes.

Currently we only preserve the CSS property -webkit-tap-highlight-color during editing operations
for iOS. Instead we should preserve it for all ports that enable ENABLE_TOUCH_EVENTS as this CSS
property isn't specific to iOS.

Also added FIXME comment with regards to the CSS property -webkit-composition-fill-color.

  • editing/EditingStyle.cpp:
9:06 PM Changeset in webkit [172619] by benjamin@webkit.org
  • 8 edits
    8 adds in trunk

CSS JIT: compile the :empty pseudo class
​https://bugs.webkit.org/show_bug.cgi?id=135958

Reviewed by Andreas Kling.

Source/WebCore:

Compile :empty, nothing fancy.

Tests: fast/selectors/empty-basics.html

fast/selectors/empty-long-adjacent-backtracking.html
fast/selectors/empty-adjacent-style-update.html
fast/selectors/empty-style-update.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementMatching):
(WebCore::SelectorCompiler::jumpIfElementIsNotEmpty):
(WebCore::SelectorCompiler::setElementStyleIsAffectedByEmpty):
(WebCore::SelectorCompiler::setElementStyleFromContextIsAffectedByEmptyAndUpdateRenderStyleIfNecessary):
(WebCore::SelectorCompiler::setElementStyleIsAffectedByEmptyAndUpdateRenderStyleIfNecessary):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsEmpty):

  • dom/CharacterData.h:

(WebCore::CharacterData::dataMemoryOffset):

  • dom/ContainerNode.h:

(WebCore::ContainerNode::firstChildMemoryOffset):

  • dom/Node.h:

(WebCore::Node::flagIsText):

Source/WTF:

  • wtf/text/StringImpl.h:

(WTF::StringImpl::lengthMemoryOffset):

LayoutTests:

Add some test coverage, :empty had very little testing.

The test empty-adjacent-style-update expose some problems with style update,
I will look into them separately.

  • fast/selectors/empty-adjacent-style-update-expected.txt: Added.
  • fast/selectors/empty-adjacent-style-update.html: Added.
  • fast/selectors/empty-basics-expected.txt: Added.
  • fast/selectors/empty-basics.html: Added.
  • fast/selectors/empty-long-adjacent-backtracking-expected.txt: Added.
  • fast/selectors/empty-long-adjacent-backtracking.html: Added.
  • fast/selectors/empty-style-update-expected.txt: Added.
  • fast/selectors/empty-style-update.html: Added.
8:22 PM Changeset in webkit [172618] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Allocate the whole RegExpMatchesArray backing store up front.
<​https://webkit.org/b/135217>

We were using the generic array backing store allocation path for
RegExpMatchesArray which meant starting with 4 slots and then growing
it dynamically as we append. Since we always know the final number of
entries up front, allocate a perfectly-sized backing store right away.

~2% progression on Octane/regexp.

Reviewed by Geoffrey Garen.

  • runtime/JSArray.h:

(JSC::createArrayButterflyWithExactLength):

  • runtime/RegExpMatchesArray.cpp:

(JSC::RegExpMatchesArray::create):

5:30 PM Changeset in webkit [172617] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Dragging Undocked inspector by window title has broken behavior
​https://bugs.webkit.org/show_bug.cgi?id=135950

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-14
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Main.js:

On Mac ports where we the inspector content goes everywhere, window dragging behavior
still exists for the top 22px of the window. So don't do our JavaScript based window
dragging for this special region.

  • UserInterface/Models/KeyboardShortcut.js:

(WebInspector.KeyboardShortcut.Modifier.get CommandOrControl):
(WebInspector.KeyboardShortcut.prototype.get displayName):
Instead of calling a host function, use the value already in the frontend.

5:21 PM Changeset in webkit [172616] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk/Source/WebCore

Implement scroll snapping animations on Mac
​https://bugs.webkit.org/show_bug.cgi?id=135768

Patch by Wenson Hsieh <Wenson Hsieh> on 2014-08-14
Reviewed by Beth Dakin.

Implementing the scroll snap animations required for snapping in both overflow and mainframe areas on Mac.
Since we receive a series of discrete wheel events, we need to predict the distance we need to traverse,
compute the appropriate snap point, and then compute an animation curve to that location. The snap animations
are split into two types: snapping, which handles letting go of the trackpad with zero velocity, and gliding,
which handles flick gestures. In both cases, sinusoidal curves are used to ease animation to the target
location. In the former case, the initial velocity is low, and increases to a maximum value during the middle
of the animation before decreasing to 0. In the latter case, the curve is computed such that the initial
velocity matches the user's scroll velocity, and the final velocity matches a lower final velocity that is
somewhat arbitrarily computed. (See the FIXME in AxisScrollSnapOffsets::initializeGlideParameters). How the
equations and constants were chosen is described in greater detail in the comments above
AxisScrollSnapOffsets::computeGlideDelta and AxisScrollSnapOffsets::computeSnapDelta. Note that the final
velocity should ideally be equal to 0. However, with this particular curve, this caused the animation to feel
too slow near the snap point.

No tests, since there is no observable change in behavior. Tests will be included when iOS and Mac scrolling
areas hook into this code.

  • PlatformMac.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • page/scrolling/AxisScrollSnapOffsets.cpp:

(WebCore::closestSnapOffset): Computes the closest snap offset given velocity and prdicted destination.

  • page/scrolling/AxisScrollSnapOffsets.h:
  • platform/mac/AxisScrollSnapAnimator.h: Added.

(WebCore::AxisScrollSnapAnimatorClient::~AxisScrollSnapAnimatorClient):

  • platform/mac/AxisScrollSnapAnimator.mm: Added.

(WebCore::toWheelEventStatus): Converts a pair of PlatformWheelEventPhases to a WheelEventStatus.
(WebCore::projectedInertialScrollDistance): Attempts to predict the distance covered by the inertial scrolling phase.
(WebCore::AxisScrollSnapAnimator::AxisScrollSnapAnimator):
(WebCore::AxisScrollSnapAnimator::handleWheelEvent): Updates the internal state of the AxisScrollSnapAnimator, given a PlatformWheelEvent
(WebCore::AxisScrollSnapAnimator::shouldOverrideWheelEvent): Determines whether or not we should override a wheel event given the animator's internal state.
(WebCore::AxisScrollSnapAnimator::scrollSnapAnimationUpdate): Updates a single loop of the scroll snapping animation.
(WebCore::AxisScrollSnapAnimator::beginScrollSnapAnimation):
(WebCore::AxisScrollSnapAnimator::endScrollSnapAnimation):
(WebCore::AxisScrollSnapAnimator::computeSnapDelta): See comments for more information.
(WebCore::AxisScrollSnapAnimator::computeGlideDelta): See comments for more information.
(WebCore::AxisScrollSnapAnimator::initializeGlideParameters):
(WebCore::AxisScrollSnapAnimator::pushInitialWheelDelta):
(WebCore::AxisScrollSnapAnimator::averageInitialWheelDelta):
(WebCore::AxisScrollSnapAnimator::clearInitialWheelDeltaWindow):

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

Web Inspector: Split console toggle button wrong - Images/Images/SplitToggleUp.svg does not exist
​https://bugs.webkit.org/show_bug.cgi?id=135957

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-14
Reviewed by Timothy Hatcher.

  • UserInterface/Views/LogContentView.js:

(WebInspector.LogContentView):
Wrong image path passed to platformImagePath.

4:59 PM Changeset in webkit [172614] by commit-queue@webkit.org
  • 39 edits in trunk/Source

Allow high fidelity type profiling to be enabled and disabled.
​https://bugs.webkit.org/show_bug.cgi?id=135423

Patch by Saam Barati <​sbarati@apple.com> on 2014-08-14
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • Merged op_put_to_scope_with_profile and op_get_from_scope_with_profile into op_profile_types_with_high_fidelity by adding extra arguments to the opcode.
  • Altered SymbolTable to use less memory by adding a rare data structure for type profiling.
  • Created an interface to turn on and off type profiling from the Web Inspector.
  • Refactored how entries are written to HighFidelityLog to make it easier to inline when generating machine code.
  • Implemented op_profile_types_with_high_fidelity in the baseline JIT by inlining the process of writing to the log and doing a small amount of type inference optimizations.
  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::scopeDependentProfile): Deleted.

  • bytecode/CodeBlock.h:
  • bytecode/TypeLocation.h:

(JSC::TypeLocation::TypeLocation):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::emitMove):
(JSC::BytecodeGenerator::emitProfileTypesWithHighFidelity):
(JSC::BytecodeGenerator::emitGetFromScopeWithProfile): Deleted.
(JSC::BytecodeGenerator::emitPutToScopeWithProfile): Deleted.

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:

(JSC::ThisNode::emitBytecode):
(JSC::ResolveNode::emitBytecode):
(JSC::BracketAccessorNode::emitBytecode):
(JSC::DotAccessorNode::emitBytecode):
(JSC::FunctionCallValueNode::emitBytecode):
(JSC::FunctionCallResolveNode::emitBytecode):
(JSC::FunctionCallBracketNode::emitBytecode):
(JSC::FunctionCallDotNode::emitBytecode):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::PostfixNode::emitResolve):
(JSC::PostfixNode::emitBracket):
(JSC::PostfixNode::emitDot):
(JSC::PrefixNode::emitResolve):
(JSC::PrefixNode::emitBracket):
(JSC::PrefixNode::emitDot):
(JSC::ReadModifyResolveNode::emitBytecode):
(JSC::AssignResolveNode::emitBytecode):
(JSC::AssignDotNode::emitBytecode):
(JSC::ReadModifyDotNode::emitBytecode):
(JSC::AssignBracketNode::emitBytecode):
(JSC::ReadModifyBracketNode::emitBytecode):
(JSC::ReturnNode::emitBytecode):
(JSC::FunctionBodyNode::emitBytecode):

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::InspectorRuntimeAgent):
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
(Inspector::TypeRecompiler::operator()):
(Inspector::recompileAllJSFunctionsForTypeProfiling):
(Inspector::InspectorRuntimeAgent::willDestroyFrontendAndBackend):
(Inspector::InspectorRuntimeAgent::enableHighFidelityTypeProfiling):
(Inspector::InspectorRuntimeAgent::disableHighFidelityTypeProfiling):
(Inspector::InspectorRuntimeAgent::setHighFidelityTypeProfilingEnabledState):

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

(Inspector::JSGlobalObjectRuntimeAgent::willDestroyFrontendAndBackend):

  • inspector/protocol/Runtime.json:
  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompile):

  • jit/JIT.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_profile_types_with_high_fidelity):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_profile_types_with_high_fidelity):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::getFromScopeCommon): Deleted.
(JSC::LLInt::putToScopeCommon): Deleted.

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
  • runtime/CodeCache.cpp:

(JSC::CodeCache::getGlobalCodeBlock):

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:
  • runtime/HighFidelityLog.cpp:

(JSC::HighFidelityLog::initializeHighFidelityLog):
(JSC::HighFidelityLog::~HighFidelityLog):
(JSC::HighFidelityLog::processHighFidelityLog):

  • runtime/HighFidelityLog.h:

(JSC::HighFidelityLog::LogEntry::structureIDOffset):
(JSC::HighFidelityLog::LogEntry::valueOffset):
(JSC::HighFidelityLog::LogEntry::locationOffset):
(JSC::HighFidelityLog::recordTypeInformationForLocation):
(JSC::HighFidelityLog::logEndPtr):
(JSC::HighFidelityLog::logStartOffset):
(JSC::HighFidelityLog::currentLogEntryOffset):

  • runtime/HighFidelityTypeProfiler.cpp:

(JSC::HighFidelityTypeProfiler::logTypesForTypeLocation):
(JSC::descriptorMatchesTypeLocation):

  • runtime/HighFidelityTypeProfiler.h:
  • runtime/SymbolTable.cpp:

(JSC::SymbolTable::SymbolTable):
(JSC::SymbolTable::cloneCapturedNames):
(JSC::SymbolTable::prepareForHighFidelityTypeProfiling):
(JSC::SymbolTable::uniqueIDForVariable):
(JSC::SymbolTable::uniqueIDForRegister):
(JSC::SymbolTable::globalTypeSetForRegister):
(JSC::SymbolTable::globalTypeSetForVariable):

  • runtime/SymbolTable.h:

(JSC::SymbolTable::add):
(JSC::SymbolTable::set):

  • runtime/TypeLocationCache.cpp:

(JSC::TypeLocationCache::getTypeLocation):

  • runtime/TypeSet.cpp:

(JSC::TypeSet::getRuntimeTypeForValue):
(JSC::TypeSet::addTypeInformation):
(JSC::TypeSet::allPrimitiveTypeNames):
(JSC::TypeSet::addTypeForValue): Deleted.

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

(JSC::VM::VM):
(JSC::VM::nextTypeLocation):
(JSC::VM::enableHighFidelityTypeProfiling):
(JSC::VM::disableHighFidelityTypeProfiling):
(JSC::VM::dumpHighFidelityProfilingTypes):

  • runtime/VM.h:

(JSC::VM::nextLocation): Deleted.

Source/WebCore:

PageRuntimeAgent and WorkerRuntimeAgent now call their super
class's (InspectorRuntimeAgent) implementation of willDestroyFrontendAndBackend
to give InspectorRuntimeAgent a chance to recompile all JavaScript
functions, if necessary, for type profiling.

  • inspector/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):

  • inspector/WorkerRuntimeAgent.cpp:

(WebCore::WorkerRuntimeAgent::willDestroyFrontendAndBackend):

4:50 PM Changeset in webkit [172613] by Lucas Forschler
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

4:43 PM Changeset in webkit [172612] by Lucas Forschler
  • 1 copy in tags/Safari-600.1.10

New Tag.

3:59 PM Changeset in webkit [172611] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merged r172609. <rdar://problem/18023620>

3:56 PM Changeset in webkit [172610] by Lucas Forschler
  • 5 edits in branches/safari-600.1-branch

Merged r172604. <rdar://problem/18022221>

3:22 PM Changeset in webkit [172609] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Correct build when DerivedSources location not supplied by build environment
​https://bugs.webkit.org/show_bug.cgi?id=135954
<rdar://problem/18023620>

Reviewed by Joseph Pecoraro.

The DerivedSourcesDirectory is not always defined, depending on what
solution is being used to build this project. Instead, just define
it directly, since we already know where it needs to go.

Also:

  1. Stop redirecting the copy output to NUL so I can see if this fails in the future.
  2. Make sure the target directory exists before copying to it.
  • WebCore.vcxproj/copyForwardingHeaders.cmd: Properly specify

the directories for copying the JS file.

2:39 PM Changeset in webkit [172608] by ggaren@apple.com
  • 2 edits in trunk/Source/bmalloc

Fixed a bmalloc crash seen on the EWS bot
​https://bugs.webkit.org/show_bug.cgi?id=135955

Reviewed by Andreas Kling.

  • bmalloc/Syscall.h: Some CG APIs vm_copy their input buffers. If the

input buffer is a malloc region, that region will get marked Copy-On-Write
by the kernel. Calls to madvise() for COW regions fail and return EINVAL
on older OS X's. In 10.10, they still fail, but they do not return
EINVAL.

So, we can only ASSERT that our syscalls succeed starting with 10.10.

2:36 PM Changeset in webkit [172607] by zoltan@webkit.org
  • 2 edits in trunk/Source/WebCore

[CSS3-Text] Cosmetics on RenderBlockFlow::textAlignmentForLine
​https://bugs.webkit.org/show_bug.cgi?id=135940

Reviewed by Darin Adler.

Processing the not CSS3_TEXT case first, and removing an extra whitespace after r172524.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::textAlignmentForLine):

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

Web Inspector: Avoid re-binding the same function over and over
​https://bugs.webkit.org/show_bug.cgi?id=135949

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-14
Reviewed by Timothy Hatcher.

  • UserInterface/Controllers/TimelineManager.js:

(WebInspector.TimelineManager.prototype._startAutoCapturing):
(WebInspector.TimelineManager.prototype._stopAutoRecordingSoon):
(WebInspector.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout):
Stash a bound copy of the function once, and reuse it.

2:17 PM Changeset in webkit [172605] by ggaren@apple.com
  • 2 edits in trunk/Source/bmalloc

Fixed the bmalloc build
​https://bugs.webkit.org/show_bug.cgi?id=135953

Reviewed by Andreas Kling.

  • bmalloc.xcodeproj/project.pbxproj: Marked a few headers as private.

These headers are used, so they must be available outside the project.

2:09 PM Changeset in webkit [172604] by Brent Fulgham
  • 5 edits in trunk

[Win] Extend auto-version and version-stamp for RC_ProjectBuildVersion
​https://bugs.webkit.org/show_bug.cgi?id=135948
<rdar://problem/18022221>

Reviewed by David Kilzer.

Tools:

  • Scripts/webkitperl/auto-version_unittest/autoVersionTests.pl: Add tests

for RC_ProjectBuildVersion.

WebKitLibraries:

  • win/tools/scripts/auto-version.pl:

(splitVersion): Use RC_ProjectBuildVersion (or RC_PROJECTBUILDVERSION) if set
in the environment as the 'Build Version', unless the multi-tuple version
supplied by RC_ProjectSourceVersion already has a fourth component.

  • win/tools/scripts/version-stamp.pl: Check for RC_ProjectBuildVersion and

use it in preference to RC_PROJECTBUILDVERSION.

2:04 PM Changeset in webkit [172603] by mhock@apple.com
  • 3 edits
    3 adds in trunk

IndexedDB should respect SchemeRegistry's database access setting.
​https://bugs.webkit.org/show_bug.cgi?id=135890
<rdar://problem/17989469>

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: storage/indexeddb/open-db-private-browsing.html

  • Modules/indexeddb/IDBFactory.cpp:

LayoutTests:

  • storage/indexeddb/open-db-private-browsing-expected.txt: Added.
  • storage/indexeddb/open-db-private-browsing.html: Added. Simple test to open database in private browsing mode.
  • storage/indexeddb/resources/open-db-private-browsing.js: Added.
1:58 PM Changeset in webkit [172602] by dfarler@apple.com
  • 2 edits in trunk/Tools

[iOS] run-webkit-tests runs webkit-build-directory on every test
​https://bugs.webkit.org/show_bug.cgi?id=135409

Reviewed by Daniel Bates.

  • Scripts/webkitpy/port/ios.py:

(IOSSimulatorPort.init): Cache Mac build directory.
(IOSSimulatorPort.relay_path): Use cached build directory.
(IOSSimulatorPort._path_to_image_diff): Use cached build directory.

1:40 PM Changeset in webkit [172601] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Timelines can get caught in requestAnimationFrame loop when not recording
​https://bugs.webkit.org/show_bug.cgi?id=135946

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-14
Reviewed by Timothy Hatcher.

Each TimelineContentView was listening for the TimelineManager's start/stop
capturing events. However, only the active recording could possibly update.
Likewise, if a pre-existing recording started and stopped we did not properly
stop in the case where we were waiting for an event to update the current time,
which would result in an infinite rAF loop of no updates.

  • UserInterface/Models/TimelineRecording.js:

(WebInspector.TimelineRecording.prototype.unloaded):
When a timeline recording is unloaded trigger an event.

  • UserInterface/Views/TimelineContentView.js:

(WebInspector.TimelineContentView.prototype._startUpdatingCurrentTime):
Assert we were not already waiting.

(WebInspector.TimelineContentView.prototype._stopUpdatingCurrentTime):
Properly handle the case of starting/stoping an already existing recording
without a new event coming in.

(WebInspector.TimelineContentView.prototype._recordingTimesUpdated):
(WebInspector.TimelineContentView.prototype._recordingReset):
Convert to a boolean instead of deleting state.

(WebInspector.TimelineContentView.prototype._recordingUnloaded):
Stop listening to timeline manager events that no longer affect unloaded recordings.

12:46 PM Changeset in webkit [172600] by yoav@yoav.ws
  • 2 edits in trunk/Source/WebCore

srcset with w descriptor doesn't behave as expected when sizes is not supported.
​https://bugs.webkit.org/show_bug.cgi?id=135935

Reviewed by Dean Jackson.

In current implementation, if sizes is not supported, when authors would write
markup such as <img src=fallback.jpg srcset="100px.jpg 100w, 400px.jpg 400w">
the first candidate in srcset would be picked, regardless of its dimensions
That is likely to be confusing for authors.
Dropping these "not yet supported" candidates is likely to be less confusing,
and will result in the "fallback.jpg" candidate being picked.

No new tests since this change only concerns builds that are built
with the PICTURE_SIZES compile flag turned off.

  • html/parser/HTMLSrcsetParser.cpp:

(WebCore::parseDescriptors):
Drop candidates that include either 'w' or 'h' descriptors when the
sizes feature is not supported.

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

Make inherited style and parent renderer references
​https://bugs.webkit.org/show_bug.cgi?id=135857

Reviewed by Andreas Kling.

We don't recurse into non-rendered subtrees anymore so they can't be null.
Also stop using Element::renderStyle() as it differs from e->renderer().style() in
some rare cases (that should be fixed).

  • style/StyleResolveTree.cpp:

(WebCore::Style::RenderTreePosition::parent):
(WebCore::Style::RenderTreePosition::RenderTreePosition):
(WebCore::Style::RenderTreePosition::canInsert):
(WebCore::Style::RenderTreePosition::insert):
(WebCore::Style::RenderTreePosition::computeNextSibling):
(WebCore::Style::shouldCreateRenderer):
(WebCore::Style::styleForElement):
(WebCore::Style::createRendererIfNeeded):
(WebCore::Style::textRendererIsNeeded):
(WebCore::Style::createTextRendererIfNeeded):
(WebCore::Style::updateTextRendererAfterContentChange):
(WebCore::Style::attachChildren):
(WebCore::Style::attachDistributedChildren):
(WebCore::Style::attachShadowRoot):
(WebCore::Style::resetStyleForNonRenderedDescendants):
(WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
(WebCore::Style::attachRenderTree):
(WebCore::Style::resolveLocal):
(WebCore::Style::resolveShadowTree):
(WebCore::Style::updateBeforeOrAfterPseudoElement):
(WebCore::Style::resolveTree):

12:28 PM Changeset in webkit [172598] by oliver@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Update scope resolution to assume that the parent activation is always there
​https://bugs.webkit.org/show_bug.cgi?id=135947

Reviewed by Andreas Kling.

Another incremental step in removing the idea of lazily created
activations.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitResolveClosure):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emitResolveClosure):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
11:54 AM Changeset in webkit [172597] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

[Forms] We should share RenderStyle object for optgroup and option element
​https://bugs.webkit.org/show_bug.cgi?id=88405

Reviewed by Andreas Kling.

We can remove this special case now.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::canShareStyleWithElement):

11:36 AM Changeset in webkit [172596] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

[Services with UI] Selection services don't work inside <iframes>.
​https://bugs.webkit.org/show_bug.cgi?id=135941
<rdar://problem/17957690>

Reviewed by Tim Horton.

Need to map the selection rectangles using the correct FrameView.
When handling the click, we must use the selection from the focused frame.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::buildSelectionHighlight):
(WebKit::ServicesOverlayController::handleClick):

11:17 AM Changeset in webkit [172595] by mrowe@apple.com
  • 6 edits in trunk/Source

<​https://webkit.org/b/135909> Move helper applications out of the root of the framework.

As described in <​https://developer.apple.com/library/mac/technotes/tn2206/>, for bundles containing
a Versions directory there may be no other content at the top level of the bundle other than symlinks.
Upcoming changes to code signing will prevent bundles that violate this rule from being signed.

Reviewed by Sam Weinig.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj: Add the symlink to WebKitPluginHost.app in the Versions/A

directory of the framework rather than at the top level.

Source/WebKit2:

  • Configurations/Base.xcconfig: Define a configuration setting that points to the content directory

of the framework. On OS X this is Versions/A. On iOS, where frameworks are shallow, this is the top level.

  • Configurations/BaseLegacyProcess.xcconfig: Install the legacy processes in the content directory

of the framework.

  • WebKit2.xcodeproj/project.pbxproj: Copy the legacy processes into the content directory of the

framework during engineering builds. Generate symlinks for the legacy processes to their locations
in Versions/Current. This is necessary because -[NSBundle pathForAuxiliaryExecutable:] only looks
at the top level of the framework wrapper.

11:07 AM Changeset in webkit [172594] by oliver@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Create activations eagerly
​https://bugs.webkit.org/show_bug.cgi?id=135942

Reviewed by Geoffrey Garen.

Prepare to rewrite activation objects into a more
sane implementation. Step 1 is reverting to eager
creation of the activation object. This results in
a 1.35x regression in earley, but otherwise has a
minimal performance impact.

The earley regression is being tracked by bug #135943

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitNewFunctionInternal):
(JSC::BytecodeGenerator::emitNewFunctionExpression):
(JSC::BytecodeGenerator::emitCallEval):
(JSC::BytecodeGenerator::emitPushWithScope):
(JSC::BytecodeGenerator::emitPushCatchScope):
(JSC::BytecodeGenerator::createActivationIfNecessary): Deleted.

  • bytecompiler/BytecodeGenerator.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_create_activation):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_create_activation):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
10:59 AM Changeset in webkit [172593] by achristensen@apple.com
  • 1 edit
    1 delete in trunk/Source/WebKit

Unreviewed. Removing empty directories.

  • qt: Removed.
  • qt/declarative: Removed.
  • qt/docs: Removed.
  • qt/docs/webkitsnippets: Removed.
  • qt/examples: Removed.
  • qt/tests: Removed.
  • qt/tests/MIMESniffing: Removed.
  • qt/tests/benchmarks: Removed.
  • qt/tests/qgraphicswebview: Removed.
  • qt/tests/qwebelement: Removed.
  • qt/tests/qwebframe: Removed.
  • qt/tests/qwebhistory: Removed.
  • qt/tests/qwebpage: Removed.
  • qt/tests/qwebsecurityorigin: Removed.
  • qt/tests/qwebview: Removed.
10:52 AM Changeset in webkit [172592] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

WebKit2GTK - WebKitWebProcess assertion fails when dragging and dropping a file into the view
​https://bugs.webkit.org/show_bug.cgi?id=127576

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-08-14
Reviewed by Carlos Garcia Campos.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::performDragControllerAction): Assume read access
to any file that has been dragged into the web view when compiling for
GTK, since we don't support sandbox extensions.

10:49 AM Changeset in webkit [172591] by Antti Koivisto
  • 10 edits in trunk/Source/WebCore

Remove nonRendererStyle
​https://bugs.webkit.org/show_bug.cgi?id=135938

Reviewed by Andreas Kling.

It is used to support styling of non-renderer option elements. We have a better
mechanism for this, Element::computedStyle().

  • dom/Element.cpp:

(WebCore::Element::resetComputedStyle):
(WebCore::Element::willResetComputedStyle):

Add a virtual callback for computed style reset.

  • dom/Element.h:
  • dom/Node.h:

(WebCore::Node::nonRendererStyle): Deleted.

  • dom/NodeRenderStyle.h:

(WebCore::Node::renderStyle):

renderStyle() now always matches renderer()->style()

  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
(WebCore::HTMLOptGroupElement::isFocusable):
(WebCore::HTMLOptGroupElement::didAttachRenderers): Deleted.
(WebCore::HTMLOptGroupElement::willDetachRenderers): Deleted.
(WebCore::HTMLOptGroupElement::updateNonRenderStyle): Deleted.
(WebCore::HTMLOptGroupElement::nonRendererStyle): Deleted.
(WebCore::HTMLOptGroupElement::customStyleForRenderer): Deleted.

  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::isFocusable):

Use computedStyle.

(WebCore::HTMLOptionElement::willResetComputedStyle):
(WebCore::HTMLOptionElement::didAttachRenderers): Deleted.
(WebCore::HTMLOptionElement::willDetachRenderers): Deleted.
(WebCore::HTMLOptionElement::updateNonRenderStyle): Deleted.
(WebCore::HTMLOptionElement::nonRendererStyle): Deleted.
(WebCore::HTMLOptionElement::customStyleForRenderer): Deleted.
(WebCore::HTMLOptionElement::didRecalcStyle): Deleted.

  • html/HTMLOptionElement.h:
  • rendering/RenderMenuList.cpp:

(RenderMenuList::updateOptionsWidth):
(RenderMenuList::setTextFromOption):

Use computedStyle.

9:39 AM Changeset in webkit [172590] by Lucas Forschler
  • 3 edits in branches/safari-600.1-branch/Source/WebCore

Merged r172584. <rdar://problem/18015428>

9:37 AM Changeset in webkit [172589] by Lucas Forschler
  • 1 edit in branches/safari-600.1-branch/Source/WebInspectorUI/UserInterface/Views/DashboardContainerView.css

Merge patch from <rdar://problem/18016176>.

9:27 AM Changeset in webkit [172588] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merged r172506. <rdar://problem/17810998>

9:21 AM Changeset in webkit [172587] by commit-queue@webkit.org
  • 4 edits in trunk

Add support for ppc, ppc64, ppc64le, s390, s390x into the CMake build
​https://bugs.webkit.org/show_bug.cgi?id=135937

Patch by Tomas Popela <​tpopela@redhat.com> on 2014-08-14
Reviewed by Carlos Garcia Campos.

  • CMakeLists.txt:
9:08 AM Changeset in webkit [172586] by zandobersek@gmail.com
  • 3 edits in trunk/Tools

Initialize a separate variable (TestWTF_SOURCES) with the list of files
that are built into the TestWTF executable and move it above the platform-specific
config file inclusion. This makes it possible to add platform-specific files to that
list (e.g. GUniquePtr.cpp for the GTK port).

Rubber-stamped by Carlos Garcia Campos.

  • TestWebKitAPI/CMakeLists.txt:
  • TestWebKitAPI/PlatformGTK.cmake:
9:06 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
8:58 AM Changeset in webkit [172585] by clopez@igalia.com
  • 4 edits
    1 add
    1 delete in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Update expectations with new identified failures and flakiness.
  • platform/gtk/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Rebaseline after r172517.
  • platform/gtk/fast/ruby/ruby/ruby-base-merge-block-children-crash-2-expected.png: Removed. File was in wrong path.
  • platform/gtk/fast/ruby/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Removed. File was in wrong path.
  • platform/gtk/inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt: Rebaseline after r172136.
  • platform/gtk/scrollbars/scrollbar-selectors-expected.txt: Added. Rebaseline after r172220.
8:13 AM Changeset in webkit [172584] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[MSE] Altering the quality of a YouTube video will cause the video to distort and display an error message
​https://bugs.webkit.org/show_bug.cgi?id=135931

Reviewed by Eric Carlson.

When removing samples from the TrackBuffer's sample map, also remove those samples from the
TrackBuffer's decode queue. Otherwise, removed samples may persist in the decode queue and
either break sync-sample dependencies or cause decoding artifacts.

Pull the code which removes samples from a track buffer into its own utility function, and
use this function both from removeCodedFrames(), and also when samples are removed due to
overlapping appends in sourceBufferPrivateDidReceiveSample(). In order to reference
TrackBuffers outside of SourceBuffer (and in the static removeSamplesFromTrackBuffer()
function), make TrackBuffer a public forward declaration.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::removeSamplesFromTrackBuffer):
(WebCore::SourceBuffer::removeCodedFrames):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):

  • Modules/mediasource/SourceBuffer.h:
7:44 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
6:10 AM Changeset in webkit [172583] by Carlos Garcia Campos
  • 3 edits in trunk

[GTK] REGRESSION(r171598, CMake): Introspection files are installed at the wrong path
​https://bugs.webkit.org/show_bug.cgi?id=135934

Reviewed by Gustavo Noronha Silva.

Since r171598 gir files are installed under $datadir/webkitgtk-4.0/gir-1.0/.
The gir files should installed in $datadir/gir-1.0/ together with all other
gir files. We don't need to install introspection files in a versioned
directory because their filenames already contain the binary version. But before
r171598, the files were only installed to the right directory if the
gobject-instrospection pkg-config file was in the same prefix than the one we
wanted to install, because the gir and typelibs directories were extracted from
the pkg-config file. We should define INTROSPECTION_INSTALL_GIRDIR and
INTROSPECTION_INSTALL_TYPELIBDIR in OptionsGTK.cmake based on $datadir and $libdir
like we do in the autotools build.

  • Source/cmake/FindGObjectIntrospection.cmake: Do not define

INTROSPECTION_INSTALL_GIRDIR and INTROSPECTION_INSTALL_TYPELIBDIR.

  • Source/cmake/OptionsGTK.cmake: Define

INTROSPECTION_INSTALL_GIRDIR and INTROSPECTION_INSTALL_TYPELIBDIR.

4:13 AM Changeset in webkit [172582] by mihnea@adobe.com
  • 1 edit
    8 moves
    1 add in trunk/LayoutTests

[CSSRegions] Move svg tests into fast/regions/svg
​https://bugs.webkit.org/show_bug.cgi?id=135883

Reviewed by Andrei Bucur.

Move tests and adjust paths accordingly.

  • fast/regions/svg/svg-doc-fragment-not-collected-expected.html: Renamed from LayoutTests/fast/regions/svg-doc-fragment-not-collected-expected.html.
  • fast/regions/svg/svg-doc-fragment-not-collected.html: Renamed from LayoutTests/fast/regions/svg-doc-fragment-not-collected.html.
  • fast/regions/svg/svg-element-not-collected-expected.html: Renamed from LayoutTests/fast/regions/svg-element-not-collected-expected.html.
  • fast/regions/svg/svg-element-not-collected.html: Renamed from LayoutTests/fast/regions/svg-element-not-collected.html.
  • fast/regions/svg/svg-root-element-collected-expected.txt: Renamed from LayoutTests/fast/regions/svg-root-element-collected-expected.txt.
  • fast/regions/svg/svg-root-element-collected.html: Renamed from LayoutTests/fast/regions/svg-root-element-collected.html.
  • fast/regions/svg/symbol-in-named-flow-crash-expected.txt: Renamed from LayoutTests/fast/regions/symbol-in-named-flow-crash-expected.txt.
  • fast/regions/svg/symbol-in-named-flow-crash.svg: Renamed from LayoutTests/fast/regions/symbol-in-named-flow-crash.svg.
3:31 AM Changeset in webkit [172581] by Carlos Garcia Campos
  • 2 edits in trunk

[GTK] WebKit DOM documentation (webkitdomgtk) not installed after make install
​https://bugs.webkit.org/show_bug.cgi?id=135836

Reviewed by Philippe Normand.

  • Source/PlatformGTK.cmake: Add install command to also install

the GObject DOM bindings API docs.

2:35 AM Changeset in webkit [172580] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

ImageBufferDataCairo.h is missing header guards
​https://bugs.webkit.org/show_bug.cgi?id=135933

Reviewed by Philippe Normand.

  • platform/graphics/cairo/ImageBufferDataCairo.h:

Add the missing head guards to avoid problems when re-inclusion occurs.

2:33 AM Changeset in webkit [172579] by zandobersek@gmail.com
  • 2 edits in trunk

Unreviewed. In r165709 I mistakenly appended the -fno-exceptions
and -fno-strict-aliasing compiler flags to CMAKE_CXX_FLAGS and then
re-set CMAKE_C_FLAGS with the new string. The two flags should really
be appended to CMAKE_C_FLAGS and the same variable re-set with the
new string.

  • Source/cmake/OptionsCommon.cmake:
1:49 AM Changeset in webkit [172578] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix JSC::ARM64Assembler::LinkRecord::RealTypes
​https://bugs.webkit.org/show_bug.cgi?id=135906

Patch by Akos Kiss <​akiss@inf.u-szeged.hu> on 2014-08-14
Reviewed by Michael Saboff.

JSC::ARM64Assembler::LinkRecord::RealTypes::m_compareRegister is defined
to occupy 5 bits but JSC::ARM64Assembler::RegisterID needs 6 bits. So,
increase the size of the bit field and also reorganize the struct to
better align with word boundaries.

  • assembler/ARM64Assembler.h:

Aug 13, 2014:

10:09 PM Changeset in webkit [172577] by dbates@webkit.org
  • 2 edits in trunk/Source/bmalloc

Attempt to fix the build following <​http://trac.webkit.org/changeset/172576>
(​https://bugs.webkit.org/show_bug.cgi?id=135895)

Substitute PerThreadStorage<T>::initSharedKeyIfNeeded() for initSharedKeyIfNeeded() in
implementation of PerThread<T>::getFastCase().

  • bmalloc/PerThread.h:

(bmalloc::PerThread<T>::getFastCase):

10:00 PM Changeset in webkit [172576] by dbates@webkit.org
  • 3 edits in trunk/Source/bmalloc

Make bmalloc::PerThread work without C++ thread local storage
​https://bugs.webkit.org/show_bug.cgi?id=135895

Reviewed by Geoffrey Garen.

Implement support for building bmalloc without C++ thread local storage.

  • bmalloc/BPlatform.h: Remove macro define BPLATFORM_IOS_SIMULATOR. Added macro function

BCOMPILER_SUPPORTS() and macro define BCOMPILER_SUPPORTS_CXX_THREAD_LOCAL that can be used
to determine whether the compiler supports C++ thread local storage.

  • bmalloc/PerThread.h:

(bmalloc::PerThreadStorage::get): Modified to call pthread_getspecific() when building
without C++ thread local storage.
(bmalloc::PerThreadStorage::initSharedKeyIfNeeded): Added.
(bmalloc::PerThreadStorage::init): Moved logic to initialize shared Pthread key from here to
PerThreadStorage::initSharedKeyIfNeeded().
(bmalloc::PerThread<T>::getFastCase): Modified to call PerThreadStorage::initSharedKeyIfNeeded()
before querying PerThreadStorage::get() when building without C++ thread local storage so as to
ensure that the shared key has been initialized.
(_pthread_setspecific_direct): Deleted.
(_pthread_getspecific_direct): Deleted.

9:25 PM Changeset in webkit [172575] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172546. <rdar://problem/17998929>

9:23 PM Changeset in webkit [172574] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172539. <rdar://problem/17998706>

9:21 PM Changeset in webkit [172573] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merged r172538. <rdar://problem/17665229>

9:18 PM Changeset in webkit [172572] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.1-branch

Merged r172534. <rdar://problem/17942035>

9:16 PM Changeset in webkit [172571] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r172533. <rdar://problem/18009039>

9:15 PM Changeset in webkit [172570] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r172531. <rdar://problem/18008775>

9:13 PM Changeset in webkit [172569] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r172530. <rdar://problem/18008584>

9:11 PM Changeset in webkit [172568] by Lucas Forschler
  • 3 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172528. <rdar://problem/17982341>

9:10 PM Changeset in webkit [172567] by Lucas Forschler
  • 3 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r172527. <rdar://problem/17999511>

9:07 PM Changeset in webkit [172566] by Lucas Forschler
  • 9 edits in branches/safari-600.1-branch/Source

Merged r172526. <rdar://problem/18005074>

9:05 PM Changeset in webkit [172565] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r172525. <rdar://problem/17997324>

9:03 PM Changeset in webkit [172564] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r172515. <rdar://problem/17997717>

9:01 PM Changeset in webkit [172563] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172512. <rdar://problem/17982275>

8:59 PM Changeset in webkit [172562] by Lucas Forschler
  • 3 edits in branches/safari-600.1-branch/Source/WebCore

Merged r172507. <rdar://problem/17979262>

8:57 PM Changeset in webkit [172561] by Lucas Forschler
  • 5 edits in branches/safari-600.1-branch/Source

Merged r172501. <rdar://problem/17992795>

8:55 PM Changeset in webkit [172560] by Lucas Forschler
  • 12 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172500. <rdar://problem/17986556>

8:53 PM Changeset in webkit [172559] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172498. <rdar://problem/17996339>

8:49 PM Changeset in webkit [172558] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172497. <rdar://problem/17994679>

8:47 PM Changeset in webkit [172557] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r172488. <rdar://problem/17994473>

8:45 PM Changeset in webkit [172556] by Lucas Forschler
  • 3 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172484. <rdar://problem/17582099>

8:43 PM Changeset in webkit [172555] by Lucas Forschler
  • 7 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172483. r<rdar://problem/17935736>

8:41 PM Changeset in webkit [172554] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172395. <rdar://problem/17837670>

8:38 PM Changeset in webkit [172553] by Lucas Forschler
  • 9 edits in branches/safari-600.1-branch/Source

Merged r172383. <rdar://problem/17971057>

8:19 PM Changeset in webkit [172552] by Lucas Forschler
  • 3 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172382. <rdar://problem/17935736>

8:12 PM Changeset in webkit [172551] by Lucas Forschler
  • 3 edits in branches/safari-600.1-branch/Source/WebInspectorUI/UserInterface/Views

Merge patch for <rdar://problem/17999231>.

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

Add ARM64 support to CMake-based builds
​https://bugs.webkit.org/show_bug.cgi?id=135912

Patch by Akos Kiss <​akiss@inf.u-szeged.hu> on 2014-08-13
Reviewed by Gyuyoung Kim.

This patch ensures that CMake does not fail with Unknown CPU error when
building for ARM64.

  • CMakeLists.txt:
7:52 PM Changeset in webkit [172549] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/Tools

[EFL] Bump up and patch dependencies to allow building for aarch64
​https://bugs.webkit.org/show_bug.cgi?id=135885

Patch by Akos Kiss <​akiss@inf.u-szeged.hu> on 2014-08-13
Reviewed by Gyuyoung Kim.

The currently used versions of pixman, libffi, glib, glib-networking,
and fontconfig fail to configure for aarch64, so they are bumped up to
the latest stable version.

Gstreamer-plugins-base configures for aarch64 but incorrectly recogizes
ARM NEON assembly support, so it is patched with a change that has been
accepted by upstream.

  • efl/jhbuild.modules:
  • efl/patches/gst-prevent-neon-check-in-configure-from-passing-under-aarch64.patch: Added.
6:22 PM Changeset in webkit [172548] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Enable CSS_SCROLL_SNAP for iOS
​https://bugs.webkit.org/show_bug.cgi?id=135915

Turn on CSS_SCROLL_SNAP for iOS and the iOS simulator.

Patch by Wenson Hsieh <Wenson Hsieh> on 2014-08-13
Reviewed by Tim Horton.

  • Configurations/FeatureDefines.xcconfig:
6:13 PM Changeset in webkit [172547] by jonowells@apple.com
  • 1 edit
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: eslint configuration should be stored as .eslintrc
​https://bugs.webkit.org/show_bug.cgi?id=135916

.eslintrc file added to allow for ESLint solutions, within editors and otherwise,
to be automatically configured based on the WebKit JavaScript coding style. The
initial file is incomplete.

Reviewed by Joseph Pecoraro.

  • .eslintrc: Added.
  • External/.eslintrc: Added.
5:39 PM Changeset in webkit [172546] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

[Services with UI] Use a longer delay duration for editable content.
​https://bugs.webkit.org/show_bug.cgi?id=135918
<rdar://problem/17998929>

Reviewed by Tim Horton.

Use a 1 second delay for selections in editable content.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):

5:23 PM Changeset in webkit [172545] by Simon Fraser
  • 2 edits
    1 add in trunk/LayoutTests

Land correct results for compositing/fixed-image-loading.html on WK1 and WK2.

  • compositing/fixed-image-loading-expected.txt:
  • platform/mac-wk2/compositing/fixed-image-loading-expected.txt: Added.
5:23 PM Changeset in webkit [172544] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Missing semicolon after console.assert in TimelineSidebarPanel.js
​https://bugs.webkit.org/show_bug.cgi?id=135917

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/TimelineSidebarPanel.js:
5:16 PM Changeset in webkit [172543] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk/Source/WebCore

Compute and store snap point positions
​https://bugs.webkit.org/show_bug.cgi?id=135268

Patch by Wenson Hsieh <Wenson Hsieh> on 2014-08-13
Reviewed by Simon Fraser.

Working towards implementing a way to extract snap positions (i.e. LayoutUnits) from the parsed snap point properties from CSS,
as well as a way of storing the information. Supports both mainframe and overflow scrolling.

No changes in behavior. I will write tests when I implement snapping for iOS and Mac.

  • WebCore.xcodeproj/project.pbxproj:
  • page/FrameView.cpp:

(WebCore::FrameView::updateSnapOffsets): Invokes the static routine in AxisScrollSnapOffsets to update snap offsets for mainframe.

  • page/FrameView.h:
  • page/scrolling/AxisScrollSnapOffsets.cpp: Added.

(WebCore::appendAndSortChildSnapOffsets):
(WebCore::updateFromStyle):
(WebCore::updateSnapOffsetsForScrollableArea): Update the ScrollableArea's snap axes.

  • page/scrolling/AxisScrollSnapOffsets.h: Added.
  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::setHorizontalSnapOffsets):
(WebCore::ScrollableArea::setVerticalSnapOffsets):
(WebCore::ScrollableArea::clearHorizontalSnapOffsets): Resets the unique_ptr for horizontal snap points.
(WebCore::ScrollableArea::clearVerticalSnapOffsets): Resets the unique_ptr for vertical snap points.

  • platform/ScrollableArea.h:

(WebCore::ScrollableArea::horizontalSnapOffsets): Returns a pointer to the ScrollableArea's horizontal snap points.
(WebCore::ScrollableArea::verticalSnapOffsets): Returns a pointer to the ScrollableArea's vertical snap points.
(WebCore::ScrollableArea::updateSnapOffsets):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateSnapOffsets): Invokes the static routine in AxisScrollSnapOffsets to update snap offsets for an overflow area.

  • rendering/RenderLayer.h:
4:55 PM Changeset in webkit [172542] by mrowe@apple.com
  • 9 edits in trunk

<​https://webkit.org/b/135911> WebKit should build on Yosemite with the public SDK.

Reviewed by Darin Adler.

Source/WebCore:

  • rendering/RenderThemeMac.mm: Fix the forward-declaration of NSServicesRolloverButtonCell.

Source/WebKit/mac:

  • Misc/WebSharingServicePickerController.mm: Forward-declare some details related to NSSharingServicePicker.

Source/WebKit2:

  • Platform/IPC/mac/ImportanceAssertion.h: Forward-declare the new assertion functions we use.
  • UIProcess/mac/WebContextMenuProxyMac.mm: Forward-declare some details related to NSSharingServicePicker.

Tools:

  • DumpRenderTree/mac/TextInputController.m: Don't use extern "C" in a non-C++ file.
4:35 PM Changeset in webkit [172541] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

iOS build fix.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::ensureNetworkProcess):
(WebKit::WebContext::createNewWebProcess):

3:53 PM Changeset in webkit [172540] by achristensen@apple.com
  • 17 edits in trunk

Progress towards CMake on Mac.
​https://bugs.webkit.org/show_bug.cgi?id=135819

Reviewed by Laszlo Gombos.

.:

  • Source/cmake/OptionsMac.cmake:

Disable some more features temporarily to get CMake working.

  • Source/cmake/WebKitMacros.cmake:

Added an extension parameter to GENERATE_BINDINGS to allow ObjC bindings to generate .mm files.

Source/JavaScriptCore:

  • CMakeLists.txt:

Add the remote inspector headers to the forwarding headers list.

Source/WebCore:

  • CMakeLists.txt:

Include derived sources directory, which is needed by Apple ports.
Separated svg and non-svg idls for ObjC bindings.
Don't build the new gamepad API right now. It's causing naming conflicts and it's not done.
Process CSSUnknownRule.idl.

  • PlatformGTK.cmake:

Added cpp as the extension of the generated bindings.

  • PlatformMac.cmake:

Include more directories and sources.
Add forwarding headers.
Generate ObjC bindings.

  • bindings/objc/DOMUIKitExtensions.mm:

Moved config.h to recognize the PLATFORM macro.

  • bindings/scripts/CodeGeneratorObjC.pm:

(ReadPublicInterfaces):
(GenerateInterface):
Added some workarounds for CMake.

  • bindings/scripts/IDLAttributes.txt:

Added missing attribute names.

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

Added PLATFORM(IOS) to protect IOS_AIRPLAY code.

  • platform/mac/PasteboardMac.mm:

Added necessary DRAG_SUPPORT protection.

  • platform/text/mac/TextCodecMac.cpp:

Moved config.h to recognize the PLATFORM macro.

Tools:

  • WebKitTestRunner/CMakeLists.txt:

Added new cpp parameter for the extension of the generated files.

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

Opening Web Inspector causes a large amount of sandbox violations
​https://bugs.webkit.org/show_bug.cgi?id=135908

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-13
Reviewed by Timothy Hatcher.

  • WebProcess/com.apple.WebProcess.sb.in:

Permit the WebContent process to create file read extensions for the
system WebInspectorUI.framework which the Network process can already
read anyways.

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

[MSE] Replacing existing samples with overlapping new samples will cause playback to stutter.
​https://bugs.webkit.org/show_bug.cgi?id=135902

Reviewed by Eric Carlson.

Only mark the TrackBuffer as needing re-enqueueing if the samples removed by overlapping samples
themselves overlap with potentially enqueued but not yet displayed frames.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):

2:39 PM Changeset in webkit [172537] by Simon Fraser
  • 2 edits in trunk/LayoutTests

Fix the test result for MountainLion and Mavericks, which don't composite fixed position.

  • compositing/fixed-image-loading-expected.txt:
2:06 PM Changeset in webkit [172536] by akling@apple.com
  • 20 edits in trunk/Source/WebCore

CSSValueList should never contain null values.
<​https://webkit.org/b/135887>

It's not legal for a CSSValueList to contain null CSSValues, so make
it store a Vector of Ref<CSSValue> internally instead.

This allows the compiler to avoid emitting a number of null checks.
It will also allow a future patch to make CSSValueList vend CSSValue&
instead of CSSValue*.

Most of the patch is fixing up things on their way into a CSSValueList
to not be null at the call site, now that append() and prepend() are
taking PassRef instead of PassRefPtr.

Reviewed by Sam Weinig.

  • css/BasicShapeFunctions.cpp:

(WebCore::valueForBasicShape):

  • css/BasicShapeFunctions.h:
  • css/CSSBorderImage.cpp:

(WebCore::createBorderImageValue):

  • css/CSSBorderImage.h:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForImageSliceSide):
(WebCore::valueForNinePieceImageSlice):
(WebCore::valueForNinePieceImageQuad):
(WebCore::valueForNinePieceImage):
(WebCore::getBorderRadiusShorthandValue):
(WebCore::ComputedStyleExtractor::valueForShadow):
(WebCore::ComputedStyleExtractor::valueForFilter):
(WebCore::specifiedValueForGridTrackSize):
(WebCore::addValuesForNamedGridLinesAtIndex):
(WebCore::scrollSnapCoordinates):
(WebCore::createTimingFunctionValue):
(WebCore::fillSourceTypeToCSSValue):
(WebCore::contentToCSSValue):
(WebCore::shapePropertyValue):
(WebCore::ComputedStyleExtractor::propertyValue):
(WebCore::ComputedStyleExtractor::getCSSPropertyValuesForShorthandProperties):
(WebCore::ComputedStyleExtractor::getCSSPropertyValuesForSidesShorthand):
(WebCore::ComputedStyleExtractor::getCSSPropertyValuesForGridShorthand):
(WebCore::ComputedStyleExtractor::getBackgroundShorthandValue):

  • css/CSSComputedStyleDeclaration.h:
  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::addFontFaceRule):

  • css/CSSParser.cpp:

(WebCore::createPrimitiveValuePair):
(WebCore::parseTranslateTransformValue):
(WebCore::CSSParser::createPrimitiveNumericValue):
(WebCore::CSSParser::createPrimitiveStringValue):
(WebCore::CSSParser::addFillValue):
(WebCore::CSSParser::parseNonElementSnapPoints):
(WebCore::CSSParser::parseScrollSnapDestination):
(WebCore::CSSParser::parseFillShorthand):
(WebCore::CSSParser::addAnimationValue):
(WebCore::CSSParser::parseAnimationShorthand):
(WebCore::CSSParser::parseTransitionShorthand):
(WebCore::CSSParser::parseQuotes):
(WebCore::CSSParser::parseContent):
(WebCore::CSSParser::parseFillProperty):
(WebCore::CSSParser::parseAnimationProperty):
(WebCore::CSSParser::parseGridPosition):
(WebCore::CSSParser::parseGridTemplateRowsAndAreas):
(WebCore::CSSParser::parseGridLineNames):
(WebCore::CSSParser::parseGridTrackList):
(WebCore::CSSParser::parseGridTrackRepeatFunction):
(WebCore::CSSParser::parseGridTrackSize):
(WebCore::CSSParser::parseBasicShapeAndOrBox):
(WebCore::CSSParser::parseFontVariant):
(WebCore::CSSParser::parseTransform):
(WebCore::CSSParser::parseBuiltinFilterArguments):
(WebCore::CSSParser::parseFilter):
(WebCore::CSSParser::parseTextEmphasisStyle):

  • css/CSSParser.h:
  • css/CSSProperty.cpp:

(WebCore::CSSProperty::wrapValueInCommaSeparatedList):

  • css/CSSValueList.cpp:

(WebCore::CSSValueList::CSSValueList):
(WebCore::CSSValueList::removeAll):
(WebCore::CSSValueList::hasValue):
(WebCore::CSSValueList::copy):
(WebCore::CSSValueList::customCSSText):
(WebCore::CSSValueList::equals):
(WebCore::CSSValueList::addSubresourceStyleURLs):
(WebCore::CSSValueList::hasFailedOrCanceledSubresources):

  • css/CSSValueList.h:

(WebCore::CSSValueList::item):
(WebCore::CSSValueList::itemWithoutBoundsCheck):
(WebCore::CSSValueList::append):
(WebCore::CSSValueList::prepend):

  • css/SVGCSSComputedStyleDeclaration.cpp:

(WebCore::paintOrder):

  • css/SVGCSSParser.cpp:

(WebCore::CSSParser::parsePaintOrder):

  • editing/EditingStyle.cpp:

(WebCore::mergeTextDecorationValues):

  • editing/EditorCommand.cpp:

(WebCore::executeToggleStyleInList):

  • svg/SVGFontFaceSrcElement.cpp:

(WebCore::SVGFontFaceSrcElement::srcValue):

  • svg/SVGLength.cpp:

(WebCore::SVGLength::toCSSPrimitiveValue):

  • svg/SVGLength.h:
1:31 PM Changeset in webkit [172535] by achristensen@apple.com
  • 1 edit
    2 deletes in trunk/Source/WebCore

Removed dead plugins code.
​https://bugs.webkit.org/show_bug.cgi?id=135862

Reviewed by Alexey Proskuryakov.

  • plugins/PluginDataNone.cpp: Removed.
  • plugins/mac: Removed.
  • plugins/mac/PluginPackageMac.cpp: Removed.
  • plugins/mac/PluginViewMac.mm: Removed.
1:21 PM Changeset in webkit [172534] by Simon Fraser
  • 3 edits
    2 adds in trunk

[WK1] A fixed-position <img> may not show on page load
​https://bugs.webkit.org/show_bug.cgi?id=135893

Reviewed by Tim Horton.

Source/WebCore:

A position:fixed image could fail to display because we didn't make a
compositing layer for it under some circumstances. This can happen if
RenderLayerCompositor::requiresCompositingForPosition() runs before the
image is loaded, in which cause the layer is zero-sized, so does not get
composited.

When the image loads, there was no code path that ensured that compositing
would be re-evaluated (unlike size changes due to style updates). Fix by
having RenderLayer::contentChanged() also check for ImageChanged.

Test: compositing/fixed-image-loading.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::contentChanged):

LayoutTests:

Test with a position:fixed image. Note that the test has to force layout
early on to test the bug.

  • compositing/fixed-image-loading-expected.txt: Added.
  • compositing/fixed-image-loading.html: Added.
1:14 PM Changeset in webkit [172533] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Inline DataGrid inside details sidebar has double thick top border with legacy styles
​https://bugs.webkit.org/show_bug.cgi?id=135894

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-13
Reviewed by Timothy Hatcher.

  • UserInterface/Views/DetailsSection.css:

(body.mac-platform.legacy .details-section:not(.collapsed) .data-grid.inline):
In legacy styles the details-section header always has a 1px bottom border.
In all styles, an inline data grid had a 1px border everywhere. So, handle
this specific case by removing the top border of an inline data grid
that is inside an expanded details section.

12:43 PM Changeset in webkit [172532] by dbates@webkit.org
  • 8 edits in trunk/Source

[iOS] Make JavaScriptCore and bmalloc build with the public SDK
​https://bugs.webkit.org/show_bug.cgi?id=135848

Reviewed by Geoffrey Garen.

Source/bmalloc:

  • bmalloc/BPlatform.h: Added macro BPLATFORM_IOS_SIMULATOR, which evaluates to true

when building for the iOS Simulator.

  • bmalloc/PerThread.h: Use pthread_machdep.h code path when building for iOS Simulator

using the public SDK.
(_pthread_setspecific_direct): Added; only defined when building for the iOS Simulator
using the public SDK.
(_pthread_getspecific_direct): Added; only defined when building for the iOS Simulator
using the public SDK.

Source/JavaScriptCore:

  • API/JSBase.h: Declare NSMap functions with external linkage when building for iOS without the

header <Foundation/NSMapTablePriv.h>.

  • inspector/remote/RemoteInspector.mm: Define XPC functions with external linkage when building

without the system header <xpc/xpc.h>.

  • inspector/remote/RemoteInspectorXPCConnection.h: Define xpc_connection_t and xpc_object_t when building

without the system header <xpc/xpc.h>.

  • inspector/remote/RemoteInspectorXPCConnection.mm: Declare XPC functions with external linkage when

building without without the system header <xpc/xpc.h>.
(Inspector::RemoteInspectorXPCConnection::closeOnQueue): Fix code style; use nullptr instead of NULL.
(Inspector::RemoteInspectorXPCConnection::sendMessage): Ditto.

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

Web Inspector: "No Filter Results" view only shows once, does not show again
​https://bugs.webkit.org/show_bug.cgi?id=135892

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-13
Reviewed by Timothy Hatcher.

  • UserInterface/Views/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
We were checking at the wrong level for a parent. Check if the root
placeholder element has a parent or not.

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

Web Inspector: Incorrect border colors in event listeners sections in details sidebar
​https://bugs.webkit.org/show_bug.cgi?id=135891

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-13
Reviewed by Timothy Hatcher.

  • UserInterface/Views/DetailsSection.css:

(.details-section .details-section > .header):
(.details-section .details-section:not(.collapsed) > .header):
Remove box-shadow and replace with a bottom border.

(body.mac-platform.legacy .details-section .details-section.collapsed > .header):
(.details-section .details-section.collaspsed > .header): Deleted.
Collapsed was spelled incorrectly so this was not applying properly before.
But correct this for legacy because legacy still uses a box-shadow.

12:05 PM Changeset in webkit [172529] by Bem Jones-Bey
  • 5 edits in trunk/Source/WebCore

Refactor ShapeOutsideInfo so it isn't mutated for each line
​https://bugs.webkit.org/show_bug.cgi?id=135781

Reviewed by Zoltan Horvath.

Encapsulate the per line state into a ShapeOutsideDeltas object.
updateDeltasForContainingBlockLine has been renamed to
computeDeltasForContainingBlockLine, and it returns an instance of the
ShapeOutsideDeltas object for that line. This object is cached, but
none of the functionality of ShapeOutsideInfo is dependant on any line
specific data anymore.

No new tests, no behavior change.

  • rendering/FloatingObjects.cpp:

(WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):

Update to take a FloatingObject reference because the FloatingObject cannot be null.

(WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):

Ditto.

(WebCore::ComputeFloatOffsetAdapter<FloatTypeValue>::collectIfNeeded): Pass FloatingObject to

updateOffsetIfNeeded as a reference, since it cannot be null.

(WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):

Use ShapeOutsideDeltas object to calculate the offset and take the FloatingObject as a
reference.

(WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):

Ditto.

(WebCore::shapeInfoForFloat): Deleted.

  • rendering/line/LineWidth.cpp:

(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Update to use ShapeOutsideDeltas object.

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::computeDeltasForContainingBlockLine): Return a ShaoeOutsideDeltas object

instead of storing line specific data in instance variables.

(WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine): Deleted.

  • rendering/shapes/ShapeOutsideInfo.h:
12:03 PM Changeset in webkit [172528] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Avoid making new active service overlay highlights while the mouse is down
​https://bugs.webkit.org/show_bug.cgi?id=135872
<rdar://problem/17982341>

Reviewed by Enrica Casucci.

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

(WebKit::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
(WebKit::ServicesOverlayController::mouseEvent):
If the mouse is pressed or it's been less than 200ms since the mouse went up,
don't allow the highlight to change. We apply the mouse-is-pressed rule to telephone
number highlights as well, unlike the rest of the hysteresis logic.

12:00 PM Changeset in webkit [172527] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Timeline Close buttons can use polish for new and legacy styles
​https://bugs.webkit.org/show_bug.cgi?id=135870

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-13
Reviewed by Timothy Hatcher.

  • UserInterface/Images/Legacy/Close.svg:

Ensure this has fill colors in tree selections.

  • UserInterface/Views/TimelineSidebarPanel.css:

(.sidebar > .panel.navigation.timeline > .timelines-content .close-button):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .timelines-content .close-button):
(body.mac-platform.legacy .sidebar > .panel.navigation.timeline > .content .item > .status > .status-button):
Size the close-button for the top overviews differently in new styles (14x14) and legacy (12x12).

11:58 AM Changeset in webkit [172526] by timothy@apple.com
  • 9 edits in trunk/Source

Web Inspector: Workaround a NSWindow change to the title bar.
​https://bugs.webkit.org/show_bug.cgi?id=135880

Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

  • UserInterface/Base/Main.js:

(WebInspector._updateToolbarHeight): Don't call in legacy mode.

  • UserInterface/Views/DashboardContainerView.css:

(.toolbar .dashboard-container):
(.toolbar .dashboard):
Drive-by fix some errant drop-shadows. The transparent border was pushing the inset top
drop shadow down when it shouldn't. Remove duplicate background and shadow.

  • UserInterface/Views/Main.css:

(body): Set the background white, never needs to be transparent now.
(body.mac-platform.legacy:not(.docked)): Set background to transparent when not docked in legacy.
(body.docked.bottom): Update border color.
(body.docked.right): Ditto.
(body.docked.bottom.mac-platform.legacy): Keep old border color.
(body.docked.right.mac-platform.legacy): Ditto.

  • UserInterface/Views/Toolbar.css:

(.toolbar): Set a default border and background gradient.
(body.window-inactive .toolbar): No gradient but use a solid color when inactive.
(body.mac-platform:not(.legacy):not(.docked) .toolbar): Padding on the top for the title bar.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-and-label-vertical): Account for title bar height.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-and-label-vertical.small-size): Ditto.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.icon-only): Ditto.
(body.mac-platform:not(.legacy):not(.docked) .toolbar.label-only): Ditto.
(body.mac-platform.legacy .toolbar): No inset shadow in legacy when not docked.
(body.mac-platform.legacy.docked .toolbar): Restore legacy border color.
(body.mac-platform.legacy:not(.docked) .toolbar .item.button > .label): Only disable sub-pixel antialiasing on legacy!
(body.mac-platform.legacy.window-inactive .toolbar): Restore legacy border color.

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorFrontendClient::setToolbarHeight): Only call setContentBorderThickness: on 10.9 and earlier.
(-[WebInspectorWindowController init]): Only call setDrawsBackground: on 10.9 and earlier.
(-[WebInspectorWindowController window]): Set titlebarAppearsTransparent on 10.10.
Only call border thickness APIs on 10.9 and earlier.

Source/WebKit2:

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::createInspectorWindow): Set titlebarAppearsTransparent on 10.10.
Only call border thickness APIs on 10.9 and earlier.
(WebKit::WebInspectorProxy::platformCreateInspectorPage): Only call setDrawsBackground: on 10.9 and earlier.
(WebKit::WebInspectorProxy::platformSetToolbarHeight): Only call setContentBorderThickness: on 10.9 and earlier.

11:51 AM Changeset in webkit [172525] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Restore Helvetica as the dashboard font in legacy mode
​https://bugs.webkit.org/show_bug.cgi?id=135886

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/DefaultDashboardView.css:

(body.mac-platform.legacy .toolbar .dashboard.default > .item):

11:00 AM Changeset in webkit [172524] by zoltan@webkit.org
  • 4 edits
    2 adds in trunk

[CSS3-Text] Add rendering support for the none value of text-justify property
​https://bugs.webkit.org/show_bug.cgi?id=135349

Reviewed by David Hyatt.

Source/WebCore:

Spec: ​http://dev.w3.org/csswg/css-text-3/#valdef-text-justify.none

Test: fast/css3-text/css3-text-justify/text-justify-none.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::computeInlineDirectionPositionsForSegment):

LayoutTests:

  • fast/css3-text/css3-text-justify/text-justify-none-expected.html: Added.
  • fast/css3-text/css3-text-justify/text-justify-none.html: Added.
  • platform/mac/TestExpectations:
10:24 AM Changeset in webkit [172523] by eric.carlson@apple.com
  • 6 edits
    2 adds in trunk

Media document sends incorrect referer header
​https://bugs.webkit.org/show_bug.cgi?id=135839

Reviewed by Jer Noble.

Source/WebCore:

Test: http/tests/media/media-document-referer.html

  • html/MediaDocument.cpp:

(WebCore::MediaDocumentParser::MediaDocumentParser): Stash referrer.
(WebCore::MediaDocumentParser::createDocumentStructure): Set outgoing referrer.
(WebCore::MediaDocument::MediaDocument): Stash referrer.

  • html/MediaDocument.h:

LayoutTests:

  • http/tests/media/media-document-referer-expected.txt: Added.
  • http/tests/media/media-document-referer.html: Added.
  • http/tests/media/resources/video-referer-check-referer.php: Take expected referer as a

parameter instead of hard coding it.

  • http/tests/media/video-referer.html: Pass referer to loader script.
8:45 AM Changeset in webkit [172522] by mihnea@adobe.com
  • 2 edits
    50 moves
    1 add in trunk/LayoutTests

[CSSRegions] Move scrolling tests under fast/regions/scrolling
​https://bugs.webkit.org/show_bug.cgi?id=135881

Reviewed by Andrei Bucur.

  • fast/regions/scrolling/scroll-into-view-expected.html: Renamed from LayoutTests/fast/regions/scroll-into-view-expected.html.
  • fast/regions/scrolling/scroll-into-view-relative-expected.html: Renamed from LayoutTests/fast/regions/scroll-into-view-relative-expected.html.
  • fast/regions/scrolling/scroll-into-view-relative.html: Renamed from LayoutTests/fast/regions/scroll-into-view-relative.html.
  • fast/regions/scrolling/scroll-into-view.html: Renamed from LayoutTests/fast/regions/scroll-into-view.html.
  • fast/regions/scrolling/scrollable-first-region-expected.html: Renamed from LayoutTests/fast/regions/scrollable-first-region-expected.html.
  • fast/regions/scrolling/scrollable-first-region.html: Renamed from LayoutTests/fast/regions/scrollable-first-region.html.
  • fast/regions/scrolling/scrollable-last-region-expected.html: Renamed from LayoutTests/fast/regions/scrollable-last-region-expected.html.
  • fast/regions/scrolling/scrollable-last-region.html: Renamed from LayoutTests/fast/regions/scrollable-last-region.html.
  • fast/regions/scrolling/scrollable-paragraph-unsplittable-expected.html: Renamed from LayoutTests/fast/regions/scrollable-paragraph-unsplittable-expected.html.
  • fast/regions/scrolling/scrollable-paragraph-unsplittable.html: Renamed from LayoutTests/fast/regions/scrollable-paragraph-unsplittable.html.
  • fast/regions/scrolling/scrollable-region-content-size-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-expected.html.
  • fast/regions/scrolling/scrollable-region-content-size-horiz-bt-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-horiz-bt-expected.html.
  • fast/regions/scrolling/scrollable-region-content-size-horiz-bt.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-horiz-bt.html.
  • fast/regions/scrolling/scrollable-region-content-size-no-overflow-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-no-overflow-expected.html.
  • fast/regions/scrolling/scrollable-region-content-size-no-overflow-horiz-bt-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-no-overflow-horiz-bt-expected.html.
  • fast/regions/scrolling/scrollable-region-content-size-no-overflow-horiz-bt.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-no-overflow-horiz-bt.html.
  • fast/regions/scrolling/scrollable-region-content-size-no-overflow-vert-rl-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-no-overflow-vert-rl-expected.html.
  • fast/regions/scrolling/scrollable-region-content-size-no-overflow-vert-rl.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-no-overflow-vert-rl.html.
  • fast/regions/scrolling/scrollable-region-content-size-no-overflow.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-no-overflow.html.
  • fast/regions/scrolling/scrollable-region-content-size-relative-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-relative-expected.html.
  • fast/regions/scrolling/scrollable-region-content-size-relative.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-relative.html.
  • fast/regions/scrolling/scrollable-region-content-size-vert-rl-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-vert-rl-expected.html.
  • fast/regions/scrolling/scrollable-region-content-size-vert-rl.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-vert-rl.html.
  • fast/regions/scrolling/scrollable-region-content-size-vertical-lr-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-vertical-lr-expected.html.
  • fast/regions/scrolling/scrollable-region-content-size-vertical-lr.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size-vertical-lr.html.
  • fast/regions/scrolling/scrollable-region-content-size.html: Renamed from LayoutTests/fast/regions/scrollable-region-content-size.html.
  • fast/regions/scrolling/scrollable-region-scrollable-absolute-content-background-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-scrollable-absolute-content-background-expected.html.
  • fast/regions/scrolling/scrollable-region-scrollable-absolute-content-background.html: Renamed from LayoutTests/fast/regions/scrollable-region-scrollable-absolute-content-background.html.
  • fast/regions/scrolling/scrollable-region-scrollable-content-background-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-scrollable-content-background-expected.html.
  • fast/regions/scrolling/scrollable-region-scrollable-content-background.html: Renamed from LayoutTests/fast/regions/scrollable-region-scrollable-content-background.html.
  • fast/regions/scrolling/scrollable-region-scrollable-content-expected.html: Renamed from LayoutTests/fast/regions/scrollable-region-scrollable-content-expected.html.
  • fast/regions/scrolling/scrollable-region-scrollable-content.html: Renamed from LayoutTests/fast/regions/scrollable-region-scrollable-content.html.
  • fast/regions/scrolling/scrollable-regions-hit-testing-inside-expected.html: Renamed from LayoutTests/fast/regions/scrollable-regions-hit-testing-inside-expected.html.
  • fast/regions/scrolling/scrollable-regions-hit-testing-inside.html: Renamed from LayoutTests/fast/regions/scrollable-regions-hit-testing-inside.html.
  • fast/regions/scrolling/scrollable-single-region-bt-expected.html: Renamed from LayoutTests/fast/regions/scrollable-single-region-bt-expected.html.
  • fast/regions/scrolling/scrollable-single-region-bt.html: Renamed from LayoutTests/fast/regions/scrollable-single-region-bt.html.
  • fast/regions/scrolling/scrollable-single-region-expected.html: Renamed from LayoutTests/fast/regions/scrollable-single-region-expected.html.
  • fast/regions/scrolling/scrollable-single-region-lr-expected.html: Renamed from LayoutTests/fast/regions/scrollable-single-region-lr-expected.html.
  • fast/regions/scrolling/scrollable-single-region-lr.html: Renamed from LayoutTests/fast/regions/scrollable-single-region-lr.html.
  • fast/regions/scrolling/scrollable-single-region-relative-element-expected.html: Renamed from LayoutTests/fast/regions/scrollable-single-region-relative-element-expected.html.
  • fast/regions/scrolling/scrollable-single-region-relative-element.html: Renamed from LayoutTests/fast/regions/scrollable-single-region-relative-element.html.
  • fast/regions/scrolling/scrollable-single-region-rl-expected.html: Renamed from LayoutTests/fast/regions/scrollable-single-region-rl-expected.html.
  • fast/regions/scrolling/scrollable-single-region-rl.html: Renamed from LayoutTests/fast/regions/scrollable-single-region-rl.html.
  • fast/regions/scrolling/scrollable-single-region.html: Renamed from LayoutTests/fast/regions/scrollable-single-region.html.
  • fast/regions/scrolling/wheel-scroll-abspos-expected.html: Renamed from LayoutTests/fast/regions/wheel-scroll-abspos-expected.html.
  • fast/regions/scrolling/wheel-scroll-abspos.html: Renamed from LayoutTests/fast/regions/wheel-scroll-abspos.html.
  • fast/regions/scrolling/wheel-scroll-expected.html: Renamed from LayoutTests/fast/regions/wheel-scroll-expected.html.
  • fast/regions/scrolling/wheel-scroll.html: Renamed from LayoutTests/fast/regions/wheel-scroll.html.
  • fast/regions/scrolling/wheel-scrollable-single-region-expected.html: Renamed from LayoutTests/fast/regions/wheel-scrollable-single-region-expected.html.
  • fast/regions/scrolling/wheel-scrollable-single-region.html: Renamed from LayoutTests/fast/regions/wheel-scrollable-single-region.html.
  • platform/gtk/TestExpectations: Fix path for previously moved tests.
7:31 AM Changeset in webkit [172521] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/Tools

Make check-webkit-style run sort-export-file
​https://bugs.webkit.org/show_bug.cgi?id=135877

Patch by Renato Nagy <​nagy.renato@stud.u-szeged.hu> on 2014-08-13
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/style/checker.py:

(_all_categories):
(FileType):
(CheckerDispatcher._file_type):
(CheckerDispatcher._create_checker):

  • Scripts/webkitpy/style/checkers/exportfile.py: Added.

(ExportFileChecker):
(ExportFileChecker.init):
(ExportFileChecker.check):

  • Scripts/webkitpy/style/checkers/exportfile_unittest.py: Added.

(handle_style_error):
(MockErrorHandler):
(MockErrorHandler.init):
(MockErrorHandler.turn_off_line_filtering):
(MockErrorHandler.call):
(ExportFileTest):
(ExportFileTest.setUp):
(ExportFileTest.tearDown):
(ExportFileTest.test_sorted):
(ExportFileTest.test_non_sorted):
(ExportFileTest.test_parse_error):

6:12 AM Changeset in webkit [172520] by ryuan.choi@samsung.com
  • 7 edits in trunk/Source/WebKit2

[EFL] Add API to set application name for the user agent
​https://bugs.webkit.org/show_bug.cgi?id=135640

Reviewed by Gyuyoung Kim.

Add ewk_application_name_for_user_agent_set to make default user agent string
with application name which application passes.
It's useful for application to set only application information without knowledge
of legacy user agent components.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::EwkView):
(EwkView::setApplicationNameForUserAgent):

  • UIProcess/API/efl/EwkView.h:

(EwkView::applicationNameForUserAgent):

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_application_name_for_user_agent_set):
(ewk_view_application_name_for_user_agent_get):

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(TEST_F):

  • UIProcess/efl/WebPageProxyEfl.cpp:

(WebKit::WebPageProxy::standardUserAgent):

5:10 AM Changeset in webkit [172519] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Tools

[EFL] Sets the persistent storage for cookies in MiniBrowser
​https://bugs.webkit.org/show_bug.cgi?id=135875

Reviewed by Gyuyoung Kim.

In case of EWK_COOKIE_ACCEPT_POLICY_ALWAYS, sets the persistent storage
for non-session cookies can be stored persistently.

  • MiniBrowser/efl/main.c:

(elm_main):

4:41 AM EFLWebKit edited by gyuyoung.kim@samsung.com
(diff)
4:38 AM EFLWebKitBuildBots edited by gyuyoung.kim@samsung.com
(diff)
4:36 AM EFLWebKitBuildBots edited by gyuyoung.kim@samsung.com
(diff)
4:20 AM Changeset in webkit [172518] by Antti Koivisto
  • 3 edits in trunk/LayoutTests

Don't recurse into non-rendered subtrees when computing style
​https://bugs.webkit.org/show_bug.cgi?id=135844

Reviewed by Andreas Kling.

Rebase.

  • http/tests/security/video-poster-cross-origin-crash-expected.txt:
  • platform/mac/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt:
3:13 AM Changeset in webkit [172517] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Don't recurse into non-rendered subtrees when computing style
​https://bugs.webkit.org/show_bug.cgi?id=135844

Reviewed by Andreas Kling.

  • style/StyleResolveTree.cpp:

(WebCore::Style::resetStyleForNonRenderedDescendants):

Do a simple reset of the style dirty bits and any computed style in non-renderer subtrees.

(WebCore::Style::attachRenderTree):
(WebCore::Style::resolveTree):

Don't recurse into descendants if the element does not create a renderer.
We didn't compute style anyway in such subtrees.

Aug 12, 2014:

11:44 PM Changeset in webkit [172516] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[CMAKE] WebProcess shouldn't need to explicitly link to JavaScriptCore and WebCore
​https://bugs.webkit.org/show_bug.cgi?id=135832

Reviewed by Gyuyoung Kim.

Linking to WebKit2 should be enough, like Network and Plugin processes.

  • CMakeLists.txt:
9:15 PM Changeset in webkit [172515] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Timeline record content view close button does not work after scrolling, invisible scrollbar
​https://bugs.webkit.org/show_bug.cgi?id=135863

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-12
Reviewed by Timothy Hatcher.

A workaround is to not have position:relative content inside of
scrollable region. Turns out this was only done in two places,
and I do not see any absolutely positioned content in navigation
sidebar content tree outlines. This also fixes clicking on the
reload button if you've scrolled the Resources sidebar.

  • UserInterface/Views/NavigationSidebarPanel.css:

(.navigation-sidebar-panel-content-tree-outline .children): Deleted.
(.navigation-sidebar-panel-content-tree-outline .item): Deleted.

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

Web Inspector: Remove unused variable in Platform.js
​https://bugs.webkit.org/show_bug.cgi?id=135869

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-12
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Platform.js:
8:53 PM Changeset in webkit [172513] by mmaxfield@apple.com
  • 7 edits
    2 adds in trunk

Elements whose contents start with an astral Unicode symbol disappear when CSS ::first-letter is applied to them
​https://bugs.webkit.org/show_bug.cgi?id=135756

Reviewed by Darin Adler.

Source/WebCore:

The previous code assumed that all "characters" are exactly 1 16-bit code unit wide. Instead, use numCharactersInGraphemeClusters().

This patch also modifies the signature of numCharactersInGraphemeClusters() to take a StringView instead
of a string, which will avoid a copy.

Test: css1/pseudo/firstletter-surrogate.html

  • platform/text/TextBreakIterator.cpp:

(WebCore::numCharactersInGraphemeClusters): Update numCharactersInGraphemeClusters() to take a StringView.

  • platform/text/TextBreakIterator.h: Ditto.
  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::createFirstLetterRenderer): Use numCharactersInGraphemeClusters() to determine the length
of the first letter, rather than assuming it has length of 1 code unit
(WebCore::RenderBlock::updateFirstLetter): Add a FIXME comment.

Source/WTF:

Add a method to StringView which passes through contains() to find().

  • wtf/text/StringView.h:

(WTF::StringView::contains):

LayoutTests:

Make sure the pseudoclass matches manually wrapping a <span> around the character.

  • css1/pseudo/firstletter-surrogate-expected.html: Added.
  • css1/pseudo/firstletter-surrogate.html: Added.
8:02 PM Changeset in webkit [172512] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Document-relative page overlays drop some mouse events with non-zero top content inset
​https://bugs.webkit.org/show_bug.cgi?id=135871
<rdar://problem/17982275>

Reviewed by Beth Dakin.

  • WebProcess/WebPage/PageOverlay.cpp:

(WebKit::PageOverlay::mouseEvent):
Convert the mouse position into document-relative coordinates; the bounds()
already are! This way, we can actually compare them without being wrong sometimes.

7:35 PM Changeset in webkit [172511] by dbates@webkit.org
  • 2 edits in trunk/Tools

[iOS] build-webkit should not build WebKitSystemInterface and WebKitAdditions
​https://bugs.webkit.org/show_bug.cgi?id=135845

Reviewed by Andy Estes.

Towards building the iOS WebKit port using the public SDK, remove the logic
added to build-webkit to build projects WebKitSystemInterface and
WebKitAdditions when building the iOS WebKit port.

  • Scripts/build-webkit:
7:33 PM Changeset in webkit [172510] by dbates@webkit.org
  • 2 edits in trunk/Source/bmalloc

BPLATFORM(IOS) always evaluates to false
​https://bugs.webkit.org/show_bug.cgi?id=135843

Reviewed by Geoffrey Garen.

Fix typo in definition of BPLATFORM() and include system header TargetConditionals.h
(when building on an Apple platform) so that BPLATFORM(X) evaluates to true when
building for platform X. In particular, so that BPLATFORM(IOS) evaluates to true when
building for iOS.

As a side effect of this change, the change made in <​http://trac.webkit.org/changeset/167289>
will be honored and iOS will assume a VM page size of 16kB (again) instead of 4kB.

  • bmalloc/BPlatform.h:
5:13 PM Changeset in webkit [172509] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix after r172504

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add missing

symbol exports.

4:45 PM Changeset in webkit [172508] by psolanki@apple.com
  • 2 edits in trunk/Source/WTF

Enable didReceiveDataArray callback on Mac
​https://bugs.webkit.org/show_bug.cgi?id=135554
<rdar://problem/9170731>

Reviewed by Andreas Kling.

Enable WTF_USE_NETWORK_CFDATA_ARRAY_CALLBACK for all Cocoa platforms so that we use the same
code path for Mac and iOS.

  • wtf/Platform.h:
4:40 PM Changeset in webkit [172507] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[MSE][Mac] Seeking to the very beginning of a buffered range stalls video playback
​https://bugs.webkit.org/show_bug.cgi?id=135865

Reviewed by Eric Carlson.

AVSampleBufferRenderSynchronizer will report a current time of about 100ms or so before
the destination seek time when seeking. It does this in order to pre-roll the synchronized
audio renderer, but this can lead to playback stalling when MediaSource::monitorSourceBuffers()
looks at the media element's current time and determines that the current time is 100ms before
any buffered samples.

Clamp the value of currentMediaTime() to, at a minimum, the last requested seek time. This was
the suggested course of action from <rdar://problem/17789374>.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationDouble):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentMediaTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):

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

[MSE] YouTube will lose audio, video after seeking backwards to an unbuffered range.
​https://bugs.webkit.org/show_bug.cgi?id=135855

Reviewed by Eric Carlson.

When seeking into an unbuffered or partially buffered range, we will unconditionally pass samples to the
decode queue even if there exist large gaps between those samples. Subsequently, the decoder will not
notify us that it has become ready for new samples until playback reaches those later samples and the samples
are discarded.

When sending samples to be decoded in provideMediaData(), stop if there exists a large gap in the sample timeline.
Do this by tracking the last enqueued decode end time, and look to see if the next sample's decode time indicates
a gap of greater than 1 second.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::TrackBuffer::TrackBuffer): Initialize lastEnqueuedDecodeEndTime.
(WebCore::SourceBuffer::seekToTime): Set needsReenqueueing, in case samples do not yet exist in the trackBuffer

sufficient to re-enqueue for the destination time, so that re-enqueueing will occur after the next append.

(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Check against lastEnqueuedDecodeEndTime, rather than

lastEnqueuedPresentationTime before adding samples to the decodeQueue.

(WebCore::SourceBuffer::provideMediaData): Stop when we reach a large gap between samples.
(WebCore::SourceBuffer::reenqueueMediaForTime): Set or clear lastEnqueuedDecodeEndTime based on whether we

have appended any non-displaying samples after flushing.

4:15 PM Changeset in webkit [172505] by commit-queue@webkit.org
  • 5 edits in trunk

Unreviewed, rolling out r172494.
​https://bugs.webkit.org/show_bug.cgi?id=135864

asserting on bots (Requested by kling on #webkit).

Reverted changeset:

"Don't recurse into non-rendered subtrees when computing
style"
​https://bugs.webkit.org/show_bug.cgi?id=135844
​http://trac.webkit.org/changeset/172494

4:13 PM Changeset in webkit [172504] by mmaxfield@apple.com
  • 6 edits
    2 adds in trunk

Fonts forced to use non synthetic italics might be laid out with the incorrect baseline
​https://bugs.webkit.org/show_bug.cgi?id=135403

Reviewed by Darin Adler.

Source/WebCore:

When italics is specified on a font, and the font isn't coming from the cache, we ask
the SimpleFontData to provide a non-synthetic-italic version of itself. Our current
implementation doesn't preserve whether or not the SimpleFontData includes vertical
glyphs (glyphs that are not rotated when drawn in the vertical writing mode), which
determines which baseline we use to lay out the text. By passing "false" to
the isTextOrientationFallback argument to SimpleFontData::create(), we preserve this
hasVerticalGlyphs flag.

Test: fast/text/international/synthesized-italic-vertical-latin-double.html

  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::nonSyntheticItalicFontData):

  • testing/Internals.cpp:

(WebCore::Internals::invalidateFontCache): Add "invalidateFontCache" to window.internals.

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

LayoutTests:

Laying out the same string twice (where there is a cache collision) should be rendered
the same as laying out similar strings (where there is no cache collision).

  • fast/text/international/synthesized-italic-vertical-latin-double-expected.html: Added.
  • fast/text/international/synthesized-italic-vertical-latin-double.html: Added.
4:11 PM Changeset in webkit [172503] by commit-queue@webkit.org
  • 15 edits in trunk/Source

Source/JavaScriptCore:
Runtime switch for long mouse press gesture. Part of 135257 - Add long mouse press gesture.
​https://bugs.webkit.org/show_bug.cgi?id=135682

Patch by Peyton Randolph <​prandolph@apple.com> on 2014-08-12
Reviewed by Tim Horton.

  • Configurations/FeatureDefines.xcconfig:

Remove ENABLE_LONG_MOUSE_PRESS feature flag.

Source/WebCore:
Runtime switch for long mouse press gesture. Part of 135257 - Add long mouse press gesture.
​https://bugs.webkit.org/show_bug.cgi?id=135682

Patch by Peyton Randolph <​prandolph@apple.com> on 2014-08-12
Reviewed by Tim Horton.

This patch adds a runtime switch for the Long Mouse Press Gesture and initially sets the feature flag
to false. It also removes the ENABLE_LONG_MOUSE_PRESS feature flag as the runtime switch now guards
its functionality.

  • Configurations/FeatureDefines.xcconfig: Remove LONG_MOUSE_PRESS feature flag.
  • page/EventHandler.cpp:

(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::clear): Remove feature flag.
(WebCore::EventHandler::handleMousePressEvent): Ditto.
(WebCore::EventHandler::eventMayStartDrag): Ditto.
(WebCore::EventHandler::handleMouseReleaseEvent):
Perform event iff long mouse presses are enabled.
(WebCore::EventHandler::beginTrackingPotentialLongMousePress): Ditto.
(WebCore::EventHandler::recognizeLongMousePress): Ditto.
(WebCore::EventHandler::cancelTrackingPotentialLongMousePress): Ditto.
(WebCore::EventHandler::handleMouseMoveEvent): Remove feature flag.
(WebCore::EventHandler::handleDrag): Ditto.
(WebCore::EventHandler::mouseMovementExceedsThreshold): Ditto.

  • page/EventHandler.h:
  • page/Settings.in: Add longMousePressEnabled setting, initially false.

Source/WebKit/mac:
Runtime switch for long mouse press gesture. Part of 135257 - Add long mouse press gesture.
​https://bugs.webkit.org/show_bug.cgi?id=135682

Patch by Peyton Randolph <​prandolph@apple.com> on 2014-08-12
Reviewed by Tim Horton.

  • Configurations/FeatureDefines.xcconfig:

Remove LONG_MOUSE_PRESS feature flag.

Source/WebKit2:
Runtime switch for long mouse press gesture. Part of 135257 - Add long mouse press gesture
​https://bugs.webkit.org/show_bug.cgi?id=135682

Patch by Peyton Randolph <​prandolph@apple.com> on 2014-08-12
Reviewed by Tim Horton.

  • Configurations/FeatureDefines.xcconfig: Remove LONG_MOUSE_PRESS feature flag.
  • Shared/WebPreferencesDefinitions.h:

Add LongMousePressEnabled preference, initially false.

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetLongMousePressEnabled): Added.
(WKPreferencesGetLongMousePressEnabled): Added.

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

(WebKit::WebPage::updatePreferences):
Reflect the WebKit long mouse press setting in WebCore.

3:50 PM Changeset in webkit [172502] by psolanki@apple.com
  • 6 edits in trunk/Source

Cached file backed resources don't make it to the Web Process when NETWORK_CFDATA_ARRAY_CALLBACK is enabled
​https://bugs.webkit.org/show_bug.cgi?id=135727
<rdar://problem/17947880>

Reviewed by Darin Adler.

Source/WebCore:

Add SharedBuffer::existingCFData() which returns CFDataRef if it has one. Refactor
this code out of createCFData().

  • WebCore.exp.in:
  • platform/SharedBuffer.h:
  • platform/mac/SharedBufferMac.mm:

(WebCore::SharedBuffer::existingCFData): Added.
(WebCore::SharedBuffer::createCFData):

Source/WebKit2:

tryGetShareableHandleFromSharedBuffer() assumed that we have a file backed resource only if
we had a CFDataRef (platformData()) in SharedBuffer. This is wrong when we use the data
array callbacks since the file backed buffer could be in the data array. Instead of relying
on hasPlatformData(), explicitly ask the SharedBuffer to give us a CFDataRef if it has one
so that SharedBuffer can take care of the data array case.

  • NetworkProcess/mac/NetworkResourceLoaderMac.mm:

(WebKit::NetworkResourceLoader::tryGetShareableHandleFromSharedBuffer):

3:48 PM Changeset in webkit [172501] by timothy_horton@apple.com
  • 5 edits in trunk/Source

Small region (~1px tall) where you get the selection button instead of the phone number overlay
​https://bugs.webkit.org/show_bug.cgi?id=135852
<rdar://problem/17992795>

Reviewed by Enrica Casucci.

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

(WebKit::ServicesOverlayController::findTelephoneNumberHighlightContainingSelectionHighlight):
(WebKit::ServicesOverlayController::determineActiveHighlight):
If our new active highlight is a selection highlight that is completely contained
by one of the phone number highlights, we'll make the phone number highlight active
even if it's not hovered. This fixes the case where the selection highlight
(a subset of a telephone number) is slightly taller than the telephone number
highlight, and can be hovered without hovering the phone number highlight

  • WebCore.exp.in:
3:43 PM Changeset in webkit [172500] by ap@apple.com
  • 12 edits in trunk/Source/WebKit2

REGRESSION: WebContent process has a sandbox extension for the entirety of user's temp directory
​https://bugs.webkit.org/show_bug.cgi?id=135853
<rdar://problem/17986556>

Reviewed by Oliver hunt.

Move extensions recently added for iOS benefit under PLATFORM(IOS). Removed some
dead code while at it (child processes don't need actual paths, they only need
sandbox extensions in most cases).

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • Shared/Network/NetworkProcessCreationParameters.cpp:

(WebKit::NetworkProcessCreationParameters::encode):
(WebKit::NetworkProcessCreationParameters::decode):

  • Shared/Network/NetworkProcessCreationParameters.h:
  • Shared/WebProcessCreationParameters.cpp:

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

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::ensureNetworkProcess):
(WebKit::WebContext::createNewWebProcess):
(WebKit::WebContext::openGLCacheDirectory): Deleted.
(WebKit::WebContext::networkingHSTSDatabasePath): Deleted.

  • UIProcess/WebContext.h:
  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::WebContext::containerTemporaryDirectory): Deleted.
(WebKit::WebContext::platformDefaultNetworkingHSTSDatabasePath): Deleted.

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::containerTemporaryDirectory): Deleted.
(WebKit::WebContext::platformDefaultNetworkingHSTSDatabasePath): Deleted.

  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::openGLCacheDirectory):
(WebKit::WebContext::parentBundleDirectory):
(WebKit::WebContext::networkingHSTSDatabasePath):
(WebKit::WebContext::platformDefaultOpenGLCacheDirectory): Deleted.
(WebKit::WebContext::platformDefaultNetworkingHSTSDatabasePath): Deleted.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

3:43 PM Changeset in webkit [172499] by achristensen@apple.com
  • 8 edits in trunk/Source

Generate header detection headers for CMake on Windows.
​https://bugs.webkit.org/show_bug.cgi?id=135807

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

  • CMakeLists.txt:

Include the derived sources directory to find WTF/WTFHeaderDetection.h.

Source/WebCore:

  • CMakeLists.txt:
  • PlatformWin.cmake:

Generate and include a stub WebCoreHeaderDetection.h.

Source/WTF:

  • wtf/CMakeLists.txt:
  • wtf/PlatformWin.cmake:

Generate and include a stub WTFHeaderDetection.h.

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

REGRESSION (r172424): Extra menu header in combined telephone number menu when no phone paired
​https://bugs.webkit.org/show_bug.cgi?id=135854
<rdar://problem/17996339>

Reviewed by Enrica Casucci.

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::WebContextMenuProxyMac::setupServicesMenu):
Get all the menu items ahead of time, and only add the shared header
if there are any telephone number menu items.

3:32 PM Changeset in webkit [172497] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

Crash at com.apple.WebKit.WebContent at com.apple.WebKit: WebKit::expandForGap
​https://bugs.webkit.org/show_bug.cgi?id=135859
<rdar://problem/17994679>

Reviewed by Tim Horton.

expandForGap made the assumption that the selection rects were always three.
This was not true even before ​http://trac.webkit.org/changeset/172395 but
was more likely to happen after that change.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::expandForGap):

3:30 PM Changeset in webkit [172496] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Make sure that begin time cannot be greater than SMILTime::indefiniteValue unintentionally.
​https://bugs.webkit.org/show_bug.cgi?id=135838

Patch by Renata Hodovan <​rhodovan.u-szeged@partner.samsung.com> on 2014-08-12
Reviewed by Darin Adler.

Source/WebCore:

When WebCore::SVGSMILElement::resolveInterval creates a SMILTime begin
node for a SMILInterval, then it only checks if the value of begin is
indefinite or unresolved but misses the case if it is between these two
reference values.

This is a backport of my fix in Blink: ​https://codereview.chromium.org/406263002/.

Test: svg/animations/animateMotion-crash-with-large-begin-time.html

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::parseOffsetValue):
(WebCore::SVGSMILElement::parseClockValue):

LayoutTests:

  • svg/animations/animateMotion-crash-with-large-begin-time-expected.txt: Added.
  • svg/animations/animateMotion-crash-with-large-begin-time.html: Added.
2:59 PM Changeset in webkit [172495] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

Revert a change that wasn't meant to be a part of r172482.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::init):

2:31 PM Changeset in webkit [172494] by Antti Koivisto
  • 5 edits in trunk

Don't recurse into non-rendered subtrees when computing style
​https://bugs.webkit.org/show_bug.cgi?id=135844

Reviewed by Andreas Kling.
Source/WebCore:

  • style/StyleResolveTree.cpp:

(WebCore::Style::resetStyleForNonRenderedDescendants):

Do a simple reset of the style dirty bits and any computed style in non-rendered subtrees.

(WebCore::Style::attachRenderTree):
(WebCore::Style::resolveTree):

Don't recurse into descendants if the element does not create a renderer.
We didn't compute style anyway in such subtrees.

LayoutTests:


Rebase.

  • http/tests/security/video-poster-cross-origin-crash-expected.txt:
  • platform/mac/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt:
1:58 PM Changeset in webkit [172493] by matthew_hanson@apple.com
  • 2 edits in tags/Safari-600.1.9/Source/WebKit2

Rollout 172395. <rdar://problem/17837670>

1:56 PM Changeset in webkit [172492] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Rollout172395. <rdar://problem/17837670>

1:53 PM Changeset in webkit [172491] by Yusuke Suzuki
  • 2 edits in trunk/Tools

[GTK] Adds dependency for GnuTLS 3.0+ explicitly in gtk/install-dependencies
​https://bugs.webkit.org/show_bug.cgi?id=135850

Reviewed by Philippe Normand.

After r172433, GTK port requires GnuTLS 3.0+. In this time, libgnutls-dev is 2.x in
Ubuntu(trusty) and Debian(sid). So added libgnutls28-dev explicitly.

  • gtk/install-dependencies:
1:48 PM Changeset in webkit [172490] by matthew_hanson@apple.com
  • 3 edits
    1 copy in tags/Safari-600.1.9

Merge r171903. <rdar://problem/17885078>

1:46 PM Changeset in webkit [172489] by matthew_hanson@apple.com
  • 3 edits
    1 copy in branches/safari-600.1-branch

Merge r171903. <rdar://problem/17885078>

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

Web Inspector: Timeline selection range creation does not work when clicking event bubble or near bottom of overview
​https://bugs.webkit.org/show_bug.cgi?id=135849

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-12
Reviewed by Timothy Hatcher.

Click events on elements in the graph container (event bubbles) or
in the scroll container (bottom 16px) were becoming the event targets.
As siblings of the ruler, the dispatch would not go through the ruler.
The ruler was supposed to be overlaying everything in the overview,
so give the ruler a z-index so it really is overlaying elements.

  • UserInterface/Views/TimelineRuler.css:

(.timeline-ruler):

1:37 PM Changeset in webkit [172487] by Antti Koivisto
  • 9 edits in trunk/Source/WebCore

Remove isInCanvasSubtree bit
​https://bugs.webkit.org/show_bug.cgi?id=135837

Reviewed by Andreas Kling.

The logic to update this bit is in a wrong place and it is not clear it does
the right thing in all cases. Also the optimization doesn't seem necessary,
the focus code is not that hot.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::getOrCreate):

  • dom/Element.cpp:

(WebCore::Element::isFocusable):
(WebCore::Element::clearStyleDerivedDataBeforeDetachingRenderer):
(WebCore::Element::setIsInCanvasSubtree): Deleted.
(WebCore::Element::isInCanvasSubtree): Deleted.

  • dom/Element.h:
  • dom/ElementRareData.h:

(WebCore::ElementRareData::ElementRareData):
(WebCore::ElementRareData::isInCanvasSubtree): Deleted.
(WebCore::ElementRareData::setIsInCanvasSubtree): Deleted.

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::isKeyboardFocusable):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::HTMLCanvasElement):
(WebCore::HTMLCanvasElement::willAttachRenderers): Deleted.

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

(WebCore::Style::attachRenderTree):

1:29 PM Changeset in webkit [172486] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

1:16 PM Changeset in webkit [172485] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.1.9

New Tag.

1:03 PM Changeset in webkit [172484] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Don't show the combined menu if there are no services available
​https://bugs.webkit.org/show_bug.cgi?id=135846
<rdar://problem/17582099>

Reviewed by Enrica Casucci.

  • WebProcess/WebPage/ServicesOverlayController.h:

Add a FIXME.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::determineActiveHighlight):
Don't allow a selection Highlight to become active if there is no
service available to handle it. Previously we showed the combined menu
with just phone numbers in it if any were detected.

12:31 PM Changeset in webkit [172483] by timothy_horton@apple.com
  • 7 edits in trunk/Source/WebKit2

Add a fade transition to services highlights
​https://bugs.webkit.org/show_bug.cgi?id=135829
<rdar://problem/17935736>

Reviewed by Enrica Casucci.

Add a smooth fade to highlight installation and uninstallation.
To do so, we make each highlight paint into its own small layer.

  • WebProcess/WebPage/PageOverlay.cpp:

(WebKit::PageOverlay::layer):

  • WebProcess/WebPage/PageOverlay.h:
  • WebProcess/WebPage/PageOverlayController.cpp:

(WebKit::PageOverlayController::layerForOverlay):

  • WebProcess/WebPage/PageOverlayController.h:

Expose the GraphicsLayer on PageOverlay.

  • WebProcess/WebPage/ServicesOverlayController.h:

(WebKit::ServicesOverlayController::Highlight::layer):
(WebKit::ServicesOverlayController::activeHighlight):
(WebKit::ServicesOverlayController::webPage):
(WebKit::ServicesOverlayController::Highlight::Highlight): Deleted.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::Highlight::createForSelection):
(WebKit::ServicesOverlayController::Highlight::createForTelephoneNumber):
(WebKit::ServicesOverlayController::Highlight::Highlight):
Highlights now own a GraphicsLayer, which are later installed
as sublayers of the ServicesOverlayController's PageOverlay layer.
These layers are sized and positioned according to the DDHighlight's bounds.

(WebKit::ServicesOverlayController::Highlight::~Highlight):
(WebKit::ServicesOverlayController::Highlight::invalidate):
ServicesOverlayController will invalidate any remaining highlights
when it is torn down, so they can clear their backpointers.

(WebKit::ServicesOverlayController::Highlight::notifyFlushRequired):
Forward flush notifications to the DrawingArea.

(WebKit::ServicesOverlayController::Highlight::paintContents):
Paint the DDHighlight into the layer. Translation is done by the layer position,
so we zero the bounds origin when painting.

(WebKit::ServicesOverlayController::Highlight::deviceScaleFactor):
Forward the deviceScaleFactor so that things are painted at the right scale.

(WebKit::ServicesOverlayController::Highlight::fadeIn):
(WebKit::ServicesOverlayController::Highlight::fadeOut):
Apply a fade animation to the layer.

(WebKit::ServicesOverlayController::Highlight::didFinishFadeOutAnimation):
When the fade completes, unparent the layer, unless it has become active again.

(WebKit::ServicesOverlayController::ServicesOverlayController):
(WebKit::ServicesOverlayController::~ServicesOverlayController):
Invalidate all highlights, so they can clear their backpointers.

(WebKit::ServicesOverlayController::remainingTimeUntilHighlightShouldBeShown):
Make remainingTimeUntilHighlightShouldBeShown act upon a particular highlight
instead of always the active highlight.

(WebKit::ServicesOverlayController::determineActiveHighlightTimerFired): Rename.

(WebKit::ServicesOverlayController::drawRect):
drawRect is no longer called and will no longer do anything; all of the
painting is done in sublayers.

(WebKit::ServicesOverlayController::buildPhoneNumberHighlights):
Ensure that phone number Highlights stay stable even while the selection
changes, by comparing the underlying Ranges and keeping around old Highlights
that match the new ones. This enables us to e.g. fade in while changing
the selection within a phone number.

(WebKit::ServicesOverlayController::buildSelectionHighlight):
(WebKit::ServicesOverlayController::didRebuildPotentialHighlights):
(WebKit::ServicesOverlayController::createOverlayIfNeeded):
Don't call setNeedsDisplay; the overlay doesn't have backing store.
Instead, call determineActiveHighlight, which will install/uninstall
highlights as necessary.

(WebKit::ServicesOverlayController::determineActiveHighlight):
Apply fade in/fade out to the overlays.
Keep track of which highlight we're going to activate, until the hysteresis
delay is up, then actually make it active/parent it/fade it in.
We now will have no active highlight between the fade out of the previous one
and the fade in of the new one (during the hysteresis delay).

(WebKit::ServicesOverlayController::mouseEvent):
The overlay now will not become active until the delay is up, so we don't
need to check it again here.

(WebKit::ServicesOverlayController::handleClick):
(WebKit::ServicesOverlayController::didCreateHighlight):
(WebKit::ServicesOverlayController::willDestroyHighlight):
(WebKit::ServicesOverlayController::repaintHighlightTimerFired): Deleted.
(WebKit::ServicesOverlayController::drawHighlight): Deleted.

12:12 PM Changeset in webkit [172482] by aestes@apple.com
  • 26 edits
    8 deletes in trunk/Source

[iOS] Get rid of iOS.xcconfig
​https://bugs.webkit.org/show_bug.cgi?id=135809

Reviewed by Joseph Pecoraro.

All iOS.xcconfig did was include AspenFamily.xcconfig, so there's no need for the indirection.

Source/bmalloc:

  • Configurations/Base.xcconfig:
  • Configurations/iOS.xcconfig: Removed.
  • bmalloc.xcodeproj/project.pbxproj:

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:
  • Configurations/iOS.xcconfig: Removed.
  • JavaScriptCore.xcodeproj/project.pbxproj:

Source/ThirdParty:

  • gtest/xcode/Config/General.xcconfig:
  • gtest/xcode/Config/iOS.xcconfig: Removed.
  • gtest/xcode/gtest.xcodeproj/project.pbxproj:

Source/ThirdParty/ANGLE:

  • ANGLE.xcodeproj/project.pbxproj:
  • Configurations/Base.xcconfig:
  • Configurations/iOS.xcconfig: Removed.

Source/WebCore:

  • Configurations/Base.xcconfig:
  • Configurations/iOS.xcconfig: Removed.
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

  • Configurations/Base.xcconfig:
  • Configurations/iOS.xcconfig: Removed.

Source/WebKit2:

  • Configurations/Base.xcconfig:
  • Configurations/iOS.xcconfig: Removed.
  • WebKit2.xcodeproj/project.pbxproj:

Source/WTF:

  • Configurations/Base.xcconfig:
  • Configurations/iOS.xcconfig: Removed.
  • WTF.xcodeproj/project.pbxproj:
11:52 AM Changeset in webkit [172481] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

Adjust max-width of cues based on text alignment when cue size is expanded.
​https://bugs.webkit.org/show_bug.cgi?id=135823.

Reviewed by Brent Fulgham.

All units are in percentages.
If we are left aligned the max cue width is the 100 minus the cue position.
If we are right aligned the max cue width is the cue position.
If we are centered the max cue width is just 100.

  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGenericBoxElement::applyCSSProperties):

  • html/track/VTTCue.cpp:

(WebCore::VTTCueBox::applyCSSProperties):

10:50 AM Changeset in webkit [172480] by Lucas Forschler
  • 3 edits
    1 delete in tags/Safari-600.1.8.1/Source/WebCore

Rollout r172278. <rdar://problem/17981175>

10:47 AM Changeset in webkit [172479] by Lucas Forschler
  • 5 edits in tags/Safari-600.1.8.1/Source

Versioning.

10:38 AM Changeset in webkit [172478] by Lucas Forschler
  • 1 copy in tags/Safari-600.1.8.1

New Tag.

10:34 AM Changeset in webkit [172477] by Lucas Forschler
  • 2 edits
    1 delete in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r172436. <rdar://problem/17987726>

10:32 AM Changeset in webkit [172476] by Lucas Forschler
  • 10 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r172435. <rdar://problem/17987681>

10:29 AM Changeset in webkit [172475] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r172432. <rdar://problem/16709018>

10:17 AM Changeset in webkit [172474] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merged r172471. <rdar://problem/17990895>

10:11 AM Changeset in webkit [172473] by Lucas Forschler
  • 3 edits
    1 delete in branches/safari-600.1-branch/Source/WebCore

Merged r172399. <rdar://problem/17971237>

9:32 AM Changeset in webkit [172472] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

[GStreamer] playback rate is rounded to integer
​https://bugs.webkit.org/show_bug.cgi?id=135802

Patch by Fabien Vallée <​fvallee@connected-labs.com> on 2014-08-12
Reviewed by Philippe Normand.

Source/WebCore:

Test: media/video-ended-event-slow-motion-playback.html

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::setRate):

LayoutTests:

add test to ensure playback is actually working
in slow motion (playback rate = 0.5): Player
should reach EOS and dispatch ended event.

  • media/video-ended-event-slow-motion-playback-expected.txt: Added.
  • media/video-ended-event-slow-motion-playback.html: Added.
9:06 AM Changeset in webkit [172471] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

[Win] Unreviewed build fix after r17425

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: Remove

unused 'currentTime' declaration from header file. This is now fully implemented
in platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h.

8:06 AM Changeset in webkit [172470] by Lucas Forschler
  • 26 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r172399. <rdar://problem/17971237>

8:03 AM Changeset in webkit [172469] by Lucas Forschler
  • 12 edits
    3 deletes in branches/safari-600.1-branch/Source

Merged r172379. <rdar://problem/17955579>

7:25 AM Changeset in webkit [172468] by Lucas Forschler
  • 9 edits in branches/safari-600.1-branch

Merged r172425. <rdar://problem/17476923>

7:22 AM Changeset in webkit [172467] by Lucas Forschler
  • 6 edits in branches/safari-600.1-branch/Source

Merged r172424. <rdar://problem/17936880>

7:20 AM Changeset in webkit [172466] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merged r172428. <rdar://problem/17912361>

7:18 AM Changeset in webkit [172465] by Lucas Forschler
  • 6 edits in branches/safari-600.1-branch/Source/WebCore

Merged r172422. <rdar://problem/17912361>

7:11 AM Changeset in webkit [172464] by Lucas Forschler
  • 4 edits in branches/safari-600.1-branch/Source/WebCore

Merged r172421. <rdar://problem/17961164>

7:06 AM Changeset in webkit [172463] by Lucas Forschler
  • 4 edits
    7 copies in branches/safari-600.1-branch

Merged r172417. <rdar://problem/17848141>

7:04 AM Changeset in webkit [172462] by Lucas Forschler
  • 3 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172406. <rdar://problem/17981554>

7:01 AM Changeset in webkit [172461] by Lucas Forschler
  • 3 edits in branches/safari-600.1-branch/Source/WebCore

Merged r172404. <rdar://problem/17979844>

6:58 AM Changeset in webkit [172460] by Lucas Forschler
  • 8 edits in branches/safari-600.1-branch/Source

Merged r172397. <rdar://problem/17983299>

6:56 AM Changeset in webkit [172459] by Lucas Forschler
  • 1 edit
    1 copy in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r172262. <rdar://problem/17983299>

6:51 AM Changeset in webkit [172458] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172395. <rdar://problem/17837670>

6:43 AM Changeset in webkit [172457] by Lucas Forschler
  • 3 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172374. <rdar://problem/17969843>

6:42 AM Changeset in webkit [172456] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.1-branch

Merged r172373. <rdar://problem/17952364>

6:40 AM Changeset in webkit [172455] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172369. <rdar://problem/17533459>

6:38 AM Changeset in webkit [172454] by Lucas Forschler
  • 6 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172366. <rdar://problem/17533459>

6:36 AM Changeset in webkit [172453] by Lucas Forschler
  • 3 edits
    3 copies in branches/safari-600.1-branch

Merged r172365. <rdar://problem/17959896>

6:32 AM Changeset in webkit [172452] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172364. <rdar://problem/17962180>

6:30 AM Changeset in webkit [172451] by Lucas Forschler
  • 5 edits in branches/safari-600.1-branch

Merged r172351. <rdar://problem/17961164>

6:25 AM Changeset in webkit [172450] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172344. <rdar://problem/17907752>

6:23 AM Changeset in webkit [172449] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172343. <rdar://problem/17933167>

6:22 AM Changeset in webkit [172448] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r172336. <rdar://problem/17955491>

6:20 AM Changeset in webkit [172447] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r172333. <rdar://problem/17955768>

6:15 AM Changeset in webkit [172446] by Lucas Forschler
  • 8 edits in branches/safari-600.1-branch/Source

Merged r172235. <rdar://problem/17388461>

5:07 AM Changeset in webkit [172445] by g.czajkowski@samsung.com
  • 4 edits
    1 move in trunk/Source/WebKit2

[EFL] Rename ewk_private.h to EwkDebug.h
​https://bugs.webkit.org/show_bug.cgi?id=135797

Reviewed by Gyuyoung Kim.

ewk_private.h contains only debug macros alllowing
logging.

  • UIProcess/API/efl/EwkView.cpp:
  • UIProcess/API/efl/ewk_main.cpp:
  • UIProcess/efl/EwkDebug.h: Renamed from Source/WebKit2/UIProcess/API/efl/ewk_private.h.
  • UIProcess/efl/ViewClientEfl.cpp:
4:42 AM Changeset in webkit [172444] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r172442 - [GTK] The plugins metadata cache doesn't work if the user cache directory doesn't exist
​https://bugs.webkit.org/show_bug.cgi?id=135834

Reviewed by Philippe Normand.

Make sure the user cache directory exists. If creating the
directory fails for whatever reason, do not try to save the cache
to disk.

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:

(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::updatePluginInfo):

4:29 AM Changeset in webkit [172443] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Dont allocate GCond in VideoSinkGStreamer.cpp dynamically.

Rubber-stamped by Carlos Garcia Campos.

  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(_WebKitVideoSinkPrivate::_WebKitVideoSinkPrivate): Move the
g_cond_init() and gst_video_info_init() calls here.
(_WebKitVideoSinkPrivate::~_WebKitVideoSinkPrivate): Move the
g_cond_clear() call here.
(webkit_video_sink_init):
(webkitVideoSinkTimeoutCallback):
(webkitVideoSinkRender):
(unlockBufferMutex):
(webkit_video_sink_class_init):
(webkitVideoSinkDispose): Deleted. Not required anymore.

3:55 AM Changeset in webkit [172442] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] The plugins metadata cache doesn't work if the user cache directory doesn't exist
​https://bugs.webkit.org/show_bug.cgi?id=135834

Reviewed by Philippe Normand.

Make sure the user cache directory exists. If creating the
directory fails for whatever reason, do not try to save the cache
to disk.

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:

(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::updatePluginInfo):

3:39 AM Changeset in webkit [172441] by zandobersek@gmail.com
  • 7 edits in trunk/Source

Clean up GMutexLocker
​https://bugs.webkit.org/show_bug.cgi?id=135833

Reviewed by Carlos Garcia Campos.

Source/WebCore:

Don't dynamically allocate GMutex objects. Update GMutexLocker
initializations to pass in a GMutex reference, not a pointer.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
  • platform/graphics/gstreamer/VideoSinkGStreamer.cpp:

(_WebKitVideoSinkPrivate::_WebKitVideoSinkPrivate): Initialize the GMutex.
(_WebKitVideoSinkPrivate::~_WebKitVideoSinkPrivate): Clear the GMutex.
(webkit_video_sink_init):
(webkitVideoSinkRender):
(webkitVideoSinkDispose):

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcGetProperty):
(webKitWebSrcStop):
(webKitWebSrcStart):
(webKitWebSrcChangeState):
(webKitWebSrcQueryWithParent):
(webKitWebSrcGetUri):
(webKitWebSrcSetUri):
(webKitWebSrcNeedDataMainCb):
(webKitWebSrcNeedDataCb):
(webKitWebSrcEnoughDataMainCb):
(webKitWebSrcEnoughDataCb):
(webKitWebSrcSeekDataCb):
(webKitWebSrcSetMediaPlayer):
(StreamingClient::createReadBuffer):
(StreamingClient::handleResponseReceived):
(StreamingClient::handleDataReceived):
(StreamingClient::handleNotifyFinished):
(ResourceHandleStreamingClient::wasBlocked):
(ResourceHandleStreamingClient::cannotShowURL):

Source/WTF:

Place the GMutexLocker into the WTF namespace. There's no need for this
class to use FastMalloc since it's always allocated on the stack. The
constructor and class now operate on a GMutex reference. There's little
need for an additional inline specifier for methods defined in the header.
The mutex() method is removed as it was not used. m_val is renamed to a
more descriptive m_locked and is made a boolean.

  • wtf/gobject/GMutexLocker.h:

(WTF::GMutexLocker::GMutexLocker):
(WTF::GMutexLocker::~GMutexLocker):
(WTF::GMutexLocker::lock):
(WTF::GMutexLocker::unlock):
(WebCore::GMutexLocker::GMutexLocker): Deleted.
(WebCore::GMutexLocker::~GMutexLocker): Deleted.
(WebCore::GMutexLocker::lock): Deleted.
(WebCore::GMutexLocker::unlock): Deleted.
(WebCore::GMutexLocker::mutex): Deleted.

3:36 AM Changeset in webkit [172440] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WTF

Make GRefPtr move-able
​https://bugs.webkit.org/show_bug.cgi?id=135801

Reviewed by Carlos Garcia Campos.

Add move constructor and move assignment operator for GRefPtr.

  • wtf/gobject/GRefPtr.h:

(WTF::GRefPtr::GRefPtr):
(WTF::=):

2:35 AM Changeset in webkit [172439] by commit-queue@webkit.org
  • 4 edits in trunk

[GTK] Subtle-crypto feature off by default and add a new configure flag to enable it
​https://bugs.webkit.org/show_bug.cgi?id=135798

Patch by Eduardo Lima Mitev <​elima@igalia.com> on 2014-08-12
Reviewed by Philippe Normand.

.:

  • Source/cmake/OptionsGTK.cmake: Makes SUBTLE_CRYPTO flag off by default.

Tools:

  • Scripts/webkitperl/FeatureList.pm: Adds new flag --subtle-crypto to

toggle SUBTLE_CRYPTO feature.

1:25 AM Changeset in webkit [172438] by ryuan.choi@samsung.com
  • 2 edits
    1 add in trunk/Tools

[EFL] Disable ecore logs about bad fd
​https://bugs.webkit.org/show_bug.cgi?id=135831

Reviewed by Gyuyoung Kim.

ecore checks EBADF and prints the warnings.
But, it looks noise in layout test because it's not webkit issue.
This patch disables it until we found right solution.

  • efl/jhbuild.modules:
  • efl/patches/ecore_remove_warnings.patch: Added.
1:22 AM Changeset in webkit [172437] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Minibrowser: Enhance the application to use download directory selector.
​https://bugs.webkit.org/show_bug.cgi?id=135791

Patch by Shivakumar JM <​shiva.jm@samsung.com> on 2014-08-12
Reviewed by Gyuyoung Kim.

Currently Minibrowser stores the downloaded files to /tmp directory, add support so that destination folder can be selected by the
user.

  • MiniBrowser/efl/main.c:

(on_download_request):

1:16 AM Changeset in webkit [172436] by commit-queue@webkit.org
  • 2 edits
    1 delete in trunk/Source/WebInspectorUI

Web Inspector: GoToLine dialog clear text button looks poor
​https://bugs.webkit.org/show_bug.cgi?id=135828

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-12
Reviewed by Timothy Hatcher.

Legacy/CloseWhite.svg was not used, but in the case where the white
close button is needed the thicker bars looks better. Re-use the
Legacy image as the default CloseWhite.svg.

  • UserInterface/Images/CloseWhite.svg:
  • UserInterface/Images/Legacy/CloseWhite.svg: Removed.
1:12 AM Changeset in webkit [172435] by commit-queue@webkit.org
  • 10 edits in trunk/Source/WebInspectorUI

Web Inspector: Easier Way to go back to the Timeline Overviews
​https://bugs.webkit.org/show_bug.cgi?id=135827

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-12
Reviewed by Timothy Hatcher.

  • Localizations/en.lproj/localizedStrings.js:

Added new tooltip UIString.

  • UserInterface/Images/Close.svg:
  • UserInterface/Images/CloseLarge.svg:
  • UserInterface/Images/Legacy/Close.svg:

Add "stroked" class so the buttons can fill with white on selected rows.
Also re-center the non-legacy images horizontally.

  • UserInterface/Views/GeneralTreeElement.js:

(WebInspector.GeneralTreeElement.prototype.set status):
Do not recreate elements if the status did not change.

  • UserInterface/Views/LayoutTimelineView.js:

(WebInspector.LayoutTimelineView):
(WebInspector.LayoutTimelineView.prototype._treeElementDeselected):
(WebInspector.LayoutTimelineView.prototype._treeElementSelected):
(WebInspector.LayoutTimelineView.prototype._updateTreeElementWithCloseButton):
(WebInspector.LayoutTimelineView.prototype._closeStatusButtonClicked):

  • UserInterface/Views/NetworkTimelineView.js:

(WebInspector.NetworkTimelineView):
(WebInspector.NetworkTimelineView.prototype._treeElementDeselected):
(WebInspector.NetworkTimelineView.prototype._treeElementSelected):
(WebInspector.NetworkTimelineView.prototype._updateTreeElementWithCloseButton):
(WebInspector.NetworkTimelineView.prototype._closeStatusButtonClicked):

  • UserInterface/Views/OverviewTimelineView.js:

(WebInspector.OverviewTimelineView.prototype._treeElementDeselected):
(WebInspector.OverviewTimelineView.prototype._treeElementSelected):
(WebInspector.OverviewTimelineView.prototype._updateTreeElementWithCloseButton):
(WebInspector.OverviewTimelineView.prototype._closeStatusButtonClicked):

  • UserInterface/Views/ScriptTimelineView.js:

(WebInspector.ScriptTimelineView):
(WebInspector.ScriptTimelineView.prototype._treeElementDeselected):
(WebInspector.ScriptTimelineView.prototype._treeElementSelected):
(WebInspector.ScriptTimelineView.prototype._updateTreeElementWithCloseButton):
(WebInspector.ScriptTimelineView.prototype._closeStatusButtonClicked):
Provide select/deselect handlers to show/hide the close status bar button
when selecting a row that shows a non-Timeline content view. Currently the
only content views the tree elements can show are Resource views, so the
tooltip is the same everywhere.

1:06 AM Changeset in webkit [172434] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] Allow reading CoreGraphics debugging preferences
​https://bugs.webkit.org/show_bug.cgi?id=135821
<rdar://problem/11219259>

Reviewed by Darin Adler.

  • WebProcess/com.apple.WebProcess.sb.in:
1:03 AM Changeset in webkit [172433] by commit-queue@webkit.org
  • 4 edits in trunk

[GTK] Adds dependency on GnuTLS 3.0+ for the implementation of subtle crypto algorithms
​https://bugs.webkit.org/show_bug.cgi?id=133317

.:

GnuTLS is already an indirect dependency through libsoup -> glib-networking.

Patch by Eduardo Lima Mitev <​elima@igalia.com> on 2014-08-12
Reviewed by Philippe Normand.

No new tests since no new functionality has been added.

  • Source/cmake/OptionsGTK.cmake: Adds search for required GnuTLS package

Source/WebCore:

Patch by Eduardo Lima Mitev <​elima@igalia.com> on 2014-08-12
Reviewed by Philippe Normand.

No new tests since no new functionality has been added.

  • PlatformGTK.cmake: Adds GnuTLS libs and included dirs to WebCore targets
12:56 AM Changeset in webkit [172432] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Expect to see top level JavaScript function profiler details for event handlers in timeline
​https://bugs.webkit.org/show_bug.cgi?id=132109

Reviewed by Joseph Pecoraro.

  • UserInterface/Views/ScriptTimelineView.js:

(WebInspector.ScriptTimelineView.prototype._processPendingRecords): Don't promote root node children if
there is only one child.

12:49 AM Changeset in webkit [172431] by Philippe Normand
  • 9 edits
    2 deletes in trunk/Source/WebCore

[WebAudio] FFTFrame is cluttered with dead code
​https://bugs.webkit.org/show_bug.cgi?id=135751

Reviewed by Eric Carlson.

Cleaned up unused FFTFrame implementations from the tree. If the
FFMPEG or IPP versions are needed later on again this patch can be
rolled out.

No new tests, the code removed was disabled on all ports.

  • platform/audio/Biquad.cpp:

(WebCore::Biquad::Biquad):
(WebCore::Biquad::~Biquad):
(WebCore::Biquad::process):
(WebCore::Biquad::reset):
(WebCore::Biquad::setNormalizedCoefficients):

  • platform/audio/Biquad.h:
  • platform/audio/DirectConvolver.cpp:

(WebCore::DirectConvolver::DirectConvolver):
(WebCore::DirectConvolver::process):
(WebCore::DirectConvolver::reset):

  • platform/audio/DirectConvolver.h:
  • platform/audio/FFTFrame.h:
  • platform/audio/FFTFrameStub.cpp:
  • platform/audio/ffmpeg/FFTFrameFFMPEG.cpp: Removed.
  • platform/audio/ipp/FFTFrameIPP.cpp: Removed.
  • platform/audio/mac/FFTFrameMac.cpp:
12:42 AM Changeset in webkit [172430] by g.czajkowski@samsung.com
  • 6 edits
    1 add in trunk

[EFL] Prevent the client from creating ewk_view when EWebkit is not initialized
​https://bugs.webkit.org/show_bug.cgi?id=135606

Reviewed by Gyuyoung Kim.

Source/WebKit2:

Similarly to EFL modules (eina, evas etc.), application using EWebKit
has to initialize it using ewk_init().

Do not allow the client to create ewk_view if ewk_init has not been called.
Add an appropriate logs warning the client about wrong APIs usage.

  • UIProcess/API/efl/ewk_main.cpp: Add EwkMain class to control ewk lifetime.

(WebKit::EwkMain::EwkMain):
(WebKit::EwkMain::shared):
(WebKit::EwkMain::~EwkMain): Add logs when the client forgot to destroy EWebkit.
(WebKit::EwkMain::initialize):
(WebKit::EwkMain::finalize):
(WebKit::EwkMain::shutdownInitializedEFLModules):
(ewk_init):
(ewk_shutdown):

  • UIProcess/API/efl/ewk_main_private.h: Added.

(WebKit::EwkMain::isInitialized):
(WebKit::EwkMain::logDomainId):

  • UIProcess/API/efl/ewk_private.h:
  • UIProcess/API/efl/ewk_view.cpp:

(EWKViewCreate):
Prevent the client from creating ewk_view when ewk_init() has not been called.

Tools:

TestWebKitAPI does not initialize EWebkit using ewk_init()
which is not recommended.

  • TestWebKitAPI/efl/PlatformWebView.cpp:

(TestWebKitAPI::createEcoreEvas):
Renamed from initEcoreEvas() since it doesn't not initialize
ecore evas.

(TestWebKitAPI::PlatformWebView::PlatformWebView):
Call ewk_init() that initalizes all EFL modules needed by EWebKit
instead of ecore_evas_init() only.

(TestWebKitAPI::PlatformWebView::~PlatformWebView):
Call ewk_shutdown() to finalize EWebkit.
(TestWebKitAPI::initEcoreEvas): Deleted.

Note: See TracTimeline for information about the timeline view.