Timeline



Aug 29, 2014:

8:16 PM Changeset in webkit [173137] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

8:15 PM Changeset in webkit [173136] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.1.17

New Tag.

7:55 PM Changeset in webkit [173135] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Subpixel layout: Remove LayoutUnit's kEffectiveFixedPointDenominator.
https://bugs.webkit.org/show_bug.cgi?id=136383.

Reviewed by Simon Fraser.

There's only one subpixel denominator now.

No change in functionality.

  • platform/LayoutUnit.h:

(WebCore::LayoutUnit::LayoutUnit):
(WebCore::LayoutUnit::fromFloatCeil):
(WebCore::LayoutUnit::fromFloatFloor):
(WebCore::LayoutUnit::toInt):
(WebCore::LayoutUnit::toFloat):
(WebCore::LayoutUnit::toDouble):
(WebCore::LayoutUnit::operator++):
(WebCore::LayoutUnit::ceil):
(WebCore::LayoutUnit::round):
(WebCore::LayoutUnit::floor):
(WebCore::LayoutUnit::ceilToFloat):
(WebCore::LayoutUnit::fraction):
(WebCore::LayoutUnit::epsilon):
(WebCore::LayoutUnit::nearlyMax):
(WebCore::LayoutUnit::nearlyMin):
(WebCore::LayoutUnit::isInBounds):
(WebCore::LayoutUnit::setValue):
(WebCore::boundedMultiply):
(WebCore::operator*):
(WebCore::operator/):
(WebCore::operator%):
(WebCore::roundToDevicePixel):
(WebCore::floorToDevicePixel):
(WebCore::ceilToDevicePixel):

7:55 PM Changeset in webkit [173134] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Rename updatePreferredWidth to make it more explicit.
https://bugs.webkit.org/show_bug.cgi?id=136389

Reviewed by Simon Fraser.

No change in functionality.

  • rendering/RenderBlock.cpp:

(WebCore::preferredWidth):
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
(WebCore::updatePreferredWidth): Deleted.

6:33 PM Changeset in webkit [173133] by barraclough@apple.com
  • 4 edits in trunk/Source/WebCore

Make timerNestingLevel threadsafe
https://bugs.webkit.org/show_bug.cgi?id=136401

Reviewed by Tim Horton.

timerNestingLevel, used by DOMTimer to determine whether a timer is 'nested'
(repeating, possible due to a timer rescheduling itself) is a global. Since
worker threads can set timers too this is not thread safe.

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::ScriptExecutionContext):

  • added initialize m_timerNestingLevel
  • dom/ScriptExecutionContext.h:

(WebCore::ScriptExecutionContext::timerNestingLevel):
(WebCore::ScriptExecutionContext::setTimerNestingLevel):

  • added accessors
  • page/DOMTimer.cpp:

(WebCore::DOMTimer::DOMTimer):
(WebCore::DOMTimer::fired):

  • move timerNestingLevel to the context
6:11 PM Changeset in webkit [173132] by barraclough@apple.com
  • 2 edits in trunk/Source/WebCore

DOMTimer::m_nestingLevel is prone to overflow
https://bugs.webkit.org/show_bug.cgi?id=136399

Reviewed by Alexey Proskuryakov.

Since this would happen after the 2 billionth timer fire this is unlikely,
and consequences aren't severe (breaks throttling).

This change has the following consequences.

  • m_nestingLevel saturates to its max value.
  • unnested timers are indicated by a nesting level of 0.
  • repeat timers update m_nestingLevel on every fire, not just those that should have been throttled.

The last point is subtle, but ultimately should be inconsequential. Timers
whose requested timeout is less that the minimum interval will saturate quickly
anyway; timers with an original interval greater than the minimum previously
wouldn't have incremented m_nestingLevel, but doing so now doesn't hurt since
they won't be throttled when they hit the threshold. This simplifies things
conceptually a little & reduces the test performed on each timer fire.

  • page/DOMTimer.cpp:

(WebCore::shouldForwardUserGesture):

  • unnested timers are indicated by a nesting level of 0

(WebCore::DOMTimer::DOMTimer):

  • don't increment nesting level on construction

(WebCore::DOMTimer::fired):

  • saturating increments

(WebCore::DOMTimer::adjustMinimumTimerInterval):
(WebCore::DOMTimer::intervalClampedToMinimum):

  • added ASSERTs
5:19 PM Changeset in webkit [173131] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Ensure that the call frame passed from doVMEntry to the called function always contains the valid scope chain.
https://bugs.webkit.org/show_bug.cgi?id=136391

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-08-29
Reviewed by Michael Saboff.

Do not rely on calling conventions to fill in the CallerFrame component
of the ExecState* parameter of the called function.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
5:01 PM Changeset in webkit [173130] by jhoneycutt@apple.com
  • 2 edits in branches/safari-600.1-branch/LayoutTests

2014-08-29 Jon Honeycutt <jhoneycutt@apple.com>

Skip some tests that test features disabled on the branch.

Rubber-stamped by Andreas Kling.

  • platform/mac/TestExpectations:
4:34 PM Changeset in webkit [173129] by dbates@webkit.org
  • 1 edit
    1 add in trunk/Tools

[iOS] Configure Xcode to build a command line tool for the iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=136388

Reviewed by David Kilzer.

Add a script, called configure-xcode-for-ios-development, to configure Xcode to
support building a command line tool for the iOS Simulator. You must run this
script as root.

The script uses the xcspec files in the OS X SDK to create xcspec files in the
iOS Simulator SDK with the product- and package- type definitions to build a
command line tool, if applicable.

  • Scripts/configure-xcode-for-ios-development: Added.
4:24 PM Changeset in webkit [173128] by jhoneycutt@apple.com
  • 2 edits in branches/safari-600.1-branch/LayoutTests

2014-08-29 Jon Honeycutt <jhoneycutt@apple.com>

Merge r171595, which updates a media test's expected result.

Rubber-stamped by Andreas Kling.

2014-07-25 Zalan Bujtas <Alan Bujtas>

Unreviewed media test gardening after r171593.

  • platform/mac/http/tests/media/hls/video-controls-live-stream-expected.txt:
4:17 PM Changeset in webkit [173127] by jhoneycutt@apple.com
  • 2 edits in branches/safari-600.1-branch/LayoutTests

2014-08-29 Jon Honeycutt <jhoneycutt@apple.com>

Add an expected failure for a test that relies on a feature disabled on
the branch.

Rubber-stamped by Andreas Kling.

3:55 PM Changeset in webkit [173126] by timothy_horton@apple.com
  • 6 edits
    1 delete in trunk/Tools

Remove Windows WebKit2 code from TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=136385

Reviewed by Alexey Proskuryakov.

  • TestWebKitAPI/PlatformUtilities.h:
  • TestWebKitAPI/PlatformWebView.h:

(TestWebKitAPI::PlatformWebView::setParentWindowMessageObserver): Deleted.

  • TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash.cpp:

(TestWebKitAPI::TEST): Deleted.

  • TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/win/AltKeyGeneratesWMSysCommand.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/win/DoNotCopyANullCFURLResponse.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/win/HideFindIndicator.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/win/ResizeViewWhileHidden.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/win/TranslateMessageGeneratesWMChar.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/win/WMCloseCallsUIClientClose.cpp: Removed.
  • TestWebKitAPI/Tests/WebKit2/win/WMPrint.cpp: Removed.
3:52 PM Changeset in webkit [173125] by saambarati1@gmail.com
  • 2 edits in trunk/Source/JavaScriptCore

emit op_profile_type for deconstruction assignments
https://bugs.webkit.org/show_bug.cgi?id=136274

Reviewed by Filip Pizlo.

Enable type profiling for ES6 deconstruction expressions.

  • bytecompiler/NodesCodegen.cpp:

(JSC::BindingNode::bindValue):

3:21 PM Changeset in webkit [173124] by jhoneycutt@apple.com
  • 2 edits in branches/safari-600.1-branch/LayoutTests

2014-08-28 Jon Honeycutt <jhoneycutt@apple.com>

Merge r172800, which just updates TestExpectations to fix a failing
test on the branch.

Rubber-stamped by Andreas Kling.

2014-08-20 Alexey Proskuryakov <ap@apple.com>

fast/multicol/mixed-opacity-fixed-test.html fails in compositing mode
https://bugs.webkit.org/show_bug.cgi?id=136109

  • platform/mac-wk2/TestExpectations: Updated test expectations to a non-flaky failure, and to point to the new bug.
2:58 PM Changeset in webkit [173123] by Lucas Forschler
  • 8 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r173121. rdar://problem/16991213

2:55 PM Changeset in webkit [173122] by Lucas Forschler
  • 3 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r173118. rdar://problem/16991213

2:38 PM Changeset in webkit [173121] by ap@apple.com
  • 8 edits in trunk/Source/WebKit2

More occasional crashes in ServicesController::resfreshExistingServices
https://bugs.webkit.org/show_bug.cgi?id=136387
<rdar://problem/18167200>

Patch by Tim Horton <timothy_horton@apple.com> on 2014-08-29
Reviewed by Dan Bernstein.

  • UIProcess/mac/ServicesController.mm:

(WebKit::ServicesController::ServicesController):
Speculative fix; if this block is called synchronously, we'll end up
calling back into ::shared() before the NeverDestroyed is initialized,
ending up with two ServicesControllers.

2:33 PM Changeset in webkit [173120] by commit-queue@webkit.org
  • 31 edits in trunk/Source

JavaScriptCore: Use ASCIILiteral where possible
https://bugs.webkit.org/show_bug.cgi?id=136179

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-29
Reviewed by Michael Saboff.

Source/JavaScriptCore:

General string / character related changes. Use ASCIILiteral where
possible, jsNontrivialString where possible, and replace string
literals with character literals in some places.

No new tests, no changes to functionality.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::nameForRegister):

  • bytecompiler/NodesCodegen.cpp:

(JSC::PostfixNode::emitBytecode):
(JSC::PrefixNode::emitBytecode):
(JSC::AssignErrorNode::emitBytecode):
(JSC::ForInNode::emitMultiLoopBytecode):
(JSC::ForOfNode::emitBytecode):
(JSC::ObjectPatternNode::toString):

  • dfg/DFGFunctionWhitelist.cpp:

(JSC::DFG::FunctionWhitelist::contains):

  • dfg/DFGOperations.cpp:

(JSC::DFG::newTypedArrayWithSize):
(JSC::DFG::newTypedArrayWithOneArgument):

  • inspector/ConsoleMessage.cpp:

(Inspector::ConsoleMessage::addToFrontend):

  • inspector/InspectorBackendDispatcher.cpp:

(Inspector::InspectorBackendDispatcher::dispatch):

  • inspector/ScriptCallStackFactory.cpp:

(Inspector::extractSourceInformationFromException):

  • inspector/scripts/codegen/generator_templates.py:
  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::Frame::functionName):
(JSC::StackVisitor::Frame::sourceURL):

  • jit/JITOperations.cpp:
  • jsc.cpp:

(functionDescribeArray):
(functionRun):
(functionLoad):
(functionReadFile):
(functionCheckSyntax):
(functionTransferArrayBuffer):
(runWithScripts):
(runInteractive):

  • parser/Lexer.cpp:

(JSC::Lexer<T>::invalidCharacterMessage):
(JSC::Lexer<T>::parseString):
(JSC::Lexer<T>::parseStringSlowCase):
(JSC::Lexer<T>::lex):

  • profiler/Profile.cpp:

(JSC::Profile::Profile):

  • runtime/Arguments.cpp:

(JSC::argumentsFuncIterator):

  • runtime/ArrayPrototype.cpp:

(JSC::performSlowSort):
(JSC::arrayProtoFuncSort):

  • runtime/ExceptionHelpers.cpp:

(JSC::createError):
(JSC::createInvalidParameterError):
(JSC::createNotAConstructorError):
(JSC::createNotAFunctionError):
(JSC::createNotAnObjectError):
(JSC::createErrorForInvalidGlobalAssignment):

  • runtime/FunctionPrototype.cpp:

(JSC::insertSemicolonIfNeeded):

  • runtime/JSArray.cpp:

(JSC::JSArray::defineOwnProperty):
(JSC::JSArray::pop):
(JSC::JSArray::push):

  • runtime/JSArrayBufferConstructor.cpp:

(JSC::JSArrayBufferConstructor::finishCreation):

  • runtime/JSArrayBufferPrototype.cpp:

(JSC::arrayBufferProtoFuncSlice):

  • runtime/JSDataView.cpp:

(JSC::JSDataView::create):

  • runtime/JSDataViewPrototype.cpp:

(JSC::getData):
(JSC::setData):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncProtoSetter):

  • runtime/JSPromiseConstructor.cpp:

(JSC::JSPromiseConstructor::finishCreation):

  • runtime/LiteralParser.cpp:

(JSC::LiteralParser<CharType>::Lexer::lex):
(JSC::LiteralParser<CharType>::Lexer::lexString):
(JSC::LiteralParser<CharType>::parse):

  • runtime/LiteralParser.h:

(JSC::LiteralParser::getErrorMessage):

  • runtime/TypeSet.cpp:

(JSC::TypeSet::seenTypes):
(JSC::TypeSet::displayName):
(JSC::TypeSet::allPrimitiveTypeNames):
(JSC::StructureShape::propertyHash):
(JSC::StructureShape::stringRepresentation):

Source/WTF:

  • wtf/text/WTFString.cpp:

(asciiDebug):

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

More occasional crashes in ServicesController::resfreshExistingServices
https://bugs.webkit.org/show_bug.cgi?id=136387
<rdar://problem/18167200>

Reviewed by Dan Bernstein.

  • UIProcess/mac/ServicesController.mm:

(WebKit::ServicesController::ServicesController):
Speculative fix; if this block is called synchronously, we'll end up
calling back into ::shared() before the NeverDestroyed is initialized,
ending up with two ServicesControllers.

2:23 PM Changeset in webkit [173118] by ap@apple.com
  • 3 edits in trunk/Source/WebKit2

WebPageProxy::close() is a no-op for terminated processes
https://bugs.webkit.org/show_bug.cgi?id=136378
Related to <rdar://problem/16991213> and to <rdar://problem/17095600>

Reviewed by Brady Eidson.

Also fixes issues that got uncovered after making close() work.

  • UIProcess/WebInspectorProxy.cpp: (WebKit::WebInspectorProxy::invalidate): Don't

close the page, because it makes no sense, and causes an assertion now. Previosly,
this was OK because the page was invalid already, and close() was a no-op.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::~WebPageProxy): Added some assertions to catch invalidation
issues earlier.
(WebKit::WebPageProxy::reattachToWebProcess): Make it an invariant that a page's
process always has a message receiver for it, until close() removes it.
(WebKit::WebPageProxy::close): Make this function work for all open pages, whether
they have a page or not.
(WebKit::WebPageProxy::processDidFinishLaunching): Added an asserion that process
agrees about its state.
(WebKit::WebPageProxy::resetStateAfterProcessExited): Don't remove a message receiver,
we now only do this in reattach or close.

1:10 PM Changeset in webkit [173117] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Fix how Popover animates
https://bugs.webkit.org/show_bug.cgi?id=136353

Patch by Saam Barati <sbarati@apple.com> on 2014-08-29
Reviewed by Timothy Hatcher.

Popovers currently don't animate properly because they use
window.requestAnimationFrame which won't fire its callback
while the inspector is paused in the debugger. This patches
switches the callback mechanism to setTimeout and also changes
how a Popover's anchor animates to prevent visual glitches.

Popover also has a new function that allows a new target
frame and new content to be set simultaneously and to
animate to show the new content while changing the
location of the popover frame.

SourceCodeTextEditor uses Popover's new API for animating
between popovers when paused in the debugger. SourceCodeTextEditor
also now ensures proper balancing of popover tracking event
listeners.

  • UserInterface/Views/Popover.js:

(WebInspector.Popover.prototype.present):
(WebInspector.Popover.prototype.presentNewContentWithFrame):
(WebInspector.Popover.prototype.dismiss):
(WebInspector.Popover.prototype._update):
(WebInspector.Popover.prototype.drawBackground):
(WebInspector.Popover.prototype._animateFrame):
(WebInspector.Popover.prototype._drawFrame):
(WebInspector.Popover.prototype._addListenersIfNeeded):
(WebInspector.Popover.prototype._animateFrame.drawBackground): Deleted.

  • UserInterface/Views/SourceCodeTextEditor.js:

(WebInspector.SourceCodeTextEditor.prototype._showPopover):
(WebInspector.SourceCodeTextEditor.prototype._dismissPopover):
(WebInspector.SourceCodeTextEditor.prototype._trackPopoverEvents):

11:15 AM Changeset in webkit [173116] by clopez@igalia.com
  • 2 edits in trunk/Tools

[JSC] Some JSC tests are dependent on the machine time zone.
https://bugs.webkit.org/show_bug.cgi?id=136363

Reviewed by Filip Pizlo.

  • Scripts/run-javascriptcore-tests: Export TZ environment variable to US/Pacific.

Unskip the tests that were skipped on r99580.

11:15 AM Changeset in webkit [173115] by Antti Koivisto
  • 5 edits
    5 deletes in trunk/Source/WebKit2

Remove NetworkResourceLoaderClient and subclasses.
https://bugs.webkit.org/show_bug.cgi?id=136370

Reviewed by Darin Adler.

This code is needlessly abstract. Move what logic these classes have to NetworkResourceLoader.

  • NetworkProcess/AsynchronousNetworkLoaderClient.cpp: Removed.
  • NetworkProcess/AsynchronousNetworkLoaderClient.h: Removed.
  • NetworkProcess/NetworkLoaderClient.h: Removed.
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::isSynchronous):
(WebKit::NetworkResourceLoader::didReceiveResponseAsync):
(WebKit::NetworkResourceLoader::didReceiveBuffer):
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFail):
(WebKit::NetworkResourceLoader::willSendRequestAsync):
(WebKit::NetworkResourceLoader::didSendData):
(WebKit::NetworkResourceLoader::sendBuffer):
(WebKit::NetworkResourceLoader::sendReplyToSynchronousRequest):
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceAsync):

  • NetworkProcess/NetworkResourceLoader.h:

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

  • NetworkProcess/SynchronousNetworkLoaderClient.cpp: Removed.
  • NetworkProcess/SynchronousNetworkLoaderClient.h: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
10:55 AM Changeset in webkit [173114] by Alan Bujtas
  • 14 edits in trunk/Source/WebCore

Improve showRenderTree() output.
https://bugs.webkit.org/show_bug.cgi?id=136244

Reviewed by Darin Adler.

Add more debugging information to showRenderTree().

Not testable.

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::showLineTreeForThis):
(WebCore::InlineBox::showLineTreeAndMark):
(WebCore::InlineBox::showLineBox):
(showNodeTree):
(showLineTree):
(WebCore::InlineBox::showBox): Deleted.

  • rendering/InlineBox.h:
  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::showLineTreeAndMark):

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

(WebCore::InlineTextBox::showLineBox):
(WebCore::InlineTextBox::showBox): Deleted.

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

(WebCore::RenderBlock::showLineTreeAndMark): Deleted.

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

(WebCore::RenderBlockFlow::showLineTreeAndMark):

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

(WebCore::showRenderTreeLegend):
(WebCore::RenderObject::showNodeTreeForThis):
(WebCore::RenderObject::showRenderTreeForThis):
(WebCore::RenderObject::showLineTreeForThis):
(WebCore::RenderObject::showRegionsInformation):
(WebCore::RenderObject::showRenderObject):
(WebCore::RenderObject::showRenderSubTreeAndMark):
(showNodeTree):
(showLineTree):
(showRenderTree):
(WebCore::RenderObject::showRenderTreeAndMark): Deleted.

  • rendering/RenderObject.h:
  • rendering/RootInlineBox.h:
8:55 AM Changeset in webkit [173113] by Csaba Osztrogonác
  • 6 edits
    35 deletes in trunk/Source

Unreviwed, remove empty directories.

Source/JavaScriptCore:

  • qt: Removed.

Source/ThirdParty/ANGLE:

  • src/compiler/depgraph: Removed.
  • src/compiler/timing: Removed.
  • src/libGLESv2/renderer/shaders: Removed.
  • src/libGLESv2/renderer/shaders/compiled: Removed.

Source/WebCore:

  • Modules/networkinfo: Removed.
  • inspector/front-end: Removed.
  • inspector/front-end/Images: Removed.
  • inspector/front-end/UglifyJS: Removed.
  • inspector/front-end/ace: Removed.
  • inspector/front-end/cm: Removed.
  • platform/audio/ffmpeg: Removed.
  • platform/audio/ipp: Removed.
  • platform/graphics/gpu/opencl: Removed.

Source/WebKit:

  • efl: Removed.
  • efl/DefaultTheme: Removed.
  • efl/DefaultTheme/widget: Removed.
  • efl/WebCoreSupport: Removed.
  • efl/ewk: Removed.
  • efl/tests: Removed.
  • efl/tests/UnitTestUtils: Removed.
  • efl/tests/resources: Removed.
  • gtk: Removed.
  • gtk/WebCoreSupport: Removed.
  • gtk/docs: Removed.
  • gtk/gdom: Removed.
  • gtk/resources: Removed.
  • gtk/webkit: Removed.

Source/WebKit/mac:

  • ForwardingHeaders/wtf: Removed.

Source/WebKit2:

  • PluginProcess/qt: Removed.
  • Shared/API/c/qt: Removed.
  • Shared/Downloads/qt: Removed.
  • Shared/FileAPI: Removed.
  • Shared/qt: Removed.
  • UIProcess/API/C/qt: Removed.
  • UIProcess/API/cpp/qt: Removed.
  • UIProcess/API/qt: Removed.
  • UIProcess/API/qt/raw: Removed.
  • UIProcess/API/qt/tests: Removed.
  • UIProcess/API/qt/tests/html: Removed.
  • UIProcess/API/qt/tests/html/resources: Removed.
  • UIProcess/API/qt/tests/inspectorserver: Removed.
  • UIProcess/API/qt/tests/publicapi: Removed.
  • UIProcess/API/qt/tests/qmltests: Removed.
  • UIProcess/API/qt/tests/qmltests/DesktopBehavior: Removed.
  • UIProcess/API/qt/tests/qmltests/WebView: Removed.
  • UIProcess/API/qt/tests/qmltests/common: Removed.
  • UIProcess/API/qt/tests/qquickwebview: Removed.
  • UIProcess/API/qt/tests/qrawwebview: Removed.
  • UIProcess/InspectorServer/qt: Removed.
  • UIProcess/Launcher/qt: Removed.
  • UIProcess/Plugins/qt: Removed.
  • UIProcess/SharedWorkers: Removed.
  • UIProcess/qt: Removed.
  • WebProcess/Cookies/qt: Removed.
  • WebProcess/Downloads: Removed.
  • WebProcess/IndexedDB: Removed.
  • WebProcess/InjectedBundle/qt: Removed.
  • WebProcess/NetworkInfo: Removed.
  • WebProcess/Plugins/Netscape/qt: Removed.
  • WebProcess/WebCoreSupport/qt: Removed.
  • WebProcess/WebPage/qt: Removed.
  • WebProcess/qt: Removed.
  • qt: Removed.
3:05 AM Changeset in webkit [173112] by commit-queue@webkit.org
  • 10 edits in trunk

[EFL] Remove non Coordinated Graphics code path from cmake build system after r142169
https://bugs.webkit.org/show_bug.cgi?id=135560

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-08-29
Reviewed by Gyuyoung Kim.

.:

  • Source/cmake/OptionsEfl.cmake: Removed TILED_BACKING_STORE guard.

Source/WebCore:

No new tests required, no new functionality.

  • PlatformEfl.cmake: Removed TEXTURE_MAPPER and 3D_GRAPHICS guards.
  • platform/graphics/efl/GraphicsContext3DEfl.cpp: Removed TEXTURE_MAPPER_GL and GRAPHICS_SURFACE guards.

(WebCore::GraphicsContext3D::platformLayer):
(WebCore::GraphicsContext3D::createGraphicsSurfaces):

  • platform/graphics/efl/GraphicsContext3DPrivate.cpp: Removed TEXTURE_MAPPER_GL and GRAPHICS_SURFACE guards.

(WebCore::GraphicsContext3DPrivate::initialize):
(WebCore::GraphicsContext3DPrivate::releaseResources):
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
(WebCore::GraphicsContext3DPrivate::graphicsSurfaceFlags):

  • platform/graphics/efl/GraphicsContext3DPrivate.h: Removed TEXTURE_MAPPER_GL and GRAPHICS_SURFACE guards.
  • platform/graphics/surfaces/efl/GraphicsSurfaceCommon.cpp: Removed GRAPHICS_SURFACE guard.

Tools:

  • Scripts/webkitperl/FeatureList.pm: Removed TILED_BACKING_STORE guard.
1:06 AM Changeset in webkit [173111] by Carlos Garcia Campos
  • 2 edits
    1 move in trunk/Source/WebCore

RenderThemeGtk depends on classes outside of platform
https://bugs.webkit.org/show_bug.cgi?id=22176

Reviewed by Martin Robinson.

Move RenderThemeGtk.cpp from platform to rendering.

  • PlatformGTK.cmake:
  • rendering/RenderThemeGtk.cpp: Renamed from Source/WebCore/platform/gtk/RenderThemeGtk.cpp.
12:42 AM Changeset in webkit [173110] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebCore

[GTK] ScrollbarThemeGtk should not depend on RenderThemeGtk
https://bugs.webkit.org/show_bug.cgi?id=136338

Reviewed by Philippe Normand.

Remove the dependency by creating the GtkStyleContext for the
scrollbars in ScrollbarThemeGtk.

  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::gtkStyleChangedCallback): Call ScrollbarThemeGtk::themeChanged().
(WebCore::getStyleContext): Remove the scrollbar style context support.

  • platform/gtk/RenderThemeGtk.h: Remove gtkScrollbarStyle().
  • platform/gtk/ScrollbarThemeGtk.cpp:

