Timeline



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.