(WebCore::ScrollbarStyleContext::ScrollbarStyleContext): Helper
class to create the global GtkStyleContext for scrollbars.
(WebCore::ScrollbarStyleContext::~ScrollbarStyleContext):
(WebCore::ScrollbarStyleContext::context):
(WebCore::gtkScrollbarStyleContext):
(WebCore::ScrollbarThemeGtk::ScrollbarThemeGtk): Remove m_context initialization.
(WebCore::ScrollbarThemeGtk::themeChanged): Invalidate the
GtkStylecontext and call updateThemeProperties().
(WebCore::ScrollbarThemeGtk::updateThemeProperties): Use the
global style context.
(WebCore::ScrollbarThemeGtk::paintTrackBackground): Ditto.
(WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
(WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
(WebCore::ScrollbarThemeGtk::paintButton): Ditto.

  • platform/gtk/ScrollbarThemeGtk.h:
12:39 AM Changeset in webkit [173109] by Carlos Garcia Campos
  • 5 edits
    2 deletes in trunk/Source/WebCore

[GTK] Merge RenderThemeGtk3.cpp into RenderThemeGtk.cpp and ScrollbarThemeGtk3.cpp intoScrollbarThemeGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=136336

Reviewed by Philippe Normand.

There's no reason to have two files now that there's no GTK+2
support. Also fix coding style issues and compile warnings.

  • PlatformGTK.cmake:
  • platform/gtk/RenderThemeGtk.cpp:
  • platform/gtk/RenderThemeGtk.h:
  • platform/gtk/RenderThemeGtk3.cpp: Removed.
  • platform/gtk/ScrollbarThemeGtk.cpp:
  • platform/gtk/ScrollbarThemeGtk3.cpp: Removed.

Aug 28, 2014:

8:56 PM Changeset in webkit [173108] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.1-branch

Merged r173097. <rdar://problem/17927266>

8:48 PM Changeset in webkit [173107] by Lucas Forschler
  • 3 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r173093. rdar://problem/18167791

8:44 PM Changeset in webkit [173106] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r173092. rdar://problem/18045685

8:41 PM Changeset in webkit [173105] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172989. rdar://problem/18144282

8:38 PM Changeset in webkit [173104] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r171782. rdar://problem/18022691

6:42 PM Changeset in webkit [173103] by commit-queue@webkit.org
  • 4 edits
    3 adds in trunk

Web Inspector: Write tests for ScriptSyntaxTree and fix bugs in the data structure
https://bugs.webkit.org/show_bug.cgi?id=136272

Patch by Saam Barati <sbarati@apple.com> on 2014-08-28
Reviewed by Joseph Pecoraro.

Source/WebInspectorUI:

Include the necessary files in Test.html to test ScriptSyntaxTree.
Also, ScriptSyntaxTree had a couple of errors for two of its nodes
where they simply ignored one of the properties on the node.
These errors were found while writing the tests and are fixed
in this patch.

  • UserInterface/Models/ScriptSyntaxTree.js:

(WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):

  • UserInterface/Test.html:

LayoutTests:

This patch tests all nodes in the WebInspecor's Abstract Syntax Tree.
These tests don't test every aspect of the data structure, but focus
on having it parse all JavaScript expressions successfully and to also
make sure nodes in the tree are of the correct type.

  • inspector/model: Added.
  • inspector/model/parse-script-syntax-tree-expected.txt: Added.
  • inspector/model/parse-script-syntax-tree.html: Added.
6:32 PM Changeset in webkit [173102] by roger_fong@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WTF

Unreviewed build fix. Specify which version of cygwin python to use.

  • WTF.vcxproj/WTFGenerated.make:
5:51 PM Changeset in webkit [173101] by dbates@webkit.org
  • 2 edits in trunk/Tools

[Win] update-webkit should update auxiliary libs by default

Reviewed by Dan Bernstein.

The change set <http://trac.webkit.org/changeset/172795> inadvertently prevented update-webkit
from updating the Windows auxiliary libs by default. We should make update-webkit update the
Windows auxiliary libs by default. This will make its behavior match its usage text.

  • Scripts/update-webkit:
5:48 PM Changeset in webkit [173100] by mark.lam@apple.com
  • 22 edits in trunk/Source

DebuggerCallFrame::scope() should return a DebuggerScope.
<https://webkit.org/b/134420>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Rolling back in r170680 with the fix for <https://webkit.org/b/135656>.

Previously, DebuggerCallFrame::scope() returns a JSActivation (and relevant
peers) which the WebInspector will use to introspect CallFrame variables.
Instead, we should be returning a DebuggerScope as an abstraction layer that
provides the introspection functionality that the WebInspector needs. This
is the first step towards not forcing every frame to have a JSActivation
object just because the debugger is enabled.

  1. Instantiate the debuggerScopeStructure as a member of the JSGlobalObject instead of the VM. This allows JSObject::globalObject() to be able to return the global object for the DebuggerScope.
  1. On the DebuggerScope's life-cycle management:

The DebuggerCallFrame is designed to be "valid" only during a debugging session
(while the debugger is broken) through the use of a DebuggerCallFrameScope in
Debugger::pauseIfNeeded(). Once the debugger resumes from the break, the
DebuggerCallFrameScope destructs, and the DebuggerCallFrame will be invalidated.
We can't guarantee (from this code alone) that the Inspector code isn't still
holding a ref to the DebuggerCallFrame (though they shouldn't), but by contract,
the frame will be invalidated, and any attempt to query it will return null values.
This is pre-existing behavior.

Now, we're adding the DebuggerScope into the picture. While a single debugger
pause session is in progress, the Inspector may request the scope from the
DebuggerCallFrame. While the DebuggerCallFrame is still valid, we want
DebuggerCallFrame::scope() to always return the same DebuggerScope object.
This is why we hold on to the DebuggerScope with a strong ref.

If we use a weak ref instead, the following cooky behavior can manifest:

  1. The Inspector calls Debugger::scope() to get the top scope.
  2. The Inspector iterates down the scope chain and is now only holding a reference to a parent scope. It is no longer referencing the top scope.
  3. A GC occurs, and the DebuggerCallFrame's weak m_scope ref to the top scope gets cleared.
  4. The Inspector calls DebuggerCallFrame::scope() to get the top scope again but gets a different DebuggerScope instance.
  5. The Inspector iterates down the scope chain but never sees the parent scope instance that retained a ref to in step 2 above. This is because when iterating this new DebuggerScope instance (which has no knowledge of the previous parent DebuggerScope instance), a new DebuggerScope instance will get created for the same parent scope.

Since the DebuggerScope is a JSObject, its liveness is determined by its reachability.
However, its "validity" is determined by the life-cycle of its owner DebuggerCallFrame.
When the owner DebuggerCallFrame gets invalidated, its debugger scope chain (if
instantiated) will also get invalidated. This is why we need the
DebuggerScope::invalidateChain() method. The Inspector should not be using the
DebuggerScope instance after its owner DebuggerCallFrame is invalidated. If it does,
those methods will do nothing or returned a failed status.

Fix for <https://webkit.org/b/135656>:

  1. DebuggerScope::getOwnPropertySlot() and DebuggerScope::put() need to set m_thisValue in the returned slot to the wrapped scope object. Previously, it was pointing to the DebuggerScope though the rest of the fields in the returned slot will be set to data pertaining the wrapped scope object.
  1. DebuggerScope::getOwnPropertySlot() will invoke getPropertySlot() on its wrapped scope. This is because JSObject::getPropertySlot() cannot be overridden, and when called on a DebuggerScope, will not know to look in the ptototype chain of the DebuggerScope's wrapped scope. Hence, we'll treat all properties in the wrapped scope as own properties in the DebuggerScope. This is fine because the WebInspector does not presently care about where in the prototype chain the scope property comes from.

Note that the DebuggerScope and the JSActivation objects that it wraps do
not have prototypes. They are always jsNull(). This works perfectly with
the above change to use getPropertySlot() instead of getOwnPropertySlot().
To make this an explicit invariant, I also changed DebuggerScope::createStructure()
and JSActivation::createStructure() to not take a prototype argument, and
to always use jsNull() for their prototype value.

  • debugger/Debugger.h:
  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::scope):
(JSC::DebuggerCallFrame::evaluate):
(JSC::DebuggerCallFrame::invalidate):

  • debugger/DebuggerCallFrame.h:
  • debugger/DebuggerScope.cpp:

(JSC::DebuggerScope::DebuggerScope):
(JSC::DebuggerScope::finishCreation):
(JSC::DebuggerScope::visitChildren):
(JSC::DebuggerScope::className):
(JSC::DebuggerScope::getOwnPropertySlot):
(JSC::DebuggerScope::put):
(JSC::DebuggerScope::deleteProperty):
(JSC::DebuggerScope::getOwnPropertyNames):
(JSC::DebuggerScope::defineOwnProperty):
(JSC::DebuggerScope::next):
(JSC::DebuggerScope::invalidateChain):
(JSC::DebuggerScope::isWithScope):
(JSC::DebuggerScope::isGlobalScope):
(JSC::DebuggerScope::isFunctionOrEvalScope):

  • debugger/DebuggerScope.h:

(JSC::DebuggerScope::create):
(JSC::DebuggerScope::createStructure):
(JSC::DebuggerScope::iterator::iterator):
(JSC::DebuggerScope::iterator::get):
(JSC::DebuggerScope::iterator::operator++):
(JSC::DebuggerScope::iterator::operator==):
(JSC::DebuggerScope::iterator::operator!=):
(JSC::DebuggerScope::isValid):
(JSC::DebuggerScope::jsScope):
(JSC::DebuggerScope::begin):
(JSC::DebuggerScope::end):

  • inspector/JSJavaScriptCallFrame.cpp:

(Inspector::JSJavaScriptCallFrame::scopeType):
(Inspector::JSJavaScriptCallFrame::scopeChain):

  • inspector/JavaScriptCallFrame.h:

(Inspector::JavaScriptCallFrame::scopeChain):

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

(JSC::JSActivation::createStructure):

  • runtime/JSGlobalObject.cpp:

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

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::debuggerScopeStructure):

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

(JSC::JSObject::isWithScope):

  • runtime/JSScope.h:
  • runtime/PropertySlot.h:

(JSC::PropertySlot::setThisValue):

  • runtime/PutPropertySlot.h:

(JSC::PutPropertySlot::setThisValue):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

Source/WebCore:

No new tests.

Rolling back in r170680 with the fix for <https://webkit.org/b/135656>.

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::attachDebugger):

  • We should acquire the JSLock before modifying a JS global object.
5:35 PM Changeset in webkit [173099] by jhoneycutt@apple.com
  • 2 edits in branches/safari-600.1-branch/LayoutTests

2014-08-28 Jon Honeycutt <jhoneycutt@apple.com>

Skip all fast/forms/color tests. <input type=color> is disabled on the
branch.

Rubber-stamped by Andreas Kling.

  • platform/mac/TestExpectations:
5:18 PM Changeset in webkit [173098] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merged r173080. rdar://problem/18073745

5:17 PM Changeset in webkit [173097] by enrica@apple.com
  • 3 edits
    2 adds in trunk

Can't hit tab key more than 3 times continuously.
https://bugs.webkit.org/show_bug.cgi?id=136357
rdar://problem/17927266

Reviewed by Dean Jackson.

Source/WebCore:

Test: fast/css/multiple-tabs.html

When computing the tabWidth disregard increments of less than half the size of the space character
for the given font.

  • platform/graphics/Font.h:

(WebCore::Font::tabWidth):

LayoutTests:

  • fast/css/multiple-tabs-expected.html: Added.
  • fast/css/multiple-tabs.html: Added.
5:14 PM Changeset in webkit [173096] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r173078. rdar://problem/18164606

5:12 PM Changeset in webkit [173095] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merged r173067. rdar://problem/17030054

5:09 PM Changeset in webkit [173094] by Lucas Forschler
  • 10 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r173040. rdar://problem/18105827

5:01 PM Changeset in webkit [173093] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

_setDidMoveSwipeSnapshotCallback's block should only be called if the snapshot is going to move
https://bugs.webkit.org/show_bug.cgi?id=136354
<rdar://problem/18167791>

Reviewed by Simon Fraser.

  • UIProcess/API/Cocoa/WKViewPrivate.h:

Update the comment to note the new behavior.

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::beginSwipeGesture):
Don't call the block until the snapshot is actually moving (if the snapshot
never moves because it's behind the live view, don't call the block at all).

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

Occasional thread-safety-related crashes on the ServicesController queue
https://bugs.webkit.org/show_bug.cgi?id=136356
<rdar://problem/18045685>

Reviewed by Dan Bernstein.

  • UIProcess/mac/ServicesController.mm:

(WebKit::hasCompatibleServicesForItems):
Added. Check directly with NSSharingService if we have any services for the given items.
We should eventually check Viewer and Editor services separately so the Web process can
be smarter about when it shows the overlay, but for now this maintains the existing behavior.

(WebKit::ServicesController::refreshExistingServices):
Make use of hasCompatibleServicesForItems instead of having NSSharingServicePicker construct NSMenus.

3:20 PM Changeset in webkit [173091] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WTF

Merged r173036. rdar://problem/18148776

3:18 PM Changeset in webkit [173090] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

[iOS] Clients that include WebCoreThread.h fail to build after <http://trac.webkit.org/changeset/172814/>
(https://bugs.webkit.org/show_bug.cgi?id=136108)

Define WEBCORE_EXPORT (if its not already defined) in WebCoreThread.h so as to fix the
build for clients that include this header.

  • platform/ios/wak/WebCoreThread.h:
3:18 PM Changeset in webkit [173089] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r173029. rdar://problem/17215064

3:13 PM Changeset in webkit [173088] by Lucas Forschler
  • 3 edits
    2 copies in branches/safari-600.1-branch

Merged r173028. rdar://problem/15724915

3:05 PM Changeset in webkit [173087] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merged r173016. rdar://problem/18120176

3:02 PM Changeset in webkit [173086] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r173015. rdar://problem/18141133

2:59 PM Changeset in webkit [173085] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebInspectorUI

Merged r173010. rdar://problem/18093204

2:56 PM Changeset in webkit [173084] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merged r172939. rdar://problem/18106066

2:53 PM Changeset in webkit [173083] by Lucas Forschler
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merged r172871. rdar://problem/16896423

2:38 PM Changeset in webkit [173082] by akling@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Use JSString::toIdentifier() in more places.
<https://webkit.org/b/136348>

Call sites that grab the WTF::String from a JSString using value() can
use the more efficient toIdentifier() if the string is going to be used
to construct an Identifier.

If the JSString is a rope that resolves to something that is already
present in the VM's Identifier table, using toIdentifier() can avoid
allocating a new StringImpl.

Reviewed by Geoffrey Garen.

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

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::opIn):

  • runtime/JSONObject.cpp:

(JSC::Stringifier::Stringifier):

  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorGetOwnPropertyDescriptor):
(JSC::objectConstructorDefineProperty):

  • runtime/ObjectPrototype.cpp:

(JSC::objectProtoFuncPropertyIsEnumerable):

2:36 PM Changeset in webkit [173081] by jhoneycutt@apple.com
  • 2 edits in branches/safari-600.1-branch/LayoutTests

2014-08-28 Jon Honeycutt <jhoneycutt@apple.com>

Skip some tests that test features that are disabled on the branch.

Rubber-stamped by Andreas Kling.

  • platform/mac/TestExpectations:
2:08 PM Changeset in webkit [173080] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

WebContent hangs under SharedBuffer::duplicateDataBufferIfNecessary() while browsing some websites
https://bugs.webkit.org/show_bug.cgi?id=136347
<rdar://problem/18073745>

Reviewed by Andreas Kling.

When passing data to ImageIO, we create a copy if we have to reallocate the buffer. We would
set the size of the new buffer to be the size of the SharedBuffer data. This causes memory
churn since we would create a new buffer for every data chunk we get. Fix this by at least
doubling the capacity of the buffer when we duplicate it.

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::duplicateDataBufferIfNecessary):

2:01 PM Changeset in webkit [173079] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix.

  • WebCore.exp.in: Updated symbol.
1:45 PM Changeset in webkit [173078] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

WebKit2 doesn't support viewer services that accept image attachments
https://bugs.webkit.org/show_bug.cgi?id=136349
<rdar://problem/18164606>

Reviewed by Brady Eidson.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):
Encode the already-existing parameter.

1:34 PM Changeset in webkit [173077] by bshafiei@apple.com
  • 11 edits in tags/Safari-600.1.15.2/Source/WebKit2

Merged r172966. <rdar://problem/18107826>

1:27 PM Changeset in webkit [173076] by bshafiei@apple.com
  • 5 edits in tags/Safari-600.1.15.2/Source

Versioning.

1:24 PM Changeset in webkit [173075] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.15.2

New tag.

1:01 PM Changeset in webkit [173074] by benjamin@webkit.org
  • 11 edits
    16 adds in trunk

Scrolling with spacebar on a page with fixed header breaks reading flow
https://bugs.webkit.org/show_bug.cgi?id=135506

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

Source/WebCore:

When scrolling by page, find the height of any bar that is obscuring the top or bottom of the page,
and substract that height from the step to scroll.

Tests: scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar.html

scrollbars/scrolling-backward-by-page-on-keyboard-spacebar.html
scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar.html
scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar.html
scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar.html
scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar.html
scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar.html
scrollbars/scrolling-by-page-on-keyboard-spacebar.html

  • WebCore.exp.in:
  • page/FrameView.cpp:

(WebCore::FrameView::adjustScrollStepForFixedContent):

  • page/FrameView.h:
  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::adjustScrollStepForFixedContent):
(WebCore::ScrollableArea::scroll):

  • platform/ScrollableArea.h:

LayoutTests:

There was pretty much no test coverage for scrolling by page, add some tests.

  • fast/events/scrollbar-double-click-expected.txt:
  • platform/mac-wk1/TestExpectations:
  • scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
  • scrollbars/scrolling-backward-by-page-accounting-bottom-fixed-elements-on-keyboard-spacebar.html: Added.
  • scrollbars/scrolling-backward-by-page-on-keyboard-spacebar-expected.txt: Added.
  • scrollbars/scrolling-backward-by-page-on-keyboard-spacebar.html: Added.
  • scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
  • scrollbars/scrolling-by-page-accounting-oversized-fixed-elements-on-keyboard-spacebar.html: Added.
  • scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
  • scrollbars/scrolling-by-page-accounting-top-fixed-elements-on-keyboard-spacebar.html: Added.
  • scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar-expected.txt: Added.
  • scrollbars/scrolling-by-page-accounting-top-fixed-elements-with-negative-top-on-keyboard-spacebar.html: Added.
  • scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
  • scrollbars/scrolling-by-page-ignoring-hidden-fixed-elements-on-keyboard-spacebar.html: Added.
  • scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar-expected.txt: Added.
  • scrollbars/scrolling-by-page-ignoring-transparent-fixed-elements-on-keyboard-spacebar.html: Added.
  • scrollbars/scrolling-by-page-on-keyboard-spacebar-expected.txt: Added.
  • scrollbars/scrolling-by-page-on-keyboard-spacebar.html: Added.
12:48 PM Changeset in webkit [173073] by Alan Bujtas
  • 20 edits in trunk/Source

Subpixel layout: Remove unused pixel snapping functions.
https://bugs.webkit.org/show_bug.cgi?id=136341

Reviewed by Simon Fraser.

Let's not encourage integral snapping by having these functions around.

No change in functionality.

Source/WebCore:

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::pixelSnappedElementRect): Deleted.
(WebCore::AccessibilityObject::pixelSnappedSize): Deleted.

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::width):
(WebCore::HTMLImageElement::height):

  • page/FrameView.cpp:

(WebCore::FrameView::qualifiesAsVisuallyNonEmpty):

  • platform/graphics/LayoutPoint.h:

(WebCore::snappedIntSize):
(WebCore::snapSizeToDevicePixel):

  • platform/graphics/LayoutRect.h:

(WebCore::LayoutRect::pixelSnappedLocation): Deleted.
(WebCore::LayoutRect::pixelSnappedX): Deleted.
(WebCore::LayoutRect::pixelSnappedY): Deleted.
(WebCore::LayoutRect::pixelSnappedWidth): Deleted.
(WebCore::LayoutRect::pixelSnappedHeight): Deleted.
(WebCore::LayoutRect::pixelSnappedMaxX): Deleted.
(WebCore::LayoutRect::pixelSnappedMaxY): Deleted.
(WebCore::snappedIntRectFromEdges): Deleted.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::pixelSnappedLogicalTopForFloat): Deleted.
(WebCore::RenderBlockFlow::pixelSnappedLogicalBottomForFloat): Deleted.
(WebCore::RenderBlockFlow::pixelSnappedLogicalLeftForFloat): Deleted.
(WebCore::RenderBlockFlow::pixelSnappedLogicalRightForFloat): Deleted.

  • rendering/RenderBox.h:

(WebCore::RenderBox::pixelSnappedLogicalHeight):
(WebCore::RenderBox::pixelSnappedLogicalWidth):
(WebCore::RenderBox::pixelSnappedBorderBoxRect):
(WebCore::RenderBox::pixelSnappedWidth): Deleted.
(WebCore::RenderBox::pixelSnappedHeight): Deleted.
(WebCore::RenderBox::pixelSnappedFrameRect): Deleted.

  • rendering/RenderFileUploadControl.cpp:

(WebCore::nodeWidth):
(WebCore::nodeHeight):
(WebCore::RenderFileUploadControl::maxFilenameWidth):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::isPointInResizeControl):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::ensureRootLayer):

  • rendering/RenderMediaControls.cpp:

(WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::paintColumnRules):

  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::buttonRect):

  • rendering/RenderView.h:

Source/WebKit2:

  • Shared/WebRenderObject.cpp:

(WebKit::WebRenderObject::WebRenderObject):

12:23 PM Changeset in webkit [173072] by fpizlo@apple.com
  • 14 edits
    7 adds in trunk/Source

DFG should compute immediate dominators using the O(n log n) form of Lengauer and Tarjan's "A Fast Algorithm for Finding Dominators in a Flowgraph"
https://bugs.webkit.org/show_bug.cgi?id=93361

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

This patch also adds some new utilities for reasoning about block-keyed maps, block sets,
and block worklists. It changes preexisting code to use these abstractions.

(JSC::DFG::Analysis::computeIfNecessary):
(JSC::DFG::Analysis::computeDependencies):

  • dfg/DFGBlockMap.h: Added.

(JSC::DFG::BlockMap::BlockMap):
(JSC::DFG::BlockMap::size):
(JSC::DFG::BlockMap::atIndex):
(JSC::DFG::BlockMap::operator[]):

  • dfg/DFGBlockMapInlines.h: Added.

(JSC::DFG::BlockMap<T>::BlockMap):

  • dfg/DFGBlockSet.h: Added.

(JSC::DFG::BlockSet::BlockSet):
(JSC::DFG::BlockSet::add):
(JSC::DFG::BlockSet::contains):

  • dfg/DFGBlockWorklist.cpp: Added.

(JSC::DFG::BlockWorklist::BlockWorklist):
(JSC::DFG::BlockWorklist::~BlockWorklist):
(JSC::DFG::BlockWorklist::push):
(JSC::DFG::BlockWorklist::pop):
(JSC::DFG::PostOrderBlockWorklist::PostOrderBlockWorklist):
(JSC::DFG::PostOrderBlockWorklist::~PostOrderBlockWorklist):
(JSC::DFG::PostOrderBlockWorklist::pushPre):
(JSC::DFG::PostOrderBlockWorklist::pushPost):
(JSC::DFG::PostOrderBlockWorklist::pop):

  • dfg/DFGBlockWorklist.h: Added.

(JSC::DFG::BlockWorklist::notEmpty):
(JSC::DFG::BlockWith::BlockWith):
(JSC::DFG::BlockWith::operator UnspecifiedBoolType*):
(JSC::DFG::ExtendedBlockWorklist::ExtendedBlockWorklist):
(JSC::DFG::ExtendedBlockWorklist::forcePush):
(JSC::DFG::ExtendedBlockWorklist::push):
(JSC::DFG::ExtendedBlockWorklist::notEmpty):
(JSC::DFG::ExtendedBlockWorklist::pop):
(JSC::DFG::BlockWithOrder::BlockWithOrder):
(JSC::DFG::BlockWithOrder::operator UnspecifiedBoolType*):
(JSC::DFG::PostOrderBlockWorklist::push):
(JSC::DFG::PostOrderBlockWorklist::notEmpty):

  • dfg/DFGCSEPhase.cpp:
  • dfg/DFGDominators.cpp:

(JSC::DFG::Dominators::compute):
(JSC::DFG::Dominators::naiveDominates):
(JSC::DFG::Dominators::dump):
(JSC::DFG::Dominators::pruneDominators): Deleted.

  • dfg/DFGDominators.h:

(JSC::DFG::Dominators::strictlyDominates):
(JSC::DFG::Dominators::dominates):
(JSC::DFG::Dominators::BlockData::BlockData):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dumpBlockHeader):
(JSC::DFG::Graph::getBlocksInPreOrder):
(JSC::DFG::Graph::getBlocksInPostOrder):

  • dfg/DFGInvalidationPointInjectionPhase.cpp:

(JSC::DFG::InvalidationPointInjectionPhase::run):

  • dfg/DFGNaiveDominators.cpp: Added.

(JSC::DFG::NaiveDominators::NaiveDominators):
(JSC::DFG::NaiveDominators::~NaiveDominators):
(JSC::DFG::NaiveDominators::compute):
(JSC::DFG::NaiveDominators::pruneDominators):
(JSC::DFG::NaiveDominators::dump):

  • dfg/DFGNaiveDominators.h: Added.

(JSC::DFG::NaiveDominators::dominates):

  • dfg/DFGNaturalLoops.cpp:

(JSC::DFG::NaturalLoops::computeDependencies):
(JSC::DFG::NaturalLoops::compute):

  • dfg/DFGNaturalLoops.h:

Source/WTF:

Make BitVector operations return the previous value of the bit you're changing. This is
useful for the kinds of set operations that are commonplace in compiler graph searches.

  • wtf/BitVector.h:

(WTF::BitVector::quickSet):
(WTF::BitVector::quickClear):
(WTF::BitVector::set):
(WTF::BitVector::ensureSizeAndSet):
(WTF::BitVector::clear):

12:21 PM Changeset in webkit [173071] by enrica@apple.com
  • 6 edits in trunk/Source

textStylingAtPosition returns incorrect values after executing toggleBold, toggleItalic and toggleUnderline.
https://bugs.webkit.org/show_bug.cgi?id=136323
rdar://problem/18141964

Reviewed by Antti Koivisto.

For underline style we need to check typingStyle first and use that information to populate
the dictionary. If there is no typing style we can use the render style.
Source/WebCore:

  • WebCore.exp.in:
  • editing/ios/EditorIOS.mm:

(WebCore::Editor::fontAttributesForSelectionStart):

Source/WebKit2:

We also need to update the editor state for the toggle commands to reflect the state in the UIProcess
even for commands that don't change the selection.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::editorState):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::executeEditCommandWithCallback):

12:19 PM Changeset in webkit [173070] by Brian Burg
  • 3 edits in trunk/Tools

build-webkit --inspector-frontend tries to copy files from old inspector path
https://bugs.webkit.org/show_bug.cgi?id=136346

Reviewed by Timothy Hatcher.

Remove the old code path for copying inspector resources. It doesn't work.
Complain if this option is passed to CMake-based builds.

  • Scripts/build-webkit:
  • Scripts/webkitdirs.pm:

(copyInspectorFrontendFiles): Deleted.

12:09 PM Changeset in webkit [173069] by fpizlo@apple.com
  • 58 edits
    17 adds in trunk

FTL should be able to do polymorphic call inlining
https://bugs.webkit.org/show_bug.cgi?id=135145

Reviewed by Geoffrey Garen.
Source/JavaScriptCore:


Added a log-based high-fidelity call edge profiler that runs in DFG JIT (and optionally
baseline JIT) code. Used it to do precise polymorphic inlining in the FTL. Potential
inlining sites use the call edge profile if it is available, but they will still fall back
on the call inline cache and rare case counts if it's not. Polymorphic inlining means that
multiple possible callees can be inlined with a switch to guard them. The slow path may
either be an OSR exit or a virtual call.

The call edge profiling added in this patch is very precise - it will tell you about every
call that has ever happened. It took some effort to reduce the overhead of this profiling.
This mostly involved ensuring that we don't do it unnecessarily. For example, we avoid it
in the baseline JIT (you can conditionally enable it but it's off by default) and we only do
it in the DFG JIT if we know that the regular inline cache profiling wasn't precise enough.
I also experimented with reducing the precision of the profiling. This led to a significant
reduction in the speed-up, so I avoided this approach. I also explored making log processing
concurrent, but that didn't help. Also, I tested the overhead of the log processing and
found that most of the overhead of this profiling is actually in putting things into the log
rather than in processing the log - that part appears to be surprisingly cheap.

Polymorphic inlining could be enabled in the DFG if we enabled baseline call edge profiling,
and if we guarded such inlining sites with some profiling mechanism to detect
polyvariant monomorphisation opportunities (where the callsite being inlined reveals that
it's actually monomorphic).

This is a ~28% speed-up on deltablue and a ~7% speed-up on richards, with small speed-ups on
other programs as well. It's about a 2% speed-up on Octane version 2, and never a regression
on anything we care about. Some aggregates, like V8Spider, see a regression. This is
highlighting the increase in profiling overhead. But since this doesn't show up on any major
score (code-load or SunSpider), it's probably not relevant.

Relanding after fixing debug assertions in fast/storage/serialized-script-value.html.

(JSC::CallEdge::dump):

  • bytecode/CallEdge.h: Added.

(JSC::CallEdge::operator!):
(JSC::CallEdge::callee):
(JSC::CallEdge::count):
(JSC::CallEdge::despecifiedClosure):
(JSC::CallEdge::CallEdge):

  • bytecode/CallEdgeProfile.cpp: Added.

(JSC::CallEdgeProfile::callEdges):
(JSC::CallEdgeProfile::numCallsToKnownCells):
(JSC::worthDespecifying):
(JSC::CallEdgeProfile::worthDespecifying):
(JSC::CallEdgeProfile::visitWeak):
(JSC::CallEdgeProfile::addSlow):
(JSC::CallEdgeProfile::mergeBack):
(JSC::CallEdgeProfile::fadeByHalf):
(JSC::CallEdgeLog::CallEdgeLog):
(JSC::CallEdgeLog::~CallEdgeLog):
(JSC::CallEdgeLog::isEnabled):
(JSC::operationProcessCallEdgeLog):
(JSC::CallEdgeLog::emitLogCode):
(JSC::CallEdgeLog::processLog):

  • bytecode/CallEdgeProfile.h: Added.

(JSC::CallEdgeProfile::numCallsToNotCell):
(JSC::CallEdgeProfile::numCallsToUnknownCell):
(JSC::CallEdgeProfile::totalCalls):

  • bytecode/CallEdgeProfileInlines.h: Added.

(JSC::CallEdgeProfile::CallEdgeProfile):
(JSC::CallEdgeProfile::add):

  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::visitWeak):

  • bytecode/CallLinkInfo.h:
  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::CallLinkStatus):
(JSC::CallLinkStatus::computeFromLLInt):
(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::computeExitSiteData):
(JSC::CallLinkStatus::computeFromCallLinkInfo):
(JSC::CallLinkStatus::computeFromCallEdgeProfile):
(JSC::CallLinkStatus::computeDFGStatuses):
(JSC::CallLinkStatus::isClosureCall):
(JSC::CallLinkStatus::makeClosureCall):
(JSC::CallLinkStatus::dump):
(JSC::CallLinkStatus::function): Deleted.
(JSC::CallLinkStatus::internalFunction): Deleted.
(JSC::CallLinkStatus::intrinsicFor): Deleted.

  • bytecode/CallLinkStatus.h:

(JSC::CallLinkStatus::CallLinkStatus):
(JSC::CallLinkStatus::isSet):
(JSC::CallLinkStatus::couldTakeSlowPath):
(JSC::CallLinkStatus::edges):
(JSC::CallLinkStatus::size):
(JSC::CallLinkStatus::at):
(JSC::CallLinkStatus::operator[]):
(JSC::CallLinkStatus::canOptimize):
(JSC::CallLinkStatus::canTrustCounts):
(JSC::CallLinkStatus::isClosureCall): Deleted.
(JSC::CallLinkStatus::callTarget): Deleted.
(JSC::CallLinkStatus::executable): Deleted.
(JSC::CallLinkStatus::makeClosureCall): Deleted.

  • bytecode/CallVariant.cpp: Added.

(JSC::CallVariant::dump):

  • bytecode/CallVariant.h: Added.

(JSC::CallVariant::CallVariant):
(JSC::CallVariant::operator!):
(JSC::CallVariant::despecifiedClosure):
(JSC::CallVariant::rawCalleeCell):
(JSC::CallVariant::internalFunction):
(JSC::CallVariant::function):
(JSC::CallVariant::isClosureCall):
(JSC::CallVariant::executable):
(JSC::CallVariant::nonExecutableCallee):
(JSC::CallVariant::intrinsicFor):
(JSC::CallVariant::functionExecutable):
(JSC::CallVariant::isHashTableDeletedValue):
(JSC::CallVariant::operator==):
(JSC::CallVariant::operator!=):
(JSC::CallVariant::operator<):
(JSC::CallVariant::operator>):
(JSC::CallVariant::operator<=):
(JSC::CallVariant::operator>=):
(JSC::CallVariant::hash):
(JSC::CallVariant::deletedToken):
(JSC::CallVariantHash::hash):
(JSC::CallVariantHash::equal):

  • bytecode/CodeOrigin.h:

(JSC::InlineCallFrame::isNormalCall):

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):

  • bytecode/ExitKind.h:
  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeForStubInfo):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeForStubInfo):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGBackwardsPropagationPhase.cpp:

(JSC::DFG::BackwardsPropagationPhase::propagate):

  • dfg/DFGBasicBlock.cpp:

(JSC::DFG::BasicBlock::~BasicBlock):

  • dfg/DFGBasicBlock.h:

(JSC::DFG::BasicBlock::takeLast):
(JSC::DFG::BasicBlock::didLink):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::processSetLocalQueue):
(JSC::DFG::ByteCodeParser::removeLastNodeFromGraph):
(JSC::DFG::ByteCodeParser::addCallWithoutSettingResult):
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::emitFunctionChecks):
(JSC::DFG::ByteCodeParser::undoFunctionChecks):
(JSC::DFG::ByteCodeParser::inliningCost):
(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::cancelLinkingForBlock):
(JSC::DFG::ByteCodeParser::attemptToInlineCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::prepareToParseBlock):
(JSC::DFG::ByteCodeParser::clearCaches):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::linkBlock):
(JSC::DFG::ByteCodeParser::linkBlocks):
(JSC::DFG::ByteCodeParser::parseCodeBlock):

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::freeUnnecessaryNodes):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGCommon.h:
  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::getBlocksInPreOrder):
(JSC::DFG::Graph::visitChildren):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • dfg/DFGLazyJSValue.cpp:

(JSC::DFG::LazyJSValue::switchLookupValue):

  • dfg/DFGLazyJSValue.h:

(JSC::DFG::LazyJSValue::switchLookupValue): Deleted.

  • dfg/DFGNode.cpp:

(WTF::printInternal):

  • dfg/DFGNode.h:

(JSC::DFG::OpInfo::OpInfo):
(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::hasCellOperand):
(JSC::DFG::Node::cellOperand):
(JSC::DFG::Node::setCellOperand):
(JSC::DFG::Node::canBeKnownFunction): Deleted.
(JSC::DFG::Node::hasKnownFunction): Deleted.
(JSC::DFG::Node::knownFunction): Deleted.
(JSC::DFG::Node::giveKnownFunction): Deleted.
(JSC::DFG::Node::hasFunction): Deleted.
(JSC::DFG::Node::function): Deleted.
(JSC::DFG::Node::hasExecutable): Deleted.
(JSC::DFG::Node::executable): Deleted.

  • dfg/DFGNodeType.h:
  • dfg/DFGPhantomCanonicalizationPhase.cpp:

(JSC::DFG::PhantomCanonicalizationPhase::run):

  • dfg/DFGPhantomRemovalPhase.cpp:

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

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitSwitch):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGStructureRegistrationPhase.cpp:

(JSC::DFG::StructureRegistrationPhase::run):

  • dfg/DFGTierUpCheckInjectionPhase.cpp:

(JSC::DFG::TierUpCheckInjectionPhase::run):
(JSC::DFG::TierUpCheckInjectionPhase::removeFTLProfiling):

  • dfg/DFGValidate.cpp:

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

  • dfg/DFGWatchpointCollectionPhase.cpp:

(JSC::DFG::WatchpointCollectionPhase::handle):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::ftlUnreachable):
(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileCheckCell):
(JSC::FTL::LowerDFGToLLVM::compileCheckBadCell):
(JSC::FTL::LowerDFGToLLVM::compileGetExecutable):
(JSC::FTL::LowerDFGToLLVM::compileNativeCallOrConstruct):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::buildSwitch):
(JSC::FTL::LowerDFGToLLVM::compileCheckFunction): Deleted.
(JSC::FTL::LowerDFGToLLVM::compileCheckExecutable): Deleted.

  • heap/Heap.cpp:

(JSC::Heap::collect):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::storeValue):
(JSC::AssemblyHelpers::loadValue):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArguments):

  • jit/GPRInfo.h:

(JSC::JSValueRegs::uses):

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileOpCall):

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

(JSC::VM::ensureCallEdgeLog):

  • runtime/VM.h:
  • tests/stress/fold-profiled-call-to-call.js: Added. This test pinpoints the problem we saw in fast/storage/serialized-script-value.html.
  • tests/stress/new-array-then-exit.js: Added.
  • tests/stress/poly-call-exit-this.js: Added.
  • tests/stress/poly-call-exit.js: Added.

Source/WTF:


Add some power that I need for call edge profiling.

  • wtf/OwnPtr.h:

(WTF::OwnPtr<T>::createTransactionally):

  • wtf/Spectrum.h:

(WTF::Spectrum::add):
(WTF::Spectrum::addAll):
(WTF::Spectrum::get):
(WTF::Spectrum::size):
(WTF::Spectrum::KeyAndCount::KeyAndCount):
(WTF::Spectrum::clear):
(WTF::Spectrum::removeIf):

LayoutTests:

  • js/regress/script-tests/simple-poly-call-nested.js: Added.
  • js/regress/script-tests/simple-poly-call.js: Added.
  • js/regress/simple-poly-call-expected.txt: Added.
  • js/regress/simple-poly-call-nested-expected.txt: Added.
  • js/regress/simple-poly-call-nested.html: Added.
  • js/regress/simple-poly-call.html: Added.
12:03 PM Changeset in webkit [173068] by zandobersek@gmail.com
  • 2 edits
    2 adds in trunk/Source/WebCore

[GTK] Add WaylandEventSource
https://bugs.webkit.org/show_bug.cgi?id=136213

Reviewed by Martin Robinson.

Add the WaylandEventSource class. Its static method, createEventSource(),
creates a new GSource object that is attached to the main context and
enables handling Wayland display events through the GLib's main loop.

The method will be called by the nested Wayland compositor during its
initialization, which will also take the control over the ownership and
will be tasked with properly removing the GSource from the main context.

GLibSource is a GSource-based struct that additionally holds a GPollFD object
and the pointer to the wl_display object whose event loop we'll be
dispatching during the GSource dispatch. This is the type that g_source_new
uses when allocating the new GSource object.

The GSource is assigned the default priorty, can recurse, and is attached
to the main context.

  • PlatformGTK.cmake:
  • platform/graphics/wayland/WaylandEventSource.cpp: Added.

(WebCore::GLibSource::initialize):
(WebCore::GLibSource::check):
(WebCore::GLibSource::dispatch):
(WebCore::prepareCallback):
(WebCore::checkCallback):
(WebCore::dispatchCallback):
(WebCore::WaylandEventSource::createDisplayEventSource):

  • platform/graphics/wayland/WaylandEventSource.h: Added.
11:00 AM Changeset in webkit [173067] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AX: Safari at com.apple.WebCore: WebCore::AXObjectCache::clearTextMarkerNodesInUse
https://bugs.webkit.org/show_bug.cgi?id=136333

Reviewed by David Kilzer.

If a Node is asked for it's Document when it's not actually in a document, it can lead to an assert/crash.
We can avoid this by checking that the node is in a document before asking for its document.

I was not able to make a test case.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::clearTextMarkerNodesInUse):

10:54 AM Changeset in webkit [173066] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

ASSERTION FAILED: !m_renderView.document().inPageCache() in compositing/iframes/resources/page-cache-helper.html
<https://webkit.org/b/136329>

Cancel any pending compositing layer updates when moving a document
into the page cache.

Reviewed by Zalan Bujtas.

  • dom/Document.cpp:

(WebCore::Document::documentWillSuspendForPageCache):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::cancelCompositingLayerUpdate):

  • rendering/RenderLayerCompositor.h:
10:26 AM Changeset in webkit [173065] by ap@apple.com
  • 4 edits in trunk/Tools

Dashboard metrics page could show longest stretch of red
https://bugs.webkit.org/show_bug.cgi?id=136334

Reviewed by Sam Weinig.

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

(Analyzer.prototype._updateStretchOfRedCounters):
(Analyzer.prototype._countPercentageOfGreen):
When counting percentage of green, also keep track of how long the page was red.

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

(MetricsView.prototype._update.addDivider):
(MetricsView.prototype._update.appendQueueResults):
Show it in aggregate queues (can't think of a reason to have it in individual ones).

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Metrics.css:

Changed to use an explicit divider element between green time and performance groups,
as there are too many combinations to easily express in CSS.

10:22 AM Changeset in webkit [173064] by Brian Burg
  • 3 edits in trunk

WebInspectorUI.framework is not built for the "All Source" Xcode scheme
https://bugs.webkit.org/show_bug.cgi?id=136343

Reviewed by David Kilzer.

The "build" and "run" actions in Xcode should copy over the latest Inspector resources.

  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme:
  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:
9:00 AM Changeset in webkit [173063] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Adjust build order to reduce flakiness.

  • WebKit.vcxproj/WebKit.sln: Make sure WebCoreGenerated doesn't start until the last JSC tool has finished building.
7:22 AM Changeset in webkit [173062] by Julien Brianceau
  • 2 edits in trunk/Source/JavaScriptCore

Correct GC length unit and prevent division by 0 in showObjectStatistics.
https://bugs.webkit.org/show_bug.cgi?id=136340

Reviewed by Mark Hahnenberg.

  • heap/HeapStatistics.cpp:

(JSC::HeapStatistics::showObjectStatistics):

6:25 AM Changeset in webkit [173061] by mihnea@adobe.com
  • 3 edits
    2 adds in trunk

[CSSSRegions] Incorrect selection clearing on a document without regions
https://bugs.webkit.org/show_bug.cgi?id=134901

Reviewed by David Hyatt.

Source/WebCore:

When we select all the content of document with named flows but without regions,
the start and end points of selection is cached in RenderView. However, since
the document has named flows, the selection is split between the subtrees. During the split,
it is possible that the cached end-points of the original selection are not included
in any of the resulting subtree selection and they are not marked accordingly.
In order to process the selection clearing correctly, we have to take the original
selection end-points into account.

Test: fast/regions/selection/select-all-without-regions.html

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::isSelectionBorder):

LayoutTests:

  • fast/regions/selection/select-all-without-regions-expected.txt: Added.
  • fast/regions/selection/select-all-without-regions.html: Added.
6:11 AM Changeset in webkit [173060] by Carlos Garcia Campos
  • 9 edits in trunk

[GTK] Add webkit_uri_response_get_http_headers to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=136248

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Move the code to update the SoupMessageHeaders to a new public
method.

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

(WebCore::ResourceResponse::updateSoupMessageHeaders):
(WebCore::ResourceResponse::toSoupMessage):

Source/WebKit2:

Add webkit_uri_response_get_http_headers() that returns the HTTP
headers as a SoupMessageHeaders* like webkit_uri_request_get_http_headers().

  • UIProcess/API/gtk/WebKitURIResponse.cpp:

(webkitURIResponseGetProperty): Add http-headers property getter.
(webkit_uri_response_class_init): Add http-headers property.
(webkit_uri_response_get_http_headers): Return the HTTP headers as
a SoupMessageHeaders* or NULL for non HTTP responses.

  • UIProcess/API/gtk/WebKitURIResponse.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.

Tools:

Add new test case for webkit_uri_response_get_http_headers().

  • TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp:

(testURIResponseHTTPHeaders):
(serverCallback):
(beforeAll):

2:13 AM Changeset in webkit [173059] by Carlos Garcia Campos
  • 7 edits
    4 deletes in trunk/Source/WebCore

[GTK] Remove support for GTK+2 theme rendering
https://bugs.webkit.org/show_bug.cgi?id=136285

Reviewed by Philippe Normand.

GTK+2 is only used by the plugin process that doesn't need to
render html controls themed. Since the theme files are still
built for WebCorePlatformGTK2, we need to provide dummy
implementations for the pure virtual methods when
GTK_API_VERSION_2 is defined.

  • PlatformGTK.cmake: Remove deleted files from compilation.
  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::create):
(WebCore::RenderTheme::themeForPage):
(WebCore::getScreenDPI):
(WebCore::RenderThemeGtk::systemFont):
(WebCore::RenderThemeGtk::sliderTickSize):
(WebCore::RenderThemeGtk::sliderTickOffsetFromTrackCenter):
(WebCore::RenderThemeGtk::getScreenDPI): Deleted.

  • platform/gtk/RenderThemeGtk.h:
  • platform/gtk/RenderThemeGtk2.cpp: Removed.
  • platform/gtk/RenderThemeGtk3.cpp:
  • platform/gtk/ScrollbarThemeGtk.cpp:

(WebCore::ScrollbarThemeGtk::hasThumb):
(WebCore::ScrollbarThemeGtk::backButtonRect):
(WebCore::ScrollbarThemeGtk::forwardButtonRect):
(WebCore::ScrollbarThemeGtk::trackRect):
(WebCore::ScrollbarThemeGtk::registerScrollbar):
(WebCore::ScrollbarThemeGtk::unregisterScrollbar):
(WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):

  • platform/gtk/ScrollbarThemeGtk.h:
  • platform/gtk/ScrollbarThemeGtk2.cpp: Removed.
  • platform/gtk/WidgetRenderingContext.cpp: Removed.
  • platform/gtk/WidgetRenderingContext.h: Removed.
1:02 AM Changeset in webkit [173058] by zandobersek@gmail.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

List Iago Toral <itoral@igalia.com> as the co-author of r172856 anr r173052 in the ChangeLog entries.

12:47 AM Changeset in webkit [173057] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

Unreviewed GTK build fix for the Wayland windowing target after r173052.

  • platform/graphics/wayland/WaylandSurface.cpp: Include the IntSize header.
  • platform/graphics/wayland/WaylandSurface.h: Forward-declare IntSize.
12:33 AM Changeset in webkit [173056] by mihnea@adobe.com
  • 3 edits
    53 moves
    8 adds
    7 deletes in trunk/LayoutTests

[CSS Regions] Move positioning tests into fast/regions/positioning
https://bugs.webkit.org/show_bug.cgi?id=136302

Reviewed by Andrei Bucur.

Moved tests, clean up tests, adjust TestExpectations files where needed.

  • fast/regions/positioned-objects-block-static-in-regions-expected.html: Removed.
  • fast/regions/positioned-objects-block-static-in-regions.html: Removed.
  • fast/regions/positioned-objects-block-static-in-rtl-regions-expected.html: Removed.
  • fast/regions/positioned-objects-block-static-in-rtl-regions.html: Removed.
  • fast/regions/positioned-objects-clipped-spanning-regions-expected.html: Removed.
  • fast/regions/positioned-objects-in-regions.html: Removed.
  • fast/regions/positioned-objects-inline-static-spanning-regions-expected.html: Removed.
  • fast/regions/positioning/fixed-element-transformed-parent-expected.txt: Renamed from LayoutTests/fast/regions/fixed-element-transformed-parent-expected.txt.
  • fast/regions/positioning/fixed-element-transformed-parent.html: Renamed from LayoutTests/fast/regions/fixed-element-transformed-parent.html.
  • fast/regions/positioning/fixed-in-named-flow-position-changed-expected.html: Renamed from LayoutTests/fast/regions/fixed-in-named-flow-position-changed-expected.html.
  • fast/regions/positioning/fixed-in-named-flow-position-changed.html: Renamed from LayoutTests/fast/regions/fixed-in-named-flow-position-changed.html.
  • fast/regions/positioning/fixed-inside-fixed-in-named-flow-expected.html: Renamed from LayoutTests/fast/regions/fixed-inside-fixed-in-named-flow-expected.html.
  • fast/regions/positioning/fixed-inside-fixed-in-named-flow.html: Renamed from LayoutTests/fast/regions/fixed-inside-fixed-in-named-flow.html.
  • fast/regions/positioning/fixed-inside-named-flow-zIndex-expected.html: Renamed from LayoutTests/fast/regions/fixed-inside-named-flow-zIndex-expected.html.
  • fast/regions/positioning/fixed-inside-named-flow-zIndex.html: Renamed from LayoutTests/fast/regions/fixed-inside-named-flow-zIndex.html.
  • fast/regions/positioning/fixed-pos-content-fragmented-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-content-fragmented-expected.html.
  • fast/regions/positioning/fixed-pos-content-fragmented.html: Renamed from LayoutTests/fast/regions/fixed-pos-content-fragmented.html.
  • fast/regions/positioning/fixed-pos-elem-in-named-flow-expected.txt: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-named-flow-expected.txt.
  • fast/regions/positioning/fixed-pos-elem-in-named-flow.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-named-flow.html.
  • fast/regions/positioning/fixed-pos-elem-in-named-flow2-expected.txt: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-named-flow2-expected.txt.
  • fast/regions/positioning/fixed-pos-elem-in-named-flow2.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-named-flow2.html.
  • fast/regions/positioning/fixed-pos-elem-in-namedflow-noregions-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-namedflow-noregions-expected.html.
  • fast/regions/positioning/fixed-pos-elem-in-namedflow-noregions.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-namedflow-noregions.html.
  • fast/regions/positioning/fixed-pos-elem-in-region-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-region-expected.html.
  • fast/regions/positioning/fixed-pos-elem-in-region.html: Renamed from LayoutTests/fast/regions/fixed-pos-elem-in-region.html.
  • fast/regions/positioning/fixed-pos-region-in-nested-flow-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-region-in-nested-flow-expected.html.
  • fast/regions/positioning/fixed-pos-region-in-nested-flow.html: Renamed from LayoutTests/fast/regions/fixed-pos-region-in-nested-flow.html.
  • fast/regions/positioning/fixed-pos-region-overflow-content-expected.html: Renamed from LayoutTests/fast/regions/fixed-pos-region-overflow-content-expected.html.
  • fast/regions/positioning/fixed-pos-region-overflow-content.html: Renamed from LayoutTests/fast/regions/fixed-pos-region-overflow-content.html.
  • fast/regions/positioning/positioned-fragmented-content-expected.html: Renamed from LayoutTests/fast/regions/positioned-fragmented-content-expected.html.
  • fast/regions/positioning/positioned-fragmented-content.html: Renamed from LayoutTests/fast/regions/positioned-fragmented-content.html.
  • fast/regions/positioning/positioned-object-inline-cb-crash-expected.txt: Renamed from LayoutTests/fast/regions/positioned-object-inline-cb-crash-expected.txt.
  • fast/regions/positioning/positioned-object-inline-cb-crash.html: Renamed from LayoutTests/fast/regions/positioned-object-inline-cb-crash.html.
  • fast/regions/positioning/positioned-objects-block-static-in-regions-expected.html: Added.
  • fast/regions/positioning/positioned-objects-block-static-in-regions.html: Added.
  • fast/regions/positioning/positioned-objects-block-static-in-rtl-regions-expected.html: Added.
  • fast/regions/positioning/positioned-objects-block-static-in-rtl-regions.html: Added.
  • fast/regions/positioning/positioned-objects-block-static-spanning-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-block-static-spanning-regions-expected.html.
  • fast/regions/positioning/positioned-objects-block-static-spanning-regions-rtl-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-block-static-spanning-regions-rtl-expected.html.
  • fast/regions/positioning/positioned-objects-block-static-spanning-regions-rtl.html: Renamed from LayoutTests/fast/regions/positioned-objects-block-static-spanning-regions-rtl.html.
  • fast/regions/positioning/positioned-objects-block-static-spanning-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-block-static-spanning-regions.html.
  • fast/regions/positioning/positioned-objects-clipped-spanning-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-in-regions-expected.html.
  • fast/regions/positioning/positioned-objects-clipped-spanning-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-clipped-spanning-regions.html.
  • fast/regions/positioning/positioned-objects-in-regions-expected.html: Added.
  • fast/regions/positioning/positioned-objects-in-regions.html: Added.
  • fast/regions/positioning/positioned-objects-in-rtl-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-in-rtl-regions-expected.html.
  • fast/regions/positioning/positioned-objects-in-rtl-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-in-rtl-regions.html.
  • fast/regions/positioning/positioned-objects-inline-static-in-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-in-regions-expected.html.
  • fast/regions/positioning/positioned-objects-inline-static-in-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-in-regions.html.
  • fast/regions/positioning/positioned-objects-inline-static-in-rtl-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-in-rtl-regions-expected.html.
  • fast/regions/positioning/positioned-objects-inline-static-in-rtl-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-in-rtl-regions.html.
  • fast/regions/positioning/positioned-objects-inline-static-spanning-regions-expected.html: Added.
  • fast/regions/positioning/positioned-objects-inline-static-spanning-regions-rtl-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-spanning-regions-rtl-expected.html.
  • fast/regions/positioning/positioned-objects-inline-static-spanning-regions-rtl.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-spanning-regions-rtl.html.
  • fast/regions/positioning/positioned-objects-inline-static-spanning-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-inline-static-spanning-regions.html.
  • fast/regions/positioning/positioned-objects-perpendicular-flows-in-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-perpendicular-flows-in-regions-expected.html.
  • fast/regions/positioning/positioned-objects-perpendicular-flows-in-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-perpendicular-flows-in-regions.html.
  • fast/regions/positioning/positioned-objects-spanning-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-objects-spanning-regions-expected.html.
  • fast/regions/positioning/positioned-objects-spanning-regions.html: Renamed from LayoutTests/fast/regions/positioned-objects-spanning-regions.html.
  • fast/regions/positioning/positioned-slider-in-regions-expected.html: Renamed from LayoutTests/fast/regions/positioned-slider-in-regions-expected.html.
  • fast/regions/positioning/positioned-slider-in-regions.html: Renamed from LayoutTests/fast/regions/positioned-slider-in-regions.html.
  • fast/regions/positioning/positioned-vrl-in-named-flow-expected.txt: Renamed from LayoutTests/fast/regions/positioned-vrl-in-named-flow-expected.txt.
  • fast/regions/positioning/positioned-vrl-in-named-flow.html: Renamed from LayoutTests/fast/regions/positioned-vrl-in-named-flow.html.
  • fast/regions/positioning/positioned-vrl-in-parent-named-flow-expected.txt: Renamed from LayoutTests/fast/regions/positioned-vrl-in-parent-named-flow-expected.txt.
  • fast/regions/positioning/positioned-vrl-in-parent-named-flow.html: Renamed from LayoutTests/fast/regions/positioned-vrl-in-parent-named-flow.html.
  • fast/regions/positioning/positioned-with-vrl-parent-in-named-flow-expected.txt: Renamed from LayoutTests/fast/regions/positioned-with-vrl-parent-in-named-flow-expected.txt.
  • fast/regions/positioning/positioned-with-vrl-parent-in-named-flow.html: Renamed from LayoutTests/fast/regions/positioned-with-vrl-parent-in-named-flow.html.
  • platform/mac-wk2/TestExpectations:
  • platform/win/TestExpectations:

Aug 27, 2014:

11:34 PM Changeset in webkit [173055] by mihnea@adobe.com
  • 1 edit
    14 moves
    1 add in trunk/LayoutTests

[CSS Regions] Move writing mode tests into fast/regions/writing-mode
https://bugs.webkit.org/show_bug.cgi?id=136298

Reviewed by Andrei Bucur.

  • fast/regions/writing-mode/changing-writing-mode-2-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-2-expected.html.
  • fast/regions/writing-mode/changing-writing-mode-2.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-2.html.
  • fast/regions/writing-mode/changing-writing-mode-3-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-3-expected.html.
  • fast/regions/writing-mode/changing-writing-mode-3.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-3.html.
  • fast/regions/writing-mode/changing-writing-mode-4-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-4-expected.html.
  • fast/regions/writing-mode/changing-writing-mode-4.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-4.html.
  • fast/regions/writing-mode/changing-writing-mode-5-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-5-expected.html.
  • fast/regions/writing-mode/changing-writing-mode-5.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-5.html.
  • fast/regions/writing-mode/changing-writing-mode-expected.html: Renamed from LayoutTests/fast/regions/changing-writing-mode-expected.html.
  • fast/regions/writing-mode/changing-writing-mode.html: Renamed from LayoutTests/fast/regions/changing-writing-mode.html.
  • fast/regions/writing-mode/invalid-first-region-with-writing-mode-2-expected.html: Renamed from LayoutTests/fast/regions/invalid-first-region-with-writing-mode-2-expected.html.
  • fast/regions/writing-mode/invalid-first-region-with-writing-mode-2.html: Renamed from LayoutTests/fast/regions/invalid-first-region-with-writing-mode-2.html.
  • fast/regions/writing-mode/invalid-first-region-with-writing-mode-expected.html: Renamed from LayoutTests/fast/regions/invalid-first-region-with-writing-mode-expected.html.
  • fast/regions/writing-mode/invalid-first-region-with-writing-mode.html: Renamed from LayoutTests/fast/regions/invalid-first-region-with-writing-mode.html.
11:31 PM Changeset in webkit [173054] by mihnea@adobe.com
  • 1 edit
    12 moves in trunk/LayoutTests

[CSS Regions] Move more multicol tests in fast/regions/multicol
https://bugs.webkit.org/show_bug.cgi?id=136295

Reviewed by Andrei Bucur.

  • fast/regions/multicol/regions-in-multicol-bt-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-bt-expected.html.
  • fast/regions/multicol/regions-in-multicol-bt.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-bt.html.
  • fast/regions/multicol/regions-in-multicol-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-expected.html.
  • fast/regions/multicol/regions-in-multicol-hover-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-hover-expected.html.
  • fast/regions/multicol/regions-in-multicol-hover-overflow-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-hover-overflow-expected.html.
  • fast/regions/multicol/regions-in-multicol-hover-overflow.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-hover-overflow.html.
  • fast/regions/multicol/regions-in-multicol-hover.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-hover.html.
  • fast/regions/multicol/regions-in-multicol-lr-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-lr-expected.html.
  • fast/regions/multicol/regions-in-multicol-lr.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-lr.html.
  • fast/regions/multicol/regions-in-multicol-rl-expected.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-rl-expected.html.
  • fast/regions/multicol/regions-in-multicol-rl.html: Renamed from LayoutTests/fast/regions/regions-in-multicol-rl.html.
  • fast/regions/multicol/regions-in-multicol.html: Renamed from LayoutTests/fast/regions/regions-in-multicol.html.
11:10 PM Changeset in webkit [173053] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

One more URTBF after r173047.

  • accessibility/atk/WebKitAccessibleInterfaceComponent.cpp:

(webkitAccessibleComponentGetExtents):

11:09 PM Changeset in webkit [173052] by zandobersek@gmail.com
  • 2 edits
    2 adds in trunk/Source/WebCore

[GTK] Add WaylandSurface
https://bugs.webkit.org/show_bug.cgi?id=136220

Reviewed by Martin Robinson.

Add the WaylandSurface class. An objects of this type is meant to be used
by the LayerTreeHostGtk in the WebProcess and is constructed via the
WaylandDisplay::createSurface() method.

LayerTreeHostGtk uses such object to perform frame requests to the nested
Wayland compositor in the UIProcess, and to create the GLContextEGL object
that's used during the layer flushing and compositing.

The resize() method is called whenever LayerTreeHostGtk is being resized,
and basically only wraps the wl_egL_window_resize() call.

  • PlatformGTK.cmake:
  • platform/graphics/wayland/WaylandSurface.cpp: Added.

(WebCore::frameCallback):
(WebCore::WaylandSurface::WaylandSurface):
(WebCore::WaylandSurface::~WaylandSurface):
(WebCore::WaylandSurface::resize):
(WebCore::WaylandSurface::createGLContext):
(WebCore::WaylandSurface::requestFrame):

  • platform/graphics/wayland/WaylandSurface.h: Added.

(WebCore::WaylandSurface::surface):
(WebCore::WaylandSurface::nativeWindowHandle):

10:58 PM Changeset in webkit [173051] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

URTBF after r173047.

  • accessibility/atk/WebKitAccessibleInterfaceImage.cpp:

(webkitAccessibleImageGetImagePosition):

10:44 PM Changeset in webkit [173050] by ap@apple.com
  • 2 edits in trunk/Tools

EWS status link at build.webkit.org/dashboard is incorrect until EWS pop-up is opened
https://bugs.webkit.org/show_bug.cgi?id=131668

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

(EWSQueue.prototype.loadDetailedStatus): Fixed a typo in assertion.

10:27 PM Changeset in webkit [173049] by Alan Bujtas
  • 13 edits in trunk

Subpixel layout: Cleanup snapSizeToPixel/snapSizeToDevicePixel.
https://bugs.webkit.org/show_bug.cgi?id=136264

Reviewed by Simon Fraser.

  1. Align snapSizeToPixel()/snapSizeToDevicePixel() function names with the rest of snapping

functions. ->snappedIntSize()/snapSizeToDevicePixel().

  1. Operate on LayoutSize/LayoutPoint instead of LayoutUnit/LayoutUnit to reflect functionality.

Covered by existing tests.

Source/WebCore:

  • platform/LayoutUnit.h:

(WebCore::snapSizeToPixel): Deleted.
(WebCore::snapSizeToDevicePixel): Deleted.

  • platform/graphics/LayoutPoint.h:

(WebCore::snappedIntSize):
(WebCore::snapSizeToDevicePixel):
(WebCore::pixelSnappedIntSize): Deleted.

  • platform/graphics/LayoutRect.h:

(WebCore::LayoutRect::pixelSnappedSize):
(WebCore::LayoutRect::pixelSnappedWidth):
(WebCore::LayoutRect::pixelSnappedHeight):
(WebCore::pixelSnappedIntRect):
(WebCore::pixelSnappedIntRectFromEdges):
(WebCore::pixelSnappedForPainting):
(WebCore::directionalPixelSnappedForPainting):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::pixelSnappedClientWidth):
(WebCore::RenderBox::pixelSnappedClientHeight):
(WebCore::RenderBox::pixelSnappedOffsetWidth):
(WebCore::RenderBox::pixelSnappedOffsetHeight):
(WebCore::RenderBox::scrollWidth):
(WebCore::RenderBox::scrollHeight):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
(WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPosition):
(WebCore::RenderLayer::scrollWidth):
(WebCore::RenderLayer::scrollHeight):

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeLayers):

Tools:

  • TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp:

(TestWebKitAPI::TEST): Deleted.

LayoutTests:

  • cssom/subpixel-offsetleft-top-width-height-values-expected.txt:
  • platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
10:19 PM Changeset in webkit [173048] by ap@apple.com
  • 4 edits in trunk/Tools

EWS status link at build.webkit.org/dashboard is incorrect until EWS pop-up is opened
https://bugs.webkit.org/show_bug.cgi?id=131668

Reviewed by Daniel Bates.

We used to fetch the URL from EWS detailed status JSON, but there isn't much reason
to not just hardcode.

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

(EWS.prototype.queueStatusURL): Added.

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

(EWSQueue.prototype.get statusPageURL): Use the above function.
(EWSQueue.prototype.loadDetailedStatus): Changed assignment to an assertion.

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

(EWSQueueView.prototype.update): While at it, made a popover show up even if there
are no patches in the queue. The popover has other useful information, such as charts
link and bot status.

9:24 PM Changeset in webkit [173047] by Alan Bujtas
  • 75 edits in trunk/Source

Subpixel layout: Rename LayoutRect's device pixel snapping functions.
https://bugs.webkit.org/show_bug.cgi?id=136319

Reviewed by Simon Fraser.

From pixelSnappedForPainting() to snapRectToDevicePixels() and
pixelSnappedIntRect*() to snappedIntRect*().

No change in functionality.

Source/WebCore:

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::boundingBoxForQuads):
(WebCore::AccessibilityObject::isOnscreen):
(WebCore::AccessibilityObject::scrollToMakeVisible):

  • accessibility/AccessibilityObject.h:

(WebCore::AccessibilityObject::pixelSnappedBoundingBoxRect):
(WebCore::AccessibilityObject::pixelSnappedElementRect):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::isOffScreen):
(WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityActivationPoint]):
(-[WebAccessibilityObjectWrapper accessibilityFrame]):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(-[WebAccessibilityObjectWrapper position]):
(-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):

  • bindings/objc/DOMUIKitExtensions.mm:

(-[DOMHTMLAreaElement boundingBoxWithOwner:]):
(-[DOMHTMLAreaElement absoluteQuadWithOwner:]):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::computedTransform):

  • dom/Node.h:

(WebCore::Node::pixelSnappedBoundingBox):
(WebCore::Node::pixelSnappedRenderRect):

  • editing/RenderedPosition.cpp:

(WebCore::RenderedPosition::absoluteRect):

  • editing/mac/FrameSelectionMac.mm:

(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::paint):

  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForElementInfo):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::didPaint):

  • page/FrameSnapshotting.cpp:

(WebCore::snapshotNode):

  • page/FrameView.cpp:

(WebCore::FrameView::scrollContentsFastPath):
(WebCore::FrameView::extendedBackgroundRectForPainting):
(WebCore::FrameView::windowClipRectForFrameOwner):
(WebCore::FrameView::convertFromRendererToContainingView):

  • page/Page.cpp:

(WebCore::Page::addRelevantRepaintedObject):
(WebCore::Page::addRelevantUnpaintedObject):

  • page/ios/FrameIOS.mm:

(WebCore::ancestorRespondingToClickEvents):

  • platform/DragImage.cpp:

(WebCore::createDragImageForImage):

  • platform/graphics/LayoutRect.cpp:

(WebCore::enclosingRectToDevicePixels):
(WebCore::enclosingRectForPainting): Deleted.

  • platform/graphics/LayoutRect.h:

(WebCore::snappedIntRect):
(WebCore::snappedIntRectFromEdges):
(WebCore::snapRectToDevicePixels):
(WebCore::snapRectToDevicePixelsWithWritingDirection):
(WebCore::pixelSnappedIntRect): Deleted.
(WebCore::pixelSnappedIntRectFromEdges): Deleted.
(WebCore::pixelSnappedForPainting): Deleted.
(WebCore::directionalPixelSnappedForPainting): Deleted.

  • platform/graphics/RoundedRect.cpp:

(WebCore::RoundedRect::pixelSnappedRoundedRectForPainting):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::computePixelAlignment):

  • platform/text/TextStream.cpp:

(WebCore::TextStream::operator<<):

  • rendering/EllipsisBox.cpp:

(WebCore::EllipsisBox::paintSelection):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRendererHelper::applyFilterEffect):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::paint):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::positionForOffset):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::addVisualOverflowFromTheme):
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::blockSelectionGap):
(WebCore::RenderBlock::logicalLeftSelectionGap):
(WebCore::RenderBlock::logicalRightSelectionGap):
(WebCore::RenderBlock::absoluteRects):
(WebCore::RenderBlock::addFocusRingRects):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::clipOutFloatingObjects):
(WebCore::RenderBlockFlow::addFocusRingRectsForInlineChildren):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::absoluteRects):
(WebCore::RenderBox::absoluteContentBox):
(WebCore::RenderBox::outlineBoundsForRepaint):
(WebCore::RenderBox::addFocusRingRects):
(WebCore::RenderBox::getBackgroundPaintedExtent):
(WebCore::RenderBox::pushContentsClip):
(WebCore::RenderBox::computeRectForRepaint):

  • rendering/RenderBox.h:

(WebCore::RenderBox::pixelSnappedFrameRect):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintFillLayerExtended):
(WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):
(WebCore::RenderBoxModelObject::paintNinePieceImage):
(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::drawBoxSideFromPath):
(WebCore::RenderBoxModelObject::paintBoxShadow):

  • rendering/RenderDetailsMarker.cpp:

(WebCore::RenderDetailsMarker::paint):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::paintSnapshotImage):
(WebCore::RenderEmbeddedObject::isReplacementObscured):

  • rendering/RenderFieldset.cpp:

(WebCore::RenderFieldset::paintBoxDecorations):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):

  • rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::paint):
(WebCore::RenderFrameSet::layout):
(WebCore::RenderFrameSet::positionFramesWithFlattening):

  • rendering/RenderHTMLCanvas.cpp:

(WebCore::RenderHTMLCanvas::paintReplaced):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::paintReplaced):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::paintOutlineForLine):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateTransform):
(WebCore::RenderLayer::currentTransform):
(WebCore::RenderLayer::beginTransparencyLayers):
(WebCore::RenderLayer::scrollRectToVisible):
(WebCore::RenderLayer::scrollCornerRect):
(WebCore::RenderLayer::drawPlatformResizerImage):
(WebCore::RenderLayer::paintResizer):
(WebCore::RenderLayer::hitTestOverflowControls):
(WebCore::RenderLayer::clipToRect):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::paintOverflowControlsForFragments):
(WebCore::RenderLayer::hitTestResizerInFragments):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateTransform):
(WebCore::RenderLayerBacking::updateGeometry):
(WebCore::RenderLayerBacking::resetContentsRect):
(WebCore::RenderLayerBacking::updateImageContents):
(WebCore::RenderLayerBacking::backgroundBoxForPainting):
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
(WebCore::RenderLayerBacking::paintContents):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
(WebCore::RenderLayerCompositor::requiresCompositingForFrame):
(WebCore::RenderLayerCompositor::paintContents):

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::addFocusRingRects):
(WebCore::RenderListBox::paintScrollbar):
(WebCore::RenderListBox::paintItemBackground):

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::paint):

  • rendering/RenderMeter.cpp:

(WebCore::RenderMeter::updateLogicalWidth):
(WebCore::RenderMeter::computeLogicalHeight):

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::paintColumnRules):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::drawLineForBoxSide):
(WebCore::RenderObject::addPDFURLRect):
(WebCore::RenderObject::paintOutline):
(WebCore::RenderObject::absoluteBoundingBoxRect):
(WebCore::RenderObject::repaintUsingContainer):
(WebCore::RenderObject::repaintSlowRepaintObject):
(WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):

  • rendering/RenderProgress.cpp:

(WebCore::RenderProgress::computeLogicalHeight):

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::paint):

  • rendering/RenderScrollbarPart.cpp:

(WebCore::RenderScrollbarPart::paintIntoRect):

  • rendering/RenderSearchField.cpp:

(WebCore::RenderSearchField::showPopup):

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::paintSnapshot):

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::paintCollapsedBorders):

  • rendering/RenderTextControl.cpp:

(WebCore::RenderTextControl::addFocusRingRects):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::paint):

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):

  • rendering/RenderTreeAsText.cpp:

(WebCore::write):

  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::videoBox):
(WebCore::RenderVideo::paintReplaced):

  • rendering/RenderView.cpp:

(WebCore::RenderView::repaintViewRectangle):
(WebCore::RenderView::computeRectForRepaint):
(WebCore::RenderView::absoluteRects):
(WebCore::RenderView::selectionBounds):
(WebCore::RenderView::unscaledDocumentRect):

  • rendering/RenderView.h:
  • rendering/RenderWidget.cpp:

(WebCore::RenderWidget::paintContents):
(WebCore::RenderWidget::paint):

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintDebugBorders):

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createRasterShape):

  • rendering/svg/RenderSVGModelObject.cpp:

(WebCore::RenderSVGModelObject::outlineBoundsForRepaint):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::selectionRectForTextFragment):

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _dashboardRegions]):
(-[WebView trackedRepaintRects]):

Source/WebKit2:

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::InjectedBundleNodeHandle::renderedImage):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::snapshotNode):

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::buildSelectionHighlight):

8:45 PM Changeset in webkit [173046] by dbates@webkit.org
  • 3 edits
    2 adds in trunk

Scrollbar corner can be drawn outside containing frame
https://bugs.webkit.org/show_bug.cgi?id=133131
<rdar://problem/16382769>

Reviewed by Simon Fraser.

Source/WebCore:

Merged from Blink (patch by Levi Weintraub):
<https://src.chromium.org/viewvc/blink?revision=170625&view=revision>

Fixes an issue where the scroll corner may be painted outside the rectangle of
its associated frame by setting a clip rectangle before painting the scroll bar(s)
and scroll corner.

Test: scrollbars/custom-scrollbars-paint-outside-iframe.html

  • platform/ScrollView.cpp:

(WebCore::ScrollView::paint):

LayoutTests:

Add DRT test that was derived from the test included in
<https://src.chromium.org/viewvc/blink?revision=170625&view=revision>.

  • scrollbars/custom-scrollbars-paint-outside-iframe-expected.html: Added.
  • scrollbars/custom-scrollbars-paint-outside-iframe.html: Added.
8:33 PM Changeset in webkit [173045] by Alan Bujtas
  • 8 edits in trunk/Source

Subpixel layout: Rename FloatPoint/FloatRect device pixel snapping functions.
https://bugs.webkit.org/show_bug.cgi?id=136314

Reviewed by Simon Fraser.

From *edToDevicePixels() to *PointToDevicePixels() (* = floor/round/ceil)

EnclosedIntRect -> enclosingIntRect() changes functionality for InspectorOverlay painting,
but currently untestable.

Source/WebCore:

  • WebCore.exp.in:
  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::showPaintRect):

  • platform/graphics/FloatPoint.h:

(WebCore::flooredIntSize):
(WebCore::floorPointToDevicePixels):
(WebCore::ceilPointToDevicePixels):
(WebCore::flooredToDevicePixels): Deleted.
(WebCore::ceiledToDevicePixels): Deleted.

  • platform/graphics/FloatRect.cpp:

(WebCore::enclosingRectToDevicePixels):
(WebCore::enclosingRectExtendedToDevicePixels): Deleted. Renamed.
(WebCore::enclosedIntRect): Deleted. Not needed.

  • platform/graphics/FloatRect.h:

Source/WebKit2:

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _updateTapHighlight]):

7:34 PM Changeset in webkit [173044] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

Subpixel layout: Rename LayoutPoint's device pixel snapping functions.
https://bugs.webkit.org/show_bug.cgi?id=136306

Reviewed by Simon Fraser.

From *edForPainting() to *PointToDevicePixels() (* = floor/round/ceil)

No change in functionality.

  • platform/graphics/LayoutPoint.h:

(WebCore::roundPointToDevicePixels):
(WebCore::floorPointToDevicePixels):
(WebCore::ceilPointToDevicePixels):
(WebCore::roundedForPainting): Deleted.
(WebCore::flooredForPainting): Deleted.
(WebCore::ceiledForPainting): Deleted.

  • platform/graphics/LayoutRect.cpp:

(WebCore::enclosingRectForPainting):

  • platform/graphics/LayoutRect.h:

(WebCore::directionalPixelSnappedForPainting):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::pixelSnapBackgroundImageGeometryForPainting):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGeometry):

6:40 PM Changeset in webkit [173043] by thakis@chromium.org
  • 2 edits in trunk/Source/WTF

Delete a MSVS2010 workaround.
https://bugs.webkit.org/show_bug.cgi?id=136321

Reviewed by Benjamin Poulain.

Ports https://codereview.chromium.org/512923004/ by the talented
Nico Weber from Blink. No intended behavior change.

  • wtf/Vector.h:

(WTF::=):

6:35 PM Changeset in webkit [173042] by benjamin@webkit.org
  • 4 edits in trunk/LayoutTests

Update placeholder-shown-basics.html for GTK

GTK does not support the color input type. This was causing placeholder-shown-basics.html
to fail when testing the non-support of placeholder by input[type=color].

Since this is a minor part of the test, it is more valuable getting the test running everywhere
than skipping it. I removed the subtest causing troubles.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-08-27

  • fast/css/placeholder-shown-basics-expected.html:
  • fast/css/placeholder-shown-basics.html:
  • platform/gtk/TestExpectations:
6:23 PM Changeset in webkit [173041] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.1-branch/Source

Versioning.

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

WebKit2 swipe gesture should report the position of the snapshot to the client
https://bugs.webkit.org/show_bug.cgi?id=136308
rdar://problem/18105827

Reviewed by Simon Fraser.

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

(-[WKView _setDidMoveSwipeSnapshotCallback:]):
Add _setDidMoveSwipeSnapshotCallback, and plumb it to ViewGestureController.
Callers provide a block which is called whenever ViewGestureController moves the
swipe *snapshot* layer around.

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::boundsOfLayerInLayerBackedWindowCoordinates):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::boundsOfLayerInLayerBackedWindowCoordinates):
Expose a Mac-only way to get the bounds of a given CALayer in window coordinates,
respecting transforms. This only works for layer-backed windows because
it uses CA in order to do the mapping respecting transforms.

  • UIProcess/mac/ViewGestureController.h:
  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::~ViewGestureController):
(WebKit::ViewGestureController::setDidMoveSwipeSnapshotCallback):
Do the Block_copy and Block_release dance to keep our copy of the callback block.

(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::handleSwipeGesture):
(WebKit::ViewGestureController::didMoveSwipeSnapshotLayer):
When the swipe snapshot layer moves around, call the block.

6:13 PM Changeset in webkit [173039] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.1.16

New Tag.

5:15 PM Changeset in webkit [173038] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.11-branch/Source

Versioning.

5:04 PM Changeset in webkit [173037] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

Subpixel layout: Rename LayoutSize's device pixel snapping functions.
https://bugs.webkit.org/show_bug.cgi?id=136310

Reviewed by Simon Fraser.

From *edForPainting() to *SizeToDevicePixels() (* = floor/round/ceil)

No change in functionality.

  • platform/graphics/LayoutSize.h:

(WebCore::floorSizeToDevicePixels):
(WebCore::flooredForPainting): Deleted.

  • rendering/style/StyleGeneratedImage.cpp:

(WebCore::StyleGeneratedImage::computeIntrinsicDimensions):

5:03 PM Changeset in webkit [173036] by mrowe@apple.com
  • 2 edits in trunk/Source/WTF

JavaScriptCore is missing debug info for WTF because libWTF.a is stripped.
<https://webkit.org/b/136320> / <rdar://problem/18148776>

Reviewed by Dan Bernstein.

  • Configurations/WTF.xcconfig: Set STRIP_INSTALLED_PRODUCT = NO for the target

that produces libWTF.a so that the debug symbols will be linked into JavaScriptCore
and end up in its dSYM file.

4:57 PM Changeset in webkit [173035] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.11.3

New tag.

4:29 PM Changeset in webkit [173034] by Brian Burg
  • 4 edits in trunk/Source/WebCore

Enums in ScrollTypes and PlatformWheelEvent should not use uint64_t storage
https://bugs.webkit.org/show_bug.cgi?id=136318

Reviewed by Simon Fraser.

This regressed in a replay-related patch. Revert back to uint8_t storage size.

  • platform/PlatformWheelEvent.h:
  • platform/ScrollTypes.h:
  • replay/WebInputs.json:
4:24 PM Changeset in webkit [173033] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Speling is hard.

Reviewed by Tim Horton.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::handlePasteGlobalSelection):
(WebCore::EventHandler::updateMouseEventTargetNode):
(WebCore::EventHandler::dispatchMouseEvent):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):

4:20 PM Changeset in webkit [173032] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix the iOS build.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):

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

Ensure that the call frame passed from JIT code via JSC::operationCallEval to JSC::eval always contains the valid scope chain.
https://bugs.webkit.org/show_bug.cgi?id=136313

Patch by Akos Kiss <akiss@inf.u-szeged.hu> on 2014-08-27
Reviewed by Michael Saboff.

Do not rely on calling conventions to fill in the CallerFrame component
of the execCallee parameter of JSC::operationCallEval.

  • jit/JITOperations.cpp:
4:01 PM Changeset in webkit [173030] by commit-queue@webkit.org
  • 15 edits in trunk/Websites/webkit.org

webkit.org is inconsistent in uses of "OS X" vs. "Mac OS X"
https://bugs.webkit.org/show_bug.cgi?id=136315

Patch by Conrad Shultz <Conrad Shultz> on 2014-08-27
Reviewed by Mark Rowe.

  • building/checkout.html:
  • building/debug-mac-uiprocess.html:
  • building/debug.html:
  • building/run.html:
  • building/tools.html:
  • contact.html:
  • index.html:
  • projects/javascript/index.html:
  • projects/svg/index.html:
  • quality/bugwriting.html:
  • quality/crashlogs.html:
  • quality/leakhunting.html:
  • quality/lifecycle.html:
  • quality/testing.html:
4:00 PM Changeset in webkit [173029] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Occasional crashes in commitTransientZoom's transaction completion block
https://bugs.webkit.org/show_bug.cgi?id=136309
<rdar://problem/17215064>

Reviewed by Dan Bernstein.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::commitTransientZoom):
Hold a reference to zoomLayer and the WebPage. It's possible that either
of these things could have gone away by the time the transaction is committed.

3:56 PM Changeset in webkit [173028] by akling@apple.com
  • 3 edits
    2 adds in trunk

Drawing text in an SVG font causes load events to be fired.
<https://webkit.org/b/136269>
<rdar://problem/15724915>

Source/WebCore:

Don't flush pending load events in Document::implicitClose() for frameless documents.
This is a targeted fix for an issue where parsing SVG fonts during layout would cause
event dispatch to happen in the main document, leading to arbitrary JS execution.

Note that the testcase only works in DRT/WTR, since once the SVG font is in cached
by WebCore, we won't reparse it again. Caches are cleared between tests, so it will
correctly fail if this should regress.

Longer-term, we should clean this up and get rid of the global dispatch entirely.

Reviewed by Simon Fraser.

Test: fast/text/svg-font-trigger-load-event.html

  • dom/Document.cpp:

(WebCore::Document::implicitClose):

LayoutTests:

Reviewed by Simon Fraser.

  • fast/text/svg-font-trigger-load-event-expected.txt: Added.
  • fast/text/svg-font-trigger-load-event.html: Added.
3:35 PM Changeset in webkit [173027] by ap@apple.com
  • 2 edits in trunk/Tools

https://bugs.webkit.org/show_bug.cgi?id=136317
Dashboard metrics page sometimes shows 0 for best time

Reviewed by Tim Horton.

This also affects regular dashboard display in a good way - iterations that failed
due to infrastructure misbehavior will more reliably show up as yellow and not red.

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

(BuildbotIteration): Added a list of steps that we actually care about. It will need to be
updated if we rename steps.
(BuildbotIteration.prototype.get productive): Now that computation is more involved,
do it once.
(BuildbotIteration.prototype._parseData): Tweak computation of "productive" - builds
that failed e.g. at downloading built archive step are not productive.

3:34 PM Changeset in webkit [173026] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Deconstruction object pattern node emits the wrong start/end text positions
https://bugs.webkit.org/show_bug.cgi?id=136304

Patch by Saam Barati <sbarati@apple.com> on 2014-08-27
Reviewed by Geoffrey Garen.

Object pattern nodes that used the syntactic sugar binding:
'var {foo} = {foo:20}' instead of 'var {foo:foo} = {foo:20}'
would get the wrong text position for variable 'foo'. The position
would be placed on the comma(s)/closing brace instead of the identifier.
This patch fixes this bug by caching the identifier's JSToken before
trying to parse an optional colon.

  • parser/Parser.cpp:

(JSC::Parser<LexerType>::parseVarDeclarationList):
(JSC::Parser<LexerType>::createBindingPattern):
(JSC::Parser<LexerType>::parseDeconstructionPattern):

  • parser/Parser.h:
3:25 PM Changeset in webkit [173025] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Some EventHandler naming cleanup
https://bugs.webkit.org/show_bug.cgi?id=136303

Reviewed by Beth Dakin.

Rename "mev" variables to "mouseEvent".

No behavior change.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::updateDragAndDrop):
(WebCore::EventHandler::prepareMouseEvent):
(WebCore::EventHandler::sendContextMenuEvent):
(WebCore::EventHandler::passMousePressEventToScrollbar):
(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):

3:25 PM Changeset in webkit [173024] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Some EventHandler naming cleanup
https://bugs.webkit.org/show_bug.cgi?id=136303

Reviewed by Beth Dakin.

Rename PlatformMouseEvent variables from "mouseEvent" to "platformMouseEvent"
so that a later patch can rename "mev" to "mouseEvent".

0 => nullptr.

No behavior change.

  • page/EventHandler.cpp:

(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::invalidateClick):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::handlePasteGlobalSelection):
(WebCore::EventHandler::updateMouseEventTargetNode):
(WebCore::EventHandler::dispatchMouseEvent):
(WebCore::EventHandler::sendContextMenuEventForKey):
(WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):

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

Make isScrollableOrRubberbandable() a virtual function on RenderLayerModelObject
https://bugs.webkit.org/show_bug.cgi?id=136307

Reviewed by Simon Fraser.

Remove extra parentheses.

  • page/FrameView.cpp:

(WebCore::FrameView::isScrollable):

Mark isScrollableOrRubberbandable() as override now that the root implementation
is moving to RenderLayerModelObject. It can also be private now.

  • rendering/RenderBox.h:

isBox() check and cast are no longer necessary.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):

Base implementation should return false.

  • rendering/RenderLayerModelObject.h:

(WebCore::RenderLayerModelObject::isScrollableOrRubberbandable):

Mark as override.

  • rendering/RenderView.h:
3:18 PM Changeset in webkit [173022] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed Build 'fix' after r173018.

The new launcher applications were not getting build when driven
by WebKit.sln. This adds the missing project links and dependencies.

  • WebKit.vcxproj/WebKit.sln: Update to include jscLauncher,

testapiLauncher, and testRegExpLauncher.

3:09 PM Changeset in webkit [173021] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Unreviewed gardening.

  • win/AssembleBuildLogs/AssembleLogs.cmd: Add some missing build logs to the set

of logs assembled into the final build output.

3:04 PM Changeset in webkit [173020] by Brent Fulgham
  • 1 edit
    1 add in trunk/Source/JavaScriptCore

[Win] Build fix after last commit.

Check in new DLLLauncherMain.cpp file.

(enableTerminationOnHeapCorruption):
(getStringValue):
(applePathFromRegistry):
(appleApplicationSupportDirectory):
(copyEnvironmentVariable):
(prependPath):
(fatalError):
(directoryExists):
(modifyPath):
(getLastErrorString):
(wWinMain):

2:48 PM Changeset in webkit [173019] by benjamin@webkit.org
  • 8 edits in trunk/Source/WebKit2

[iOS WK2] Provide a delegate callback to skip Geolocation authorization per page for WebApp
https://bugs.webkit.org/show_bug.cgi?id=136243

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

Just ask the UI if the authorization dialog needs to be skipped.

  • UIProcess/API/Cocoa/WKUIDelegate.h:
  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::decidePolicyForGeolocationPermissionRequest):

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

(-[WKContentView _decidePolicyForGeolocationRequestFromOrigin:frame:request:]): Deleted.
The code in WKContentView only exists due to legacy. Instead, the PageClient dispatch the request
to the GeolocationProvider directly.

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

(-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:frame:request:view:]):
(-[WKGeolocationProviderIOS geolocationAuthorizationGranted]):
(-[WKGeolocationProviderIOS positionChanged:]):
(-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:frame:request:window:]): Deleted.

2:30 PM Changeset in webkit [173018] by Brent Fulgham
  • 12 edits
    9 copies
    3 adds in trunk/Source/JavaScriptCore

[Win] testapi and testRegExp need to find support libraries.
https://bugs.webkit.org/show_bug.cgi?id=136008.

Reviewed by Dean Jackson.

Revise the Windows build of jsc, testapi, and testRegExp so that they
find and use the proper runtime support libraries.

These locations vary between the Apple Windows build and WinCairo, and
are generally not in the system PATH environment setting. Consequently,
these applications fail on launch unless the user modifies their
PATH.

This patch revises these tools to work like WinLauncher and DumpRenderTree
so that they run reliably.

  • API/tests/testapi.c:

(dllLauncherEntryPoint): Added.

  • JavaScriptCore.vcxproj/JavaScriptCore.sln: Add new build projects and provide proper dependencies with existing projects.
  • JavaScriptCore.vcxproj/JavaScriptCore.submit.sln: Ditto.
  • JavaScriptCore.vcxproj/jsc/jsc.vcxproj: Switch to build a DLL, rather than an executable.
  • JavaScriptCore.vcxproj/jsc/jscCommon.props: Add shlwapi.lib to the list of libraries needed at link-time, and to use the DLL/Console combination entry point.
  • JavaScriptCore.vcxproj/jsc/jscLauncher.vcxproj: Added.
  • JavaScriptCore.vcxproj/jsc/jscLauncherPostBuild.cmd: Copied from JavaScriptCore.vcxproj/jsc/jscPostBuild.cmd.
  • JavaScriptCore.vcxproj/jsc/jscLauncherPreBuild.cmd: Copied from JavaScriptCore.vcxproj/jsc/jscPreBuild.cmd.
  • JavaScriptCore.vcxproj/jsc/jscLauncherPreLink.cmd: Copied from JavaScriptCore.vcxproj/jsc/jscPreLink.cmd.
  • JavaScriptCore.vcxproj/testRegExp/testRegExp.vcxproj: Switch to build a DLL, rather than an executable.
  • JavaScriptCore.vcxproj/testRegExp/testRegExpCommon.props: Add shlwapi.lib to the list of libraries needed at link-time, and to use the DLL/Console combination entry point.
  • JavaScriptCore.vcxproj/testRegExp/testRegExpLauncher.vcxproj: Added.
  • JavaScriptCore.vcxproj/testRegExp/testRegExpLauncherPostBuild.cmd: Copied from JavaScriptCore.vcxproj/testRegExp/testRegExpPostBuild.cmd.
  • JavaScriptCore.vcxproj/testRegExp/testRegExpLauncherPreBuild.cmd: Copied from JavaScriptCore.vcxproj/testRegExp/testRegExpPreBuild.cmd.
  • JavaScriptCore.vcxproj/testRegExp/testRegExpLauncherPreLink.cmd: Copied from JavaScriptCore.vcxproj/testRegExp/testRegExpPreLink.cmd.
  • JavaScriptCore.vcxproj/testapi/testapi.vcxproj: Switch to build a DLL, rather than an executable.
  • JavaScriptCore.vcxproj/testapi/testapiLauncher.vcxproj: Added.
  • JavaScriptCore.vcxproj/testapi/testapiCommon.props: Add shlwapi.lib to the list of libraries needed at link-time, and to use the DLL/Console combination entry point.
  • JavaScriptCore.vcxproj/testapi/testapiLauncherPostBuild.cmd: Copied from JavaScriptCore.vcxproj/testRegExp/testRegExpPostBuild.cmd.
  • JavaScriptCore.vcxproj/testapi/testapiLauncherPreBuild.cmd: Copied from JavaScriptCore.vcxproj/testRegExp/testRegExpPreBuild.cmd.
  • JavaScriptCore.vcxproj/testapi/testapiLauncherPreLink.cmd: Copied from JavaScriptCore.vcxproj/testRegExp/testRegExpPreLink.cmd.
  • jsc.cpp:

(dllLauncherEntryPoint): Added.

  • testRegExp.cpp:

(dllLauncherEntryPoint): Added.

2:17 PM Changeset in webkit [173017] by Antti Koivisto
  • 3 edits in trunk/Source/WebCore

REGRESSION(r172946): Plugin tests asserting on Yosemite debug bot
https://bugs.webkit.org/show_bug.cgi?id=136301

Reviewed by Alexey Proskuryakov.

Don't pull the priority from the platform request if it is not defined.

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::doUpdateResourceRequest):

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::doUpdateResourceRequest):

1:31 PM Changeset in webkit [173016] by timothy@apple.com
  • 2 edits in trunk/Source/WebCore

Web Inspector: Crash when you open Web Inspector in a private window (due to IndexedDB)
https://bugs.webkit.org/show_bug.cgi?id=136293

Reviewed by Joseph Pecoraro.

  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore::InspectorIndexedDBAgent::requestDatabaseNames): Null check idbRequest from
IDBFactory::getDatabaseNames, which can return null now after r172603 in private browsing.

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

Web Inspector: Layout issues for popover on not legacy OS
https://bugs.webkit.org/show_bug.cgi?id=136268

Patch by Saam Barati <sbarati@apple.com> on 2014-08-27
Reviewed by Joseph Pecoraro.

On the latest OS, popovers invade the title bar's space which will
cause layout issues because the title bar will render above
the popover. Fix this by providing some padding for popovers on
not legacy OSs.

  • UserInterface/Views/Popover.js:
12:53 PM Changeset in webkit [173014] by Beth Dakin
  • 16 edits in trunk/Source

overflow:scroll elements should not latch to the body if the body is
overflow:hidden
https://bugs.webkit.org/show_bug.cgi?id=136273

Reviewed by Darin Adler.

Source/WebCore:

This patch adds an optional parameter to isScrollable(). The Scrollability
parameter that allows the caller to define what they mean by 'scrollable.' Most
callers are interested in the default value, Scrollability::Scrollable, which
means that there is actually content to scroll to, and a scrollbar that will allow
you to access it. In some cases, such as this latching case, callers want to know
if the FrameView is allowed to rubber-band, which the main frame might be allowed
to do even if there is no content to scroll to. In that case, callers use
Scrollability::ScrollableOrRubberbandable.

  • page/FrameView.cpp:

(WebCore::FrameView::isScrollable):
(WebCore::FrameView::hasScrollableOrRubberbandableAncestor):

New virtual function on ScrollableArea answers whether a ScrollableArea has any
scrollable or rubber-bandable ancestor.

  • page/FrameView.h:
  • platform/ScrollableArea.h:

Events should only be allowed to prevent stretching if there is some ancestor
ScrollableArea that will be able to make use of the event.

  • platform/mac/ScrollAnimatorMac.mm:

(WebCore::ScrollAnimatorMac::allowsVerticalStretching):
(WebCore::ScrollAnimatorMac::allowsHorizontalStretching):

New ScrollableArea virtual function.

  • platform/win/PopupMenuWin.h:

New RenderBox isScrollableOrRubberbandable() returns just
canBeScrolledAndHasScrollableArea() for most RenderBox, but will be overridden by
RenderView.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::isScrollableOrRubberbandable):

  • rendering/RenderBox.h:

Recurse up the parent chain to find out if anything is scrollable or just rubber-
bandable.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::hasScrollableOrRubberbandableAncestor):

  • rendering/RenderLayer.h:

Call into RenderLayer.

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::hasScrollableOrRubberbandableAncestor):

  • rendering/RenderListBox.h:

Override isScrollableOrRubberbandable() to handle the main frame case where the
main frame is typically allowed to rubber-band even if there is no content to
scroll to.

  • rendering/RenderView.cpp:

(WebCore::RenderView::isScrollableOrRubberbandable):

  • rendering/RenderView.h:

Source/WebKit2:

New ScrollabeArea virtual function.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
12:37 PM Changeset in webkit [173013] by commit-queue@webkit.org
  • 2 edits in trunk/WebKitLibraries

[WinCairo] Link error.
https://bugs.webkit.org/show_bug.cgi?id=136286

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-08-27
Reviewed by Darin Adler.

Link with the dynamic runtime libraries, since the WinCairo libraries link with these.

  • win/tools/vsprops/common.props:
12:16 PM Changeset in webkit [173012] by benjamin@webkit.org
  • 10 edits
    16 adds in trunk

Updating attributes on HTML elements do not invalidate the style correctly unless the attribute name is lowercase in the stylesheet
https://bugs.webkit.org/show_bug.cgi?id=136270
Source/WebCore:

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

In HTML, WebKit treats every attribute name lowercase to implement case-insensitive matching.
When invalidating style, the StyleResolver was ignoring HTML and always using the XML names.

This patch split the names on RuleFeatureSet in two sets: one for XML, one for HTML.
In StyleResolver, the name used depends on the type of the element being updated.

This patch also adds nodeNeedsStyleRecalc() to Internals to test the optimization and various cases
of style update.

Tests: fast/css/attribute-for-content-property-style-update-html.html

fast/css/attribute-for-content-property-style-update-xhtml.xhtml
fast/css/attribute-style-invalidation-optimization-html.html
fast/css/attribute-style-invalidation-optimization-xhtml.xhtml
fast/css/attribute-style-update-html.html
fast/selectors/attribute-style-update-html.html
fast/selectors/attribute-style-update-svg-in-html.html
fast/selectors/attribute-style-update-xhtml.xhtml

  • css/RuleFeature.cpp:

(WebCore::RuleFeatureSet::collectFeaturesFromSelector):
(WebCore::RuleFeatureSet::add):
(WebCore::RuleFeatureSet::clear):

  • css/RuleFeature.h:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • css/StyleResolver.h:

(WebCore::StyleResolver::hasSelectorForAttribute):

  • dom/Element.cpp:

(WebCore::Element::willModifyAttribute):

  • testing/Internals.cpp:

(WebCore::Internals::address):
(WebCore::Internals::nodeNeedsStyleRecalc):

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

LayoutTests:

rdar://problem/16190617

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

The test coverage for attribute update was abysmal. This adds the basic cases for HTML and XML.

  • fast/css/attribute-for-content-property-style-update-html-expected.html: Added.
  • fast/css/attribute-for-content-property-style-update-html.html: Added.
  • fast/css/attribute-for-content-property-style-update-xhtml-expected.html: Added.
  • fast/css/attribute-for-content-property-style-update-xhtml.xhtml: Added.
  • fast/css/attribute-style-invalidation-optimization-html-expected.txt: Added.
  • fast/css/attribute-style-invalidation-optimization-html.html: Added.
  • fast/css/attribute-style-invalidation-optimization-xhtml-expected.txt: Added.
  • fast/css/attribute-style-invalidation-optimization-xhtml.xhtml: Added.
  • fast/css/attribute-style-update-html-expected.html: Added.
  • fast/css/attribute-style-update-html.html: Added.
  • fast/selectors/attribute-style-update-html-expected.txt: Added.
  • fast/selectors/attribute-style-update-html.html: Added.
  • fast/selectors/attribute-style-update-svg-in-html-expected.txt: Added.
  • fast/selectors/attribute-style-update-svg-in-html.html: Added.
  • fast/selectors/attribute-style-update-xhtml-expected.txt: Added.
  • fast/selectors/attribute-style-update-xhtml.xhtml: Added.
12:15 PM Changeset in webkit [173011] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Update the CSS Grammar selector names to get closer to the latest terminology
https://bugs.webkit.org/show_bug.cgi?id=136277

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

CSS Selector Level 4 gives useful definitions for various parts of a selector
(see http://dev.w3.org/csswg/selectors4/#structure). This patch updates our names to be closer
to that spec.

Stricto sensu, our definition of "simple selector list" is wrong. I did not attempt to fix this
because updates of CSS Selector Level 4 and WebVTT will eventually make that whole concept useless.

  • css/CSSGrammar.y.in:
12:14 PM Changeset in webkit [173010] by timothy@apple.com
  • 2 edits in trunk/Source/WebInspectorUI

REGRESSION: Web Inspector: Legacy toolbar has two different colors in unfocused windowed mode
https://bugs.webkit.org/show_bug.cgi?id=136289

Reviewed by Darin Adler.

  • UserInterface/Views/Toolbar.css:

(body.mac-platform.legacy .toolbar): Override the background-color as transparent. Non-legacy
uses a solid color instead of a gradient for window-inactive.

11:55 AM Changeset in webkit [173009] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.11-branch/Source/WebKit2

Merged r171782. <rdar://problem/17760073>

10:12 AM Changeset in webkit [173008] by ap@apple.com
  • 5 edits
    10 adds in trunk/Tools

build.webkit.org/dashboard: Add a metrics page with overall bot performance results
https://bugs.webkit.org/show_bug.cgi?id=136196

Reviewed by Timothy Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/External: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/External/daterangepicker.css: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/External/jquery-1.11.1.min.js: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/External/jquery.daterangepicker.js: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/External/moment.min.js: Added.

A date range picker control with dependencies.
There are a few modifications from upstream at <https://github.com/longbill/jquery-date-range-picker>:

  • Fixed a bug where selected dates were not at midnight the first time a range was chosen

(it didn't happen again upon re-opening the picker).

  • Made made style tweaks to match Dashboard UI.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js:

Don't create objects that are not needed by the given app, and thus are not loaded at all.

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

Math to count all the things. Only supports open source tree and trunk at the moment,
but written with internal tree and branches in mind.

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

Like dashboard Main.js, draws the UI and creates all necessary objects.

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

A view for table cells.

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

(Settings.prototype.toggleSettingsDisplay): Added an event for entering settings.
Metrics page has individual platforms initially scrolled away form the view, so
it needs to scroll down to reveal what's being configured.

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

Added Array.prototype.average and Array.prototype.median.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

Made gear icon fixed instead of absolute, so that it's visible on metrics page when
in settings mode.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Metrics.css:

Additional style rules.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/metrics.html:

The metrics page.

10:02 AM Changeset in webkit [173007] by mihnea@adobe.com
  • 1 edit
    10 moves
    1 add in trunk/LayoutTests

[CSS Regions] Move generated content tests into fast/regions/generated-content
https://bugs.webkit.org/show_bug.cgi?id=136288

Reviewed by Andrei Bucur.

Move related tests into generated-content folder and adjust paths.

  • fast/regions/generated-content/firstletter-inside-flowthread-expected.html: Renamed from LayoutTests/fast/regions/firstletter-inside-flowthread-expected.html.
  • fast/regions/generated-content/firstletter-inside-flowthread.html: Renamed from LayoutTests/fast/regions/firstletter-inside-flowthread.html.
  • fast/regions/generated-content/pseudo-after-content-node-expected.txt: Renamed from LayoutTests/fast/regions/pseudo-after-content-node-expected.txt.
  • fast/regions/generated-content/pseudo-after-content-node.html: Renamed from LayoutTests/fast/regions/pseudo-after-content-node.html.
  • fast/regions/generated-content/pseudo-before-content-node-expected.txt: Renamed from LayoutTests/fast/regions/pseudo-before-content-node-expected.txt.
  • fast/regions/generated-content/pseudo-before-content-node.html: Renamed from LayoutTests/fast/regions/pseudo-before-content-node.html.
  • fast/regions/generated-content/pseudo-first-letter-content-node-expected.txt: Renamed from LayoutTests/fast/regions/pseudo-first-letter-content-node-expected.txt.
  • fast/regions/generated-content/pseudo-first-letter-content-node.html: Renamed from LayoutTests/fast/regions/pseudo-first-letter-content-node.html.
  • fast/regions/generated-content/pseudo-first-line-content-node-expected.txt: Renamed from LayoutTests/fast/regions/pseudo-first-line-content-node-expected.txt.
  • fast/regions/generated-content/pseudo-first-line-content-node.html: Renamed from LayoutTests/fast/regions/pseudo-first-line-content-node.html.
9:04 AM Changeset in webkit [173006] by Julien Brianceau
  • 2 edits in trunk/Source/JavaScriptCore

Take advantage of 3 parameters or32() calls
https://bugs.webkit.org/show_bug.cgi?id=136287

Reviewed by Michael Saboff.

For specific architectures (arm and mips for instance), or32() calls
with 3 parameters are likely to produce a single instruction.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::branchIsOther):
(JSC::DFG::SpeculativeJIT::branchNotOther):

8:49 AM Changeset in webkit [173005] by bshafiei@apple.com
  • 2 edits in branches/safari-600.1.4.11-branch/Source/WebKit2

Merged r172989. <rdar://problem/18016794>

6:20 AM Changeset in webkit [173004] by Michał Pakuła vel Rutka
  • 2 edits
    5 adds in trunk/LayoutTests

Unreviewed EFL gardening

  • platform/efl/TestExpectations: Add test expectations for failing and crashin tests.
  • platform/efl/fast/css/viewport-units-dynamic-expected.txt: Added after r171567.
  • platform/efl/fast/multicol/pagination/RightToLeft-max-width-expected.txt: Added after r171609.
  • platform/efl/fast/ruby/bopomofo-expected.txt: Added after r172874.
  • platform/efl/fast/ruby/bopomofo-letter-spacing-expected.txt: Ditto.
  • platform/efl/fast/ruby/bopomofo-rl-expected.txt: Added after r172861.
6:10 AM Changeset in webkit [173003] by llango.u-szeged@partner.samsung.com
  • 2 edits in trunk/Websites/webkit.org

http://webkit.org/coding/coding-style.html should mention check-webkit-style.
https://bugs.webkit.org/show_bug.cgi?id=31993

Reviewed by Darin Adler.

Based on patch by Peter Szanka <h868064@stud.u-szeged.hu>

  • coding/contributing.html:

Extend the description of code style guidelines with check-webkit-style in the contributing.html.

5:40 AM Changeset in webkit [173002] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Add expectations for flaky svg layout test.
https://bugs.webkit.org/show_bug.cgi?id=130592

Unreviewed EFL gardening.

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-08-27

  • platform/efl/TestExpectations:
1:31 AM Changeset in webkit [173001] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

Remove networkinfo watch category in watchlist
https://bugs.webkit.org/show_bug.cgi?id=136279

Reviewed by Alexey Proskuryakov.

Network info was removed. So, it is not needed anymore.

  • Scripts/webkitpy/common/config/watchlist:
1:04 AM Changeset in webkit [173000] by k.czech@samsung.com
  • 5 edits
    22 copies
    1 add
    1 delete in trunk

[EFL] Share fast/speechsynthesis/ with other ports
https://bugs.webkit.org/show_bug.cgi?id=136224

Reviewed by Chris Fleizach.

.:

Enable WebSpeech for EFL.

  • Source/cmake/OptionsEfl.cmake:

LayoutTests:

Share fast/speechsynthesis tests with EFL after r172956.
Skipped them for GTK and Win.

  • fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events-expected.txt.
  • fast/speechsynthesis/speech-synthesis-boundary-events.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-boundary-events.html.
  • fast/speechsynthesis/speech-synthesis-cancel-crash-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-crash-expected.txt.
  • fast/speechsynthesis/speech-synthesis-cancel-crash.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-crash.html.
  • fast/speechsynthesis/speech-synthesis-cancel-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel-expected.txt.
  • fast/speechsynthesis/speech-synthesis-cancel.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-cancel.html.
  • fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance-expected.txt.
  • fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-crash-on-bad-utterance.html.
  • fast/speechsynthesis/speech-synthesis-elapsed-time-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-elapsed-time-expected.txt.
  • fast/speechsynthesis/speech-synthesis-elapsed-time.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-elapsed-time.html.
  • fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash-expected.txt.
  • fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-gc-utterance-crash.html.
  • fast/speechsynthesis/speech-synthesis-pause-resume-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume-expected.txt.
  • fast/speechsynthesis/speech-synthesis-pause-resume.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-pause-resume.html.
  • fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string-expected.txt.
  • fast/speechsynthesis/speech-synthesis-speak-empty-string.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-empty-string.html.
  • fast/speechsynthesis/speech-synthesis-speak-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak-expected.txt.
  • fast/speechsynthesis/speech-synthesis-speak.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-speak.html.
  • fast/speechsynthesis/speech-synthesis-utterance-uses-voice-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice-expected.txt.
  • fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-utterance-uses-voice.html.
  • fast/speechsynthesis/speech-synthesis-voices-expected.txt: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-voices-expected.txt.
  • fast/speechsynthesis/speech-synthesis-voices.html: Renamed from LayoutTests/platform/mac/fast/speechsynthesis/speech-synthesis-voices.html.
  • platform/gtk/TestExpectations: Skipped for GTK
  • platform/win/TestExpectations: Skipped for Win
12:56 AM Changeset in webkit [172999] by gyuyoung.kim@samsung.com
  • 4 edits in trunk

[EFL] Unskip compositing test
https://bugs.webkit.org/show_bug.cgi?id=136151

Reviewed by Csaba Osztrogonác.

Source/WebCore:

  • rendering/RenderLayerBacking.cpp: Set true to setContentsOpaque() to support compositing test.

(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):

LayoutTests:

  • platform/efl/TestExpectations: Unskip compositing tests.

Aug 26, 2014:

11:58 PM Changeset in webkit [172998] by ap@apple.com
  • 4 edits in trunk/Tools

build.webkit.org/dashboard: Poor performance when there are broken builds at initial load time
https://bugs.webkit.org/show_bug.cgi?id=136281

Reviewed by Tim Horton.

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

Track and expose whether the itertion is being loaded. Made update() a no-op if
the iteration is already being loaded.

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

(BuildbotBuilderQueueView.prototype.update.appendBuilderQueueStatus): Instead of
loading everything at once, ask the queue to load a little more. We can always repeat
if we still don't have enough data.

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

(BuildbotQueue.prototype.loadMoreHistoricalIterations): Added a function that loads
10 more iterations intelligently.

11:56 PM Changeset in webkit [172997] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard raises an exception when Trac RSS fails to load
https://bugs.webkit.org/show_bug.cgi?id=136283

Reviewed by Tim Horton.

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

Don't.

11:43 PM Changeset in webkit [172996] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard raises an exception after a hidden platform is removed
https://bugs.webkit.org/show_bug.cgi?id=136282

Reviewed by Tim Horton.

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

(updateHiddenPlatforms): Check that the platform is still valid.

8:53 PM Changeset in webkit [172995] by vivek.vg@samsung.com
  • 6 edits in trunk

Canvas direction should reflect change in dir attribute and also across save/restore operations
https://bugs.webkit.org/show_bug.cgi?id=136098

Reviewed by Darin Adler.

Source/WebCore:

Changed State.m_direction type from TextDirection to Direction enum to accomodate 'inherit'
as a separate value. Modified the getter to compute the 'live' value for the direction attribute.
Removed explicit passing of direction to CanvasRenderingContext2D::State constructor.

Updated existing canvas-direction.html with additional cases to reflect this change.

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
(WebCore::CanvasRenderingContext2D::reset):
(WebCore::CanvasRenderingContext2D::State::State):
(WebCore::CanvasRenderingContext2D::toTextDirection):
(WebCore::CanvasRenderingContext2D::direction):
(WebCore::CanvasRenderingContext2D::setDirection):
(WebCore::CanvasRenderingContext2D::drawTextInternal):
(WebCore::inheritedDirection): Deleted.

  • html/canvas/CanvasRenderingContext2D.h:

LayoutTests:

  • fast/canvas/canvas-direction-expected.txt:
  • fast/canvas/canvas-direction.html:
8:17 PM Changeset in webkit [172994] by mlilek@apple.com
  • 5 edits
    1 copy in trunk

Add WebKit SPI to control the navigator.standalone property
https://bugs.webkit.org/show_bug.cgi?id=136189

Reviewed by Andy Estes.

Source/WebKit2:

Add a property to WKPreferences that allows toggling this setting.

  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _isStandalone]):
(-[WKPreferences _setStandalone:]):

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Tools:

Add API test for WKPreferences

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2Cocoa/Preferences.mm:

(TEST):

7:05 PM Changeset in webkit [172993] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] FileApi Layout Tests passed in latest build.
https://bugs.webkit.org/show_bug.cgi?id=136250

Unreviewed gardening.

FileApi Layout Tests passed in latest build 172953.

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-08-26

  • platform/efl/TestExpectations:
6:36 PM Changeset in webkit [172992] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Tools

Remove ENABLE_DRT environment variable to enable SHARED_CORE
https://bugs.webkit.org/show_bug.cgi?id=136205

Reviewed by Andrei Bucur.

EFL port doesn't need to enable SHARED_CORE since r172894. Thus, we don't need to
use ENABLE_DRT enviroment variable, which enables SHARED_CORE.

  • Scripts/webkitdirs.pm:

(generateBuildSystemFromCMakeProject):

5:52 PM Changeset in webkit [172991] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Fix CodeMirrorTokenTrackingController::_startTracking assertion
https://bugs.webkit.org/show_bug.cgi?id=136160

Patch by Saam Barati <sbarati@apple.com> on 2014-08-26
Reviewed by Joseph Pecoraro.

Check if '_tracking' is already true before calling '_startTracking'
to prevent the assertion from always firing.

  • UserInterface/Controllers/CodeMirrorTokenTrackingController.js:

(WebInspector.CodeMirrorTokenTrackingController.prototype._mouseEntered):

5:34 PM Changeset in webkit [172990] by dburkart@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebKit2

Merge r172988. <rdar://problem/17923694>

5:19 PM Changeset in webkit [172989] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

FileReader cannot read files selected with <input type="file"> in iOS 8
https://bugs.webkit.org/show_bug.cgi?id=136117

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-08-26
Reviewed by Alexey Proskuryakov.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:

Correct an overzealous deny that was accidentally denying all
com.apple.app-sandbox.read extensions instead of just the ones
in Application bundles it was trying to deny.

5:16 PM Changeset in webkit [172988] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Crashes in ViewGestureController::beginSwipeGesture when swiping in rapid succession
https://bugs.webkit.org/show_bug.cgi?id=136271
<rdar://problem/17923694>

Reviewed by Simon Fraser.

It was possible to get into trackSwipeGesture while another swipe was still
occurring, because the guard against this happening depended on m_pendingSwipeReason
never being set while a swipe was occurring. However, if the very first scroll event
had sufficient magnitude, we would still set m_pendingSwipeReason to InsufficientMagnitude,
and then *never clear it*, leading to a path around the guard against multiple live swipes.
This in turn allowed stale layers in m_liveSwipeLayers, which lead to the crash.

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::handleScrollWheelEvent):
Don't unset m_pendingSwipeReason before calling trackSwipeGesture;
trackSwipeGesture will do it itself.

Don't set m_pendingSwipeReason to InsufficientMagnitude
if the event actually *has* sufficient magnitude to start a swipe.

(WebKit::ViewGestureController::trackSwipeGesture):
Assert that we don't have an active gesture while starting a swipe.

Reset m_pendingSwipeReason, because the swipe is no longer pending!

5:03 PM Changeset in webkit [172987] by dburkart@apple.com
  • 6 edits in branches/safari-600.1-branch

Merge r172982. <rdar://problem/18141695>

5:01 PM Changeset in webkit [172986] by dburkart@apple.com
  • 52 edits in branches/safari-600.1-branch

Merge r172977. <rdar://problem/18141703>

5:01 PM Changeset in webkit [172985] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Minor style tweak on StyleResolveTree
https://bugs.webkit.org/show_bug.cgi?id=136233

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

  • style/StyleResolveTree.cpp:

(WebCore::Style::resolveTree):
Clang likely optimized it away, but I find that explicit style cleaner.

4:59 PM Changeset in webkit [172984] by dburkart@apple.com
  • 2 edits in branches/safari-600.1-branch/Source/WebCore

Merge r172969. <rdar://problem/17435564>

4:57 PM Changeset in webkit [172983] by dburkart@apple.com
  • 11 edits in branches/safari-600.1-branch/Source/WebKit2

Merge r172966. <rdar://problem/18107826>

4:45 PM Changeset in webkit [172982] by Brent Fulgham
  • 6 edits in trunk

[Win] Version stamp should include package-level version
https://bugs.webkit.org/show_bug.cgi?id=136266
<rdar://problem/18134138>

Reviewed by David Kilzer.

Tools:

  • Scripts/webkitperl/auto-version_unittest/autoVersionTests.pl: Add

tests for the full 3+ digit version.

  • Scripts/webkitperl/auto-version_unittest/versionStampTests.pl:

Confirm that the final output DLL uses the 3+ digit version.

WebKitLibraries:

  • win/tools/scripts/auto-version.pl: Retain the full major build

version in addition to the three-digit value we use internally.

  • win/tools/scripts/version-stamp.pl: Find and use the full 3+ digit

major build version when stamping the final output file.

4:32 PM Changeset in webkit [172981] by clopez@igalia.com
  • 2 edits
    3 adds
    2 deletes in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Report and mark new failures after r136159, r172826 and r172835.
  • platform/gtk/fast/ruby/bopomofo-expected.txt: Added. Add baseline after r172861 and r172874.
  • platform/gtk/fast/ruby/bopomofo-letter-spacing-expected.txt: Added. Add baseline after r172861 and r172874.
  • platform/gtk/fast/ruby/bopomofo-rl-expected.txt: Added. Add baseline after r172861 and r172874.
  • platform/gtk/fast/ruby/ruby-base-merge-block-children-crash-2-expected.png: Removed. Rebaseline (use default baseline) after r172835 and r172847.
  • platform/gtk/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Removed. Rebaseline (use default baseline) after r172835 and r172847.
3:38 PM Changeset in webkit [172980] by Brian Burg
  • 11 edits
    1 copy
    1 add in trunk/Source

Web Inspector: put feature flags for Inspector domains in the protocol specification
https://bugs.webkit.org/show_bug.cgi?id=136027

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Remove the hardcoded map of domains to feature guards, and instead parse it from the specification.

Test: inspector/scripts/tests/generate-domains-with-feature-guards.json

  • inspector/scripts/codegen/generator.py:

(Generator.wrap_with_guard_for_domain):

  • inspector/scripts/codegen/models.py:

(Protocol.parse_domain):
(Domain.init):
(Domains):

  • inspector/scripts/tests/generate-domains-with-feature-guards.json: Added.
  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:

Source/WebCore:

Add 'featureGuard' settings to wrap domains with ENABLE macros.

No new tests. No behavior was changed.

  • inspector/protocol/Database.json:
  • inspector/protocol/IndexedDB.json:
  • inspector/protocol/Replay.json:
3:36 PM Changeset in webkit [172979] by aestes@apple.com
  • 8 edits in trunk/Source

[Cocoa] Some projects are incorrectly installed to $BUILT_PRODUCTS_DIR
https://bugs.webkit.org/show_bug.cgi?id=136267

Reviewed by Dan Bernstein.

INSTALL_PATH was set to $BUILT_PRODUCTS_DIR for engineering configurations in r20225 as part of a build fix.
Not only is this no longer necessary to build, but it causes built products to be incorrectly installed in
engineering configurations.

Remove the setting of INSTALL_PATH from the pbxproj file so that the value specified in the xcconfig files is
used instead.

Source/JavaScriptCore:

Source/WebCore:

  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit2:

  • WebKit2.xcodeproj/project.pbxproj:
3:08 PM Changeset in webkit [172978] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[Win] 64-bit JavaScriptCore crashes on launch
https://bugs.webkit.org/show_bug.cgi?id=136241

Reviewed by Mark Lam.

  • llint/LowLevelInterpreter.asm:

(vmEntryRecord): X86_64_WIN doesn't use "a0" (rax) for the first argument, it uses
"t2" (rcx). Changed to get the input parameter using the correct register.

2:39 PM Changeset in webkit [172977] by Brent Fulgham
  • 52 edits in trunk

[Win] WebKit IDL incorrectly passes HWND as OLE_HANDLE
https://bugs.webkit.org/show_bug.cgi?id=136258
<rdar://problem/18134138>

Reviewed by Tim Horton.

Avoid 32/64-bit truncation by preventing 64-bit HWND (and other)
values from passing through the 32-bit OLE_HANDLE data type.

Source/WebCore:

  • platform/win/WindowMessageBroadcaster.cpp:

(WebCore::WindowMessageBroadcaster::addListener):
(WebCore::WindowMessageBroadcaster::removeListener):
(WebCore::WindowMessageBroadcaster::destroy):
(WebCore::WindowMessageBroadcaster::unsubclassWindow):
(WebCore::WindowMessageBroadcaster::SubclassedWndProc):

Source/WebKit/win:

  • Interfaces/IWebDocument.idl:
  • Interfaces/IWebEmbeddedView.idl:
  • Interfaces/IWebErrorPrivate.idl:
  • Interfaces/IWebFrameLoadDelegate.idl:
  • Interfaces/IWebFramePrivate.idl:
  • Interfaces/IWebHistoryItem.idl:
  • Interfaces/IWebIconDatabase.idl:
  • Interfaces/IWebMutableURLRequestPrivate.idl:
  • Interfaces/IWebUIDelegate.idl:
  • Interfaces/IWebUIDelegatePrivate.idl:
  • Interfaces/IWebURLResponsePrivate.idl:
  • Interfaces/IWebView.idl:
  • Interfaces/IWebViewPrivate.idl:
  • WebCoreSupport/EmbeddedWidget.cpp:

(EmbeddedWidget::createWindow):

  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::rootViewToScreen):
(WebChromeClient::screenToRootView):
(WebChromeClient::platformPageClient):
(WebChromeClient::runOpenPanel):
(WebChromeClient::setCursor):

  • WebCoreSupport/WebContextMenuClient.cpp:

(WebContextMenuClient::customizeMenu):

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::createPlugin):

  • WebCoreSupport/WebInspectorClient.cpp:

(WebInspectorClient::openInspectorFrontend):
(WebInspectorClient::highlight):
(WebInspectorFrontendClient::setAttachedWindowHeight):
(WebInspectorFrontendClient::closeWindowWithoutNotifications):
(WebInspectorFrontendClient::showWindowWithoutNotifications):

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorDelegate.cpp:
  • WebCoreSupport/WebInspectorDelegate.h:

(WebInspectorDelegate::webViewFirstResponder):
(WebInspectorDelegate::makeFirstResponder):
(WebInspectorDelegate::contextMenuItemsForElement):
(WebInspectorDelegate::trackCustomPopupMenu):
(WebInspectorDelegate::addCustomMenuDrawingData):
(WebInspectorDelegate::cleanUpCustomMenuDrawingData):
(WebInspectorDelegate::drawHeaderInRect):
(WebInspectorDelegate::drawFooterInRect):

  • WebDropSource.cpp:

(generateMouseEvent):
(WebDropSource::GiveFeedback):

  • WebError.cpp:

(WebError::sslPeerCertificate):

  • WebError.h:
  • WebFrame.cpp:

(WebFrame::paintDocumentRectToContext):
(WebFrame::paintScrollViewRectToContextAtPoint):
(WebFrame::createSubframeWithOwnerElement):
(WebFrame::initWithWebView):
(WebFrame::drawHeader):
(WebFrame::drawFooter):

  • WebFrame.h:
  • WebHistoryItem.cpp:

(WebHistoryItem::icon):

  • WebHistoryItem.h:
  • WebIconDatabase.cpp:

(WebIconDatabase::iconForURL):
(WebIconDatabase::defaultIconWithSize):

  • WebIconDatabase.h:
  • WebMutableURLRequest.cpp:

(WebMutableURLRequest::setClientCertificate):

  • WebMutableURLRequest.h:
  • WebNodeHighlight.cpp:

(WebNodeHighlight::WebNodeHighlight):

  • WebURLResponse.cpp:

(WebURLResponse::sslPeerCertificate):

  • WebURLResponse.h:
  • WebView.cpp:

(WebView::paintIntoBackingStore):
(WebView::handleContextMenuEvent):
(WebView::onInitMenuPopup):
(WebView::onUninitMenuPopup):
(WebView::WebViewWndProc):
(WebView::dispatchDidReceiveIconFromWebFrame):
(WebView::setHostWindow):
(WebView::hostWindow):
(WebView::generateSelectionImage):
(WebView::mainFrameIcon):
(WebView::viewWindow):
(WebView::paintDocumentRectToContext):
(WebView::paintScrollViewRectToContextAtPoint):
(WebView::backingStore):
(WebView::fullScreenClientSetParentWindow):

  • WebView.h:

Tools:

  • DumpRenderTree/win/AccessibilityControllerWin.cpp:

(AccessibilityController::rootElement):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(resetWebViewToConsistentStateBeforeTesting):
(runTest):
(createWebViewAndOffscreenWindow):

  • DumpRenderTree/win/FrameLoadDelegate.h:

(FrameLoadDelegate::didReceiveIcon):

  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::setWindowIsKey):

  • DumpRenderTree/win/UIDelegate.cpp:

(UIDelegate::trackCustomPopupMenu):
(UIDelegate::drawHeaderInRect):
(UIDelegate::drawFooterInRect):
(UIDelegate::webViewClose):
(UIDelegate::webViewFocus):
(UIDelegate::webViewSetCursor):
(UIDelegate::drawBackground):

  • DumpRenderTree/win/UIDelegate.h:

(UIDelegate::webViewFirstResponder):
(UIDelegate::makeFirstResponder):
(UIDelegate::contextMenuItemsForElement):
(UIDelegate::addCustomMenuDrawingData):
(UIDelegate::cleanUpCustomMenuDrawingData):
(UIDelegate::webViewLostFocus):

  • TestWebKitAPI/Tests/WebKit/win/WebViewDestruction.cpp:

(TestWebKitAPI::WebViewDestructionWithHostWindow::SetUp):

  • WinLauncher/PrintWebUIDelegate.cpp:

(PrintWebUIDelegate::drawHeaderInRect):
(PrintWebUIDelegate::drawFooterInRect):

  • WinLauncher/PrintWebUIDelegate.h:

(PrintWebUIDelegate::webViewFirstResponder):
(PrintWebUIDelegate::makeFirstResponder):
(PrintWebUIDelegate::contextMenuItemsForElement):
(PrintWebUIDelegate::trackCustomPopupMenu):
(PrintWebUIDelegate::addCustomMenuDrawingData):
(PrintWebUIDelegate::cleanUpCustomMenuDrawingData):

  • WinLauncher/WinLauncher.cpp:

(WinLauncher::prepareViews):

  • WinLauncher/WinLauncherWebHost.h:

(WinLauncherWebHost::didReceiveIcon):

2:24 PM Changeset in webkit [172976] by commit-queue@webkit.org
  • 6 edits in trunk/Source/JavaScriptCore

TypeSet caches structureIDs even after the corresponding Structure could be GCed
https://bugs.webkit.org/show_bug.cgi?id=136178

Patch by Saam Barati <sbarati@apple.com> on 2014-08-26
Reviewed by Geoffrey Garen.

Currently, TypeSet will never remove StructureIDs from its cache,
even after the corresponding Structures could be garbage collected.
Now, when the Garbage Collector collects, and type profiling is
enabled, the Garbage Collector will invalidate all TypeSet caches.

  • heap/Heap.cpp:

(JSC::Heap::collect):

  • runtime/TypeSet.cpp:

(JSC::TypeSet::addTypeInformation):
(JSC::TypeSet::invalidateCache):

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

(JSC::VM::invalidateTypeSetCache):

  • runtime/VM.h:
2:06 PM Changeset in webkit [172975] by mjs@apple.com
  • 19 edits
    2 adds in trunk/Source

Replace use of WKCopyCFLocalizationPreferredName with NSLocale public API
https://bugs.webkit.org/show_bug.cgi?id=136082

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • platform/mac/Language.mm:

(WebCore::httpStyleLanguageCode): Replace use of WKCopyCFLocalizationPreferredName
with new WebCoreNSStringExtras helper.

  • platform/mac/WebCoreNSStringExtras.mm: Replacements for the aspects of

WKCopyCFLocalizationPreferredName.
(preferredBundleLocalizationName): New helper - most preferred localization available
in the main bundle, canonicalized the way we like it.
(canonicalLocalizationName): Convert a lcalization name to a string with language and
country code, using default if necessary (e.g. "en" maps to "en_US").

  • WebCore.order: Remove mention of WKCopyCFLocalizationPreferredName.
  • WebCore.exp.in: ditto; also export preferredBundleLocalizationName for WebKit(2).
  • platform/ios/WebCoreSystemInterfaceIOS.mm: ditto
  • platform/mac/WebCoreSystemInterface.h: ditto
  • platform/mac/WebCoreSystemInterface.mm: ditto
  • platform/spi/cf: Added.
  • platform/spi/cf/CFLocaleSPI.h: Added. Declare

CFLocaleGetLanguageRegionEncodingForLocaleIdentifier.

Source/WebKit/mac:

  • Plugins/Hosted/NetscapePluginHostManager.mm:

(WebKit::NetscapePluginHostManager::spawnPluginHost): Get current
localization name using WebCore helper instead of SPI.

  • Plugins/WebBasePluginPackage.mm: Fixed the include style for this

file.
(-[WebBasePluginPackage getPluginInfoFromPLists]): Get current
localization name using WebCore helper instead of SPI.
(+[WebBasePluginPackage preferredLocalizationName]): Deleted. This
helper no longer pulls its weight.

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Remove mention of
WKCopyCFLocalizationPreferredName.

  • WebKit.order: ditto

Source/WebKit2:

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToService): Remove accidental leftover retrieval
of the localization.
(WebKit::createProcess): Get current localization name from
CFBundle API instead of using SPI.

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Remove mention of WKCopyCFLocalizationPreferredName

  • mac/WebKit2.order: ditto
1:37 PM Changeset in webkit [172974] by dburkart@apple.com
  • 2 edits in trunk/Source/WebKit2

The UNUSED_PARAM macros in ServicesOverlayController.mm are causing ASan build failures.
https://bugs.webkit.org/show_bug.cgi?id=136262

Reviewed by David Kilzer.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::selectionRectsDidChange):
(WebKit::ServicesOverlayController::selectedTelephoneNumberRangesChanged):

1:12 PM Changeset in webkit [172973] by zoltan@webkit.org
  • 5 edits in trunk

[CSS Shapes] Positioned polygon reftests failing
https://bugs.webkit.org/show_bug.cgi?id=135925

Reviewed by David Hyatt.

Source/WebCore:

We didn't respect the shape-margin before a positioned polygon, since we checked
the shape-margin for only 1 vertex for a polygon edge. This patch fixes the behavior,
removes the tests from the skipped list and updates 1 test, which was incorrect.

Updated existing test and removed tests from skipped list.

  • rendering/shapes/PolygonShape.cpp:

(WebCore::clippedCircleXRange):
(WebCore::PolygonShape::getExcludedInterval):

LayoutTests:

  • TestExpectations: Remove passing tests.
  • css3/shapes/shape-outside/supported-shapes/polygon/shape-outside-polygon-012.html: Fix test behavior.
1:11 PM Changeset in webkit [172972] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[EFL] URTBF after r172966.

  • UIProcess/efl/WebViewEfl.h:
12:34 PM Changeset in webkit [172971] by clopez@igalia.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION(r172966) [GTK] Build broken.

Unreviewed build fix after r172966.

  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):

  • UIProcess/API/gtk/PageClientImpl.h:
12:29 PM Changeset in webkit [172970] by Alan Bujtas
  • 7 edits in trunk/Source/WebCore

Subpixel layout: Remove float to LayoutUnit ceil/round function wrappers.
https://bugs.webkit.org/show_bug.cgi?id=136253

Reviewed by Simon Fraser.

These functions wrap LayoutUnit::fromFloatCeil/fromFloatRound() functions to ceil/round float to LayoutUnit.
Their usage is limited and can easily be confused with the snapping functions (snap to css/device pixels).

No change in functionality.

  • platform/LayoutUnit.h:

(WebCore::roundedLayoutUnit): Deleted. : Callers use the more explicit LayoutUnit::fromFloatRound() function.
(WebCore::ceiledLayoutUnit): Deleted. : Callers use the more explicit LayoutUnit::fromFloatCeil() function.

  • rendering/RenderBlock.cpp:

(WebCore::updatePreferredWidth):
(WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
(WebCore::adjustFloatForSubPixelLayout): Deleted.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::positionLineBox):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::resolveFlexibleLengths):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::offsetForInFlowPositionedInline):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):

12:00 PM Changeset in webkit [172969] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Ensure that layout is up-to-date before hit testing
https://bugs.webkit.org/show_bug.cgi?id=136242
rdar://problem/17435564

Reviewed by Tim Horton.

Various code paths can call into RenderView::hitTest() but fail to
ensure that layout is up-to-date. This is a conservative change that
fixes the issue for callers of EventHandler::hitTestResultAtPoint(),
including WebPage::acceptsFirstMouse() and WebFrame::hitTest().

This change is not general enough that we can ASSERT(!needsLayout())
in RenderView::hitTest() yet.

  • page/EventHandler.cpp:

(WebCore::EventHandler::hitTestResultAtPoint):

11:55 AM Changeset in webkit [172968] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Crashes in hit testing under WebPage::determinePrimarySnapshottedPlugIn()
https://bugs.webkit.org/show_bug.cgi?id=136240
rdar://problem/17231462

Reviewed by Darin Adler.

determinePrimarySnapshottedPlugIn() does render tree hit testing, so needs
to ensure that layout is up-to-date.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::determinePrimarySnapshottedPlugIn):

11:44 AM Changeset in webkit [172967] by dbates@webkit.org
  • 2 edits in trunk/Tools

Only define WEBCORE_EXPORT when building DumpRenderTree for Windows and iOS

Rubber-stamped by Tim Horton.

The Windows and iOS ports are the only ports that make use of WebCore headers
in DumpRenderTree.

  • DumpRenderTree/config.h:
11:42 AM Changeset in webkit [172966] by timothy_horton@apple.com
  • 11 edits in trunk/Source/WebKit2

REGRESSION (r172771): Amazon product page becomes unresponsive after swiping back to it
https://bugs.webkit.org/show_bug.cgi?id=136260
<rdar://problem/18107826>

Reviewed by Dan Bernstein.

Previously, when a swipe ended up performing a same-document navigation,
we would never get didFinishLoadForMainFrame nor didFirstVisuallyNonEmptyLayoutForMainFrame
nor would we even get didHitRenderTreeSizeThreshold in all cases, so we would never
remove the swipe snapshot. Previous implementations removed the snapshot on
didSameDocumentNavigation for the main frame if the navigation type was Replace or Pop,
so we will match that behavior.

Also, reinstate the watchdog that starts at swipe-end which would have prevented
this bug from forever breaking the view it was associated with.

Also, defend against removing the snapshot before the swipe has finished (before
we have even caused the navigation that we're watching for the effects of).

  • UIProcess/API/mac/WKView.mm:

(-[WKView _didSameDocumentNavigationForMainFrame:]):

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):

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

(WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):

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

(WebKit::PageClientImpl::didSameDocumentNavigationForMainFrame):
Plumb main-frame same-document navigation notification from WebPageProxy
to ViewGestureControllerMac via PageClient and WKView.

  • UIProcess/mac/ViewGestureController.h:
  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
Keep track of whether a swipe is currently occurring. We can't use
activeGestureType for this because the swipe currently remains the "active"
gesture until the snapshot is removed.

Reintroduce the old swipeWatchdogTimer (and rename the shorter timer that starts
when we get a visually non-empty layout) so that we will always remove the
snapshot after 5 seconds, even if we haven't committed the load.
This could lead to flashing back to the old content if we fail to get a single
byte for 5 seconds, but that is a rare case and should eventually get additional
special treatment (dropping the tiles until we do get content, or some such).

(WebKit::ViewGestureController::didHitRenderTreeSizeThreshold):
If a swipe is still in progress, we haven't done our navigation and thus
don't care about render tree size changes.

(WebKit::ViewGestureController::didFirstVisuallyNonEmptyLayoutForMainFrame):
If a swipe is still in progress, we haven't done our navigation and thus
don't care about layouts.

Stop the 5 second overall watchdog if we start the 3 second after-visuallyNonEmptyLayout
watchdog. This means that the snapshot could stay up for a maximum of 8 seconds
for a very, very slow load.

(WebKit::ViewGestureController::didFinishLoadForMainFrame):
If a swipe is still in progress, we haven't done our navigation and thus
don't care about loads that complete.

(WebKit::ViewGestureController::didSameDocumentNavigationForMainFrame):
Remove the swipe snapshot after painting if we do replaceState or popState.

(WebKit::ViewGestureController::removeSwipeSnapshotAfterRepaint):
If a swipe is still in progress, we shouldn't remove the snapshot yet.

11:29 AM Changeset in webkit [172965] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Rubber-banding in overflow:scroll regions does not work correctly with
direction:rtl
https://bugs.webkit.org/show_bug.cgi?id=136176

Reviewed by Tim Horton.

Small cleanup.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::visibleContentRectInternal):

11:09 AM Changeset in webkit [172964] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the build after r172963

  • page/DOMTimer.h:
10:58 AM Changeset in webkit [172963] by barraclough@apple.com
  • 6 edits in trunk/Source/WebCore

DOMTimer may be deleted during timer fire
https://bugs.webkit.org/show_bug.cgi?id=136198

Reviewed by Geoff Garen.

Consequentially ScheduledActions may also be deleted mid execution.
This is fairly surprising & fragile, let's make this simpler.

Currently DOMTimer instances are effectively owned by the ScriptExecutionContext.
There is a 1-1 mapping between timers and contexts, all timers are help in a map
on the context and if the context goes away all timers are deleted. Rather than
being implemented in a straightforward fashion (a smart pointer type for the map
value) this is currently implemented by having the timer objects listen for the
context going away using contextDestroyed, and deleting themselves if so.

Switch to using a smart pointer for values of m_timeouts in ScriptExecutionContext.
By using a RefCounted object we can also extend the lifetime of the DOMTimer instance
from within the DOMTimer::fired method, so the object is not destroyed while the
member function is still on the stack.

  • WebCore.xcodeproj/project.pbxproj:
    • project -> private since DOMTimer could no longer be a forward declare in ScriptExecutionContext.h.
  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
(WebCore::ScriptExecutionContext::didChangeTimerAlignmentInterval):

  • auto* -> auto& since value type in map is no longer a raw pointer.
  • dom/ScriptExecutionContext.h:

(WebCore::ScriptExecutionContext::addTimeout):

  • DOMTimer* -> PassRefPtr<DOMTimer>
  • page/DOMTimer.cpp:

(WebCore::DOMTimer::DOMTimer):

  • adopt the initial ref, and pass to addTimeout.

(WebCore::DOMTimer::install):

  • updated comment.

(WebCore::DOMTimer::removeById):

  • instead of explicitly deleting the timer and assuming this will implicitly remove it from the context map, we explicitly remove it from the context map and assume this will implicitly deleting the timer!

(WebCore::DOMTimer::fired):

  • Add a RefPtr to keep the DOMTimer object alive until the fired method completes; to cancel a one-shot timer just remove it from the context's map, rather than explicitly deleting it.

(WebCore::DOMTimer::~DOMTimer): Deleted.
(WebCore::DOMTimer::contextDestroyed): Deleted.

  • no need! object lifetime management now handled by smart pointers.
  • page/DOMTimer.h:
    • added parent class RefCounted<DOMTimer>.
10:34 AM Changeset in webkit [172962] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION(r172794) + 32Bit build: for-in-base-reassigned-later-and-change-structure.js fail with NaN result
https://bugs.webkit.org/show_bug.cgi?id=136187

Reviewed by Mark Hahnenberg.

Added two arg version for 32 bit builds of callOperation(J_JITOperation_ECJ, ...) that
doesn't require a tag for the second argument, instead it fills in a CellTag. This is
used for the slow case of the GetDirectPname case in SpeculativeJIT::compile since we
haven't set up a register with a tag and we know that argument 2 is a cell.

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation): New version with implicit CellTag.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile): Eliminated extraneous filling of the scratchGPR
with CellTag as it wasn't in the control flow for the slow path that needed the tag.
Instead changed to calling new version of callOperation with an implicit CellTag.

9:46 AM Changeset in webkit [172961] by commit-queue@webkit.org
  • 58 edits
    16 deletes in trunk

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

Caused assertions on fast/storage/serialized-script-
value.html, and possibly flakiness on more tests (Requested by
ap on #webkit).

Reverted changeset:

"FTL should be able to do polymorphic call inlining"
https://bugs.webkit.org/show_bug.cgi?id=135145
http://trac.webkit.org/changeset/172940

9:30 AM Changeset in webkit [172960] by mitz@apple.com
  • 2 edits in trunk/Tools

runSvnUpdateAndResolveChangeLogs() doesn’t work when invoked from a script outside Tools/Scripts
https://bugs.webkit.org/show_bug.cgi?id=136254

Reviewed by Tim Horton.

  • Scripts/webkitdirs.pm:

(runSvnUpdateAndResolveChangeLogs): Locate resolve-ChangeLogs relative to the source tree,
not the invoking script.

8:55 AM Changeset in webkit [172959] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r172794) + 32Bit build: ASSERT failures in for-in-tests.js tests.
https://bugs.webkit.org/show_bug.cgi?id=136165

Reviewed by Mark Hahnenberg.

Changed switch case GetDirectPname: to always use the slow path for X86 since it only has
6 registers available, but the code requires 7.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

8:41 AM BuildingGtk edited by Martin Robinson
Removed the installation section because it is out of date and usually … (diff)
8:24 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
8:23 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
8:20 AM Changeset in webkit [172958] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Selection background is rendered white when unfocused with recent GTK+
https://bugs.webkit.org/show_bug.cgi?id=136251

Reviewed by Martin Robinson.

This is due to a change in the GTK+ theme, but because we are not
using the right flags to get the selections colors. We should use
GTK_STATE_FLAG_SELECTED | GTK_STATE_FLAG_FOCUSED when focused and
GTK_STATE_FLAG_SELECTED when unfocused, instead of
GTK_STATE_FLAG_ACTIVE when unfocused.

  • platform/gtk/RenderThemeGtk3.cpp:

(WebCore::RenderThemeGtk::platformActiveSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformActiveSelectionForegroundColor):
(WebCore::RenderThemeGtk::platformInactiveSelectionForegroundColor):
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeGtk::platformActiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeGtk::platformInactiveListBoxSelectionForegroundColor):

4:55 AM Changeset in webkit [172957] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Translations are not initialized in the UI process
https://bugs.webkit.org/show_bug.cgi?id=136249

Reviewed by Philippe Normand.

This is breaking things like webkitContextMenuActionGetForContextMenuItem()
for non English locales in the cases where we use the action title to guess the
action, because the action title we get from the web process is translated while
the one in the UI process is in English.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(createDefaultWebContext): Initialize gettext right before
creating the default web context.

4:25 AM Changeset in webkit [172956] by k.czech@samsung.com
  • 9 edits
    1 add in trunk

[EFL] Utilize espeak as a synthesizer back-end for WebSpeech
https://bugs.webkit.org/show_bug.cgi?id=136127

Reviewed by Gyuyoung Kim.

.:

Add build support for espeak.

  • Source/cmake/FindEspeak.cmake: Added.
  • Source/cmake/OptionsEfl.cmake: Add Espeak dependency.

Source/WebCore:

Utilize espeak API to have support for speak, cancel and initializeVoiceList.

  • PlatformEfl.cmake:
  • platform/efl/PlatformSpeechSynthesisProviderEfl.cpp:

(WebCore::PlatformSpeechSynthesisProviderEfl::PlatformSpeechSynthesisProviderEfl):
(WebCore::PlatformSpeechSynthesisProviderEfl::convertRateToEspeakValue):
(WebCore::PlatformSpeechSynthesisProviderEfl::convertVolumeToEspeakValue):
(WebCore::PlatformSpeechSynthesisProviderEfl::convertPitchToEspeakValue):
(WebCore::PlatformSpeechSynthesisProviderEfl::voiceName):
(WebCore::PlatformSpeechSynthesisProviderEfl::engineInit):
(WebCore::PlatformSpeechSynthesisProviderEfl::currentVoice):
(WebCore::PlatformSpeechSynthesisProviderEfl::initializeVoiceList):
(WebCore::PlatformSpeechSynthesisProviderEfl::speak):
(WebCore::PlatformSpeechSynthesisProviderEfl::cancel):
(WebCore::PlatformSpeechSynthesisProviderEfl::fireSpeechEvent):

  • platform/efl/PlatformSpeechSynthesisProviderEfl.h:
  • platform/efl/PlatformSpeechSynthesizerEfl.cpp:

(WebCore::PlatformSpeechSynthesizer::PlatformSpeechSynthesizer):
(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
(WebCore::PlatformSpeechSynthesizer::pause):
(WebCore::PlatformSpeechSynthesizer::resume):
(WebCore::PlatformSpeechSynthesizer::speak):
(WebCore::PlatformSpeechSynthesizer::cancel):

Tools:

Add espeak dependency.

  • efl/install-dependencies:
4:18 AM Changeset in webkit [172955] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL] Remove dead code in WebPageEfl.cpp
https://bugs.webkit.org/show_bug.cgi?id=136246

Reviewed by Gyuyoung Kim.

  • WebProcess/WebPage/efl/WebPageEfl.cpp:

(WebKit::scroll): Deleted.

4:11 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
3:51 AM Changeset in webkit [172954] by ryuan.choi@samsung.com
  • 6 edits in trunk

[EFL] Build break using clang
https://bugs.webkit.org/show_bug.cgi?id=136245

Reviewed by Gyuyoung Kim.

.:

  • Source/cmake/OptionsEfl.cmake:

Disable ENABLE_WERROR when compiler is Clang as workaround because there are too many warnings.
Some warnings are from system libraries.

Source/WebCore:

  • css/ViewportStyleResolver.cpp: Includes NodeRenderStyle.h

Source/WebKit2:

  • PlatformEfl.cmake: defines GTEST_HAS_RTTI=0
12:24 AM Changeset in webkit [172953] by mrowe@apple.com
  • 2 edits in trunk/Source/WebCore

Build fix after r172951.

  • fileapi/Blob.h: Give the argument the name that the predicates expect.
12:17 AM Changeset in webkit [172952] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

Unreviewed. Update NEWS and Versions.m4 for 2.4.5 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.4.5.

Aug 25, 2014:

11:43 PM Changeset in webkit [172951] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Generate toFile() instead of manual functions.
https://bugs.webkit.org/show_bug.cgi?id=136207

Reviewed by Darin Adler.

No new tests, no behavior changes.

  • fileapi/Blob.h: Define BLOB_TYPE_CASTS.
  • fileapi/File.h: Use BLOB_TYPE_CASTS to generate toFile().

(WebCore::toFile): Deleted.

9:36 PM Changeset in webkit [172950] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

TypeProfiler search breaks on return statements
https://bugs.webkit.org/show_bug.cgi?id=136201

Patch by Saam Barati <sbarati@apple.com> on 2014-08-25
Reviewed by Filip Pizlo.

Searching for return statements in the TypeProfiler currently
breaks down because it expected to see the search descriptor
TypeProfilerSearchDescriptorFunctionReturn when looking for
return statements in the actual source code of the program.
But, TypeProfilerSearchDescriptorFunctionReturn search descriptor
is reserved for looking for return statements that aren't in the
actual source code of the program, but when asking for the
aggregate return type of a function. Now, searching for
return statements in the actual source code of the program will
work when passing in the search descriptor TypeProfilerSearchDescriptorNormal.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • runtime/TypeProfiler.cpp:

(JSC::TypeProfiler::findLocation):
(JSC::descriptorMatchesTypeLocation): Deleted.

7:17 PM Changeset in webkit [172949] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Return statement TypeSet's might be duplicated
https://bugs.webkit.org/show_bug.cgi?id=136200

Patch by Saam Barati <sbarati@apple.com> on 2014-08-25
Reviewed by Filip Pizlo.

Currently, the globalTypeSet that converges the types of all
return statements in a function lives off of CodeBlock. It lives
off CodeBlock because of a faulty assumption that CodeBlock
will have a one to one mapping with a function in the source
text of the program. (Currently, there isn't an actual bug
with this design because TypeLocationCache will hash cons to
the same TypeLocation, but this is still an incorrect design).
In this patch, the globalTypeSet for function return statements
is moved to the FunctionExecutable object which does have a one
to one mapping with functions in the source text of a program.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::returnStatementTypeSet): Deleted.

  • runtime/Executable.h:

(JSC::FunctionExecutable::returnStatementTypeSet):

7:11 PM Changeset in webkit [172948] by Alan Bujtas
  • 27 edits in trunk/Source

Subpixel layout: remove roundedLayoutPoint/roundedLayoutSize functions.
https://bugs.webkit.org/show_bug.cgi?id=136236

Reviewed by Simon Fraser.

These functions simply call LayoutPoint/LayoutSize c'tors. They don't round the input value at all.

Non change in functionality.

Source/WebCore:

  • dom/MouseRelatedEvent.cpp:

(WebCore::MouseRelatedEvent::computePageLocation):
(WebCore::MouseRelatedEvent::computeRelativePosition):

  • dom/Touch.cpp:

(WebCore::Touch::Touch):

  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::setPositionFromPoint):

  • page/DragController.cpp:

(WebCore::elementUnderMouse):

  • page/EventHandler.cpp:

(WebCore::selectionExtentRespectingEditingBoundary):

  • page/scrolling/ios/ScrollingTreeFrameScrollingNodeIOS.mm:

(WebCore::ScrollingTreeFrameScrollingNodeIOS::updateChildNodesAfterScroll):

  • page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:

(WebCore::ScrollingTreeFrameScrollingNodeMac::setScrollLayerPosition):

  • platform/graphics/LayoutPoint.h:

(WebCore::roundedLayoutPoint): Deleted.

  • platform/graphics/LayoutSize.h:

(WebCore::roundedLayoutSize): Deleted.

  • rendering/EllipsisBox.cpp:

(WebCore::EllipsisBox::nodeAtPoint):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::selectionGapRectsForRepaint):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::mapLocalToContainer):
(WebCore::RenderBox::positionLineBox):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):

  • rendering/RenderEmbeddedObject.h:
  • rendering/RenderInline.cpp:

(WebCore::RenderInline::localCaretRect):
(WebCore::RenderInline::mapLocalToContainer):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::absoluteToContents):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::mapAbsoluteToLocalPoint):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::mapLocalToContainer):

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::createShapeForImage):

  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::nodeAtFloatPoint):

  • rendering/svg/RenderSVGForeignObject.cpp:

(WebCore::RenderSVGForeignObject::nodeAtFloatPoint):

  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::nodeAtFloatPoint):

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::nodeAtFloatPoint):

  • testing/Internals.cpp:

(WebCore::Internals::nodesFromRect):

Source/WebKit2:

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::computeCustomFixedPositionRect):

6:52 PM Changeset in webkit [172947] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

Rename RenderObject::showTree() and showTreeForThis() to showNodeTree*().
https://bugs.webkit.org/show_bug.cgi?id=136238

Reviewed by Simon Fraser.

showNodeTree()/showNodeTreeForThis() reflects the functionality better.

No change in functionality.

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::showNodeTreeForThis):
(showNodeTree):
(WebCore::InlineBox::showTreeForThis): Deleted.
(showTree): Deleted.

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

(WebCore::RenderObject::showNodeTreeForThis):
(showNodeTree):
(WebCore::RenderObject::showTreeForThis): Deleted.
(showTree): Deleted.

  • rendering/RenderObject.h:
5:56 PM Changeset in webkit [172946] by Antti Koivisto
  • 16 edits in trunk/Source

Don't pass priority as parameter to ResourceLoadScheduler
https://bugs.webkit.org/show_bug.cgi?id=136232

Reviewed by Sam Weinig.

Source/WebCore:

It is part of the ResourceRequest which is also passed in.

  • WebCore.exp.in:
  • loader/ResourceLoadScheduler.cpp:

(WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
(WebCore::ResourceLoadScheduler::schedulePluginStreamLoad):
(WebCore::ResourceLoadScheduler::scheduleLoad):

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

(WebCore::CachedResource::load):

  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):

  • platform/network/cocoa/ResourceRequestCocoa.mm:

(WebCore::ResourceRequest::updateFromDelegatePreservingOldProperties):

Restore the original request priority when a delegate modifies the request.

Source/WebKit2:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::NetworkResourceLoader):

  • NetworkProcess/NetworkResourceLoader.h:

(WebKit::NetworkResourceLoader::priority): Deleted.

  • Shared/Network/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):

  • Shared/Network/NetworkResourceLoadParameters.h:
  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
(WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
(WebKit::WebResourceLoadScheduler::scheduleLoad):

  • WebProcess/Network/WebResourceLoadScheduler.h:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::loadResourceSynchronously):

5:12 PM Changeset in webkit [172945] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Rubber-banding in overflow:scroll regions does not work correctly with direction:rtl
https://bugs.webkit.org/show_bug.cgi?id=136176

Reviewed by Sam Weinig.

Use scrollPosition() instead of scrollXOffset() and scrollYOffset() which both add
in the scrollOrigin(). Other implementations of visibleContentRectInternal() do
not add in the scrollOrigin(), so RenderLayer's shouldn't either in order to be
consistent. This makes rubber-banding work for RTL because
ScrollAnimatorMac::pinnedInDirection() and
ScrollAnimatorMac::absoluteScrollPosition() both return the expect values now.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::visibleContentRectInternal):

5:01 PM Changeset in webkit [172944] by ap@apple.com
  • 2 edits in trunk/Tools

Remove a little more accidentally landed code from r172891.

iteration.branch also wasn't meant to be landed.

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

(BuildbotIteration.prototype._parseData):

4:54 PM Changeset in webkit [172943] by ap@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r172891): Internal dashboard is broken.

Removing some accidentally landed code - I needed "changes" for another patch, but
not here, and then I decided to not use it anyway.

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

(BuildbotIteration.prototype._parseData):

4:08 PM Changeset in webkit [172942] by dbates@webkit.org
  • 2 edits in trunk/Tools

Fix the iOS DumpRenderTree build after <http://trac.webkit.org/changeset/172814/>
(https://bugs.webkit.org/show_bug.cgi?id=136108)

Use a similar approach as in TestWebKitAPI/config.h and define a stub for the macro define WEBCORE_EXPORT
so that we can compile DumpRenderTree for iOS.

  • DumpRenderTree/config.h:
4:06 PM Changeset in webkit [172941] by ap@apple.com
  • 3 edits in trunk/Tools

Make build.webkit.org/dashboard work with changeset_show_files=location
https://bugs.webkit.org/show_bug.cgi?id=136237

Reviewed by Tim Horton.

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

(Trac.prototype._convertCommitInfoElementToObject): Remove location information
from description before getting title, and also actually parse the location into
result object when available.

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

(String.prototype.startsWith): Added.

3:35 PM Changeset in webkit [172940] by fpizlo@apple.com
  • 58 edits
    16 adds in trunk

FTL should be able to do polymorphic call inlining
https://bugs.webkit.org/show_bug.cgi?id=135145

Reviewed by Geoffrey Garen.
Source/JavaScriptCore:


Added a log-based high-fidelity call edge profiler that runs in DFG JIT (and optionally
baseline JIT) code. Used it to do precise polymorphic inlining in the FTL. Potential
inlining sites use the call edge profile if it is available, but they will still fall back
on the call inline cache and rare case counts if it's not. Polymorphic inlining means that
multiple possible callees can be inlined with a switch to guard them. The slow path may
either be an OSR exit or a virtual call.

The call edge profiling added in this patch is very precise - it will tell you about every
call that has ever happened. It took some effort to reduce the overhead of this profiling.
This mostly involved ensuring that we don't do it unnecessarily. For example, we avoid it
in the baseline JIT (you can conditionally enable it but it's off by default) and we only do
it in the DFG JIT if we know that the regular inline cache profiling wasn't precise enough.
I also experimented with reducing the precision of the profiling. This led to a significant
reduction in the speed-up, so I avoided this approach. I also explored making log processing
concurrent, but that didn't help. Also, I tested the overhead of the log processing and
found that most of the overhead of this profiling is actually in putting things into the log
rather than in processing the log - that part appears to be surprisingly cheap.

Polymorphic inlining could be enabled in the DFG if we enabled baseline call edge profiling,
and if we guarded such inlining sites with some profiling mechanism to detect
polyvariant monomorphisation opportunities (where the callsite being inlined reveals that
it's actually monomorphic).

This is a ~28% speed-up on deltablue and a ~7% speed-up on richards, with small speed-ups on
other programs as well. It's about a 2% speed-up on Octane version 2, and never a regression
on anything we care about. Some aggregates, like V8Spider, see a regression. This is
highlighting the increase in profiling overhead. But since this doesn't show up on any major
score (code-load or SunSpider), it's probably not relevant.

(JSC::CallEdge::dump):

  • bytecode/CallEdge.h: Added.

(JSC::CallEdge::operator!):
(JSC::CallEdge::callee):
(JSC::CallEdge::count):
(JSC::CallEdge::despecifiedClosure):
(JSC::CallEdge::CallEdge):

  • bytecode/CallEdgeProfile.cpp: Added.

(JSC::CallEdgeProfile::callEdges):
(JSC::CallEdgeProfile::numCallsToKnownCells):
(JSC::worthDespecifying):
(JSC::CallEdgeProfile::worthDespecifying):
(JSC::CallEdgeProfile::visitWeak):
(JSC::CallEdgeProfile::addSlow):
(JSC::CallEdgeProfile::mergeBack):
(JSC::CallEdgeProfile::fadeByHalf):
(JSC::CallEdgeLog::CallEdgeLog):
(JSC::CallEdgeLog::~CallEdgeLog):
(JSC::CallEdgeLog::isEnabled):
(JSC::operationProcessCallEdgeLog):
(JSC::CallEdgeLog::emitLogCode):
(JSC::CallEdgeLog::processLog):

  • bytecode/CallEdgeProfile.h: Added.

(JSC::CallEdgeProfile::numCallsToNotCell):
(JSC::CallEdgeProfile::numCallsToUnknownCell):
(JSC::CallEdgeProfile::totalCalls):

  • bytecode/CallEdgeProfileInlines.h: Added.

(JSC::CallEdgeProfile::CallEdgeProfile):
(JSC::CallEdgeProfile::add):

  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::visitWeak):

  • bytecode/CallLinkInfo.h:
  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::CallLinkStatus):
(JSC::CallLinkStatus::computeFromLLInt):
(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::computeExitSiteData):
(JSC::CallLinkStatus::computeFromCallLinkInfo):
(JSC::CallLinkStatus::computeFromCallEdgeProfile):
(JSC::CallLinkStatus::computeDFGStatuses):
(JSC::CallLinkStatus::isClosureCall):
(JSC::CallLinkStatus::makeClosureCall):
(JSC::CallLinkStatus::dump):
(JSC::CallLinkStatus::function): Deleted.
(JSC::CallLinkStatus::internalFunction): Deleted.
(JSC::CallLinkStatus::intrinsicFor): Deleted.

  • bytecode/CallLinkStatus.h:

(JSC::CallLinkStatus::CallLinkStatus):
(JSC::CallLinkStatus::isSet):
(JSC::CallLinkStatus::couldTakeSlowPath):
(JSC::CallLinkStatus::edges):
(JSC::CallLinkStatus::size):
(JSC::CallLinkStatus::at):
(JSC::CallLinkStatus::operator[]):
(JSC::CallLinkStatus::canOptimize):
(JSC::CallLinkStatus::canTrustCounts):
(JSC::CallLinkStatus::isClosureCall): Deleted.
(JSC::CallLinkStatus::callTarget): Deleted.
(JSC::CallLinkStatus::executable): Deleted.
(JSC::CallLinkStatus::makeClosureCall): Deleted.

  • bytecode/CallVariant.cpp: Added.

(JSC::CallVariant::dump):

  • bytecode/CallVariant.h: Added.

(JSC::CallVariant::CallVariant):
(JSC::CallVariant::operator!):
(JSC::CallVariant::despecifiedClosure):
(JSC::CallVariant::rawCalleeCell):
(JSC::CallVariant::internalFunction):
(JSC::CallVariant::function):
(JSC::CallVariant::isClosureCall):
(JSC::CallVariant::executable):
(JSC::CallVariant::nonExecutableCallee):
(JSC::CallVariant::intrinsicFor):
(JSC::CallVariant::functionExecutable):
(JSC::CallVariant::isHashTableDeletedValue):
(JSC::CallVariant::operator==):
(JSC::CallVariant::operator!=):
(JSC::CallVariant::operator<):
(JSC::CallVariant::operator>):
(JSC::CallVariant::operator<=):
(JSC::CallVariant::operator>=):
(JSC::CallVariant::hash):
(JSC::CallVariant::deletedToken):
(JSC::CallVariantHash::hash):
(JSC::CallVariantHash::equal):

  • bytecode/CodeOrigin.h:

(JSC::InlineCallFrame::isNormalCall):

  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):

  • bytecode/ExitKind.h:
  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeForStubInfo):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeForStubInfo):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGBackwardsPropagationPhase.cpp:

(JSC::DFG::BackwardsPropagationPhase::propagate):

  • dfg/DFGBasicBlock.cpp:

(JSC::DFG::BasicBlock::~BasicBlock):

  • dfg/DFGBasicBlock.h:

(JSC::DFG::BasicBlock::takeLast):
(JSC::DFG::BasicBlock::didLink):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::processSetLocalQueue):
(JSC::DFG::ByteCodeParser::removeLastNodeFromGraph):
(JSC::DFG::ByteCodeParser::addCallWithoutSettingResult):
(JSC::DFG::ByteCodeParser::addCall):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::emitFunctionChecks):
(JSC::DFG::ByteCodeParser::undoFunctionChecks):
(JSC::DFG::ByteCodeParser::inliningCost):
(JSC::DFG::ByteCodeParser::inlineCall):
(JSC::DFG::ByteCodeParser::cancelLinkingForBlock):
(JSC::DFG::ByteCodeParser::attemptToInlineCall):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::prepareToParseBlock):
(JSC::DFG::ByteCodeParser::clearCaches):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::linkBlock):
(JSC::DFG::ByteCodeParser::linkBlocks):
(JSC::DFG::ByteCodeParser::parseCodeBlock):

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::freeUnnecessaryNodes):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGCommon.h:
  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::visitChildren):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):

  • dfg/DFGLazyJSValue.cpp:

(JSC::DFG::LazyJSValue::switchLookupValue):

  • dfg/DFGLazyJSValue.h:

(JSC::DFG::LazyJSValue::switchLookupValue): Deleted.

  • dfg/DFGNode.cpp:

(WTF::printInternal):

  • dfg/DFGNode.h:

(JSC::DFG::OpInfo::OpInfo):
(JSC::DFG::Node::hasHeapPrediction):
(JSC::DFG::Node::hasCellOperand):
(JSC::DFG::Node::cellOperand):
(JSC::DFG::Node::setCellOperand):
(JSC::DFG::Node::canBeKnownFunction): Deleted.
(JSC::DFG::Node::hasKnownFunction): Deleted.
(JSC::DFG::Node::knownFunction): Deleted.
(JSC::DFG::Node::giveKnownFunction): Deleted.
(JSC::DFG::Node::hasFunction): Deleted.
(JSC::DFG::Node::function): Deleted.
(JSC::DFG::Node::hasExecutable): Deleted.
(JSC::DFG::Node::executable): Deleted.

  • dfg/DFGNodeType.h:
  • dfg/DFGPhantomCanonicalizationPhase.cpp:

(JSC::DFG::PhantomCanonicalizationPhase::run):

  • dfg/DFGPhantomRemovalPhase.cpp:

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

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::emitSwitch):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGStructureRegistrationPhase.cpp:

(JSC::DFG::StructureRegistrationPhase::run):

  • dfg/DFGTierUpCheckInjectionPhase.cpp:

(JSC::DFG::TierUpCheckInjectionPhase::run):
(JSC::DFG::TierUpCheckInjectionPhase::removeFTLProfiling):

  • dfg/DFGValidate.cpp:

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

  • dfg/DFGWatchpointCollectionPhase.cpp:

(JSC::DFG::WatchpointCollectionPhase::handle):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::ftlUnreachable):
(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileCheckCell):
(JSC::FTL::LowerDFGToLLVM::compileCheckBadCell):
(JSC::FTL::LowerDFGToLLVM::compileGetExecutable):
(JSC::FTL::LowerDFGToLLVM::compileNativeCallOrConstruct):
(JSC::FTL::LowerDFGToLLVM::compileSwitch):
(JSC::FTL::LowerDFGToLLVM::buildSwitch):
(JSC::FTL::LowerDFGToLLVM::compileCheckFunction): Deleted.
(JSC::FTL::LowerDFGToLLVM::compileCheckExecutable): Deleted.

  • heap/Heap.cpp:

(JSC::Heap::collect):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::storeValue):
(JSC::AssemblyHelpers::loadValue):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArguments):

  • jit/GPRInfo.h:

(JSC::JSValueRegs::uses):

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileOpCall):

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

(JSC::VM::ensureCallEdgeLog):

  • runtime/VM.h:
  • tests/stress/new-array-then-exit.js: Added.

(foo):

  • tests/stress/poly-call-exit-this.js: Added.
  • tests/stress/poly-call-exit.js: Added.

Source/WTF:


Add some power that I need for call edge profiling.

  • wtf/OwnPtr.h:

(WTF::OwnPtr<T>::createTransactionally):

  • wtf/Spectrum.h:

(WTF::Spectrum::add):
(WTF::Spectrum::addAll):
(WTF::Spectrum::get):
(WTF::Spectrum::size):
(WTF::Spectrum::KeyAndCount::KeyAndCount):
(WTF::Spectrum::clear):
(WTF::Spectrum::removeIf):

LayoutTests:

  • js/regress/script-tests/simple-poly-call-nested.js: Added.
  • js/regress/script-tests/simple-poly-call.js: Added.
  • js/regress/simple-poly-call-expected.txt: Added.
  • js/regress/simple-poly-call-nested-expected.txt: Added.
  • js/regress/simple-poly-call-nested.html: Added.
  • js/regress/simple-poly-call.html: Added.
3:31 PM Changeset in webkit [172939] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Don't crash when the DataDetectors framework is unavailable.
<rdar://problem/18106066> and https://bugs.webkit.org/show_bug.cgi?id=136234

Reviewed by Tim Horton.

  • WebProcess/WebPage/mac/ServicesOverlayController.mm:

(WebKit::ServicesOverlayController::buildPhoneNumberHighlights): Bail if DD.framework didn’t soft link.
(WebKit::ServicesOverlayController::buildSelectionHighlight): Ditto.

3:15 PM Changeset in webkit [172938] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

Attempt to fix the iOS build after <http://trac.webkit.org/changeset/172889>
(https://bugs.webkit.org/show_bug.cgi?id=109658)

Substitute GraphicsLayer::setContentsToPlatformLayer(..., GraphicsLayer::ContentsLayerForMedia)
for GraphicsLayer::setContentsToMedia(...) because the latter was removed in <http://trac.webkit.org/changeset/172889>.

  • WebView/WebView.mm:

(-[WebView _setMediaLayer:forPluginView:]):

2:05 PM Changeset in webkit [172937] by Lucas Forschler
  • 5 edits in branches/safari-600.1-branch

Merged r172929. <rdar://problem/18121645>.

2:02 PM Changeset in webkit [172936] by Lucas Forschler
  • 5 edits in tags/Safari-600.1.15.1

Merged r172929. <rdar://problem/18121645>

1:39 PM Changeset in webkit [172935] by Lucas Forschler
  • 5 edits in tags/Safari-600.1.15.1/Source

Versioning.

1:30 PM Changeset in webkit [172934] by Lucas Forschler
  • 1 copy in tags/Safari-600.1.15.1

New Tag.

12:33 PM Changeset in webkit [172933] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebCore

Reduce style marking when using the pseudo class :placeholder-shown
https://bugs.webkit.org/show_bug.cgi?id=136203

Reviewed by Darin Adler.

When the :placeholder-shown filter is hit, we were always marking the RenderStyle as unique.
As a result, if :placeholder-shown was used without a more restrictive filter (e.g. "*:placeholder-shown"
or simply ":placeholder-shown"), style sharing was disabled for the whole tree.

This patch rescope the tree marking to any element that can be affected by a placeholder:
any the subclass of HTMLTextFormControlElement. For other elements, any change in internal state
would be irrelevant for "isPlaceholderVisible".

Styling of :placeholder-shown is covered by the existing tests. Style sharing of :placeholder-shown
is covered by LayoutTests/fast/css/placeholder-shown-basics.html.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorCheckerTestFunctions.h:

(WebCore::isPlaceholderShown): Deleted.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::makeContextStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::makeElementStyleUniqueIfNecessaryAndTestIsPlaceholderShown):
(WebCore::SelectorCompiler::isPlaceholderShown):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasPlaceholderShown):
(WebCore::SelectorCompiler::makeUniqueIfNecessaryAndTestIsPlaceholderShown): Deleted.

12:32 PM Changeset in webkit [172932] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

After r172867 another crash in in js/dom/line-column-numbers.html
https://bugs.webkit.org/show_bug.cgi?id=136192

Reviewed by Geoffrey Garen.

In lookupExceptionHandlerFromCallerFrame(), We need to use the caller's CallFrame
and VMEntryFrame when calling genericUnwind(). NativeCallFrameTracerWithRestore()
does that for us.

In general, NativeCallFrameTracerWithRestore(), restores the values because we may
do more processing that requires the current callFrame and vmEntryFrame before we
get to the catch handler where we change these to the catch values. In this
particular case, that restoration isn't currently needed, but we add complexity
and possible future confusion if we create another NativeCallFrameTracerXXX()
version that doesn't restore the values.

  • jit/JITOperations.cpp:

(JSC::lookupExceptionHandlerFromCallerFrame): Changed NativeCallFrameTracer() to
NativeCallFrameTracerWithRestore() so that VM::topVMEntryFrame will be updated
before calling genericUnwind().

11:46 AM Changeset in webkit [172931] by Antti Koivisto
  • 6 edits in trunk/Source/WebCore

Remove ResourceLoader::didChangePriority
https://bugs.webkit.org/show_bug.cgi?id=136230

Reviewed by Andreas Kling.

It doesn't do anything on any platform.

  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::didChangePriority): Deleted.

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

(WebCore::CachedResource::setLoadPriority):

  • platform/network/ResourceHandle.cpp:

(WebCore::ResourceHandle::didChangePriority): Deleted.

  • platform/network/ResourceHandle.h:
11:39 AM Changeset in webkit [172930] by Brian Burg
  • 82 edits
    3 moves
    2 adds
    2 deletes in trunk/Source

Web Inspector: rename Inspector::TypeBuilder to Inspector::Protocol
https://bugs.webkit.org/show_bug.cgi?id=136031

Reviewed by Timothy Hatcher.

Rename TypeBuilder namespace to Protocol. Disambiguate where
necessary. Also rename InspectorTypeBuilder to ProtocolTypes.

  • CMakeLists.txt:
  • DerivedSources.make:

Source/JavaScriptCore:

(Inspector::messageSourceValue):
(Inspector::messageTypeValue):
(Inspector::messageLevelValue):
(Inspector::ConsoleMessage::addToFrontend):

  • inspector/ContentSearchUtilities.cpp:

(Inspector::ContentSearchUtilities::buildObjectForSearchMatch):
(Inspector::ContentSearchUtilities::searchInTextByLines):

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

(Inspector::InjectedScript::evaluate):
(Inspector::InjectedScript::callFunctionOn):
(Inspector::InjectedScript::evaluateOnCallFrame):
(Inspector::InjectedScript::getFunctionDetails):
(Inspector::InjectedScript::getProperties):
(Inspector::InjectedScript::getInternalProperties):
(Inspector::InjectedScript::wrapCallFrames):
(Inspector::InjectedScript::wrapObject):
(Inspector::InjectedScript::wrapTable):

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

(Inspector::InjectedScriptBase::makeEvalCall):

  • inspector/InjectedScriptBase.h:
  • inspector/InspectorTypeBuilder.h: Removed.
  • inspector/ScriptCallFrame.cpp:

(Inspector::ScriptCallFrame::buildInspectorObject):

  • inspector/ScriptCallFrame.h:
  • inspector/ScriptCallStack.cpp:

(Inspector::ScriptCallStack::buildInspectorArray):

  • inspector/ScriptCallStack.h:
  • inspector/agents/InspectorAgent.cpp:

(Inspector::InspectorAgent::inspect):

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

(Inspector::breakpointActionTypeForString):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::resolveBreakpoint):
(Inspector::InspectorDebuggerAgent::searchInContent):
(Inspector::InspectorDebuggerAgent::getFunctionDetails):
(Inspector::InspectorDebuggerAgent::evaluateOnCallFrame):
(Inspector::InspectorDebuggerAgent::currentCallFrames):
(Inspector::InspectorDebuggerAgent::didParseSource):
(Inspector::InspectorDebuggerAgent::breakpointActionProbe):

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

(Inspector::InspectorProfilerAgent::createProfileHeader):
(Inspector::InspectorProfilerAgent::getProfileHeaders):
(Inspector::buildInspectorObject):
(Inspector::InspectorProfilerAgent::buildProfileInspectorObject):
(Inspector::InspectorProfilerAgent::getCPUProfile):

  • inspector/agents/InspectorProfilerAgent.h:
  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::buildErrorRangeObject):
(Inspector::InspectorRuntimeAgent::parse):
(Inspector::InspectorRuntimeAgent::evaluate):
(Inspector::InspectorRuntimeAgent::callFunctionOn):
(Inspector::InspectorRuntimeAgent::getProperties):
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/scripts/codegen/init.py:
  • inspector/scripts/codegen/generate_backend_dispatcher_header.py:

(BackendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_backend_dispatcher_implementation.py:

(BackendDispatcherImplementationGenerator._generate_async_dispatcher_class_for_domain):
(BackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):

  • inspector/scripts/codegen/generate_frontend_dispatcher_header.py:

(FrontendDispatcherHeaderGenerator.generate_output):

  • inspector/scripts/codegen/generate_frontend_dispatcher_implementation.py:

(FrontendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_event):

  • inspector/scripts/codegen/generate_type_builder_header.py: Removed.
  • inspector/scripts/codegen/generate_type_builder_implementation.py: Removed.
  • inspector/scripts/codegen/generator.py:

(Generator.protocol_type_string_for_type):
(Generator.protocol_type_string_for_type_member):
(Generator.type_string_for_type_with_name):
(Generator.type_string_for_formal_out_parameter):
(Generator.type_string_for_formal_async_parameter):
(Generator.type_string_for_stack_in_parameter):
(Generator.type_string_for_stack_out_parameter):
(Generator.assertion_method_for_type_member.assertion_method_for_type):
(Generator.assertion_method_for_type_member):
(Generator.type_builder_string_for_type): Deleted.
(Generator.type_builder_string_for_type_member): Deleted.

  • inspector/scripts/codegen/generator_templates.py:

(Inspector):

  • inspector/scripts/generate-inspector-protocol-bindings.py:

(generate_from_specification):

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/events-with-optional-parameters.json-result:
  • inspector/scripts/tests/expected/same-type-id-different-domain.json-result:
  • inspector/scripts/tests/expected/shadowed-optional-type-setters.json-result:
  • inspector/scripts/tests/expected/type-declaration-aliased-primitive-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-array-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-enum-type.json-result:
  • inspector/scripts/tests/expected/type-declaration-object-type.json-result:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • runtime/HighFidelityTypeProfiler.cpp:

(JSC::HighFidelityTypeProfiler::getTypesForVariableAtOffsetForInspector):

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

(JSC::TypeSet::allPrimitiveTypeNames):
(JSC::TypeSet::allStructureRepresentations):
(JSC::StructureShape::inspectorRepresentation):

  • runtime/TypeSet.h:

Source/WebCore:

  • ForwardingHeaders/inspector/InspectorJSTypeBuilders.h: Removed.
  • ForwardingHeaders/inspector/InspectorTypeBuilder.h: Removed.
  • WebCore.order:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/CommandLineAPIHost.cpp:

(WebCore::CommandLineAPIHost::inspectImpl):

  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
(WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
(WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
(WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):

  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getInlineStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::getAllStyleSheets):
(WebCore::InspectorCSSAgent::getStyleSheet):
(WebCore::InspectorCSSAgent::setStyleText):
(WebCore::InspectorCSSAgent::setPropertyText):
(WebCore::InspectorCSSAgent::toggleProperty):
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::addRule):
(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):
(WebCore::InspectorCSSAgent::asInspectorStyleSheet):
(WebCore::InspectorCSSAgent::collectStyleSheets):
(WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
(WebCore::InspectorCSSAgent::detectOrigin):
(WebCore::InspectorCSSAgent::buildObjectForRule):
(WebCore::InspectorCSSAgent::buildArrayForRuleList):
(WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
(WebCore::InspectorCSSAgent::buildObjectForNamedFlow):

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
(WebCore::InspectorDOMAgent::getDocument):
(WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
(WebCore::InspectorDOMAgent::querySelectorAll):
(WebCore::InspectorDOMAgent::pushNodePathToFrontend):
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
(WebCore::InspectorDOMAgent::getSearchResults):
(WebCore::InspectorDOMAgent::resolveNode):
(WebCore::InspectorDOMAgent::getAttributes):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::buildObjectForEventListener):
(WebCore::InspectorDOMAgent::processAccessibilityChildren):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
(WebCore::InspectorDOMAgent::didCommitLoad):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::styleAttributeInvalidated):

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):

  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
(WebCore::InspectorDOMStorageAgent::storageId):
(WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):

  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.cpp:

(WebCore::InspectorDatabaseAgent::getDatabaseTableNames):

  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorDatabaseResource.cpp:

(WebCore::InspectorDatabaseResource::bind):

  • inspector/InspectorIndexedDBAgent.cpp:
  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::layersForNode):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
(WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):

  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::resourceTypeJson):
(WebCore::InspectorPageAgent::cachedResourceTypeJson):
(WebCore::buildObjectForCookie):
(WebCore::buildArrayForCookies):
(WebCore::InspectorPageAgent::getCookies):
(WebCore::InspectorPageAgent::getResourceTree):
(WebCore::InspectorPageAgent::searchInResource):
(WebCore::buildObjectForSearchResult):
(WebCore::InspectorPageAgent::searchInResources):
(WebCore::InspectorPageAgent::buildObjectForFrame):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):

  • inspector/InspectorPageAgent.h:
  • inspector/InspectorReplayAgent.cpp:

(WebCore::buildInspectorObjectForPosition):
(WebCore::buildInspectorObjectForInput):
(WebCore::buildInspectorObjectForSession):
(WebCore::buildInspectorObjectForSessionState):
(WebCore::buildInspectorObjectForSegmentState):
(WebCore::SerializeInputToJSONFunctor::SerializeInputToJSONFunctor):
(WebCore::SerializeInputToJSONFunctor::operator()):
(WebCore::buildInspectorObjectForSegment):
(WebCore::InspectorReplayAgent::switchSession):
(WebCore::InspectorReplayAgent::insertSessionSegment):
(WebCore::InspectorReplayAgent::removeSessionSegment):
(WebCore::InspectorReplayAgent::currentReplayState):
(WebCore::InspectorReplayAgent::getAvailableSessions):
(WebCore::InspectorReplayAgent::getSessionData):
(WebCore::InspectorReplayAgent::getSegmentData):

  • inspector/InspectorReplayAgent.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForTiming):
(WebCore::buildObjectForResourceRequest):
(WebCore::buildObjectForResourceResponse):
(WebCore::buildObjectForCachedResource):
(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
(WebCore::InspectorResourceAgent::buildInitiatorObject):
(WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
(WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
(WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
(WebCore::InspectorResourceAgent::didSendWebSocketFrame):

  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorStyleSheet.cpp:

(WebCore::buildSourceRangeObject):
(WebCore::buildMediaObject):
(WebCore::fillMediaListChain):
(WebCore::InspectorStyle::buildObjectForStyle):
(WebCore::InspectorStyle::buildArrayForComputedStyle):
(WebCore::InspectorStyle::styleWithProperties):
(WebCore::InspectorStyleSheet::create):
(WebCore::InspectorStyleSheet::InspectorStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
(WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
(WebCore::selectorsFromSource):
(WebCore::InspectorStyleSheet::buildObjectForSelectorList):
(WebCore::InspectorStyleSheet::buildObjectForRule):
(WebCore::InspectorStyleSheet::buildObjectForStyle):
(WebCore::InspectorStyleSheet::resourceStyleSheetText):
(WebCore::InspectorStyleSheet::buildArrayForRuleList):
(WebCore::InspectorStyleSheetForInlineStyle::create):
(WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):

  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorStyleSheet::canBind):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::toProtocol):
(WebCore::InspectorTimelineAgent::addRecordToTimeline):
(WebCore::InspectorTimelineAgent::sendEvent):

  • inspector/PageRuntimeAgent.cpp:
11:36 AM Changeset in webkit [172929] by Brent Fulgham
  • 5 edits in trunk

[Win] Pass OFFICIAL_BUILD flag to WebInspectorUI build process
https://bugs.webkit.org/show_bug.cgi?id=136229

Reviewed by Dean Jackson.

Source/WebInspectorUI:

  • WebInspectorUI.vcxproj/WebInspectorUI.make: Pass OFFICIAL_BUILD

flag to build-webinspectorui.pl.

  • WebInspectorUI.vcxproj/build-webinspectorui.pl: Accept and use

the OFFICIAL_BUILD flag.

WebKitLibraries:

  • win/tools/vsprops/common.props: Pass OFFICIAL_BUILD argument

from VS to child Make processes.

11:34 AM Changeset in webkit [172928] by b.long@cablelabs.com
  • 2 edits in trunk/Source/WebCore

[GStreamer] ASSERT failure in WebKitWebSource in StreamingClient
https://bugs.webkit.org/show_bug.cgi?id=136132

adoptGRef() has an ASSERT failure if it's used on a floating pointer. For some reason,
WebKitWebSrc* src in StreamingClient's constructor is floating. Since we
don't construct this ourselves, I assume this is happening in Playbin.

If we remove the ref and adopt, GRefPtr's constructor calls gst_object_ref_sink,
which removes the floating reference and doesn't increment the reference count.
This should work, but actually causes the page to either lock up or crash (different
results for different testers).

In this case, it seems like the adoptGRef / gst_object_ref was the correct thing to do,
but adoptGRef won't actually let us do. Removing the ASSERT is a bad idea, because
usually we don't want to adopt floating pointers.

This is all a long way of saying that making m_src a raw pointer and manually
calling gst_object_ref(), and calling gst_object_unref in the destructor is the
best solution in this case, since it fixes the problem while leaving the ASSERT
to protect us in the much more common case where adopting a floating reference is bad.

Reviewed by Philippe Normand.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(StreamingClient::StreamingClient): Make m_src a raw pointer instead of a GRefPtr.
(StreamingClient::~StreamingClient): Unref m_src.
(StreamingClient::createReadBuffer): Replace m_src.get() with m_src, since it's a raw pointer now.
(StreamingClient::handleResponseReceived): Same.
(StreamingClient::handleDataReceived): Same.
(StreamingClient::handleNotifyFinished): Same.
(CachedResourceStreamingClient::notifyFinished): Same.
(ResourceHandleStreamingClient::didFail): Same.
(ResourceHandleStreamingClient::wasBlocked): Same.
(ResourceHandleStreamingClient::cannotShowURL): Same.

11:04 AM Changeset in webkit [172927] by Antti Koivisto
  • 11 edits
    2 deletes in trunk/Source/WebKit2

Remove load scheduling code from network process
https://bugs.webkit.org/show_bug.cgi?id=136199

Reviewed by Darin Adler.

Most platforms just flush resource loads directly to the networking layer by
making the parallel load count large. Also we always pass ResourceLoadPriorityHighest
to the scheduler so no actual scheduling happens. This is effectively dead code.

Keep basic support for serializing loads. This is only used for testing.

  • NetworkProcess/HostRecord.cpp: Removed.
  • NetworkProcess/HostRecord.h: Removed.
  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::servePendingRequests):

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::getNetworkProcessStatistics):

  • NetworkProcess/NetworkResourceLoadScheduler.cpp:

(WebKit::NetworkResourceLoadScheduler::NetworkResourceLoadScheduler):
(WebKit::NetworkResourceLoadScheduler::scheduleLoader):
(WebKit::NetworkResourceLoadScheduler::removeLoader):
(WebKit::NetworkResourceLoadScheduler::loadsPendingCount):
(WebKit::NetworkResourceLoadScheduler::loadsActiveCount):
(WebKit::NetworkResourceLoadScheduler::scheduleServePendingRequests): Deleted.
(WebKit::NetworkResourceLoadScheduler::requestTimerFired): Deleted.
(WebKit::NetworkResourceLoadScheduler::hostForURL): Deleted.
(WebKit::NetworkResourceLoadScheduler::receivedRedirect): Deleted.
(WebKit::NetworkResourceLoadScheduler::servePendingRequests): Deleted.
(WebKit::NetworkResourceLoadScheduler::removeScheduledLoaders): Deleted.
(WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoader): Deleted.
(WebKit::NetworkResourceLoadScheduler::hostsPendingCount): Deleted.
(WebKit::NetworkResourceLoadScheduler::hostsActiveCount): Deleted.

  • NetworkProcess/NetworkResourceLoadScheduler.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::~NetworkResourceLoader):
(WebKit::NetworkResourceLoader::cleanup):
(WebKit::NetworkResourceLoader::continueWillSendRequest):

  • NetworkProcess/NetworkResourceLoader.h:

(WebKit::NetworkResourceLoader::isLoadingMainResource):
(WebKit::NetworkResourceLoader::setHostRecord): Deleted.
(WebKit::NetworkResourceLoader::hostRecord): Deleted.

  • NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm:

(WebKit::NetworkResourceLoadScheduler::platformInitializeNetworkSettings):
(WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost): Deleted.

  • NetworkProcess/soup/NetworkResourceLoadSchedulerSoup.cpp:

(WebKit::NetworkResourceLoadScheduler::platformInitializeNetworkSettings):
(WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost): Deleted.

  • WebKit2.xcodeproj/project.pbxproj:
9:25 AM Changeset in webkit [172926] by ap@apple.com
  • 2 edits in trunk/LayoutTests

ASSERT(extractable()) when storing a non-extractable key in IndexedDB
https://bugs.webkit.org/show_bug.cgi?id=136202
rdar://problem/17993967

  • platform/mac-wk1/TestExpectations: Skip the test, IndexedDB is not supported

with WebKit1.

7:47 AM Changeset in webkit [172925] by Michał Pakuła vel Rutka
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed EFL gardening

  • platform/efl/TestExpectations: Added test expecations for failing and crashing tests.
  • platform/efl/scrollbars/scrollbar-selectors-expected.txt: Rebaseline after r172220.
6:44 AM Changeset in webkit [172924] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r172920 - [GTK] Older versions of WebKit should use the plugins cache in read only mode
https://bugs.webkit.org/show_bug.cgi?id=136215

Reviewed by Philippe Normand.

Now that WebKitGTK+ 2.4 and 2.5 are parallel installable, since
they use different versions of the plugins cache, apps using 2.4
might override the plugins cache file. We should prevent this from
happening by making older versions use the plugin cache, but not
downgrade it.

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:

(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::updatePluginInfo):

  • UIProcess/Plugins/gtk/PluginInfoCache.h:
6:40 AM Changeset in webkit [172923] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Minibrowser : Enhance application to be able to support history list navigation
https://bugs.webkit.org/show_bug.cgi?id=135795

Patch by Tanay C <tanay.c@samsung.com> on 2014-08-25
Reviewed by Gyuyoung Kim.

  • MiniBrowser/efl/main.c: Adding functionality for long press history list navigation

(history_list_hide): Hiding and dereferencing the history list and items
(on_key_down):
(on_mouse_down):
(on_back_button_clicked): Early return for longpress
(on_forward_button_clicked): Early return for longpress
(list_item_label_get): Populate item labels
(on_list_item_select): Navigates on selection from history list
(navigation_button_longpress_process): Populates the history list and displays it
(on_forward_button_longpress):
(on_back_button_longpress):
(window_create): Add the widget for history list

6:39 AM Changeset in webkit [172922] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r172919 - [GTK] Should check if a plugin mixes GTK+ symbols earlier
https://bugs.webkit.org/show_bug.cgi?id=136214

Reviewed by Philippe Normand.

We are currently checking if the plugin module and the plugin
process mix GTK symbols after the plugin has been loaded and
initialized. This is too late in many cases, since plugins can use
GTK methods in the NP_Initialize implementation. This is causing
the apps using WebKitGTK+ 2.4 to freeze when the plugin process
scans the plugins and there's a plugin using GTK+3 installed. We
should move the check earlier, once the module is loaded but
before calling NP_Initialize.

  • Shared/Plugins/Netscape/NetscapePluginModule.cpp:

(WebKit::moduleMixesGtkSymbols):
(WebKit::NetscapePluginModule::tryLoad):

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformPostInitialize):

6:05 AM Changeset in webkit [172921] by berto@igalia.com
  • 2 edits in trunk

[GTK] Unify webkitgtk and webkit2gtk directories
https://bugs.webkit.org/show_bug.cgi?id=136209

Reviewed by Carlos Garcia Campos.

Use webkit2gtk-X.X both for the process binaries and the injected
bundle.

  • Source/cmake/OptionsGTK.cmake:
5:49 AM Changeset in webkit [172920] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] Older versions of WebKit should use the plugins cache in read only mode
https://bugs.webkit.org/show_bug.cgi?id=136215

Reviewed by Philippe Normand.

Now that WebKitGTK+ 2.4 and 2.5 are parallel installable, since
they use different versions of the plugins cache, apps using 2.4
might override the plugins cache file. We should prevent this from
happening by making older versions use the plugin cache, but not
downgrade it.

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:

(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::updatePluginInfo):

  • UIProcess/Plugins/gtk/PluginInfoCache.h:
5:45 AM Changeset in webkit [172919] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

[GTK] Should check if a plugin mixes GTK+ symbols earlier
https://bugs.webkit.org/show_bug.cgi?id=136214

Reviewed by Philippe Normand.

We are currently checking if the plugin module and the plugin
process mix GTK symbols after the plugin has been loaded and
initialized. This is too late in many cases, since plugins can use
GTK methods in the NP_Initialize implementation. This is causing
the apps using WebKitGTK+ 2.4 to freeze when the plugin process
scans the plugins and there's a plugin using GTK+3 installed. We
should move the check earlier, once the module is loaded but
before calling NP_Initialize.

  • Shared/Plugins/Netscape/NetscapePluginModule.cpp:

(WebKit::moduleMixesGtkSymbols):
(WebKit::NetscapePluginModule::tryLoad):

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformPostInitialize):

5:24 AM Changeset in webkit [172918] by zandobersek@gmail.com
  • 2 edits
    4 deletes in trunk/Source/WebCore

[GTK] Remove PopupMenuGtk, SearchPopupMenuGtk
https://bugs.webkit.org/show_bug.cgi?id=136211

Reviewed by Carlos Garcia Campos.

Remove the two classes from the codebase. They're not used anymore
after the WebKit1 layer of the GTK port was removed some time ago.

  • PlatformGTK.cmake:
  • platform/gtk/PopupMenuGtk.cpp: Removed.
  • platform/gtk/PopupMenuGtk.h: Removed.
  • platform/gtk/SearchPopupMenuGtk.cpp: Removed.
  • platform/gtk/SearchPopupMenuGtk.h: Removed.
5:22 AM Changeset in webkit [172917] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebKit2

Improve virtual method declarations in LayerTreeHostGtk
https://bugs.webkit.org/show_bug.cgi?id=136210

Reviewed by Carlos Garcia Campos.

Mark the LayerTreeHostGtk class as final in the virtual inheritance hierarchy.

Order the public and private virtual method overrides from the LayerTreeHost
and GraphicsLayerClient interfaces. Explicitly mark them as overriding the
base class methods.

Remove the overriding notifyAnimationStarted() and notifyFlushRequired()
methods since they are identical to the methods in the base class.

De-virtualize flushPendingLayerChanges(). It's not inherited and is not
overriden by anything (and nothing can inherit from LayerTreeHostGtk from
now on due to the final specifier).

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::notifyAnimationStarted): Deleted.
(WebKit::LayerTreeHostGtk::notifyFlushRequired): Deleted.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:

(WebKit::LayerTreeHostGtk::didCommitChangesForLayer): Deleted.

5:05 AM Changeset in webkit [172916] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WTF

Merge r172903 - Add support for little-endian PowerPC64
https://bugs.webkit.org/show_bug.cgi?id=135647

Patch by Tomas Popela <tpopela@redhat.com> on 2014-08-25
Reviewed by Oliver Hunt.

  • wtf/Platform.h:
  • wtf/dtoa/utils.h:
4:06 AM Changeset in webkit [172915] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Tools

Merge r171794 - [GTK] GLib tests fail with recent GTK+ due to runtime warning about deprecated properties
https://bugs.webkit.org/show_bug.cgi?id=135411

Reviewed by Sergio Villar Senin.

Recent versions of GTK+ now warn at runtime when a deprecated
property or signal is used. A diagnostic mode was added that is
enabled by default, but that can be disabled by setting
G_ENABLE_DIAGNOSTIC=0. Runtime warnings are considered test
failures by gtester, so we need to run the tests with the
diganostic mode disabled.

  • TestWebKitAPI/gtk/WebKit2Gtk/TestMain.cpp:

(main):

3:57 AM Changeset in webkit [172914] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r172317 - HTML <sub> and <sup> elements do not work in some 64-bit builds
https://bugs.webkit.org/show_bug.cgi?id=135736

Reviewed by Tim Horton.

RootInlineBox::verticalPositionForBox() had some implicit conversions between
LayoutUnit and int that caused overflow, and resulted in different comparison
behavior with an int constant in different architectures, since overflow behavior
is undefined.

Specifically, VerticalPositionCache was written in terms of ints with a special
0x80000000 "not found" value. However, 0x80000000 was being assigned to
a LayoutUnit, which multiplies by 64 causing overflow. The result was then
compared again with 0x80000000 which could pass or fail depending on overflow
behavior.

Fix by converting VerticalPositionCache to use LayoutUnits, and to have a bool
return value with a result out param, instead of a special return value.

Not easily testable, since the difference does not show in DRT output,
and a ref test would be flakey.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::ascentAndDescentForBox):

  • rendering/VerticalPositionCache.h:

(WebCore::VerticalPositionCache::get):
(WebCore::VerticalPositionCache::set):

3:54 AM Changeset in webkit [172913] by Carlos Garcia Campos
  • 11 edits in releases/WebKitGTK/webkit-2.4

Merge r172707 - Completed iterator can be revived by adding more than one new entry to the target object
https://bugs.webkit.org/show_bug.cgi?id=129993

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-08-18
Reviewed by Oliver Hunt.

Source/JavaScriptCore:

When iterator reaches end, finish iterator.

  • runtime/JSMapIterator.h:

(JSC::JSMapIterator::finish):

  • runtime/JSSetIterator.h:

(JSC::JSSetIterator::finish):

  • runtime/MapData.h:

(JSC::MapData::const_iterator::finish): set index of iterator to max
Int32.

  • runtime/MapIteratorPrototype.cpp:

(JSC::MapIteratorPrototypeFuncNext):

  • runtime/SetIteratorPrototype.cpp:

(JSC::SetIteratorPrototypeFuncNext):

LayoutTests:

Test a Map or Set iterator should remain dead after using it.

  • js/basic-map-expected.txt:
  • js/basic-set-expected.txt:
  • js/script-tests/basic-map.js:

(set var):
(set map):

  • js/script-tests/basic-set.js:

(keys.set keys):
(set add.set add):

3:36 AM Changeset in webkit [172912] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.4

Merge r172472 - [GStreamer] playback rate is rounded to integer
https://bugs.webkit.org/show_bug.cgi?id=135802

Patch by Fabien Vallée <fvallee@connected-labs.com> on 2014-08-12
Reviewed by Philippe Normand.

Source/WebCore:

Test: media/video-ended-event-slow-motion-playback.html

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::setRate):

LayoutTests:

add test to ensure playback is actually working
in slow motion (playback rate = 0.5): Player
should reach EOS and dispatch ended event.

  • media/video-ended-event-slow-motion-playback-expected.txt: Added.
  • media/video-ended-event-slow-motion-playback.html: Added.
3:30 AM Changeset in webkit [172911] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r172341 - [GTK] Do not use GtkWindow:resize-grip-visible with recent GTK+ versions
https://bugs.webkit.org/show_bug.cgi?id=135699

Reviewed by Philippe Normand.

Resize grips support have been removed from GTK+ since 3.13.4, the
API has been deprecated and does nothing.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseSetToplevelOnScreenWindow):
(resizeWebKitWebViewBaseFromAllocation):

3:27 AM Changeset in webkit [172910] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r172896 - [GTK] Toggle buttons visually broken with GTK+ 3.13.7
https://bugs.webkit.org/show_bug.cgi?id=136130

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-08-24
Reviewed by Martin Robinson.

No new tests. Hopefully covered by existing tests, and our tests only
run with GTK+ 3.6 anyway.

  • platform/gtk/RenderThemeGtk3.cpp:

(WebCore::paintToggle): use GTK_STATE_FLAG_CHECKED when compiling for
GTK+ 3.13.7 and above to ensure toggle buttons display as toggled.

3:25 AM Changeset in webkit [172909] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r172592 - WebKit2GTK - WebKitWebProcess assertion fails when dragging and dropping a file into the view
https://bugs.webkit.org/show_bug.cgi?id=127576

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-08-14
Reviewed by Carlos Garcia Campos.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::performDragControllerAction): Assume read access
to any file that has been dragged into the web view when compiling for
GTK, since we don't support sandbox extensions.

2:59 AM Changeset in webkit [172908] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.4

Merge r172828 - [GTK] WebkitWebProcess crashing navigating away from ogg video element
https://bugs.webkit.org/show_bug.cgi?id=135348

Reviewed by Philippe Normand.

Source/WebCore:

Let GraphicsLayerTextureMapper know it needs to detach the platform
layer when a MediaPlayerPrivateGStreamerBase is destroyed.

No new test since media/restore-from-page-cache.html covers it.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):

Source/WebKit2:

When a page is cached, by default doesn't recreate the backing store
(an optimization added in r89316).

Not all the ports uses that optimization. For example IOS port doesn't
use it (r161185).

In the case of the GTK port, the MediaPlayerPrivateGStreamer, not only
processes video buffers, also display them, because it is a
TextureMapperPlatformLayer too.

Nevertheless, in r153937, when a page is cached, the player is
destroyed. But our player has a backing store and the render tree
doesn't know that the player has gone. Hence, when the page is redraw,
the TextureMapper tree visits the video element, which doesn't exist
anymore, a segmentation fault occurs.

So, as our media player renders, and as we cannot trust that the
player exists when a page is painted, we cannot rely in the r89316
optimization.

Disabling the backing stores optimization fixes the problem.

Covered by existing tests.

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformSetCacheModel): Enable the backing store
clearing when page caching for GTK.

2:59 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
2:50 AM Changeset in webkit [172907] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Source/WebKit2

Merge r172442 - [GTK] The plugins metadata cache doesn't work if the user cache directory doesn't exist
https://bugs.webkit.org/show_bug.cgi?id=135834

Reviewed by Philippe Normand.

Make sure the user cache directory exists. If creating the
directory fails for whatever reason, do not try to save the cache
to disk.

  • UIProcess/Plugins/gtk/PluginInfoCache.cpp:

(WebKit::PluginInfoCache::PluginInfoCache):
(WebKit::PluginInfoCache::updatePluginInfo):

1:17 AM Changeset in webkit [172906] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Core: Fix unused parameter build warning.
https://bugs.webkit.org/show_bug.cgi?id=136208

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

Fix unused build warning by removing parameter, which is not used.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setContentsToPlatformLayer):

1:02 AM Changeset in webkit [172905] by clopez@igalia.com
  • 2 edits
    1 add in trunk/Tools

[GTK] JHBuild module gst-plugins-base fails to build on x86 with GCC 4.9
https://bugs.webkit.org/show_bug.cgi?id=136152

Reviewed by Philippe Normand.

  • gtk/jhbuild.modules: Apply gst-plugins-base-fix-build-gcc-4.9-x86.patch.
  • gtk/patches/gst-plugins-base-fix-build-gcc-4.9-x86.patch: Added.

Cherry pick upstream patches daa194 and 4e3d101.

12:56 AM Changeset in webkit [172904] by svillar@igalia.com
  • 5 edits in trunk

ASSERTION FAILED: !trackSizes.isEmpty() in WebCore::createGridTrackList
https://bugs.webkit.org/show_bug.cgi?id=136149

Reviewed by Darin Adler.

Source/WebCore:

The second argument of the repeat() function is a <track-list>
that must have at least one <track-size>. Should it not be found,
the declaration must be invalidated.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGridTrackRepeatFunction):

LayoutTests:

Added 3 new test cases to check invalid syntax in the repeat() function.

Also fixed a bug in the testInvalidSyntax() function. We were
using style.gridColumns instead of
style.webkitGridTemplateColumns, so the tests were working fine
because there were no such property.

  • fast/css-grid-layout/grid-element-repeat-get-set-expected.txt:
  • fast/css-grid-layout/grid-element-repeat-get-set.html:
12:12 AM Changeset in webkit [172903] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WTF

Add support for little-endian PowerPC64
https://bugs.webkit.org/show_bug.cgi?id=135647

Patch by Tomas Popela <tpopela@redhat.com> on 2014-08-25
Reviewed by Oliver Hunt.

  • wtf/Platform.h:
  • wtf/dtoa/utils.h:
Note: See TracTimeline for information about the timeline view.