Timeline



Oct 1, 2014:

11:25 PM Changeset in webkit [174202] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

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

Patch that adds logging causes webkitpy failures (Requested by
rfong on #webkit).

Reverted changeset:

"commitqueuetasks_unittest references a non-existent member
variable"
https://bugs.webkit.org/show_bug.cgi?id=137303
http://trac.webkit.org/changeset/174185

11:19 PM Changeset in webkit [174201] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

EWS and Commit Queue should know better than to spew 500 failed
results in the case of extremely red patches.
https://bugs.webkit.org/show_bug.cgi?id=137324

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-10-01
Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

Adds a check for did_exceed_test_failure_limit.
(AbstractEarlyWarningSystem._failing_tests_message):

  • Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:

Alters the task mock to respond properly to
results_from_patch_test_run(patch)
(AbstractEarlyWarningSystemTest.test_failing_tests_message):

  • Scripts/webkitpy/tool/commands/queues.py:

Adds a check for did_exceed_test_failure_limit.
(CommitQueue._failing_tests_message):

11:19 PM Changeset in webkit [174200] by commit-queue@webkit.org
  • 2 edits in trunk

Bump version to 2.7.0
https://bugs.webkit.org/show_bug.cgi?id=137301

Patch by Michael Catanzaro <Michael Catanzaro> on 2014-10-01
Rubber-stamped by Carlos Garcia Campos.

  • Source/cmake/OptionsGTK.cmake: Bump version numbers
11:10 PM Changeset in webkit [174199] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Click events offset in webkit-overflow-scrolling iframes
https://bugs.webkit.org/show_bug.cgi?id=134596

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

  • platform/ScrollView.cpp:

(WebCore::ScrollView::visibleContentRectInternal):
When converting coordinates from the main frame to a subframe's document, the position
is first converted to the subframe's FrameView coordinate system, then offset by the scroll
offset of the subframe itself.

The bug in this case was that the scroll offset used was the global scroll offset of the frame
in the view instead of the scroll offset of the document in its own frameview.

The regression was introduced by the refactoring r162663. On iOS WebKit1, the coordinate system
is different depending on VisibleContentRectIncludesScrollbars. In r162663, the value was set
such that the rect returned is always in absolute coordinate.

The ideal solution would be to refactor ScrollView::platformVisibleContentRect() to always return
the offsets in scroll view coordinates and verify and update all the call sites to use explicit
conversion to the top frame. In this patch I only reverted the coordinate change of r162663 to avoid
large scale impact.

10:25 PM Changeset in webkit [174198] by dbates@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, rolling out r174192.

Revert the unit test fix in r174192 since we reverted r174187
in r174194 due to correctness issues. See
<http://webkit.org/b/137329> for more details.

Reverted changeset:

"Test fix after r174187"
http://trac.webkit.org/changeset/174192

9:10 PM Changeset in webkit [174197] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for File
https://bugs.webkit.org/show_bug.cgi?id=137318

Reviewed by Gyuyoung Kim.

Use is<>() / downcast<>() for File instead of isFile() / toFile().

No new tests, no behavior change.

  • fileapi/Blob.h:
  • fileapi/File.h:

(isType):

  • fileapi/FileReader.cpp:

(WebCore::FileReader::readAsArrayBuffer):
(WebCore::FileReader::readAsBinaryString):
(WebCore::FileReader::readAsText):
(WebCore::FileReader::readAsDataURL):

  • platform/network/FormData.cpp:

(WebCore::FormData::appendKeyValuePairItems):

7:19 PM Changeset in webkit [174196] by mrowe@apple.com
  • 10 edits
    3 adds in trunk

<https://webkit.org/b/137308> WebKit should build on OS X Yosemite for external users

Source/WebKit/mac:

Reviewed by Dan Bernstein.

  • Configurations/DebugRelease.xcconfig: Use libWebKitSystemInterfaceYosemite.a on Yosemite.

Source/WebKit2:

Reviewed by Dan Bernstein.

  • Configurations/DebugRelease.xcconfig: Use libWebKitSystemInterfaceYosemite.a on Yosemite.

Tools:

Reviewed by Dan Bernstein.

  • Scripts/copy-webkitlibraries-to-product-directory: Copy libWebKitSystemInterfaceYosemite.a

into the build directory. Use LLVMIncludesYosemite.tar.bz2 and LLVMLibrariesYosemite.tar.bz2
for the LLVM components when on Yosemite.

WebKitLibraries:

Add versions of WebKitSystemInterface and LLVM for Yosemite. The LLVM build is from
LLVM SVN r206312, matching the Mavericks and Mountain Lion builds.

Reviewed by Dan Bernstein.

  • LLVMIncludesYosemite.tar.bz2: Added.
  • LLVMLibrariesYosemite.tar.bz2: Added.
  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
  • libWebKitSystemInterfaceYosemite.a: Added.
7:11 PM Changeset in webkit [174195] by Chris Dumez
  • 2 edits in trunk/Source/WTF

Unreviewed build fix after r174193.

Adding a return statement as that function is returning a boolean.

  • wtf/TypeCasts.h:

(WTF::TypeCastTraits::isOfType):

6:58 PM Changeset in webkit [174194] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

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

webkitpy failures, and thorton says the patch is wrong
(Requested by dethbakin on #webkit).

Reverted changeset:

"[Windows] Increase layout test timeout for Windows following
r174162."
http://trac.webkit.org/changeset/174187

6:18 PM Changeset in webkit [174193] by Chris Dumez
  • 2 edits in trunk/Source/WTF

Fail better when is<>() / downcast<>() is used for an unsupported type
https://bugs.webkit.org/show_bug.cgi?id=137323

Reviewed by Benjamin Poulain.

We should fail better when is<>() / downcast<>() is used for an
unsupported type (i.e. a type that doesn't have the needed
TypeCastTraits template specialization). Previously, we would get an
obscure linking error, which was sub-optimal.

With this patch, you would now hit a static_assert() at build time if
you tried to use is<>() / downcast<>() for a type that did not have the
needed template specialization. There is also a helpful comment above
the assertion letting the developer know how to add the needed template
specialization.

  • wtf/TypeCasts.h:

(WTF::TypeCastTraits::isOfType):

5:58 PM Changeset in webkit [174192] by Brent Fulgham
  • 2 edits in trunk/Tools

Test fix after r174187

  • Scripts/webkitpy/port/win_unittest.py:

(WinPortTest.test_default_timeout_ms): Expect the new 50000 ms timeout for Windows tests.

5:49 PM Changeset in webkit [174191] by cabanier@adobe.com
  • 15 edits
    2 copies
    5 adds in trunk

Add support for midpoint to CSS gradients
https://bugs.webkit.org/show_bug.cgi?id=137171

Reviewed by Darin Adler.

Source/WebCore:

This patch adds support for gradient midpoints. It also updates the
gradient tests so they use the feature.
Spec: http://dev.w3.org/csswg/css-images-4/#color-interpolation-hint

Tests: fast/gradients/unprefixed-color-stops2.html

fast/gradients/unprefixed-gradient-parsing.html
fast/gradients/unprefixed-linear-angle-gradients2.html
fast/gradients/unprefixed-radial-gradients.html
fast/gradients/unprefixed-radial-gradients2.html
fast/gradients/unprefixed-repeating-linear-gradient.html
fast/gradients/unprefixed-repeating-radial-gradients.html

  • css/CSSGradientValue.cpp:

(WebCore::GradientStop::GradientStop): constructor initializes the midpoint variable
(WebCore::CSSGradientValue::gradientWithStylesResolved): this function checks for midpoint color stops
(WebCore::CSSGradientValue::addStops): this function processes midpoints and converts them to regular color stops
(WebCore::CSSLinearGradientValue::customCSSText): this routine was updated to do correct parsing for midpoints
(WebCore::CSSRadialGradientValue::customCSSText):

  • css/CSSGradientValue.h:

(WebCore::CSSGradientColorStop::CSSGradientColorStop): this function stores if a stop is a midpoint

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseGradientColorStops): this function now allows color stops with no color

LayoutTests:

Updated the CSS gradient test files so they test the
gradient midpoint feature.

  • fast/gradients/unprefixed-color-stops2.html:
  • fast/gradients/unprefixed-gradient-parsing.html:
  • fast/gradients/unprefixed-linear-angle-gradients2.html:
  • fast/gradients/unprefixed-radial-gradients.html:
  • fast/gradients/unprefixed-radial-gradients2.html:
  • fast/gradients/unprefixed-repeating-linear-gradient.html:
  • fast/gradients/unprefixed-repeating-radial-gradients.html:
5:22 PM Changeset in webkit [174190] by Chris Dumez
  • 8 edits
    2 adds in trunk

Add basic caching for Document.cookie API
https://bugs.webkit.org/show_bug.cgi?id=137225

Reviewed by Alexey Proskuryakov.

Source/WebCore:

While profiling the load of nytimes.com, I noticed that the site is
accessing ~250 times document.cookie, just during page load. Accessing
document.cookie is currently slow because we:

  • Call WebPlatformStrategies::cookiesForDOM() virtual function
  • Send a sync IPC message to the Network process to retrieve the cookies
    • The Network process gets the list of cookies from CFNetwork then serializes the result to send it back to the WebProcess
  • We unserialize the cookies into an NSList of cookies
  • We filter-out the cookies that are 'httpOnly' and construct a new NSList of cookies
  • We create a WTF String out of the cookies NSList

In the case of nytimes.com, it turns out that up to 100 calls to
document.cookie() are made in the same event loop iteration. This patch
thus caches / freezes the cookies until we return to the event
loop so that consecutive calls to document.cookie() are extremely fast.
Doing so seems to be sufficient to achieve a ~87% cache hit for
nytimes.com page load.

The cookies cache is invalidated whenever:

  • document.cookie is set
  • we return to the event loop
  • a network resource is loaded synchronously as it may cause cookies to be set before we return to the event loop

Test: http/tests/cookies/sync-xhr-set-cookie-invalidates-cache.html

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::open):
(WebCore::Document::cookie):
(WebCore::Document::setCookie):
(WebCore::Document::setCookieURL):
(WebCore::Document::initSecurityContext):
(WebCore::Document::setDOMCookieCache):
(WebCore::Document::invalidateDOMCookieCache):
(WebCore::Document::domCookieCacheExpiryTimerFired):
(WebCore::Document::didLoadResourceSynchronously):

  • dom/Document.h:

(WebCore::Document::domCookieCache):
(WebCore::Document::isDOMCookieCacheValid):
(WebCore::Document::setCookieURL): Deleted.

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::didLoadResourceSynchronously):

  • dom/ScriptExecutionContext.h:
  • loader/ThreadableLoader.cpp:

(WebCore::ThreadableLoader::loadResourceSynchronously):

LayoutTests:

Add a layout test to make sure that document.cookie returns updated
results after cookies are set via a sync XHR.

  • http/tests/cookies/sync-xhr-set-cookie-invalidates-cache-expected.txt: Added.
  • http/tests/cookies/sync-xhr-set-cookie-invalidates-cache.html: Added.
5:20 PM Changeset in webkit [174189] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[Windows] Mass skip all media tests until bots have audio devices to run them with.

  • platform/win/TestExpectations:
4:54 PM Changeset in webkit [174188] by commit-queue@webkit.org
  • 12 edits
    1 delete in trunk/Source

Unreviewed, rolling out r174180, r174183, and r174186.
https://bugs.webkit.org/show_bug.cgi?id=137320

Broke the Mac MountainLion build. Will investigate offline.
(Requested by dydz on #webkit).

Reverted changesets:

"Clean up: Move XPC forward declarations in JavaScriptCore to
WTF SPI wrapper header"
https://bugs.webkit.org/show_bug.cgi?id=137277
http://trac.webkit.org/changeset/174180

"Attempt to fix the build after
<https://trac.webkit.org/changeset/174180>"
https://bugs.webkit.org/show_bug.cgi?id=137277
http://trac.webkit.org/changeset/174183

"Another attempt to fix the Mac build after
<https://trac.webkit.org/changeset/174180>"
https://bugs.webkit.org/show_bug.cgi?id=137277
http://trac.webkit.org/changeset/174186

4:29 PM Changeset in webkit [174187] by roger_fong@apple.com
  • 2 edits in trunk/Tools

[Windows] Increase layout test timeout for Windows following r174162.

  • Scripts/webkitpy/port/win.py:

(WinPort.default_timeout_ms):

4:17 PM Changeset in webkit [174186] by dbates@webkit.org
  • 2 edits in trunk/Source/WTF

Another attempt to fix the Mac build after <https://trac.webkit.org/changeset/174180>
(https://bugs.webkit.org/show_bug.cgi?id=137277)

Include header AvailabilityMacros.h instead of Availability.h, which actually defines the
macro MAC_OS_X_VERSION_MIN_REQUIRED.

  • wtf/spi/darwin/XPCSPI.h:
4:05 PM Changeset in webkit [174185] by roger_fong@apple.com
  • 3 edits in trunk/Tools

[Windows] Add some logging to webkitpy to debug timeout issues with running NRWT using multiple child processes.

  • Scripts/webkitpy/port/drdiver.py:

(Driver.stop):

  • Scripts/webkitpy/port/server_process.py:

(ServerProcess.stop):

4:00 PM Changeset in webkit [174184] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[ Windows ] More Windows test gardening to get bots green Part 3.

  • platform/win/TestExpectations: More indiscriminate mass skipping.
3:59 PM Changeset in webkit [174183] by dbates@webkit.org
  • 2 edits in trunk/Source/WTF

Attempt to fix the build after <https://trac.webkit.org/changeset/174180>
(https://bugs.webkit.org/show_bug.cgi?id=137277)

Include header <Availability.h> for the definition of MAC_OS_X_VERSION_MIN_REQUIRED.
Also, we want to define CONST_ON_OR_AFTER_MAC_OS_X_VERSION_1090 to be const when building
on iOS.

  • wtf/spi/darwin/XPCSPI.h:
3:46 PM Changeset in webkit [174182] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

commitqueuetasks_unittest references a non-existent member variable
when mock-reporting flaky tests.
https://bugs.webkit.org/show_bug.cgi?id=137303

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-10-01
Reviewed by Daniel Bates.

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:

(MockCommitQueue.report_flaky_tests):
Makes the appropriate name change.
(test_simple_flaky_test_failure):
Adds a unit test to make sure that the code is excercised.

3:43 PM Changeset in webkit [174181] by Beth Dakin
  • 2 edits in trunk/LayoutTests

This expectation should be MoutainLion-only until we find evidence otherwise.

  • platform/mac/TestExpectations:
3:38 PM Changeset in webkit [174180] by dbates@webkit.org
  • 12 edits
    2 adds in trunk/Source

Clean up: Move XPC forward declarations in JavaScriptCore to WTF SPI wrapper header
https://bugs.webkit.org/show_bug.cgi?id=137277

Reviewed by Alexey Proskuryakov.

Source/JavaScriptCore:

Use wtf/spi/darwin/XPCSPI.h instead of including the corresponding XPC headers/
forward declaring XPC functions.

  • inspector/remote/RemoteInspector.mm:
  • inspector/remote/RemoteInspectorXPCConnection.h:
  • inspector/remote/RemoteInspectorXPCConnection.mm:

Source/WebKit2:

Use wtf/spi/darwin/XPCSPI.h instead of including the corresponding XPC headers/
forward declaring XPC functions.

  • Platform/IPC/Connection.h:
  • Platform/IPC/mac/ConnectionMac.mm:
  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

Source/WTF:

Towards centralizing the declarations of XPC functions used in JavaScriptCore
and WebKit2, add a header that wraps these function declarations called XPCSPI.h
and use it instead of including the corresponding XPC API/SPI headers/forward
declaring XPC functions. This will also aid in the effort to make WebKit2 build
for iOS with the public iOS SDK.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/spi/darwin/XPCSPI.h: Added.
3:35 PM Changeset in webkit [174179] by Beth Dakin
  • 2 edits in trunk/LayoutTests

Another flaky-trashy test.

  • platform/mac/TestExpectations:
3:29 PM Changeset in webkit [174178] by Chris Dumez
  • 48 edits in trunk/Source

Use is<>() / downcast<>() for Event classes
https://bugs.webkit.org/show_bug.cgi?id=137284

Reviewed by Andreas Kling.

Use is<>() / downcast<>() for Event classes.

Source/WebCore:

No new tests, no behavior change.

  • bindings/js/JSErrorHandler.cpp:

(WebCore::JSErrorHandler::handleEvent):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • dom/BeforeTextInsertedEvent.h:
  • dom/BeforeUnloadEvent.h:
  • dom/ErrorEvent.h:
  • dom/Event.h:
  • dom/EventContext.cpp:

(WebCore::MouseOrFocusEventContext::handleLocalEvents):

  • dom/FocusEvent.h:
  • dom/KeyboardEvent.cpp:

(WebCore::findKeyboardEvent):

  • dom/KeyboardEvent.h:
  • dom/MouseEvent.cpp:

(WebCore::SimulatedMouseEvent::SimulatedMouseEvent):

  • dom/MouseEvent.h:
  • dom/Node.cpp:

(WebCore::Node::defaultEventHandler):

  • dom/TextEvent.h:
  • dom/UIEvent.h:
  • dom/WheelEvent.h:
  • html/HTMLAnchorElement.cpp:

(WebCore::appendServerMapMousePosition):
(WebCore::HTMLAnchorElement::defaultEventHandler):
(WebCore::HTMLAnchorElement::eventType):
(WebCore::isEnterKeyKeydownEvent):
(WebCore::isLinkClick):

  • html/HTMLButtonElement.cpp:

(WebCore::HTMLButtonElement::defaultEventHandler):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::submitImplicitly):

  • html/HTMLFormElement.h:
  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::defaultEventHandler):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::willDispatchEvent):
(WebCore::HTMLInputElement::defaultEventHandler):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::defaultEventHandler):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::menuListDefaultEventHandler):
(WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
(WebCore::HTMLSelectElement::defaultEventHandler):

  • html/HTMLSummaryElement.cpp:

(WebCore::HTMLSummaryElement::defaultEventHandler):

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::defaultEventHandler):

  • html/ImageDocument.cpp:

(WebCore::ImageEventListener::handleEvent):

  • html/ImageInputType.cpp:

(WebCore::ImageInputType::handleDOMActivateEvent):

  • html/InputType.cpp:

(WebCore::InputType::shouldSubmitImplicitly):

  • html/InputType.h:
  • html/MediaDocument.cpp:

(WebCore::MediaDocument::defaultEventHandler):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::shouldSubmitImplicitly):

  • html/TextFieldInputType.h:
  • html/shadow/MediaControlElementTypes.cpp:

(WebCore::MediaControlVolumeSliderElement::defaultEventHandler):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlPanelElement::defaultEventHandler):
(WebCore::MediaControlVolumeSliderContainerElement::defaultEventHandler):
(WebCore::MediaControlTimelineElement::defaultEventHandler):

  • html/shadow/MediaControls.cpp:

(WebCore::MediaControls::containsRelatedTarget):

  • html/shadow/MediaControlsApple.cpp:

(WebCore::MediaControlsAppleEventListener::handleEvent):

  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::defaultEventHandler):

  • html/shadow/SpinButtonElement.cpp:

(WebCore::SpinButtonElement::defaultEventHandler):
(WebCore::SpinButtonElement::forwardEvent):

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
(WebCore::SearchFieldCancelButtonElement::defaultEventHandler):

  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::dispatchEventAsContextMenuEvent):

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::maybeCreateContextMenu):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleTextInputEvent):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
(WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):

  • rendering/RenderEmbeddedObject.h:
  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore::RenderSnapshottedPlugIn::handleEvent):

Source/WebKit2:

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::handleEvent):

3:18 PM AddingFiles edited by Brian Burg
[Win] Add reminder about *AllInOne.cpp files. (diff)
3:12 PM Changeset in webkit [174177] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

[Win] Unreviewed build gardening.

  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Show files in the appropriate

folders in Visual Studio.

3:00 PM Changeset in webkit [174176] by Beth Dakin
  • 2 edits in trunk/LayoutTests

Yet another crash-flaky test.

2:48 PM Changeset in webkit [174175] by Lucas Forschler
  • 5 edits in branches/safari-600.1.17-branch/Source

Versioning.

2:45 PM Changeset in webkit [174174] by Lucas Forschler
  • 1 copy in tags/Safari-600.1.17.3

New Tag.

2:34 PM Changeset in webkit [174173] by fpizlo@apple.com
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

Object allocation sinking is broken for escaping sites in loops
https://bugs.webkit.org/show_bug.cgi?id=137310

Reviewed by Michael Saboff.

I tried to do this clever forward-flow based materialization point placement, and I messed up loops. Disabling
the phase for now and landing a test to demonstrate what it going on.

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • runtime/Options.h:
  • tests/stress/object-escapes-in-loop.js: Added.

(foo):
(bar):

2:27 PM Changeset in webkit [174172] by Beth Dakin
  • 2 edits in trunk/LayoutTests

Marking this test as CRASHY-flaky since it is.

  • platform/mac-wk2/TestExpectations:
2:24 PM Changeset in webkit [174171] by Lucas Forschler
  • 4 edits in branches/safari-600.1.17-branch/Source

Merged r174162.

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

EWS is inconclusively spinning forever on a patch that breaks 500+
tests
https://bugs.webkit.org/show_bug.cgi?id=137223

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-10-01
Reviewed by Tim Horton.

  • Scripts/webkitpy/tool/bot/patchanalysistask.py:

Checks to see whether the tests have exceeded the failure limit, and
only spins off another test if they have not exceeded the limit.
(PatchAnalysisTask._test_patch):

2:02 PM Changeset in webkit [174169] by Beth Dakin
  • 2 edits in trunk/LayoutTests

Marking this test as trashy-flaky since it is.

  • platform/mac/TestExpectations:
1:52 PM Changeset in webkit [174168] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

[TexMap] Sprinkle range-based for-loops in GraphicsLayerTextureMapper, TextureMapperLayer
https://bugs.webkit.org/show_bug.cgi?id=137271

Reviewed by Sergio Villar Senin.

Switch to using C++11 range-based for-loops in the
GraphicsLayerTextureMapper and TextureMapperLayer classes.

The for loops that remained unchanged either do further computation
with the loop index or must iterate over the container in reverse.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::toTextureMapperLayerVector):
(WebCore::GraphicsLayerTextureMapper::flushCompositingState):

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::computeTransformsRecursive):
(WebCore::TextureMapperLayer::paintSelfAndChildren):
(WebCore::TextureMapperLayer::computeOverlapRegions):
(WebCore::TextureMapperLayer::paintUsingOverlapRegions):
(WebCore::TextureMapperLayer::~TextureMapperLayer):
(WebCore::TextureMapperLayer::setChildren):
(WebCore::TextureMapperLayer::descendantsOrSelfHaveRunningAnimations):
(WebCore::TextureMapperLayer::applyAnimationsRecursively):

1:47 PM Changeset in webkit [174167] by saambarati1@gmail.com
  • 20 edits
    1 add in trunk/Source/JavaScriptCore

Support the type profiler in the DFG
https://bugs.webkit.org/show_bug.cgi?id=136712

Reviewed by Filip Pizlo.

This patch implements op_profile_type inside the DFG as the node: ProfileType.
The DFG will convert the ProfileType node into a Check node in the cases where
passing a type check is equivalent to writing to the TypeProfilerLog. This
gives the DFG the potential to optimize out multiple ProfileType nodes into
a single Check node.

When the DFG doesn't convert ProfileType into a Check node, it will generate
the same inline code as the baseline JIT does for writing an entry to the
TypeProfilerLog.

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGNode.h:

(JSC::DFG::Node::typeLocation):

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

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

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • runtime/TypeProfiler.cpp:

(JSC::TypeProfiler::logTypesForTypeLocation):

  • runtime/TypeSet.cpp:

(JSC::TypeSet::dumpTypes):
(JSC::TypeSet::doesTypeConformTo):
Make this method public so others can reason about the types a TypeSet has seen.
(JSC::TypeSet::seenTypes): Deleted.
(JSC::TypeSet::dumpSeenTypes): Deleted.
Renamed to dumpTypes so the method seenTypes can be used as a public getter.

  • runtime/TypeSet.h:

(JSC::TypeSet::seenTypes):

  • tests/typeProfiler/dfg-jit-optimizations.js: Added.

(tierUpToDFG):
(funcs):
(.return):

1:39 PM Changeset in webkit [174166] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix 32-bit.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

1:12 PM Changeset in webkit [174165] by fpizlo@apple.com
  • 17 edits in trunk/Source/JavaScriptCore

DFG SSA should use PutLocal/KillLocal instead of SetLocal to communicate what is flushed to the stack and when
https://bugs.webkit.org/show_bug.cgi?id=137242

Reviewed by Geoffrey Garen.

OSR availability has to do with telling you the various ways that you could go about getting
the value of a bytecode variable. It can give you two options: node availability means that
there is a node in the DFG IR that has the right value, and flush availability tells you
that the value was already stored to the stack. The clients of OSR availability would
typically prefer flush over node availability.

Previously OSR availability was affected thusly by the various local-related nodes: SetLocal
set both the node and flush availability, MovHint set node availability and cleared flush
availability, GetArgument set both, and ZombieHint cleared both.

A MovHint could be turned into a ZombieHint if its source value was DCEd.

The fact that each node affected both node and flush availability caused weirdness. For
example it meant that we could not insert MovHints in areas of the CFG where a SetLocal's
variable was still live, because then those parts of the code would forget that they had an
availability flush. This meant that if a flush was available, we wouldn't insert MovHints,
and so we would forget that a node was in fact available. This kind of "either-or" picking
was not only hackish but it led to interesting problems for IR transformation: for example
if you tried to do any kind of code motion on SetLocals, you had to be super careful because
you might violate the rule that "MovHints must exist for a live local if a flush is
unavailable".

The right thing to do is to have independent nodes for flushing and making nodes available.
They shouldn't interact with each other. This patch accomplishes this:

  • PutLocal means that that a value is to be stored to the stack. It makes a flush available.
  • KillLocal means that the value stored to the stack is no longer available for the purposes of OSR (i.e. it no longer accurately corresponds to what that actual bytecode variable would have been, so you have to fall back on node availability).
  • MovHint means that a node is available. It has no effect on flush availability.
  • ZombieHint means that a node is not available. It has no effect on flush availability.


This means that we will see a lot of KillLocals and MovHints right next to each other. It's
a bit verbose, but at least it's precise.

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGAvailability.h:

(JSC::DFG::Availability::setFlush):
(JSC::DFG::Availability::setNode):
(JSC::DFG::Availability::setNodeUnavailable):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGNode.cpp:

(JSC::DFG::Node::hasVariableAccessData):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasUnlinkedLocal):
(JSC::DFG::Node::willHaveCodeGenOrOSR):

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

(JSC::DFG::LocalOSRAvailabilityCalculator::executeNode):

  • dfg/DFGPredictionPropagationPhase.cpp:

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

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGStackLayoutPhase.cpp:

(JSC::DFG::StackLayoutPhase::run):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compilePutLocal):
(JSC::FTL::LowerDFGToLLVM::compileSetLocal): Deleted.

11:30 AM Changeset in webkit [174164] by Brian Burg
  • 2 edits in trunk/Tools

Unreviewed, add Katie Madonna as a contributor.

  • Scripts/webkitpy/common/config/contributors.json:
11:26 AM Changeset in webkit [174163] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[ Windows ] More Windows test gardening to get bots green Part 2.

  • platform/win/TestExpectations: More indiscriminate mass skipping.
11:22 AM Changeset in webkit [174162] by Brent Fulgham
  • 4 edits in trunk/Source

[Win] 32-bit JavaScriptCore should limit itself to the C loop
https://bugs.webkit.org/show_bug.cgi?id=137304
<rdar://problem/18375370>

Reviewed by Michael Saboff.

../JavaScriptCore:

Use the C loop for 32-bit builds.

../WTF:

  • wtf/Platform.h: Force the C loop when building for 32-bit Windows.
10:52 AM Changeset in webkit [174161] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

commitqueuetasks_unittest does not construct FailingTestCommitQueue
objects properly in its test cases.
https://bugs.webkit.org/show_bug.cgi?id=137281

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-10-01
Reviewed by Daniel Bates.

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:

(FailingTestCommitQueue.test_results):
Adds an assert to make FailingTestCommitQueue harder to mis-use.
(test_double_flaky_test_failure):
Nests the intended test failure strings into one-length lists.
(test_red_test_failure):
Nests the intended test failure strings into one-length lists.

10:35 AM Changeset in webkit [174160] by ap@apple.com
  • 41 edits in trunk

REGRESSION (r172172): Multiple regression tests fail when primary system language is Russian
https://bugs.webkit.org/show_bug.cgi?id=136987

Reviewed by Daniel Bates.

Tools:

  • WebKitTestRunner/TestController.cpp: (WTR::TestController::resetPreferencesToConsistentValues):

Specify the default encoding for all WebKit developers to get consistent results.

LayoutTests:

These test changes are not strictly necessary to fix the issue, as I'm also adding
a default to WebKitTestRunner. But it's nice to have tests work identically in WKTR
and in a browser, for which it's necessary to have them specify charset.

  • accessibility/table-scope-expected.txt:
  • accessibility/table-scope.html:
  • fast/borders/bidi-002.html:
  • fast/borders/bidi-009a.html:
  • fast/frames/sandboxed-iframe-attribute-parsing-03-expected.txt:
  • fast/frames/sandboxed-iframe-attribute-parsing-03.html:
  • platform/mac/accessibility/table-headers-attribute-expected.txt:
  • platform/mac/accessibility/table-headers-attribute.html:
  • platform/mac/accessibility/table-with-zebra-rows-expected.txt:
  • platform/mac/accessibility/table-with-zebra-rows.html:
  • platform/mac/fast/borders/bidi-002-expected.png:
  • platform/mac/fast/borders/bidi-002-expected.txt:
  • platform/mac/fast/borders/bidi-009a-expected.png:
  • platform/mac/fast/borders/bidi-009a-expected.txt:
  • plugins/plugin-remove-subframe-expected.txt:
  • plugins/plugin-remove-subframe.html:

These tests were actually expected to use UTF-8, so we used to be running them in
an inconsequentially wrong way.

  • fast/css/text-transform-select.html:
  • fast/encoding/high-bit-latin1.html:
  • fast/encoding/parser-tests-10.html:
  • fast/encoding/parser-tests-100.html:
  • fast/encoding/parser-tests-110.html:
  • fast/encoding/parser-tests-120.html:
  • fast/encoding/parser-tests-20.html:
  • fast/encoding/parser-tests-30.html:
  • fast/encoding/parser-tests-50.html:
  • fast/encoding/parser-tests-60.html:
  • fast/encoding/parser-tests-70.html:
  • fast/encoding/parser-tests-80.html:
  • fast/encoding/parser-tests-90.html:
  • fast/encoding/parser-tests.html:
  • fast/url/anchor.html:
  • fast/url/file-http-base.html:
  • fast/url/file.html:
  • fast/url/query.html:
  • fast/url/standard-url.html:
  • http/tests/misc/char-encoding-in-hidden-charset-field-default.html:
  • js/dom/regexp-overflow.html:
  • tables/mozilla_expected_failures/bugs/bug47163.html:

Specified the encoding, windows-1252 is what we use for Latin1 and ISO-8859-1 alike.

10:30 AM Changeset in webkit [174159] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6

Merge r173964 - [Gtk] build.sh needs a -- before make options when the build command is cmake --build
https://bugs.webkit.org/show_bug.cgi?id=136377

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2014-09-25
Reviewed by Philippe Normand.

.:

  • Source/cmake/OptionsGTK.cmake: Only create the build.sh script

for CMake versions less than 3.

Tools:

  • Scripts/webkitdirs.pm:

(buildCMakeGeneratedProject): Only use the build.sh script if it exists.

10:18 AM Changeset in webkit [174158] by ap@apple.com
  • 3 edits in trunk/Tools

EWS is too eager to say that a patch does not apply to trunk of repository
https://bugs.webkit.org/show_bug.cgi?id=137290

Reviewed by Ryosuke Niwa.

  • QueueStatusServer/app.yaml: Updated app version.
  • QueueStatusServer/handlers/statusbubble.py:

(StatusBubble._build_bubble):
(StatusBubble._build_bubbles_for_attachment):
Rewrote to make more sense.

9:17 AM Changeset in webkit [174157] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

Windows build fix.

  • platform/network/cf/ResourceResponseCFNet.cpp:
7:54 AM WebKitGtkLayoutTests edited by Andres Gomez
Updated due to the removal of WebKit1 (diff)
7:50 AM WebKitGTK/StartHacking edited by Andres Gomez
Updating instructions due to migration to CMake and removal of WebKit1 code (diff)
7:31 AM Changeset in webkit [174156] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r173423): [iOS] Sites with EV certificates appear as normal HTTPS sites
https://bugs.webkit.org/show_bug.cgi?id=137262

Reviewed by Antti Koivisto.

No new tests, because the API test harness doesn’t run an HTTP server to test against.

  • platform/network/cf/ResourceResponseCFNet.cpp:

(WebCore::ResourceResponse::platformCertificateInfo): Return a CertificateInfo initialized
with the certificate array from the response.

4:19 AM Changeset in webkit [174155] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.2.8

WebKitGTK+ 2.2.8

3:41 AM Changeset in webkit [174154] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.2

Unreviewed. Update NEWS and Versions.m4 for 2.2.8 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Add release notes.
1:55 AM Changeset in webkit [174153] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r173252 - [SOUP] Race condition when downloading a file due to the intermediate temporary file
https://bugs.webkit.org/show_bug.cgi?id=136423

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

  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::DownloadClient): Replace m_destinationURI with
m_destinationFile and add m_createdDestination.
(WebKit::DownloadClient::deleteFilesIfNeeded): Added.
(WebKit::DownloadClient::downloadFailed): Call deleteFilesIfNeeded.
(WebKit::DownloadClient::didReceiveResponse): Attempt to create the
destination file before the intermediate file. Fail here if the file
exists and overwrite is not allowed, so we don't erroneously fire the
didCreateDestination event or waste time downloading the file when we
know the download will fail.
(WebKit::DownloadClient::didFinishLoading): Unconditionally overwrite
the empty destination file.
(WebKit::DownloadClient::cancel): Call deleteFilesIfNeeded.
(WebKit::DownloadClient::deleteIntermediateFileInNeeded): Deleted.

1:49 AM Changeset in webkit [174152] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebKit2

Merge r173154 - [SOUP] WebKitDownload cannot overwrite existing file
https://bugs.webkit.org/show_bug.cgi?id=136322

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

  • Shared/Downloads/soup/DownloadSoup.cpp:

(WebKit::DownloadClient::didReceiveResponse): pass a member variable
to Download::decideDestinationWithSuggestedFilename instead of a
temporary bool, so we can use the result in didFinishLoading.
(WebKit::DownloadClient::didFinishLoading): overwrite the destination
if Download::decideDestinationWithSuggestedFilename determined we
should do so.

1:44 AM Changeset in webkit [174151] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/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.

1:39 AM Changeset in webkit [174150] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebCore

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

1:33 AM Changeset in webkit [174149] by Carlos Garcia Campos
  • 2 edits
    189 adds in releases/WebKitGTK/webkit-2.2/Source/WebInspectorUI

Merge r173753 - Webkitgtk 2.5.3: tarball contains APPLE LICENSE file - stating not distributable
https://bugs.webkit.org/show_bug.cgi?id=136632

Reviewed by Gustavo Noronha Silva.

Source/WebInspectorUI:

Add free icons for the GTK port. These icons are from the GNOME
project, some of them adapted by Andres Gomez for the inspector.

1:15 AM Changeset in webkit [174148] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS] <select> with <optgroup> may change initial selected option when assisted
https://bugs.webkit.org/show_bug.cgi?id=137261

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-10-01
Reviewed by Enrica Casucci.

The initial assignemnt of _singleSelectionIndex was calculating the
item index (ignoring groups) instead of the row index (affected by
groups!). Thus if there was N groups we would select the row N
before the real selection.

Also avoid this entirely if this is a multiple selection picker.
This logic is only needed for single selection with groups.

  • UIProcess/ios/forms/WKFormSelectPicker.mm:

(-[WKMultipleSelectPicker initWithView:]):

12:57 AM Changeset in webkit [174147] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2

Merge r173999 - [GTK] Enable CSS_IMAGE_SET in production builds
https://bugs.webkit.org/show_bug.cgi?id=137142

Reviewed by Alejandro G. Castro.

This is required by the inspector to show some of the icons that
has a HiDPI variant.

  • Source/cmake/OptionsGTK.cmake:
12:28 AM Changeset in webkit [174146] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.2/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):

12:20 AM Changeset in webkit [174145] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.2/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:

Sep 30, 2014:

11:40 PM Changeset in webkit [174144] by bshafiei@apple.com
  • 5 edits in trunk/Source

Versioning.

11:37 PM Changeset in webkit [174143] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.2

New tag.

11:20 PM Changeset in webkit [174142] by Yusuke Suzuki
  • 2 edits in trunk/Source/WebCore

CSS JIT: Enable multiple stack references allocation by allocateUninitialized
https://bugs.webkit.org/show_bug.cgi?id=135293

Reviewed by Benjamin Poulain.

  • cssjit/StackAllocator.h:

(WebCore::StackAllocator::stackTop):

Add stackTop method to check references are allocated easily.

(WebCore::StackAllocator::allocateUninitialized):

10:49 PM Changeset in webkit [174141] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Drop getPtr() overload taking a Document reference in argument
https://bugs.webkit.org/show_bug.cgi?id=137280

Reviewed by Daniel Bates.

Drop getPtr() overload taking a Document reference in argument. This is
no longer needed as the generic getPtr() function converts references
into pointers just fine after r173765.

No new tests, no behavior change.

  • dom/Document.h:

(WTF::getPtr): Deleted.

9:34 PM Changeset in webkit [174140] by Brian Burg
  • 72 edits in trunk/Source

Web Inspector: ErrorString should be passed by reference
https://bugs.webkit.org/show_bug.cgi?id=137257

Reviewed by Joseph Pecoraro.

Pass the leading ErrorString argument by reference, since it is always an out parameter.
Clean up callsites where the error message is written.

Source/JavaScriptCore:

  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::evaluate):
(Inspector::InjectedScript::callFunctionOn):
(Inspector::InjectedScript::evaluateOnCallFrame):
(Inspector::InjectedScript::getFunctionDetails):
(Inspector::InjectedScript::getProperties):
(Inspector::InjectedScript::getInternalProperties):

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

(Inspector::InjectedScriptBase::makeEvalCall):

  • inspector/InjectedScriptBase.h:
  • inspector/agents/InspectorAgent.cpp:

(Inspector::InspectorAgent::willDestroyFrontendAndBackend):
(Inspector::InspectorAgent::enable):
(Inspector::InspectorAgent::disable):
(Inspector::InspectorAgent::initialized):

  • inspector/agents/InspectorAgent.h:
  • inspector/agents/InspectorConsoleAgent.cpp:

(Inspector::InspectorConsoleAgent::willDestroyFrontendAndBackend):
(Inspector::InspectorConsoleAgent::enable):
(Inspector::InspectorConsoleAgent::disable):
(Inspector::InspectorConsoleAgent::clearMessages):
(Inspector::InspectorConsoleAgent::reset):
(Inspector::InspectorConsoleAgent::addMessageToConsole):

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

(Inspector::InspectorDebuggerAgent::enable):
(Inspector::InspectorDebuggerAgent::disable):
(Inspector::InspectorDebuggerAgent::setBreakpointsActive):
(Inspector::InspectorDebuggerAgent::breakpointActionsFromProtocol):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::parseLocation):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::removeBreakpoint):
(Inspector::InspectorDebuggerAgent::continueToLocation):
(Inspector::InspectorDebuggerAgent::searchInContent):
(Inspector::InspectorDebuggerAgent::getScriptSource):
(Inspector::InspectorDebuggerAgent::getFunctionDetails):
(Inspector::InspectorDebuggerAgent::pause):
(Inspector::InspectorDebuggerAgent::resume):
(Inspector::InspectorDebuggerAgent::stepOver):
(Inspector::InspectorDebuggerAgent::stepInto):
(Inspector::InspectorDebuggerAgent::stepOut):
(Inspector::InspectorDebuggerAgent::setPauseOnExceptions):
(Inspector::InspectorDebuggerAgent::evaluateOnCallFrame):
(Inspector::InspectorDebuggerAgent::setOverlayMessage):
(Inspector::InspectorDebuggerAgent::didParseSource):
(Inspector::InspectorDebuggerAgent::clearInspectorBreakpointState):
(Inspector::InspectorDebuggerAgent::assertPaused):

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

(Inspector::InspectorRuntimeAgent::parse):
(Inspector::InspectorRuntimeAgent::evaluate):
(Inspector::InspectorRuntimeAgent::callFunctionOn):
(Inspector::InspectorRuntimeAgent::getProperties):
(Inspector::InspectorRuntimeAgent::releaseObject):
(Inspector::InspectorRuntimeAgent::releaseObjectGroup):
(Inspector::InspectorRuntimeAgent::run):
(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):
(Inspector::InspectorRuntimeAgent::enableTypeProfiler):
(Inspector::InspectorRuntimeAgent::disableTypeProfiler):

  • inspector/agents/InspectorRuntimeAgent.h:
  • inspector/agents/JSGlobalObjectConsoleAgent.cpp:

(Inspector::JSGlobalObjectConsoleAgent::setMonitoringXHREnabled):
(Inspector::JSGlobalObjectConsoleAgent::addInspectedNode):

  • inspector/agents/JSGlobalObjectConsoleAgent.h:
  • inspector/agents/JSGlobalObjectDebuggerAgent.cpp:

(Inspector::JSGlobalObjectDebuggerAgent::injectedScriptForEval):

  • inspector/agents/JSGlobalObjectDebuggerAgent.h:
  • inspector/agents/JSGlobalObjectRuntimeAgent.cpp:

(Inspector::JSGlobalObjectRuntimeAgent::injectedScriptForEval):

  • inspector/agents/JSGlobalObjectRuntimeAgent.h:
  • inspector/scripts/codegen/generate_backend_dispatcher_header.py:

(BackendDispatcherHeaderGenerator._generate_handler_declaration_for_command):
(BackendDispatcherHeaderGenerator._generate_async_handler_declaration_for_command):

  • inspector/scripts/codegen/generate_backend_dispatcher_implementation.py:

(BackendDispatcherImplementationGenerator._generate_dispatcher_implementation_for_command):

  • inspector/scripts/tests/expected/commands-with-async-attribute.json-result:
  • inspector/scripts/tests/expected/commands-with-optional-call-return-parameters.json-result:
  • inspector/scripts/tests/expected/domains-with-varying-command-sizes.json-result:
  • inspector/scripts/tests/expected/generate-domains-with-feature-guards.json-result:

Source/WebCore:

No new tests, no behavior changed.

  • inspector/CommandLineAPIHost.cpp:

(WebCore::CommandLineAPIHost::clearConsoleMessages):

  • inspector/DOMEditor.cpp:

(WebCore::populateErrorString):
(WebCore::DOMEditor::insertBefore):
(WebCore::DOMEditor::removeChild):
(WebCore::DOMEditor::setAttribute):
(WebCore::DOMEditor::removeAttribute):
(WebCore::DOMEditor::setOuterHTML):
(WebCore::DOMEditor::replaceWholeText):

  • inspector/DOMEditor.h:
  • inspector/InspectorApplicationCacheAgent.cpp:

(WebCore::InspectorApplicationCacheAgent::enable):
(WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
(WebCore::InspectorApplicationCacheAgent::assertFrameWithDocumentLoader):
(WebCore::InspectorApplicationCacheAgent::getManifestForFrame):
(WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):

  • inspector/InspectorApplicationCacheAgent.h:
  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::enable):
(WebCore::InspectorCSSAgent::disable):
(WebCore::InspectorCSSAgent::didCreateNamedFlow):
(WebCore::InspectorCSSAgent::regionOversetChanged):
(WebCore::InspectorCSSAgent::didRegisterNamedFlowContentElement):
(WebCore::InspectorCSSAgent::didUnregisterNamedFlowContentElement):
(WebCore::InspectorCSSAgent::getMatchedStylesForNode):
(WebCore::InspectorCSSAgent::getInlineStylesForNode):
(WebCore::InspectorCSSAgent::getComputedStyleForNode):
(WebCore::InspectorCSSAgent::getAllStyleSheets):
(WebCore::InspectorCSSAgent::getStyleSheet):
(WebCore::InspectorCSSAgent::getStyleSheetText):
(WebCore::InspectorCSSAgent::setStyleSheetText):
(WebCore::InspectorCSSAgent::setStyleText):
(WebCore::InspectorCSSAgent::setPropertyText):
(WebCore::InspectorCSSAgent::toggleProperty):
(WebCore::InspectorCSSAgent::setRuleSelector):
(WebCore::InspectorCSSAgent::addRule):
(WebCore::InspectorCSSAgent::getSupportedCSSProperties):
(WebCore::InspectorCSSAgent::forcePseudoState):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):
(WebCore::InspectorCSSAgent::elementForId):
(WebCore::InspectorCSSAgent::assertStyleSheetForId):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
(WebCore::InspectorCSSAgent::buildObjectForNamedFlow):

  • inspector/InspectorCSSAgent.h:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::hideHighlight):
(WebCore::InspectorController::setProfilerEnabled):
(WebCore::InspectorController::resume):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorDOMAgent::assertNode):
(WebCore::InspectorDOMAgent::assertDocument):
(WebCore::InspectorDOMAgent::assertElement):
(WebCore::InspectorDOMAgent::assertEditableNode):
(WebCore::InspectorDOMAgent::assertEditableElement):
(WebCore::InspectorDOMAgent::getDocument):
(WebCore::InspectorDOMAgent::pushNodeToFrontend):
(WebCore::InspectorDOMAgent::requestChildNodes):
(WebCore::InspectorDOMAgent::querySelector):
(WebCore::InspectorDOMAgent::querySelectorAll):
(WebCore::InspectorDOMAgent::releaseBackendNodeIds):
(WebCore::InspectorDOMAgent::setAttributeValue):
(WebCore::InspectorDOMAgent::setAttributesAsText):
(WebCore::InspectorDOMAgent::removeAttribute):
(WebCore::InspectorDOMAgent::removeNode):
(WebCore::InspectorDOMAgent::setNodeName):
(WebCore::InspectorDOMAgent::getOuterHTML):
(WebCore::InspectorDOMAgent::setOuterHTML):
(WebCore::InspectorDOMAgent::setNodeValue):
(WebCore::InspectorDOMAgent::getEventListenersForNode):
(WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::getSearchResults):
(WebCore::InspectorDOMAgent::discardSearchResults):
(WebCore::InspectorDOMAgent::inspect):
(WebCore::InspectorDOMAgent::setSearchingForNode):
(WebCore::InspectorDOMAgent::highlightConfigFromInspectorObject):
(WebCore::InspectorDOMAgent::setInspectModeEnabled):
(WebCore::InspectorDOMAgent::highlightRect):
(WebCore::InspectorDOMAgent::highlightQuad):
(WebCore::InspectorDOMAgent::highlightNode):
(WebCore::InspectorDOMAgent::highlightFrame):
(WebCore::InspectorDOMAgent::hideHighlight):
(WebCore::InspectorDOMAgent::moveTo):
(WebCore::InspectorDOMAgent::undo):
(WebCore::InspectorDOMAgent::redo):
(WebCore::InspectorDOMAgent::markUndoableState):
(WebCore::InspectorDOMAgent::focus):
(WebCore::InspectorDOMAgent::resolveNode):
(WebCore::InspectorDOMAgent::getAttributes):
(WebCore::InspectorDOMAgent::requestNode):
(WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
(WebCore::InspectorDOMAgent::pushNodeByBackendIdToFrontend):

  • inspector/InspectorDOMAgent.h:
  • inspector/InspectorDOMDebuggerAgent.cpp:

(WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::setInstrumentationBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::setBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeInstrumentationBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeBreakpoint):
(WebCore::domTypeForName):
(WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
(WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):

  • inspector/InspectorDOMDebuggerAgent.h:
  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorDOMStorageAgent::enable):
(WebCore::InspectorDOMStorageAgent::disable):
(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
(WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
(WebCore::InspectorDOMStorageAgent::findStorageArea):

  • inspector/InspectorDOMStorageAgent.h:
  • inspector/InspectorDatabaseAgent.cpp:

(WebCore::InspectorDatabaseAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorDatabaseAgent::enable):
(WebCore::InspectorDatabaseAgent::disable):
(WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
(WebCore::InspectorDatabaseAgent::executeSQL):

  • inspector/InspectorDatabaseAgent.h:
  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore::InspectorIndexedDBAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorIndexedDBAgent::enable):
(WebCore::InspectorIndexedDBAgent::disable):
(WebCore::assertDocument):
(WebCore::assertIDBFactory):
(WebCore::InspectorIndexedDBAgent::requestDatabaseNames):
(WebCore::InspectorIndexedDBAgent::requestDatabase):
(WebCore::InspectorIndexedDBAgent::requestData):
(WebCore::InspectorIndexedDBAgent::clearObjectStore):

  • inspector/InspectorIndexedDBAgent.h:
  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorLayerTreeAgent::enable):
(WebCore::InspectorLayerTreeAgent::disable):
(WebCore::InspectorLayerTreeAgent::layersForNode):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
(WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
(WebCore::InspectorLayerTreeAgent::idForNode):
(WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):

  • inspector/InspectorLayerTreeAgent.h:
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResourceContent):
(WebCore::InspectorPageAgent::resourceContent):
(WebCore::InspectorPageAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorPageAgent::enable):
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
(WebCore::InspectorPageAgent::removeScriptToEvaluateOnLoad):
(WebCore::InspectorPageAgent::reload):
(WebCore::InspectorPageAgent::navigate):
(WebCore::InspectorPageAgent::getCookies):
(WebCore::InspectorPageAgent::deleteCookie):
(WebCore::InspectorPageAgent::getResourceTree):
(WebCore::InspectorPageAgent::getResourceContent):
(WebCore::InspectorPageAgent::searchInResource):
(WebCore::InspectorPageAgent::searchInResources):
(WebCore::InspectorPageAgent::setDocumentContent):
(WebCore::InspectorPageAgent::setShowPaintRects):
(WebCore::InspectorPageAgent::canShowDebugBorders):
(WebCore::InspectorPageAgent::setShowDebugBorders):
(WebCore::InspectorPageAgent::canShowFPSCounter):
(WebCore::InspectorPageAgent::setShowFPSCounter):
(WebCore::InspectorPageAgent::canContinuouslyPaint):
(WebCore::InspectorPageAgent::setContinuousPaintingEnabled):
(WebCore::InspectorPageAgent::getScriptExecutionStatus):
(WebCore::InspectorPageAgent::setScriptExecutionDisabled):
(WebCore::InspectorPageAgent::assertFrame):
(WebCore::InspectorPageAgent::assertDocumentLoader):
(WebCore::InspectorPageAgent::setTouchEmulationEnabled):
(WebCore::InspectorPageAgent::setEmulatedMedia):
(WebCore::InspectorPageAgent::getCompositingBordersVisible):
(WebCore::InspectorPageAgent::setCompositingBordersVisible):
(WebCore::InspectorPageAgent::snapshotNode):
(WebCore::InspectorPageAgent::snapshotRect):
(WebCore::InspectorPageAgent::handleJavaScriptDialog):
(WebCore::InspectorPageAgent::archive):

  • inspector/InspectorPageAgent.h:
  • inspector/InspectorReplayAgent.cpp:

(WebCore::InspectorReplayAgent::startCapturing):
(WebCore::InspectorReplayAgent::stopCapturing):
(WebCore::InspectorReplayAgent::replayToPosition):
(WebCore::InspectorReplayAgent::replayToCompletion):
(WebCore::InspectorReplayAgent::pausePlayback):
(WebCore::InspectorReplayAgent::cancelPlayback):
(WebCore::InspectorReplayAgent::switchSession):
(WebCore::InspectorReplayAgent::insertSessionSegment):
(WebCore::InspectorReplayAgent::removeSessionSegment):
(WebCore::InspectorReplayAgent::findSession):
(WebCore::InspectorReplayAgent::findSegment):
(WebCore::InspectorReplayAgent::currentReplayState):
(WebCore::InspectorReplayAgent::getAvailableSessions):
(WebCore::InspectorReplayAgent::getSessionData):
(WebCore::InspectorReplayAgent::getSegmentData):

  • inspector/InspectorReplayAgent.h:
  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorResourceAgent::~InspectorResourceAgent):
(WebCore::InspectorResourceAgent::enable):
(WebCore::InspectorResourceAgent::disable):
(WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
(WebCore::InspectorResourceAgent::getResponseBody):
(WebCore::InspectorResourceAgent::replayXHR):
(WebCore::InspectorResourceAgent::canClearBrowserCache):
(WebCore::InspectorResourceAgent::clearBrowserCache):
(WebCore::InspectorResourceAgent::canClearBrowserCookies):
(WebCore::InspectorResourceAgent::clearBrowserCookies):
(WebCore::InspectorResourceAgent::setCacheDisabled):
(WebCore::InspectorResourceAgent::loadResource):

  • inspector/InspectorResourceAgent.h:
  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::resourceStyleSheetText):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorTimelineAgent::start):
(WebCore::InspectorTimelineAgent::stop):

  • inspector/InspectorTimelineAgent.h:
  • inspector/InspectorWorkerAgent.cpp:

(WebCore::InspectorWorkerAgent::willDestroyFrontendAndBackend):
(WebCore::InspectorWorkerAgent::enable):
(WebCore::InspectorWorkerAgent::disable):
(WebCore::InspectorWorkerAgent::canInspectWorkers):
(WebCore::InspectorWorkerAgent::connectToWorker):
(WebCore::InspectorWorkerAgent::disconnectFromWorker):
(WebCore::InspectorWorkerAgent::sendMessageToWorker):
(WebCore::InspectorWorkerAgent::setAutoconnectToWorkers):

  • inspector/InspectorWorkerAgent.h:
  • inspector/PageConsoleAgent.cpp:

(WebCore::PageConsoleAgent::clearMessages):
(WebCore::PageConsoleAgent::addInspectedNode):

  • inspector/PageConsoleAgent.h:
  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::injectedScriptForEval):
(WebCore::PageDebuggerAgent::setOverlayMessage):

  • inspector/PageDebuggerAgent.h:
  • inspector/PageRuntimeAgent.cpp:

(WebCore::PageRuntimeAgent::willDestroyFrontendAndBackend):
(WebCore::PageRuntimeAgent::enable):
(WebCore::PageRuntimeAgent::disable):
(WebCore::PageRuntimeAgent::injectedScriptForEval):

  • inspector/PageRuntimeAgent.h:
  • inspector/WebConsoleAgent.cpp:

(WebCore::WebConsoleAgent::setMonitoringXHREnabled):

  • inspector/WebConsoleAgent.h:
  • inspector/WorkerConsoleAgent.cpp:

(WebCore::WorkerConsoleAgent::addInspectedNode):

  • inspector/WorkerConsoleAgent.h:
  • inspector/WorkerDebuggerAgent.cpp:

(WebCore::WorkerDebuggerAgent::injectedScriptForEval):

  • inspector/WorkerDebuggerAgent.h:
  • inspector/WorkerInspectorController.cpp:

(WebCore::WorkerInspectorController::resume):

  • inspector/WorkerRuntimeAgent.cpp:

(WebCore::WorkerRuntimeAgent::injectedScriptForEval):
(WebCore::WorkerRuntimeAgent::run):

  • inspector/WorkerRuntimeAgent.h:
6:51 PM Changeset in webkit [174139] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Update Install.md for Mavericks and fix typos
https://bugs.webkit.org/show_bug.cgi?id=137276

Reviewed by Benjamin Poulain.

Add the instruction to copy php.ini to enable the Postgres extension in PHP.

Also use perf.webkit.org as the directory name instead of WebKitPerfMonitor.

Finally, init-database.sql is no longer located inside database directory.

  • Install.md:
5:17 PM Changeset in webkit [174138] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[ Windows ] More Windows test gardening to get bots green.

  • platform/win/TestExpectations: More indiscriminate mass skipping.
5:14 PM Changeset in webkit [174137] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Source/WebCore:
Stack overflow with enormous SVG filter
https://bugs.webkit.org/show_bug.cgi?id=63290

Prevent building an SVG filter if it has more than 200 FilterEffect nodes in its map
regardless whether they will be connected to its lastEffect or not. Also discard any
filter which has more 100 contributing FilterEffect nodes in its tree.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-09-30
Reviewed by Dean Jackson.

Tests: svg/filters/svg-deeply-nested-crash.html

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::collectEffects):
(WebCore::FilterEffect::totalNumberOfEffectInputs):

  • platform/graphics/filters/FilterEffect.h:

-- Add a method to return the total number of input FilterEffect's contributing to a FilterEffect.

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::buildPrimitives):
-- Do not build a filter if it has more than 200 FilterEffects in its map.
(WebCore::RenderSVGResourceFilter::applyResource):
-- Discard a filter after it was built if it has more than 100 FilterEffects in its tree.

LayoutTests:
Stack overflow with enormous SVG filter.
https://bugs.webkit.org/show_bug.cgi?id=63290.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-09-30
Reviewed by Dean Jackson.

Test if an SVG filter with deeply nested tree of FilterEffects can be loaded
with no crash. Make sure other valid filters can still be referenced by SVG
drawing elements. An SVG Filter will be ignored if the number of effects in
its map is greater than 200 or the total number of effects connected to its
last effect is greater than 100.

  • svg/filters/svg-deeply-nested-crash-expected.txt: Added.
  • svg/filters/svg-deeply-nested-crash.html: Added.
5:11 PM Changeset in webkit [174136] by evab.u-szeged@partner.samsung.com
  • 169 edits
    1 delete in trunk/Tools

Remove thirdparty/unittest2 from webkitpy
https://bugs.webkit.org/show_bug.cgi?id=137251

Reviewed by Brent Fulgham.

Additionally ordered imports in related webkitpy files and
removed unnecessary shebangs from unittest files.

  • BuildSlaveSupport/build.webkit.org-config/htdigestparser_unittest.py:
  • Scripts/webkitpy/common/checkout/changelog_unittest.py:
  • Scripts/webkitpy/common/checkout/checkout_unittest.py:
  • Scripts/webkitpy/common/checkout/commitinfo_unittest.py:
  • Scripts/webkitpy/common/checkout/diff_parser_unittest.py:
  • Scripts/webkitpy/common/checkout/scm/detection_unittest.py:
  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
  • Scripts/webkitpy/common/config/committers_unittest.py:
  • Scripts/webkitpy/common/config/committervalidator_unittest.py:
  • Scripts/webkitpy/common/config/contributionareas_unittest.py:
  • Scripts/webkitpy/common/config/ports_unittest.py:
  • Scripts/webkitpy/common/config/urls_unittest.py:
  • Scripts/webkitpy/common/editdistance_unittest.py:
  • Scripts/webkitpy/common/find_files_unittest.py:
  • Scripts/webkitpy/common/lru_cache_unittest.py:
  • Scripts/webkitpy/common/memoized_unittest.py:
  • Scripts/webkitpy/common/net/bugzilla/bug_unittest.py:
  • Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:
  • Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
  • Scripts/webkitpy/common/net/credentials_unittest.py:
  • Scripts/webkitpy/common/net/failuremap_unittest.py:
  • Scripts/webkitpy/common/net/irc/ircproxy_unittest.py:
  • Scripts/webkitpy/common/net/layouttestresults_unittest.py:
  • Scripts/webkitpy/common/net/networktransaction_unittest.py:
  • Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
  • Scripts/webkitpy/common/net/statusserver_unittest.py:
  • Scripts/webkitpy/common/net/unittestresults_unittest.py:
  • Scripts/webkitpy/common/newstringio_unittest.py:
  • Scripts/webkitpy/common/prettypatch_unittest.py:
  • Scripts/webkitpy/common/read_checksum_from_png_unittest.py:
  • Scripts/webkitpy/common/system/crashlogs_unittest.py:
  • Scripts/webkitpy/common/system/environment_unittest.py:
  • Scripts/webkitpy/common/system/executive.py: Ordered imports.
  • Scripts/webkitpy/common/system/executive_mock.py: Ordered imports.
  • Scripts/webkitpy/common/system/executive_unittest.py:
  • Scripts/webkitpy/common/system/file_lock_integrationtest.py:
  • Scripts/webkitpy/common/system/filesystem_mock_unittest.py:
  • Scripts/webkitpy/common/system/filesystem_unittest.py:
  • Scripts/webkitpy/common/system/logtesting.py:
  • Scripts/webkitpy/common/system/logutils_unittest.py:
  • Scripts/webkitpy/common/system/outputcapture.py:
  • Scripts/webkitpy/common/system/outputcapture_unittest.py:
  • Scripts/webkitpy/common/system/outputtee_unittest.py:
  • Scripts/webkitpy/common/system/path_unittest.py:
  • Scripts/webkitpy/common/system/platforminfo_unittest.py:
  • Scripts/webkitpy/common/system/profiler_unittest.py:
  • Scripts/webkitpy/common/system/stack_utils_unittest.py:
  • Scripts/webkitpy/common/system/user_unittest.py:
  • Scripts/webkitpy/common/system/workspace_unittest.py:
  • Scripts/webkitpy/common/system/zipfileset_unittest.py:
  • Scripts/webkitpy/common/thread/messagepump_unittest.py:
  • Scripts/webkitpy/common/thread/threadedmessagequeue_unittest.py:
  • Scripts/webkitpy/common/watchlist/amountchangedpattern_unittest.py:
  • Scripts/webkitpy/common/watchlist/changedlinepattern_unittest.py:
  • Scripts/webkitpy/common/watchlist/filenamepattern_unittest.py:
  • Scripts/webkitpy/common/watchlist/watchlist_unittest.py:
  • Scripts/webkitpy/common/watchlist/watchlistrule_unittest.py:
  • Scripts/webkitpy/common/webkitunittest.py:
  • Scripts/webkitpy/layout_tests/controllers/layout_test_runner_unittest.py:
  • Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
  • Scripts/webkitpy/layout_tests/controllers/test_result_writer_unittest.py:
  • Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:
  • Scripts/webkitpy/layout_tests/lint_test_expectations_unittest.py:
  • Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py:
  • Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
  • Scripts/webkitpy/layout_tests/models/test_failures_unittest.py:
  • Scripts/webkitpy/layout_tests/models/test_results_unittest.py:
  • Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
  • Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py:
  • Scripts/webkitpy/layout_tests/servers/http_server_base_unittest.py:
  • Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py:
  • Scripts/webkitpy/layout_tests/servers/http_server_unittest.py:
  • Scripts/webkitpy/layout_tests/views/buildbot_results_unittest.py:
  • Scripts/webkitpy/layout_tests/views/metered_stream_unittest.py:
  • Scripts/webkitpy/layout_tests/views/printing_unittest.py:
  • Scripts/webkitpy/performance_tests/perftest_unittest.py:
  • Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
  • Scripts/webkitpy/port/base_unittest.py:
  • Scripts/webkitpy/port/builders_unittest.py:
  • Scripts/webkitpy/port/config_unittest.py:
  • Scripts/webkitpy/port/driver_unittest.py:
  • Scripts/webkitpy/port/efl_unittest.py:
  • Scripts/webkitpy/port/factory_unittest.py:
  • Scripts/webkitpy/port/gtk_unittest.py:
  • Scripts/webkitpy/port/http_lock_unittest.py:
  • Scripts/webkitpy/port/image_diff_unittest.py:
  • Scripts/webkitpy/port/leakdetector_unittest.py:
  • Scripts/webkitpy/port/leakdetector_valgrind_unittest.py:
  • Scripts/webkitpy/port/linux_get_crash_log_unittest.py:
  • Scripts/webkitpy/port/mock_drt_unittest.py:
  • Scripts/webkitpy/port/port_testcase.py:
  • Scripts/webkitpy/port/server_process_unittest.py:
  • Scripts/webkitpy/port/westondriver_unittest.py:
  • Scripts/webkitpy/port/win_unittest.py:
  • Scripts/webkitpy/port/xvfbdriver_unittest.py:
  • Scripts/webkitpy/style/checker_unittest.py:
  • Scripts/webkitpy/style/checkers/changelog_unittest.py:
  • Scripts/webkitpy/style/checkers/cmake_unittest.py:
  • Scripts/webkitpy/style/checkers/common_unittest.py:
  • Scripts/webkitpy/style/checkers/cpp_unittest.py:
  • Scripts/webkitpy/style/checkers/exportfile_unittest.py:
  • Scripts/webkitpy/style/checkers/js_unittest.py:
  • Scripts/webkitpy/style/checkers/jsonchecker_unittest.py:
  • Scripts/webkitpy/style/checkers/messagesin_unittest.py:
  • Scripts/webkitpy/style/checkers/png_unittest.py:
  • Scripts/webkitpy/style/checkers/python_unittest.py:
  • Scripts/webkitpy/style/checkers/test_expectations_unittest.py:
  • Scripts/webkitpy/style/checkers/text_unittest.py:
  • Scripts/webkitpy/style/checkers/watchlist_unittest.py:
  • Scripts/webkitpy/style/checkers/xcodeproj_unittest.py:
  • Scripts/webkitpy/style/checkers/xml_unittest.py:
  • Scripts/webkitpy/style/error_handlers_unittest.py:
  • Scripts/webkitpy/style/filereader_unittest.py:
  • Scripts/webkitpy/style/filter_unittest.py:
  • Scripts/webkitpy/style/main_unittest.py:
  • Scripts/webkitpy/style/optparser_unittest.py:
  • Scripts/webkitpy/style/patchreader_unittest.py:
  • Scripts/webkitpy/test/finder_unittest.py:
  • Scripts/webkitpy/test/main.py: Ordered imports.
  • Scripts/webkitpy/test/main_unittest.py:
  • Scripts/webkitpy/test/printer.py: Ordered imports.

(Printer.configure):

  • Scripts/webkitpy/test/runner_unittest.py:
  • Scripts/webkitpy/test/skip_unittest.py:
  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook._install_irc):
(AutoinstallImportHook._install_unittest2): Deleted.

  • Scripts/webkitpy/thirdparty/init_unittest.py:
  • Scripts/webkitpy/thirdparty/ordered_dict.py: Removed.
  • Scripts/webkitpy/to_be_moved/update_webgl_conformance_tests_unittest.py:
  • Scripts/webkitpy/tool/bot/botinfo_unittest.py:
  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:
  • Scripts/webkitpy/tool/bot/expectedfailures_unittest.py:
  • Scripts/webkitpy/tool/bot/feeders_unittest.py:
  • Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:
  • Scripts/webkitpy/tool/bot/ircbot_unittest.py:
  • Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:
  • Scripts/webkitpy/tool/bot/queueengine_unittest.py:
  • Scripts/webkitpy/tool/bot/sheriff_unittest.py:
  • Scripts/webkitpy/tool/commands/download_unittest.py:
  • Scripts/webkitpy/tool/commands/newcommitbot_unittest.py:
  • Scripts/webkitpy/tool/commands/perfalizer_unittest.py:
  • Scripts/webkitpy/tool/commands/queries_unittest.py:
  • Scripts/webkitpy/tool/commands/queuestest.py:
  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
  • Scripts/webkitpy/tool/grammar_unittest.py:
  • Scripts/webkitpy/tool/mocktool_unittest.py:
  • Scripts/webkitpy/tool/multicommandtool_unittest.py:
  • Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
  • Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py:
  • Scripts/webkitpy/tool/servers/reflectionhandler_unittest.py:
  • Scripts/webkitpy/tool/steps/addsvnmimetypeforpng_unittest.py:
  • Scripts/webkitpy/tool/steps/applywatchlist_unittest.py:
  • Scripts/webkitpy/tool/steps/cleanworkingdirectory_unittest.py:
  • Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
  • Scripts/webkitpy/tool/steps/commit_unittest.py:
  • Scripts/webkitpy/tool/steps/discardlocalchanges_unittest.py:
  • Scripts/webkitpy/tool/steps/haslanded_unittest.py:
  • Scripts/webkitpy/tool/steps/preparechangelog_unittest.py:
  • Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
  • Scripts/webkitpy/tool/steps/runtests_unittest.py:
  • Scripts/webkitpy/tool/steps/steps_unittest.py:
  • Scripts/webkitpy/tool/steps/suggestreviewers_unittest.py:
  • Scripts/webkitpy/tool/steps/update_unittest.py:
  • Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittest.py:
  • Scripts/webkitpy/tool/steps/validatechangelogs_unittest.py:
  • Scripts/webkitpy/w3c/test_converter_unittest.py:
  • Scripts/webkitpy/w3c/test_importer_unittest.py:
  • Scripts/webkitpy/w3c/test_parser_unittest.py:
4:42 PM Changeset in webkit [174135] by roger_fong@apple.com
  • 5 edits in trunk/LayoutTests

[ Windows ] More Windows test gardening to get bots green.

  • platform/win/TestExpectations:
  • platform/win/css3/unicode-bidi-isolate-basic-expected.txt:
  • platform/win/fast/multicol/vertical-rl/float-multicol-expected.txt:
  • platform/win/fast/multicol/vertical-rl/nested-columns-expected.txt:
4:32 PM Changeset in webkit [174134] by Beth Dakin
  • 2 edits in trunk/LayoutTests

According to the history, this test has been very flaky. Marking as such.

  • platform/mac/TestExpectations:
4:15 PM Changeset in webkit [174133] by bshafiei@apple.com
  • 2 edits in tags/Safari-601.1.1.1/Source/JavaScriptCore

Merged r174108. <rdar://problem/18487528>

4:03 PM Changeset in webkit [174132] by Chris Dumez
  • 17 edits in trunk/Source/WebCore

Use is<>() / downcast<>() for ContainerNode
https://bugs.webkit.org/show_bug.cgi?id=137270

Reviewed by Andreas Kling.

Use is<>() / downcast<>() for ContainerNode instead of isContainerNode()
/ toContainerNode(). Also kill the NODE_TYPE_CASTS() macro as this was
its last user.

No new tests, no behavior change.

  • dom/ContainerNode.cpp:

(WebCore::collectChildrenAndRemoveFromOldParent):
(WebCore::ContainerNode::willRemoveChild):
(WebCore::cloneChildNodesAvoidingDeleteButton):

  • dom/ContainerNode.h:

(WebCore::Node::countChildNodes):
(WebCore::Node::traverseToChildAt):
(WebCore::Node::firstChild):
(WebCore::Node::lastChild):
(isType):
(WebCore::isContainerNode): Deleted.

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
(WebCore::ChildNodeInsertionNotifier::notify):
(WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromDocument):
(WebCore::ChildNodeRemovalNotifier::notify):

  • dom/Node.cpp:

(WebCore::Node::childNodes):
(WebCore::Node::insertBefore):
(WebCore::Node::replaceChild):
(WebCore::Node::removeChild):
(WebCore::Node::appendChild):
(WebCore::Node::setTextContent):

  • dom/Node.h:
  • dom/Range.cpp:

(WebCore::Range::surroundContents):

  • dom/TextNodeTraversal.cpp:

(WebCore::TextNodeTraversal::contentsAsString):

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyBlockStyle):

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::insertNodeAt):

  • editing/Editor.cpp:

(WebCore::correctSpellcheckingPreservingTextCheckingParagraph):

  • html/MediaDocument.cpp:

(WebCore::MediaDocument::defaultEventHandler):

  • html/parser/HTMLConstructionSite.h:

(WebCore::HTMLConstructionSiteTask::oldParent):

  • html/track/VTTCue.cpp:

(WebCore::VTTCue::copyWebVTTNodeToDOMTree):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::querySelector):
(WebCore::InspectorDOMAgent::querySelectorAll):

  • inspector/InspectorNodeFinder.cpp:

(WebCore::InspectorNodeFinder::searchUsingCSSSelectors):

3:59 PM Changeset in webkit [174131] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.1.1/Source

Versioning.

3:58 PM Changeset in webkit [174130] by commit-queue@webkit.org
  • 12 edits in trunk/Tools

LayoutTestResults and ExpectedFailures should know about the
interrupted flag from the json results file
https://bugs.webkit.org/show_bug.cgi?id=137229

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-09-30
Reviewed by Daniel Bates.

Changes LayoutTestResults to use the interrupted flag instead of
counting failures.

  • Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:

(BuilderTest._install_fetch_build._mock_fetch_build):
(BuilderTest.test_latest_layout_test_results):

  • Scripts/webkitpy/common/net/layouttestresults.py:

Removes notion of failure_limit_count, and adds
did_exceed_test_failure_limit.

(LayoutTestResults.results_from_string):
(LayoutTestResults.init):
(LayoutTestResults.did_exceed_test_failure_limit):
(LayoutTestResults): Deleted.
(LayoutTestResults.set_failure_limit_count): Deleted.
(LayoutTestResults.failure_limit_count): Deleted.

  • Scripts/webkitpy/common/net/layouttestresults_unittest.py:

Removes unit test for failure_limit_count logic.

(LayoutTestResultsTest.test_set_failure_limit_count): Deleted.

  • Scripts/webkitpy/common/net/resultsjsonparser.py:

Instead of providing a class method that returns a list of
TestResults objects, resultsjsonparser now provides a class
ParsedJSONResults that serves as an interface between the results.json
file and the rest of webkitpy.

(ParsedJSONResults):
(ParsedJSONResults.init):
(ParsedJSONResults.did_exceed_test_failure_limit):
(ParsedJSONResults.test_results):
(ResultsJSONParser): Deleted.
(ResultsJSONParser.parse_results_json): Deleted.

  • Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:

Updates the unit test so that it can test the new ResultsJSONParser
class.

(ParsedJSONResultsTest):
(test_basic):
(ResultsJSONParserTest): Deleted.

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:

Updates the unit test to instantiate ResultsJSONParser objects rather
than simple lists of TestResult objects.

(MockCommitQueue.test_results):
(FailingTestCommitQueue.test_results):
(test_flaky_test_failure):
(test_failed_archive):

  • Scripts/webkitpy/tool/bot/expectedfailures.py:

Updates ExpectedFailures to use the did_exceed_test_failure_limit
method rather than counting the number of failed tests.

(ExpectedFailures._should_trust):

  • Scripts/webkitpy/tool/bot/expectedfailures_unittest.py:

Updates MockResults to more closely resemble the updated
LayoutTestResults class.

(MockResults.init):
(MockResults.did_exceed_test_failure_limit):
(ExpectedFailuresTest.test_can_trust_results):
(ExpectedFailuresTest.test_unexpected_failures_observed):
(ExpectedFailuresTest.test_unexpected_failures_observed_when_tree_is_hosed):
(MockResults.failure_limit_count): Deleted.

  • Scripts/webkitpy/tool/bot/layouttestresultsreader.py:

Removes a FIXME regarding the use of the
NON_INTERACTIVE_FAILURE_LIMIT_COUNT value.

(LayoutTestResultsReader.results):

  • Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:

Updates test to not check the now-nonexistant failure_count_limit
method.

(test_missing_unit_test_results_path):
(test_layout_test_results):

  • Scripts/webkitpy/tool/servers/rebaselineserver_unittest.py:

Accounts for name change: ResultsJSONParserTest ->
ParsedJSONParserTest.

(RebaselineTestTest.test_gather_baselines):

3:56 PM Changeset in webkit [174129] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.1.1

New tag.

3:54 PM Changeset in webkit [174128] by gyuyoung.kim@samsung.com
  • 9 edits in trunk

[EFL] Rename TEST_THEME_DIR macro
https://bugs.webkit.org/show_bug.cgi?id=137244

Reviewed by Csaba Osztrogonác.

.:

  • Source/cmake/OptionsEfl.cmake: Rename TEST_THEME_DIR to DEFAULT_THEME_DIR.

Source/WebKit2:

TEST_THEME_DIR is to get a path for default theme though, it has used TEST_ prefix.
DEFAULT_THEME_DIR is better than it.

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:

(EWK2UnitTest::EWK2UnitTestEnvironment::defaultTheme):
(EWK2UnitTest::EWK2UnitTestEnvironment::pathForTheme):

  • UIProcess/efl/WebInspectorProxyEfl.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

Tools:

TEST_THEME_DIR is to get a path for default theme though, it has used TEST_ prefix.
DEFAULT_THEME_DIR is better than it.

  • MiniBrowser/efl/main.c:

(window_create):

  • TestWebKitAPI/efl/PlatformWebView.cpp:

(TestWebKitAPI::PlatformWebView::PlatformWebView):

  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:

(WTR::PlatformWebView::PlatformWebView):

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

[Windows] Remove an errant WTFLogAlways that makes test output hard to read and generates stderr output.

  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp:

(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFinishLoading):

3:12 PM Changeset in webkit [174126] by hyatt@apple.com
  • 2 edits in trunk/Source/WebCore

Remove a multicolumn ASSERT and replace with a guard.
https://bugs.webkit.org/show_bug.cgi?id=137272

Reviewed by Alexey Proskuryakov.

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::isValidColumnSpanner):
For now remove the assert that is tripping and replace it with a guard
until we can figure out why it's getting hit.

2:32 PM Changeset in webkit [174125] by Chris Dumez
  • 70 edits
    1 add in trunk/Source

Generalize is<>() / downcast<>() support to all types
https://bugs.webkit.org/show_bug.cgi?id=137243

Reviewed by Benjamin Poulain.

Generalize is<>() / downcast<>() support to all types, not just Nodes.
Source/WebCore:

To achieve this, the following changes were made:

  • Move is<> / downcast<>() and NodeTypeCastTraits from Node.h to a new wtf/TypeCasts.h header. Also move them to WTF namespace instead of WebCore namespace as they can be used for classes in other namespaces (e.g. WebKit namespace).
  • Rename NodeTypeCastsTraits to TypeCastTraits as it can be specialized for non-Nodes.
  • Since C++ does not allow template specializations in different namespaces, I had to move all the SPECIALIZE_TYPE_TRAITS_*() uses to
the global scope and use the WebCore
namespace explicitly in those. This is a bit unfortunate but I couldn't find a better way.

This patch also takes care of supporting is<>() / downcast<>() for
the WorkerGlobalScope class, which does not derive from Node.

No new tests, no behavior change.

  • Modules/indexeddb/IDBFactory.cpp:
  • Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp:

(WebCore::WorkerGlobalScopeIndexedDatabase::from):

  • Modules/websockets/ThreadableWebSocketChannel.cpp:

(WebCore::ThreadableWebSocketChannel::create):

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::toJSDOMGlobalObject):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::execute):

  • dom/Attr.h:

(isType):
(WebCore::isAttr): Deleted.

  • dom/CDATASection.h:

(isType):
(WebCore::isCDATASection): Deleted.

  • dom/CharacterData.h:

(isType):
(WebCore::isCharacterData): Deleted.

  • dom/Comment.h:

(isType):
(WebCore::isComment): Deleted.

  • dom/Document.h:

(isType):
(WebCore::isDocument): Deleted.

  • dom/DocumentFragment.h:

(isType):
(WebCore::isDocumentFragment): Deleted.

  • dom/DocumentType.h:

(isType):
(WebCore::isDocumentType): Deleted.

  • dom/Element.h:
  • dom/MessagePort.cpp:

(WebCore::MessagePort::dispatchMessages):

  • dom/Node.h:

(WebCore::is): Deleted.
(WebCore::downcast): Deleted.

  • dom/ProcessingInstruction.h:

(isType):
(WebCore::isProcessingInstruction): Deleted.

  • dom/PseudoElement.h:

(isType):
(WebCore::isPseudoElement): Deleted.

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::createdMessagePort):
(WebCore::ScriptExecutionContext::destroyedMessagePort):
(WebCore::ScriptExecutionContext::vm):

  • dom/ScriptExecutionContext.h:
  • dom/ShadowRoot.h:

(isType):
(WebCore::isShadowRoot): Deleted.

  • dom/StyledElement.h:

(isType):
(WebCore::isStyledElement): Deleted.

  • dom/Text.h:

(isType):
(WebCore::isText): Deleted.

  • dom/make_names.pl:

(printTypeHelpers):
(printTypeHelpersHeaderFile):

  • html/HTMLDocument.h:

(isType):
(WebCore::isHTMLDocument): Deleted.

  • html/HTMLElement.h:

(isType):
(WebCore::isHTMLElement): Deleted.

  • html/HTMLFormControlElement.h:

(isType):
(WebCore::isHTMLFormControlElement): Deleted.

  • html/HTMLFrameElementBase.h:

(isType):
(WebCore::isHTMLFrameElementBase): Deleted.

  • html/HTMLFrameOwnerElement.h:

(isType):
(WebCore::isHTMLFrameOwnerElement): Deleted.

  • html/HTMLMediaElement.h:

(isType):
(WebCore::isHTMLMediaElement): Deleted.

  • html/HTMLPlugInElement.h:

(isType):
(WebCore::isHTMLPlugInElement): Deleted.

  • html/HTMLPlugInImageElement.h:

(isType):
(WebCore::isHTMLPlugInImageElement): Deleted.

  • html/HTMLTableCellElement.h:

(isType):
(WebCore::isHTMLTableCellElement): Deleted.

  • html/HTMLTableSectionElement.h:

(isType):
(WebCore::isHTMLTableSectionElement): Deleted.

  • html/HTMLTextFormControlElement.h:

(isType):
(WebCore::isHTMLTextFormControlElement): Deleted.

  • html/ImageDocument.h:

(isType):
(WebCore::isImageDocument): Deleted.

  • html/LabelableElement.h:

(isType):
(WebCore::isLabelableElement): Deleted.

  • html/MediaDocument.h:

(isType):
(WebCore::isMediaDocument): Deleted.

  • html/PluginDocument.h:

(isType):
(WebCore::isPluginDocument): Deleted.

  • html/shadow/InsertionPoint.h:

(isType):
(WebCore::isInsertionPoint): Deleted.

  • html/shadow/TextControlInnerElements.h:

(isType):
(WebCore::isTextControlInnerTextElement): Deleted.

  • html/track/WebVTTElement.h:

(isType):
(WebCore::isWebVTTElement): Deleted.

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):

  • loader/ThreadableLoader.cpp:

(WebCore::ThreadableLoader::create):
(WebCore::ThreadableLoader::loadResourceSynchronously):

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::removeRequestFromCache):
(WebCore::MemoryCache::removeRequestFromSessionCaches):

  • mathml/MathMLElement.h:

(isType):
(WebCore::isMathMLElement): Deleted.

  • svg/SVGAnimateElementBase.h:

(isType):
(WebCore::isSVGAnimateElementBase): Deleted.

  • svg/SVGDocument.h:

(isType):
(WebCore::isSVGDocument): Deleted.

  • svg/SVGElement.h:

(isType):
(WebCore::isSVGElement): Deleted.

  • svg/SVGFilterPrimitiveStandardAttributes.h:

(isType):
(WebCore::isSVGFilterPrimitiveStandardAttributes): Deleted.

  • svg/SVGGradientElement.h:

(isType):
(WebCore::isSVGGradientElement): Deleted.

  • svg/SVGGraphicsElement.h:

(isType):
(WebCore::isSVGGraphicsElement): Deleted.

  • svg/SVGPolyElement.h:

(isType):
(WebCore::isSVGPolyElement): Deleted.

  • svg/SVGTextContentElement.h:

(isType):
(WebCore::isSVGTextContentElement): Deleted.

  • svg/animation/SVGSMILElement.h:

(isType):
(WebCore::isSVGSMILElement): Deleted.

  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::close):

  • workers/WorkerGlobalScope.h:

(isType):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::notifyNetworkStateChange):
(WebCore::WorkerMessagingProxy::connectToInspector):
(WebCore::WorkerMessagingProxy::disconnectFromInspector):
(WebCore::WorkerMessagingProxy::sendMessageToInspector):

  • workers/WorkerScriptLoader.cpp:

(WebCore::WorkerScriptLoader::loadSynchronously):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::stop):

Source/WebKit/win:

  • DOMCoreClasses.cpp:

(DOMElement::createInstance):

Source/WebKit2:

  • WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:

(-[WKDOMDocument createElement:]):
(-[WKDOMDocument createTextNode:]):
(-[WKDOMDocument body]):

  • WebProcess/InjectedBundle/API/mac/WKDOMText.mm:

(-[WKDOMText data]):
(-[WKDOMText setData:]):

Source/WTF:

  • wtf/Assertions.h:
  • wtf/TypeCasts.h: Added.

(WTF::is):
(WTF::downcast):

2:30 PM Changeset in webkit [174124] by ap@apple.com
  • 3 edits in trunk/Tools

Windows EWS went purple when it failed to build
https://bugs.webkit.org/show_bug.cgi?id=137267

Reviewed by Ryosuke Niwa.

  • QueueStatusServer/app.yaml: Update the version.
  • QueueStatusServer/model/attachment.py: (Attachment._calculate_queue_positions):

Make it work for style and win-ews queues.

2:11 PM Changeset in webkit [174123] by fpizlo@apple.com
  • 2 edits
    1 move
    20 adds in trunk

It should be fun and easy to run every possible JavaScript benchmark from the command line
https://bugs.webkit.org/show_bug.cgi?id=137245

Reviewed by Oliver Hunt.

PerformanceTests:

This adds the scaffolding for running Octane version 2 inside run-jsc-benchmarks.
In the future we should just land Octane2 in this directory, and run-jsc-benchmarks
should be changed to point directly at this directory instead of requiring the
Octane path to be configured as part of the configuration file.

  • Octane: Added.
  • Octane/wrappers: Added.
  • Octane/wrappers/jsc-box2d.js: Added.

(jscSetUp):
(jscTearDown):
(jscRun):

  • Octane/wrappers/jsc-boyer.js: Added.

(jscSetUp):
(jscTearDown):
(jscRun):

  • Octane/wrappers/jsc-closure.js: Added.

(jscSetUp):
(jscTearDown):
(jscRun):

  • Octane/wrappers/jsc-decrypt.js: Added.

(jscSetUp):
(jscTearDown):
(jscRun):

  • Octane/wrappers/jsc-deltablue.js: Added.

(jscSetUp):
(jscTearDown):
(jscRun):

  • Octane/wrappers/jsc-earley.js: Added.

(jscSetUp):
(jscTearDown):
(jscRun):

  • Octane/wrappers/jsc-encrypt.js: Added.

(jscSetUp):
(jscTearDown):
(jscRun):

  • Octane/wrappers/jsc-gbemu.js: Added.

(jscSetUp):
(jscTearDown):
(jscRun):

  • Octane/wrappers/jsc-jquery.js: Added.

(jscSetUp):
(jscTearDown):
(jscRun):

  • Octane/wrappers/jsc-mandreel.js: Added.

(jscSetUp):
(jscTearDown):
(jscRun):

  • Octane/wrappers/jsc-navier-stokes.js: Added.

(jscSetUp):
(jscTearDown):
(jscRun):

  • Octane/wrappers/jsc-pdfjs.js: Added.

(jscSetUp.PdfJS_window.console.log):
(jscSetUp):
(jscTearDown):
(jscRun):

  • Octane/wrappers/jsc-raytrace.js: Added.

(jscSetUp):
(jscTearDown):
(jscRun):

  • Octane/wrappers/jsc-regexp.js: Added.

(jscSetUp):
(jscTearDown):
(jscRun):

  • Octane/wrappers/jsc-richards.js: Added.

(jscSetUp):
(jscTearDown):
(jscRun):

  • Octane/wrappers/jsc-splay.js: Added.

(jscSetUp):
(jscTearDown):
(jscRun):

  • Octane/wrappers/jsc-typescript.js: Added.

(jscSetUp):
(jscTearDown):
(jscRun):

  • Octane/wrappers/jsc-zlib.js: Added.

(jscSetUp):
(jscTearDown):
(jscRun):

Tools:

We previously had Tools/Scripts/bencher. Then we stopped adding things to it because we
weren't sure about the licensing of things like Kraken and Octane. Various people ended up
having their own private scripts for doing benchmark runs, and didn't share them in the open
source community, because of fears about the shady licensing of the benchmarks suites that
they were running. The dominant version of this was "run-jsc-benchmarks", which has a lot of
excellent power - it can run benchmarks through either jsc, DumpRenferTree, or
WebKitTestRunner; it can run tests on any number of remote machines; and it has inside
knowledge about how to run *a lot* of test suites. Many of those test suites are not public,
but some of them are. The non-public tests are exclusively those that were not made by any
WebKit contributor, but which JSC/WebKit devs found useful for testing.

This fixes this weirdness by releasing run-jsc-benchmarks. The paths to the test suites
whose licenses are incompatible with WebKit's (to the extent that they cannot be safely
checked into WebKit svn at all) can be run by passing the path to them via a configuration
file. The default configuration file is ~/.run-jsc-benchmarks. The most important benchmark
suites are Octane version 2 and Kraken version 1.1. We should probably check Octane 2 into
WebKit eventually because it seems that the license is fine. Kraken, on the other hand, will
probably never be checked in because there is no license text anywhere in that benchmark.
A valid ~/.run-jsc-benchmarks file will just be something like:

{

"OctanePath": "/path/to/Octane2",
"KrakenPath": "/path/to/Kraken-1.1/tests/kraken-1.1"

}


If your ~/.run-jsc-benchmarks file omits the directory for any particular test suite, then
run-jsc-benchmarks will just gracefully avoid running that test suite.

Finally, a word about policy: it is understood that different organizations that do
development on JSC may find themselves having internal benchmarks that they cannot share
because of weird licensing. It happens - usually because the organization doing JSC
development found some test in the wild that is owned by someone else and therefore cannot
be shared. So, we should consider it acceptable to write patches against run-jsc-benchmarks
that add support for some new kind of benchmark suite even if the suite is not made public
as part of the same patch - so long as the patch isn't too invasive. An example of
non-invasiveness is the DSPJS suite, which is implemented using some new classes (like
DSPJSAmmoJSRegularBenchmark) and some calls to otherwise reusable functions (like
emitSelfContainedBenchRunCode). It is obviously super helpful if a benchmark suite can be
completely open-sourced and committed to the WebKit repo - but the reality is that this
can't always be done safely.

  • Scripts/bencher: Removed.
  • Scripts/run-jsc-benchmarks: Added.
2:05 PM Changeset in webkit [174122] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Label some asserts as having security implications.
<https://webkit.org/b/137260>

Reviewed by Filip Pizlo.

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::handleAssertionFailure):

  • runtime/JSCell.h:

(JSC::jsCast):

  • runtime/StructureIDTable.h:

(JSC::StructureIDTable::get):

2:02 PM Changeset in webkit [174121] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION (r174025): Invalid cast in JSC::asString
https://bugs.webkit.org/show_bug.cgi?id=137224

Reviewed by Geoffrey Garen.

Store barrier elision in fixup depends on checking the type of the value being stored. It's very important that
when we speak of "the value being stored" we are really referring to the right value.

The bug here was that the PutClosureVar case was assuming that child2 is the value being stored. It's actually
child3. So we were incorrectly removing all barriers from PutClosureVar.

  • dfg/DFGFixupPhase.cpp:

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

1:36 PM Changeset in webkit [174120] by roger_fong@apple.com
  • 2 edits in trunk/Tools

[Windows] Back to 2 child processes for NRWT on Windows.

  • Scripts/webkitpy/port/win.py:

(WinPort.default_child_processes):
Changing the number of processes to 1 did not have an effect on the layout test results.
It does introduce an issue with one of the workers hanging indefinitely and causing the
layout tests to timeout as a whole occasionally, but we should just fix that.

1:32 PM Changeset in webkit [174119] by roger_fong@apple.com
  • 3 edits in trunk/LayoutTests

[ Windows ] More Windows test gardening to get bots green.

  • platform/win/TestExpectations:
  • platform/win/fast/dom/navigator-detached-no-crash-expected.txt:
12:59 PM Changeset in webkit [174118] by ap@apple.com
  • 2 edits in trunk/Tools

Remove an accidentally committed line..

  • QueueStatusServer/handlers/statusbubble.py:

(StatusBubble._build_bubble):

12:59 PM Changeset in webkit [174117] by Chris Dumez
  • 108 edits in trunk/Source

Use is<>() / downcast<>() for Element
https://bugs.webkit.org/show_bug.cgi?id=137241

Reviewed by Andreas Kling.

Use is<>() / downcast<>() for Element instead of isElementNode() /
toElement().

Source/WebCore:

No new tests, no behavior change.

  • accessibility/AXObjectCache.cpp:

(WebCore::nodeHasRole):
(WebCore::createFromRenderer):
(WebCore::AXObjectCache::handleLiveRegionCreated):
(WebCore::AXObjectCache::handleMenuItemSelected):
(WebCore::AXObjectCache::rootAXEditableElement):
(WebCore::isNodeAriaVisible):

  • accessibility/AccessibilityMenuList.cpp:

(WebCore::AccessibilityMenuList::canSetFocusAttribute):

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::determineAccessibilityRole):
(WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
(WebCore::AccessibilityNodeObject::isEnabled):
(WebCore::AccessibilityNodeObject::isPressed):
(WebCore::AccessibilityNodeObject::isHovered):
(WebCore::AccessibilityNodeObject::anchorElement):
(WebCore::nativeActionElement):
(WebCore::AccessibilityNodeObject::actionElement):
(WebCore::AccessibilityNodeObject::mouseButtonListener):
(WebCore::AccessibilityNodeObject::titleElementText):
(WebCore::AccessibilityNodeObject::helpText):
(WebCore::AccessibilityNodeObject::hierarchicalLevel):
(WebCore::AccessibilityNodeObject::title):
(WebCore::AccessibilityNodeObject::text):
(WebCore::accessibleNameForNode):
(WebCore::AccessibilityNodeObject::canSetFocusAttribute):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::press):
(WebCore::AccessibilityObject::hasTagName):
(WebCore::AccessibilityObject::hasAttribute):
(WebCore::AccessibilityObject::element):
(WebCore::AccessibilityObject::classList):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::anchorElement):
(WebCore::AccessibilityRenderObject::helpText):
(WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
(WebCore::AccessibilityRenderObject::titleUIElement):
(WebCore::AccessibilityRenderObject::accessKey):
(WebCore::AccessibilityRenderObject::setElementAttributeValue):
(WebCore::AccessibilityRenderObject::setFocused):
(WebCore::AccessibilityRenderObject::setValue):
(WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
(WebCore::AccessibilityRenderObject::correspondingLabelForControlElement):
(WebCore::AccessibilityRenderObject::renderObjectIsObservable):
(WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
(WebCore::AccessibilityRenderObject::setAccessibleName):
(WebCore::AccessibilityRenderObject::stringRoleForMSAA):

  • accessibility/AccessibilitySearchFieldButtons.cpp:

(WebCore::AccessibilitySearchFieldCancelButton::press):

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetAttributes):

  • bindings/gobject/WebKitDOMPrivate.cpp:

(WebKit::wrap):

  • bindings/js/JSNodeCustom.cpp:

(WebCore::isReachableFromDOM):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::styledNode):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::locateCousinList):

  • dom/ContainerNode.cpp:

(WebCore::destroyRenderTreeIfNeeded):
(WebCore::ContainerNode::notifyChildRemoved):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
(WebCore::assertConnectedSubrameCountIsConsistent):

  • dom/Document.cpp:

(WebCore::Document::importNode):
(WebCore::Document::elementFromPoint):

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):

  • dom/Element.cpp:

(WebCore::Element::computeInheritedLanguage):

  • dom/Element.h:

(WebCore::isElement):
(WebCore::Node::hasAttributes):
(WebCore::Node::attributes):
(WebCore::Node::parentElement):

  • dom/ElementTraversal.h:

(WebCore::Traversal<Element>::nextTemplate):
(WebCore::ElementTraversal::previousIncludingPseudo):
(WebCore::ElementTraversal::nextIncludingPseudo):
(WebCore::ElementTraversal::nextIncludingPseudoSkippingChildren):
(WebCore::ElementTraversal::pseudoAwarePreviousSibling):

  • dom/LiveNodeList.cpp:

(WebCore::LiveNodeList::namedItem):

  • dom/Node.cpp:

(WebCore::Node::dumpStatistics):
(WebCore::Node::normalize):
(WebCore::Node::pseudoAwareFirstChild):
(WebCore::Node::pseudoAwareLastChild):
(WebCore::Node::computedStyle):
(WebCore::Node::parentOrShadowHostElement):
(WebCore::Node::rootEditableElement):
(WebCore::Node::isEqualNode):
(WebCore::Node::isDefaultNamespace):
(WebCore::Node::lookupNamespacePrefix):
(WebCore::Node::ancestorElement):
(WebCore::appendAttributeDesc):
(WebCore::Node::showNodePathForThis):
(WebCore::Node::enclosingLinkEventParentOrSelf):
(WebCore::Node::handleLocalEvents):
(WebCore::Node::willRespondToMouseMoveEvents):
(WebCore::Node::willRespondToMouseClickEvents):

  • dom/NodeRenderingTraversal.cpp:

(WebCore::NodeRenderingTraversal::nodeCanBeDistributed):

  • dom/Position.cpp:

(WebCore::Position::element):

  • dom/Range.cpp:

(WebCore::Range::getBorderAndTextQuads):

  • dom/ShadowRoot.h:

(WebCore::Node::shadowRoot):

  • dom/StaticNodeList.cpp:

(WebCore::StaticNodeList::namedItem):

  • dom/TreeScopeAdopter.cpp:

(WebCore::TreeScopeAdopter::moveTreeToNewScope):

  • editing/ApplyStyleCommand.cpp:

(WebCore::dummySpanAncestorForNode):
(WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
(WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
(WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
(WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
(WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):

  • editing/BreakBlockquoteCommand.cpp:

(WebCore::BreakBlockquoteCommand::doApply):

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::isRemovableBlock):
(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
(WebCore::CompositeEditCommand::moveParagraphs):

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::makeStylingElementsDirectChildrenOfEditableRootToPreventStyleLoss):

  • editing/Editor.cpp:

(WebCore::Editor::isSpellCheckingEnabledFor):
(WebCore::Editor::applyEditingStyleToBodyElement):

  • editing/FormatBlockCommand.cpp:

(WebCore::isElementForFormatBlock):
(WebCore::FormatBlockCommand::elementForFormatBlockCommand):

  • editing/FrameSelection.cpp:

(WebCore::removingNodeRemovesPosition):
(WebCore::CaretBase::paintCaret):
(WebCore::FrameSelection::debugRenderer):

  • editing/IndentOutdentCommand.cpp:

(WebCore::IndentOutdentCommand::outdentParagraph):

  • editing/InsertParagraphSeparatorCommand.cpp:

(WebCore::InsertParagraphSeparatorCommand::doApply):

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::serializeNodesWithNamespaces):
(WebCore::MarkupAccumulator::appendStartMarkup):

  • editing/MarkupAccumulator.h:

(WebCore::MarkupAccumulator::appendEndTag):

  • editing/ModifySelectionListLevel.cpp:

(WebCore::IncreaseSelectionListLevelCommand::doApply):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::isMailPasteAsQuotationNode):
(WebCore::haveSameTagName):
(WebCore::handleStyleSpansBeforeInsertion):
(WebCore::ReplaceSelectionCommand::doApply):

  • editing/SpellChecker.cpp:

(WebCore::SpellChecker::isCheckable):

  • editing/SplitTextNodeContainingElementCommand.cpp:

(WebCore::SplitTextNodeContainingElementCommand::doApply):

  • editing/TextIterator.cpp:

(WebCore::isRendererReplacedElement):

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverterCaches::propertyValueForNode):
(HTMLConverterCaches::floatPropertyValueForNode):
(HTMLConverterCaches::colorPropertyValueForNode):
(HTMLConverter::aggregatedAttributesForAncestors):
(HTMLConverter::aggregatedAttributesForElementAndItsAncestors):
(HTMLConverter::_traverseNode):
(WebCore::editingAttributedStringFromRange):

  • editing/htmlediting.cpp:

(WebCore::unsplittableElementForPosition):
(WebCore::enclosingBlock):
(WebCore::enclosingElementWithTag):
(WebCore::enclosingTableCell):
(WebCore::enclosingAnchorElement):
(WebCore::areIdenticalElements):
(WebCore::isNonTableCellHTMLBlockElement):
(WebCore::deprecatedEnclosingBlockFlowElement):
(WebCore::rendererForCaretPainting):

  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::wrapWithNode):
(WebCore::createMarkupInternal):
(WebCore::createFragmentFromText):

  • html/HTMLDetailsElement.cpp:

(WebCore::DetailsSummaryElement::fallbackSummary):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::insertAdjacentElement):
(WebCore::contextElementForInsertion):
(WebCore::HTMLElement::directionality):

  • html/HTMLFormControlElement.h:

(WebCore::isHTMLFormControlElement):

  • html/HTMLMediaElement.h:

(WebCore::isHTMLMediaElement):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::updateDocNamedItem):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::collectOptionInnerText):

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::removedFrom):

  • html/HTMLSummaryElement.cpp:

(WebCore::isClickableControl):

  • html/HTMLTextFormControlElement.h:

(WebCore::isHTMLTextFormControlElement):

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::attachLater):

  • html/parser/HTMLElementStack.cpp:

(WebCore::HTMLElementStack::htmlElement):

  • html/parser/HTMLStackItem.h:

(WebCore::HTMLStackItem::element):

  • html/shadow/InsertionPoint.h:

(WebCore::parentElementForDistribution):
(WebCore::shadowRootOfParentForDistribution):

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler):

  • html/track/VTTCue.cpp:

(WebCore::VTTCue::markFutureAndPastNodes):

  • inspector/DOMPatchSupport.cpp:

(WebCore::DOMPatchSupport::innerPatchNode):
(WebCore::DOMPatchSupport::createDigest):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::elementForId):
(WebCore::InspectorCSSAgent::buildArrayForRegions):
(WebCore::InspectorCSSAgent::resetPseudoStates):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::unbind):
(WebCore::InspectorDOMAgent::assertElement):
(WebCore::InspectorDOMAgent::setAttributesAsText):
(WebCore::InspectorDOMAgent::setNodeName):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):
(WebCore::InspectorDOMAgent::didInvalidateStyleAttr):

  • inspector/InspectorNodeFinder.cpp:

(WebCore::InspectorNodeFinder::searchUsingDOMTreeTraversal):

  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForElementInfo):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::inlineStyleSheetText):

  • page/DragController.cpp:

(WebCore::elementUnderMouse):

  • page/EventHandler.cpp:

(WebCore::findDropZone):
(WebCore::EventHandler::updateDragAndDrop):
(WebCore::EventHandler::updateMouseEventTargetNode):

  • page/FocusController.cpp:

(WebCore::FocusNavigationScope::focusNavigationScopeOwnedByShadowHost):
(WebCore::isFocusableShadowHost):
(WebCore::adjustedTabIndex):
(WebCore::FocusController::findFocusableElementAcrossFocusScope):
(WebCore::FocusController::findElementWithExactTabIndex):
(WebCore::nextElementWithGreaterTabIndex):
(WebCore::previousElementWithLowerTabIndex):
(WebCore::FocusController::nextFocusableElement):
(WebCore::FocusController::previousFocusableElement):
(WebCore::FocusController::advanceFocusDirectionallyInContainer):

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::serializeFrame):

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::title):
(WebCore::HitTestResult::innerTextIfTruncated):
(WebCore::HitTestResult::absoluteImageURL):
(WebCore::HitTestResult::innerElement):
(WebCore::HitTestResult::innerNonSharedElement):

  • rendering/RenderDeprecatedFlexibleBox.h:
  • rendering/RenderDetailsMarker.cpp:

(WebCore::RenderDetailsMarker::isOpen):

  • rendering/RenderElement.h:

(WebCore::RenderElement::element):
(WebCore::RenderElement::nonPseudoElement):
(WebCore::RenderElement::generatingElement):

  • rendering/RenderGrid.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::isRestartedPlugin):

  • rendering/RenderListItem.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::isChildAllowed):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::addPDFURLRect):
(WebCore::RenderObject::updateDragState):
(WebCore::RenderObject::getUncachedPseudoStyle):

  • rendering/RenderRuby.h:
  • rendering/RenderRubyText.h:
  • rendering/RenderTableCaption.h:
  • rendering/RenderTableCol.h:
  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::isEnabled):
(WebCore::RenderTheme::isFocused):
(WebCore::RenderTheme::isPressed):
(WebCore::RenderTheme::isSpinUpButtonPartPressed):
(WebCore::RenderTheme::isReadOnlyControl):
(WebCore::RenderTheme::isHovered):
(WebCore::RenderTheme::isSpinUpButtonPartHovered):

  • rendering/RenderThemeGtk.cpp:

(WebCore::nodeHasClass):

  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::updatePressedState):
(WebCore::RenderThemeMac::paintSliderThumb):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):

  • rendering/RenderTreeAsText.cpp:

(WebCore::RenderTreeAsText::writeRenderObject):

  • rendering/TextAutosizer.cpp:

(WebCore::TextAutosizer::isAutosizingContainer):
(WebCore::TextAutosizer::containerContainsOneOfTags):

  • rendering/mathml/RenderMathMLBlock.cpp:

(WebCore::RenderMathMLBlock::isChildAllowed):

  • style/StyleResolveTree.cpp:

(WebCore::Style::attachChildren):
(WebCore::Style::attachDistributedChildren):
(WebCore::Style::detachDistributedChildren):
(WebCore::Style::detachChildren):
(WebCore::Style::resolveShadowTree):
(WebCore::Style::resolveTree):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::expandSymbolElementsInShadowTree):

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::buildPendingResource):

  • xml/XPathFunctions.cpp:

(WebCore::XPath::FunLang::evaluate):

  • xml/XPathNodeSet.cpp:

(WebCore::XPath::NodeSet::traversalSort):

  • xml/XPathStep.cpp:

(WebCore::XPath::nodeMatchesBasicTest):
(WebCore::XPath::Step::nodesInAxis):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::XMLDocumentParser):
(WebCore::XMLDocumentParser::endElementNs):

Source/WebKit/mac:

  • WebView/WebRenderLayer.mm:

(+[WebRenderLayer nameForLayer:]):

Source/WebKit/win:

  • DOMEventsClasses.cpp:

(DOMMouseEvent::toElement):

  • DOMEventsClasses.h:

Source/WebKit2:

  • Shared/WebRenderObject.cpp:

(WebKit::WebRenderObject::WebRenderObject):

  • WebProcess/InjectedBundle/API/mac/WKDOMElement.mm:

(-[WKDOMElement hasAttribute:]):
(-[WKDOMElement getAttribute:]):
(-[WKDOMElement setAttribute:value:]):
(-[WKDOMElement tagName]):

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::InjectedBundleNodeHandle::elementBounds):

  • WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:

(WebKit::InjectedBundleHitTestResult::mediaType):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::sendTapHighlightForNodeIfNecessary):
(WebKit::WebPage::blurAssistedNode):
(WebKit::WebPage::getPositionInformation):
(WebKit::nextFocusableElement):
(WebKit::WebPage::elementDidFocus):

12:50 PM Changeset in webkit [174116] by andersca@apple.com
  • 3 edits in trunk/Source/WTF

Get the STRING_STATS codepath compiling again, and add calls to ref/deref
https://bugs.webkit.org/show_bug.cgi?id=137259

Reviewed by Andreas Kling.

  • wtf/text/StringImpl.cpp:

(WTF::StringStats::removeString):
(WTF::StringStats::printStats):
(WTF::StringImpl::~StringImpl):

  • wtf/text/StringImpl.h:

(WTF::StringImpl::StringImpl):
(WTF::StringImpl::isSubString):
(WTF::StringImpl::ref):
(WTF::StringImpl::deref):
(WTF::StringStats::addUpconvertedString): Deleted.

12:48 PM Changeset in webkit [174115] by ap@apple.com
  • 6 edits in trunk/Tools

build.webkit.org/dashboard: Switch EWS view to using actual retry count
https://bugs.webkit.org/show_bug.cgi?id=137240

Reviewed by Ryosuke Niwa.

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

(EWSQueue.prototype.loadDetailedStatus):

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

(EWSQueueView.prototype._popoverContentForEWSQueue):
Use the new retry_count data member from JSON.

  • QueueStatusServer/app.yaml: Updating the version.
  • QueueStatusServer/handlers/queuestatusjson.py: (QueueStatusJSON._rows_for_work_items):

Instead of message_count, produce retry_count.

12:43 PM Changeset in webkit [174114] by ap@apple.com
  • 4 edits in trunk/Tools

EWS doesn't need to show all the bubbles when a patch fails to apply
https://bugs.webkit.org/show_bug.cgi?id=137256

Reviewed by Ryosuke Niwa.

  • QueueStatusServer/app.yaml: Updated app version.
  • QueueStatusServer/handlers/statusbubble.py:

(StatusBubble._build_bubble):
(StatusBubble._build_bubbles_for_attachment):
(StatusBubble.get):

  • QueueStatusServer/templates/statusbubble.html:

When some queues fail to apply, and no queues had meaningful output (meaning that
they will almost certainly fail to apply later), we can show a single bubble
telling the user just that.

12:21 PM Changeset in webkit [174113] by Brian Burg
  • 34 edits
    2 deletes in trunk/Source

Web Replay: use static Strings instead of AtomicStrings for replay input type tags
https://bugs.webkit.org/show_bug.cgi?id=137086

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

This pattern doesn't work when we want to define some inputs in WebKit2.
The ReplayInputTypes class was generated from WebCore inputs only. This
patch moves all input traits to use static local Strings as type tags.

  • replay/scripts/CodeGeneratorReplayInputs.py: Remove configuration of how

type tags are generated, since all framework targets now generate the same code.

  • replay/NondeterministicInput.h:
  • replay/scripts/CodeGeneratorReplayInputs.py: Simplify and rebase test results.

(Generator.generate_input_trait_implementation):

  • replay/scripts/CodeGeneratorReplayInputsTemplates.py: Simplify templates.
  • replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.cpp:

(JSC::InputTraits<Test::SavedMouseButton>::type):

  • replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.cpp:

(JSC::InputTraits<Test::SavedMouseButton>::type):

  • replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-enum-with-guard.json-TestReplayInputs.cpp:

(JSC::InputTraits<Test::HandleWheelEvent>::type):

  • replay/scripts/tests/expected/generate-enum-with-guard.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.cpp:

(JSC::InputTraits<Test::FormCombo>::type):

  • replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.cpp:

(JSC::InputTraits<Test::GetCurrentTime>::type):
(JSC::InputTraits<Test::SetRandomSeed>::type):

  • replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.cpp:

(JSC::InputTraits<Test::ArrayOfThings>::type):
(JSC::InputTraits<Test::SavedHistory>::type):

  • replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-inputs-with-flags.json-TestReplayInputs.cpp:

(JSC::InputTraits<Test::ScalarInput1>::type):
(JSC::InputTraits<Test::ScalarInput2>::type):

  • replay/scripts/tests/expected/generate-inputs-with-flags.json-TestReplayInputs.h:
  • replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.cpp:

(JSC::InputTraits<Test::ScalarInput>::type):
(JSC::InputTraits<Test::MapInput>::type):

  • replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.h:

Source/WebCore:

This pattern doesn't work when we want to define some inputs in WebKit2,
since the ReplayInputTypes class is generated from WebCore inputs only.

Replace tag-checking uses of ReplayInputTypes with InputTraits<T>::type().
Remove thread-local input types, and switch to using a plain const String instead
of const AtomicString.

No new tests, no behavior changed.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • inspector/InspectorReplayAgent.cpp:

(WebCore::SerializeInputToJSONFunctor::operator()):

  • platform/ThreadGlobalData.cpp:

(WebCore::ThreadGlobalData::ThreadGlobalData):
(WebCore::ThreadGlobalData::destroy):

  • platform/ThreadGlobalData.h:

(WebCore::ThreadGlobalData::inputTypes): Deleted.

  • replay/AllReplayInputs.h:
  • replay/EventLoopInput.h:
  • replay/EventLoopInputDispatcher.cpp:

(WebCore::EventLoopInputDispatcher::dispatchInput):

  • replay/MemoizedDOMResult.cpp:

(WebCore::MemoizedDOMResultBase::type):
(JSC::InputTraits<MemoizedDOMResultBase>::type):

  • replay/MemoizedDOMResult.h:
  • replay/ReplayInputTypes.cpp: Removed.
  • replay/ReplayInputTypes.h: Removed.
  • replay/ReplayingInputCursor.cpp:

(WebCore::ReplayingInputCursor::loadInput):

  • replay/SegmentedInputStorage.cpp:

(WebCore::SegmentedInputStorage::load):
(WebCore::SegmentedInputStorage::store):

  • replay/SerializationMethods.cpp:

(JSC::EncodingTraits<NondeterministicInputBase>::encodeValue):
(JSC::EncodingTraits<NondeterministicInputBase>::decodeValue):

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

[Mac] Flaky test marked as failing in r174111 also needs to be marked as passing.

  • platform/mac/TestExpectations:
12:05 PM Changeset in webkit [174111] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[Mac] Mark a flaky webgl conformance test as failing.

  • platform/mac/TestExpectations:
11:40 AM Changeset in webkit [174110] by dbates@webkit.org
  • 9 edits
    1 copy
    2 adds in trunk/Source

REGRESSION (r172532): JSBase.h declares NSMapTable functions that are SPI
https://bugs.webkit.org/show_bug.cgi?id=137170
<rdar://problem/18477384>

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Move conditional include of header Foundation/NSMapTablePriv.h and forward declarations
of NSMapTable SPI from file JavaScriptCore/API/JSBase.h to WTF/wtf/spi/cocoa/NSMapTableSPI.h.

  • API/JSBase.h:
  • API/JSManagedValue.mm: Include header WTF/wtf/spi/cocoa/NSMapTableSPI.h.
  • API/JSVirtualMachine.mm: Ditto.
  • API/JSVirtualMachineInternal.h: Forward declare class NSMapTable.
  • API/JSWrapperMap.mm: Include header WTF/wtf/spi/cocoa/NSMapTableSPI.h. Also, order

#include directives such that they are sorted in alphabetical order.

Source/WTF:

Add SPI wrapper header, NSMapTableSPI.h.

Additionally, define convenience macro EXTERN_C that can be used to specify the C linkage
convention for a declaration. For example, the declaration "EXTERN_C const int x;" will
expand to:

extern const int x;

and

extern "C" const int x;

when used in a C and C++ file, respectively.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/Compiler.h:
  • wtf/spi/cocoa/NSMapTableSPI.h: Added.
11:37 AM Changeset in webkit [174109] by ggaren@apple.com
  • 10 edits in trunk/Source/bmalloc

bmalloc: cleaned up fast path vs slow path
https://bugs.webkit.org/show_bug.cgi?id=137081

Reviewed by Sam Weinig.

Might be a 1% speedup on MallocBench. Also cleans up the code a bit.

  • bmalloc/Allocator.cpp:

(bmalloc::Allocator::Allocator): Merged the small and medium range
caches, just like the small and medium allocators. Ranges are abstract
objects that don't really care whether they hold small or medium objects,
so they don't need to be segregated.

(bmalloc::Allocator::scavenge): Ditto.

(bmalloc::Allocator::allocateBumpRangeSlowCase):
(bmalloc::Allocator::allocateBumpRange): Same thing here, except that
we do care a tiny bit, because we need to specify small vs medium when
allocating new ranges from the heap, to ensure that the heap allocates
from the right segment of VM.

(bmalloc::Allocator::allocateLarge):
(bmalloc::Allocator::allocateXLarge): NO_INLINE because this was clouding
up the fast path. Large allocation performance is dominated by allocation
logic and initialization, so inlining it doesn't help.

(bmalloc::Allocator::allocateSlowCase): Slow path got a bit cleaner since
it doesn't need to distinguish small vs medium objects.

(bmalloc::Allocator::allocateSmallBumpRange): Deleted.
(bmalloc::Allocator::allocateMediumBumpRange): Deleted.

  • bmalloc/Allocator.h:
  • bmalloc/BumpRange.h:
  • bmalloc/Cache.cpp:

(bmalloc::Cache::allocateSlowCase): Deleted.
(bmalloc::Cache::deallocateSlowCase): Deleted.

  • bmalloc/Cache.h:

(bmalloc::Cache::allocate):
(bmalloc::Cache::deallocate):
(bmalloc::Cache::allocateFastCase): Deleted.
(bmalloc::Cache::deallocateFastCase): Deleted. Removed the Cache slow
paths. The downside to this change is that the fast path branches to two
distinct failure cases instead of one. The upside is that the slow path
doesn't need to re-read the segment register, which is not as cheap as a
normal register, and it doesn't need to do an extra level of function
call. Seems to be worth it.

  • bmalloc/Deallocator.h:
  • bmalloc/Heap.cpp:

(bmalloc::Heap::refillSmallBumpRangeCache):
(bmalloc::Heap::refillMediumBumpRangeCache):

  • bmalloc/Heap.h: Updated for interface changes.
  • bmalloc/Sizes.h: The most ranges a cache will hold is the number of

small lines in a page / 2, since any other free lines will coalesce
with their neighbors.

10:27 AM Changeset in webkit [174108] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix C API header
https://bugs.webkit.org/show_bug.cgi?id=137254
<rdar://problem/18487528>

Build fix

Guard extern "C" behind cplusplus ifdef

  • API/JSBase.h:
8:19 AM Changeset in webkit [174107] by commit-queue@webkit.org
  • 2 edits
    1 delete in trunk/Tools

[EFL] Bump EFL version to 1.11.2
https://bugs.webkit.org/show_bug.cgi?id=137118

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-09-30
Reviewed by Gyuyoung Kim.

Disable NEON for EFL build because the build system doesn't pass the necessary -mfpu=neon flag to the compiler.
Tools/efl/patches/ecore.patch: Removed, because this fix is already in EFL.

  • efl/jhbuild.modules:
  • efl/patches/ecore.patch: Removed.
7:30 AM Changeset in webkit [174106] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

[Mac] MediaPlayerPrivateQTKit should not use FrameView
https://bugs.webkit.org/show_bug.cgi?id=137119

Reviewed by Carlos Garcia Campos.

Remove obsolete QTKit code that would fall back to rendering into an NSView.
Aside from being dead code, it was only used when accelerated compositing
was not enabled and tha hasn't been possible for a long time, it required a
layering violation to get the FrameView.

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::currentRenderingMode):
(WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
(WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering):
(WebCore::MediaPlayerPrivateQTKit::tearDownVideoRendering):
(WebCore::MediaPlayerPrivateQTKit::hasSetUpVideoRendering):
(WebCore::MediaPlayerPrivateQTKit::setSize):
(WebCore::MediaPlayerPrivateQTKit::paint):
(WebCore::mainThreadSetNeedsDisplay): Deleted.
(WebCore::MediaPlayerPrivateQTKit::createQTMovieView): Deleted.
(WebCore::MediaPlayerPrivateQTKit::detachQTMovieView): Deleted.
(-[WebCoreMovieObserver menuForEventDelegate:]): Deleted.
(-[WebCoreMovieObserver setView:]): Deleted.

6:38 AM Changeset in webkit [174105] by Carlos Garcia Campos
  • 11 edits in trunk

REGRESSION(r173929): [GTK] TestInspector fails after r173929
https://bugs.webkit.org/show_bug.cgi?id=137247

Reviewed by Philippe Normand.

Source/WebKit2:

Add WebKitWebInspector:can-attach property to notify when the
inspector attach availability changes.

  • UIProcess/API/C/gtk/WKInspectorClientGtk.h:
  • UIProcess/API/gtk/WebKitWebInspector.cpp:

(webkit_web_inspector_class_init): Add WebKitWebInspector:can-attach property.
(didChangeAttachAvailability): Emit notify::can-attach.
(webkitWebInspectorCreate): Add implementation for didChangeAttachAvailability.
(webkit_web_inspector_get_can_attach): Return whether the inspector can be attached.

  • UIProcess/API/gtk/WebKitWebInspector.h:
  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add index of new symbols in 2.8.
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
  • UIProcess/gtk/WebInspectorClientGtk.cpp:

(WebKit::WebInspectorClientGtk::didChangeAttachAvailability):

  • UIProcess/gtk/WebInspectorClientGtk.h:
  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformAttachAvailabilityChanged): Notify the client.

Tools:

Wait until can-attach property changes before trying to attach the
inspector after resizing the view.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestInspector.cpp:

(testInspectorDefault):

6:33 AM Changeset in webkit [174104] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] The remote web inspector shows the HTML content as plain text
https://bugs.webkit.org/show_bug.cgi?id=137250

Reviewed by Gustavo Noronha Silva.

Use GResource API directly to get the resource data, instead of
using the GFile API, and use g_content_type_guess() to get the
MIME Type.

  • UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:

(WebKit::WebInspectorServer::platformResourceForPath):

6:28 AM Changeset in webkit [174103] by Carlos Garcia Campos
  • 5 edits
    2 deletes in trunk/Source

[GTK] Move GtkPopupMenu implementation to WebPopupMenuProxyGtk
https://bugs.webkit.org/show_bug.cgi?id=137193

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Remove GtkPopupMenu from platform.

  • PlatformGTK.cmake:
  • platform/gtk/GtkPopupMenu.cpp: Removed.
  • platform/gtk/GtkPopupMenu.h: Removed.

Source/WebKit2:

GtkPopupMenu was in platform only to have a common implementation to
be shared with WebKit1. Now that it's only used by
WebPopupMenuProxyGtk in WebKit2, we can simplify the code by
merging the implementation directly into WebPopupMenuProxyGtk.

  • UIProcess/gtk/WebPopupMenuProxyGtk.cpp:

(WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
(WebKit::WebPopupMenuProxyGtk::~WebPopupMenuProxyGtk):
(WebKit::WebPopupMenuProxyGtk::populatePopupMenu):
(WebKit::WebPopupMenuProxyGtk::showPopupMenu):
(WebKit::WebPopupMenuProxyGtk::hidePopupMenu):
(WebKit::WebPopupMenuProxyGtk::typeAheadFind):
(WebKit::WebPopupMenuProxyGtk::resetTypeAheadFindState):
(WebKit::WebPopupMenuProxyGtk::selectItemCallback):
(WebKit::WebPopupMenuProxyGtk::keyPressEventCallback):

  • UIProcess/gtk/WebPopupMenuProxyGtk.h:

(WebKit::WebPopupMenuProxyGtk::setCurrentlySelectedMenuItem):

5:50 AM Changeset in webkit [174102] by evab.u-szeged@partner.samsung.com
  • 3 edits in trunk/Tools

Require Python 2.7 version
https://bugs.webkit.org/show_bug.cgi?id=137112

Reviewed by Csaba Osztrogonác.

  • Scripts/ensure-valid-python:

(checkPythonVersion):

  • Scripts/webkitpy/common/version_check.py:
5:48 AM Changeset in webkit [174101] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Avoid copying the iterated-over items in range-based for-loops in RenderGrid
https://bugs.webkit.org/show_bug.cgi?id=137246

Reviewed by Sergio Villar Senin.

Adjust the range-based for-loops in RenderGrid to avoid the unnecessary copying
of the items that are being iterated.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeNormalizedFractionBreadth):
(WebCore::RenderGrid::insertItemIntoGrid):
(WebCore::RenderGrid::gridAreaBreadthForChild):

5:17 AM Changeset in webkit [174100] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

Hindi translation updated
https://bugs.webkit.org/show_bug.cgi?id=137021

Patch by Rajesh Ranjan <rajeshkajha@yahoo.com> on 2014-09-30
Reviewed by Philippe Normand.

  • hi.po:
5:15 AM Changeset in webkit [174099] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

Updated Telugu Translation for WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=137027

Patch by Krishnababu Krothapalli <kkrothap@redhat.com> on 2014-09-30
Reviewed by Philippe Normand.

  • te.po:
3:30 AM Changeset in webkit [174098] by svillar@igalia.com
  • 2 edits in trunk/Source/WebCore

[CSS Grid Layout] Use modern for-loops in RenderGrid
https://bugs.webkit.org/show_bug.cgi?id=137214

Reviewed by Darin Adler.

New code is already using modern range based for loops. We had some
"old" code pending to be migrated.

No new tests as there is no change in functionality.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::computeIntrinsicLogicalWidths):
(WebCore::RenderGrid::computeUsedBreadthOfGridTracks):
(WebCore::RenderGrid::computeNormalizedFractionBreadth):
(WebCore::RenderGrid::populateExplicitGridAndOrderIterator):
(WebCore::RenderGrid::layoutGridItems):

3:17 AM Changeset in webkit [174097] by svillar@igalia.com
  • 5 edits
    4 adds in trunk

Caret not shown at the end of line in overtype mode
https://bugs.webkit.org/show_bug.cgi?id=135508

Reviewed by Ryosuke Niwa.

Source/WebCore:

When overtype mode is enabled we usually replace the 'normal'
blinking caret shown in contenteditable elements by a block cursor
that covers the next character to be replaced. The exception is the
end of line where we fallback to the blinking caret even in overtype
mode (as there is no next character to replace).

We were not showing anything at the end of lines in overtype mode
because the detection of the end of line was incorrect and not very
understandable. Replaced the old code with a proper and clean end of
line detection mechanism compatible with bidi text.

Tests: editing/selection/block-cursor-overtype-mode-end-of-line-rtl.html

editing/selection/block-cursor-overtype-mode-end-of-line.html

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::updateAppearance):

  • editing/VisibleUnits.cpp:

(WebCore::isLogicalEndOfLine):

  • editing/VisibleUnits.h:

LayoutTests:

  • editing/selection/block-cursor-overtype-mode-end-of-line-expected.html: Added.
  • editing/selection/block-cursor-overtype-mode-end-of-line-rtl-expected.html: Added.
  • editing/selection/block-cursor-overtype-mode-end-of-line-rtl.html: Added.
  • editing/selection/block-cursor-overtype-mode-end-of-line.html: Added.
2:45 AM Changeset in webkit [174096] by mhock@apple.com
  • 2 edits in trunk/Tools

Skip a JSC test after r174036.
https://bugs.webkit.org/show_bug.cgi?id=137236

Reviewed by Csaba Osztrogonác.

  • Scripts/run-javascriptcore-tests:

Sep 29, 2014:

8:34 PM Changeset in webkit [174095] by Brian Burg
  • 7 edits in trunk/Source

Web Inspector: InjectedScripts should not be profiled or displayed in Timeline
https://bugs.webkit.org/show_bug.cgi?id=136806

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

It doesn't make sense to show profile nodes for injected scripts when profiling user content.
For now, omit nodes by suspending profiling before and after executing injected scripts.

  • profiler/LegacyProfiler.cpp:

(JSC::LegacyProfiler::suspendProfiling): Added.
(JSC::LegacyProfiler::unsuspendProfiling): Added.

  • profiler/LegacyProfiler.h:
  • profiler/ProfileGenerator.cpp: Add isSuspended() flag, remove unused typedef.

(JSC::ProfileGenerator::ProfileGenerator):
(JSC::ProfileGenerator::willExecute):
(JSC::ProfileGenerator::didExecute):

  • profiler/ProfileGenerator.h:

(JSC::ProfileGenerator::setIsSuspended): Added.

Source/WebCore:

Instead of creating timeline records for injected scripts, suspend profiling
of the current page before and after calling injected script functions.

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::willCallInjectedScriptFunction):
(WebCore::InspectorController::didCallInjectedScriptFunction):

8:30 PM Changeset in webkit [174094] by Brian Burg
  • 27 edits in trunk/Source

Web Inspector: InspectorValues should use references for out parameters
https://bugs.webkit.org/show_bug.cgi?id=137190

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

Use references for out parameters in asType() and getType() methods.
Also convert to references in some miscellaneous code where we don't
expect or handle null values.

Remove variants of asObject() and asArray() that return a nullable RefPtr.
Now, client code is forced to use out parameters and check for cast failure.

Iron out control flow in some functions and fix some style issues.

  • inspector/InjectedScript.cpp:

(Inspector::InjectedScript::getFunctionDetails):
(Inspector::InjectedScript::wrapObject):
(Inspector::InjectedScript::wrapTable):

  • inspector/InjectedScriptBase.cpp:

(Inspector::InjectedScriptBase::makeEvalCall):

  • inspector/InjectedScriptManager.cpp:

(Inspector::InjectedScriptManager::injectedScriptForObjectId): Simplify control flow.

  • inspector/InspectorBackendDispatcher.cpp:

(Inspector::InspectorBackendDispatcher::dispatch):
(Inspector::getPropertyValue):
(Inspector::AsMethodBridges::asInteger):
(Inspector::AsMethodBridges::asDouble):
(Inspector::AsMethodBridges::asString):
(Inspector::AsMethodBridges::asBoolean):
(Inspector::AsMethodBridges::asObject):
(Inspector::AsMethodBridges::asArray):

  • inspector/InspectorProtocolTypes.h:

(Inspector::Protocol::BindingTraits<Protocol::Array<T>>::runtimeCast):
(Inspector::Protocol::BindingTraits<Protocol::Array<T>>::assertValueHasExpectedType):

  • inspector/InspectorValues.cpp: Use more by-reference out parameters. Add more spacing.

(Inspector::InspectorValue::asBoolean):
(Inspector::InspectorValue::asDouble):
(Inspector::InspectorValue::asInteger):
(Inspector::InspectorValue::asString):
(Inspector::InspectorValue::asValue):
(Inspector::InspectorValue::asObject):
(Inspector::InspectorValue::asArray):
(Inspector::InspectorValue::parseJSON):
(Inspector::InspectorValue::toJSONString):
(Inspector::InspectorValue::writeJSON):
(Inspector::InspectorBasicValue::asBoolean):
(Inspector::InspectorBasicValue::asDouble):
(Inspector::InspectorBasicValue::asInteger):
(Inspector::InspectorBasicValue::writeJSON):
(Inspector::InspectorString::asString):
(Inspector::InspectorString::writeJSON):
(Inspector::InspectorObjectBase::asObject):
(Inspector::InspectorObjectBase::openAccessors):
(Inspector::InspectorObjectBase::getBoolean):
(Inspector::InspectorObjectBase::getString):
(Inspector::InspectorObjectBase::getObject):
(Inspector::InspectorObjectBase::getArray):
(Inspector::InspectorObjectBase::writeJSON):
(Inspector::InspectorArrayBase::asArray):
(Inspector::InspectorArrayBase::writeJSON):

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

(Inspector::InspectorDebuggerAgent::breakpointActionsFromProtocol):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::parseLocation):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::continueToLocation):
(Inspector::InspectorDebuggerAgent::didParseSource):

  • inspector/agents/InspectorRuntimeAgent.cpp:

(Inspector::InspectorRuntimeAgent::getRuntimeTypesForVariablesAtOffsets):

  • inspector/scripts/codegen/generate_protocol_types_implementation.py:

(ProtocolTypesImplementationGenerator):
(ProtocolTypesImplementationGenerator._generate_assertion_for_enum):

  • inspector/scripts/codegen/generator_templates.py:
  • inspector/scripts/tests/expected/type-requiring-runtime-casts.json-result:
  • replay/EncodedValue.cpp:

(JSC::EncodedValue::asObject):
(JSC::EncodedValue::asArray):
(JSC::EncodedValue::convertTo<bool>):
(JSC::EncodedValue::convertTo<double>):
(JSC::EncodedValue::convertTo<float>):
(JSC::EncodedValue::convertTo<int32_t>):
(JSC::EncodedValue::convertTo<int64_t>):
(JSC::EncodedValue::convertTo<uint32_t>):
(JSC::EncodedValue::convertTo<uint64_t>):
(JSC::EncodedValue::convertTo<String>):

Source/WebCore:

Clean up some call sites to explicitly check for cast success, and simplify
some exceptional control flows.

No new tests, no behavior changed.

  • inspector/CommandLineAPIHost.cpp:

(WebCore::CommandLineAPIHost::inspectImpl):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::computePseudoClassMask):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::parseColor):
(WebCore::parseConfigColor):
(WebCore::parseQuad):
(WebCore::InspectorDOMAgent::performSearch):
(WebCore::InspectorDOMAgent::highlightConfigFromInspectorObject):
(WebCore::InspectorDOMAgent::innerHighlightQuad):
(WebCore::InspectorDOMAgent::highlightFrame):

  • inspector/InspectorDOMStorageAgent.cpp:

(WebCore::InspectorDOMStorageAgent::findStorageArea):

  • inspector/InspectorIndexedDBAgent.cpp: Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL.
  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::didClearWindowObjectInWorld):

  • inspector/InspectorReplayAgent.cpp:

(WebCore::InspectorReplayAgent::replayToPosition):

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::willSendRequest):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyle::styleWithProperties):

  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorCSSId::InspectorCSSId):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::stopFromConsole):

  • inspector/InspectorWorkerAgent.cpp:
7:02 PM Changeset in webkit [174093] by clopez@igalia.com
  • 5 edits in trunk/Tools

[GTK] [EFL] Install TestNetscapePlugin apart from the other libs.
https://bugs.webkit.org/show_bug.cgi?id=137212

This moves TestNetscapePlugin to a new folder (lib/plugins).
We should not use the same directory for TestNetscapePlugin and
the other libraries, because we end up scanning all the .so in the
lib dir for every test.

Reviewed by Carlos Garcia Campos.

  • DumpRenderTree/TestNetscapePlugIn/CMakeLists.txt: Set LIBRARY_OUTPUT_DIRECTORY to lib/plugins.
  • Scripts/webkitpy/port/efl.py:

(EflPort.setup_environ_for_server): Update plugin path.

  • Scripts/webkitpy/port/gtk.py:

(GtkPort.setup_environ_for_server): Update plugin path.

  • TestWebKitAPI/Tests/WebKit2Gtk/CMakeLists.txt: Update plugin path.
4:08 PM Changeset in webkit [174092] by ap@apple.com
  • 3 edits in trunk/Tools

A small change to EWS bubble text. Explain why there are messages for ineligible patches.

Rubber-stamped by Tim Horton.

  • QueueStatusServer/app.yaml:
  • QueueStatusServer/handlers/statusbubble.py:

(StatusBubble._build_bubble):

3:38 PM Changeset in webkit [174091] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

DFG HasStructureProperty codegen should use one fewer registers
https://bugs.webkit.org/show_bug.cgi?id=137235

Reviewed by Andreas Kling.

This was an obvious source of inefficiency and it was causing us to run out of registers on
x86-32.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

3:25 PM Changeset in webkit [174090] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Don't use GPRResult unless you're flushing registers and making a runtime function call
https://bugs.webkit.org/show_bug.cgi?id=137234

Rubber stamped by Andreas Kling.

Rename GPRResult to GPRFlushedCallResult, in an attempt to dissuade people from using it for results in the
general case.

Replace GPRResult with GPRTemporary in those places where it was causing bugs: particularly in GetDirectPname it
would cause us to spill the register that has the base, and the code was assuming (rightly) that the base and the
result were in different registers. That's a valid assumption when using GPRTemporary but not with GPRResult.
Also this code wasn't getting any benefit from using GPRResult because it wasn't doing flushRegisters().

I don't know how to test this. A test would require setting up a particularly awkward register allocation state.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileIn):
(JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck):
(JSC::DFG::SpeculativeJIT::compileNewFunctionExpression):
(JSC::DFG::SpeculativeJIT::compileRegExpExec):
(JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileToStringOnCell):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::GPRFlushedCallResult::GPRFlushedCallResult):
(JSC::DFG::GPRFlushedCallResult2::GPRFlushedCallResult2):
(JSC::DFG::GPRResult::GPRResult): Deleted.
(JSC::DFG::GPRResult2::GPRResult2): Deleted.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranch):
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::SpeculativeJIT::emitCall):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::speculateDoubleRepMachineInt):

3:23 PM Changeset in webkit [174089] by Chris Dumez
  • 68 edits in trunk/Source

Use is<>() / downcast<>() for Document
https://bugs.webkit.org/show_bug.cgi?id=137221

Reviewed by Andreas Kling.

Use is<>() / downcast<>() for Document instead of isDocumentNode() /
toDocument().

Source/WebCore:

No new tests, no behavior change.

  • Modules/geolocation/Geolocation.cpp:

(WebCore::Geolocation::document):
(WebCore::Geolocation::frame):
(WebCore::Geolocation::page):

  • Modules/indexeddb/IDBFactory.cpp:
  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::document):

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::RTCPeerConnection):

  • Modules/notifications/Notification.cpp:

(WebCore::Notification::Notification):
(WebCore::Notification::show):
(WebCore::Notification::permission):
(WebCore::Notification::requestPermission):

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::document):

  • Modules/webaudio/OfflineAudioContext.cpp:

(WebCore::OfflineAudioContext::create):

  • Modules/webdatabase/DatabaseContext.cpp:

(WebCore::DatabaseContext::allowDatabaseAccess):
(WebCore::DatabaseContext::databaseExceededQuota):

  • Modules/websockets/ThreadableWebSocketChannel.cpp:

(WebCore::ThreadableWebSocketChannel::create):

  • Modules/websockets/WebSocket.cpp:

(WebCore::WebSocket::connect):

  • Modules/websockets/WebSocketHandshake.cpp:

(WebCore::WebSocketHandshake::clientHandshakeMessage):
(WebCore::WebSocketHandshake::clientHandshakeRequest):

  • Modules/websockets/WorkerThreadableWebSocketChannel.cpp:

(WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):

  • bindings/gobject/WebKitDOMPrivate.cpp:

(WebKit::wrap):

  • bindings/js/DOMConstructorWithDocument.h:

(WebCore::DOMConstructorWithDocument::document):

  • bindings/js/DOMRequestState.h:

(WebCore::DOMRequestState::DOMRequestState):
(WebCore::DOMRequestState::clear):

  • bindings/js/JSAudioContextCustom.cpp:

(WebCore::constructJSAudioContext):

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::toJSDOMGlobalObject):

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction):

  • bindings/js/JSNodeCustom.cpp:

(WebCore::createWrapperInline):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::execute):

  • bindings/js/ScriptState.cpp:

(WebCore::frameFromExecState):

  • crypto/SubtleCrypto.cpp:

(WebCore::SubtleCrypto::document):

  • dom/Comment.cpp:

(WebCore::Comment::create):

  • dom/ContainerNode.cpp:

(WebCore::checkAcceptChild):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):

  • dom/Document.h:

(WebCore::isDocument):

  • dom/DocumentFragment.cpp:

(WebCore::DocumentFragment::create):

  • dom/Element.cpp:

(WebCore::Element::computeInheritedLanguage):

  • dom/EventDispatcher.cpp:

(WebCore::WindowEventContext::WindowEventContext):

  • dom/EventTarget.cpp:

(WebCore::EventTarget::fireEventListeners):

  • dom/NamedFlowCollection.cpp:

(WebCore::NamedFlowCollection::document):

  • dom/Node.cpp:

(WebCore::Node::isDefaultNamespace):
(WebCore::Node::lookupPrefix):
(WebCore::Node::lookupNamespaceURI):
(WebCore::Node::removedLastRef):

  • dom/Range.cpp:

(WebCore::Range::create):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::dispatchErrorEvent):

  • dom/Text.cpp:

(WebCore::Text::create):

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::appendStartMarkup):

  • html/HTMLDocument.h:

(WebCore::isHTMLDocument):

  • html/HTMLNameCollection.h:

(WebCore::HTMLNameCollection::document):

  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::insertedInto):

  • html/ImageDocument.h:

(WebCore::isImageDocument):

  • html/MediaDocument.h:

(WebCore::isMediaDocument):

  • html/PluginDocument.h:

(WebCore::isPluginDocument):

  • html/track/TextTrackCue.h:

(WebCore::TextTrackCue::ownerDocument):

  • html/track/VTTCue.cpp:

(WebCore::VTTCue::initialize):

  • html/track/VTTRegion.h:

(WebCore::VTTRegion::ownerDocument):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::assertDocument):
(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::innerParentNode):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::frameForScriptExecutionContext):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::instrumentingAgentsForContext):

  • loader/TextTrackLoader.cpp:

(WebCore::TextTrackLoader::corsPolicyPreventedLoad):
(WebCore::TextTrackLoader::notifyFinished):
(WebCore::TextTrackLoader::load):

  • loader/ThreadableLoader.cpp:

(WebCore::ThreadableLoader::create):
(WebCore::ThreadableLoader::loadResourceSynchronously):

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):

  • page/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::reportViolation):

  • page/Crypto.cpp:

(WebCore::Crypto::document):

  • page/DOMTimer.cpp:

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

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::focus):
(WebCore::DOMWindow::close):
(WebCore::DOMWindow::document):
(WebCore::DOMWindow::styleMedia):
(WebCore::DOMWindow::getComputedStyle):

  • page/DragController.cpp:

(WebCore::DragController::dragExited):
(WebCore::DragController::dragEnteredOrUpdated):

  • page/EventSource.cpp:

(WebCore::EventSource::create):

  • page/FocusController.cpp:

(WebCore::FocusController::advanceFocusDirectionally):

  • page/History.cpp:

(WebCore::History::go):

  • page/SpatialNavigation.cpp:

(WebCore::scrollInDirection):
(WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDirection):
(WebCore::canScrollInDirection):
(WebCore::nodeRectInAbsoluteCoordinates):

  • svg/SVGDocument.h:

(WebCore::isSVGDocument):

  • testing/Internals.cpp:

(WebCore::Internals::contextDocument):
(WebCore::Internals::frame):
(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):

  • testing/js/WebCoreTestSupport.cpp:

(WebCoreTestSupport::injectInternalsObject):
(WebCoreTestSupport::resetInternalsObject):

  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::SharedWorkerProxy::addToWorkerDocuments):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):

  • xml/XMLHttpRequest.cpp:

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

Source/WebKit2:

  • WebProcess/InjectedBundle/API/mac/WKDOMDocument.mm:

(-[WKDOMDocument createElement:]):
(-[WKDOMDocument createTextNode:]):
(-[WKDOMDocument body]):

3:14 PM Changeset in webkit [174088] by ap@apple.com
  • 3 edits in trunk/Tools

Typo fix, suggested by Tim Horton.

  • QueueStatusServer/handlers/statusbubble.py:

(StatusBubble._build_message_for_provisional_failure):

2:55 PM Changeset in webkit [174087] by ap@apple.com
  • 5 edits in trunk/Tools

Improve Bugzilla status bubbles
https://bugs.webkit.org/show_bug.cgi?id=137232

Reviewed by Ryosuke Niwa.

  • QueueStatusServer/app.yaml: Will update again with an actual version when landing.
  • QueueStatusServer/handlers/statusbubble.py: Eliminated yellow color, added

blue and orange. Significantly extended tooltips. Made bubbles show up even for queues
that are stuck, as it was only confusing that they disappeared after 99.

  • QueueStatusServer/model/attachment.py: Removed functionality that was only used

by old bubbles. We need a lot more information to determine color, so the implementation
can not be here.

  • QueueStatusServer/templates/statusbubble.html: Updated colors in CSS, made bubbles

always have a link for consistency. Added code to convert timestamps in tooltips
to local time zone.

2:26 PM Changeset in webkit [174086] by commit-queue@webkit.org
  • 17 edits
    1 move
    1 add in trunk

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

Introduced a crash during page loading tests on Mac (Requested
by rniwa on #webkit).

Reverted changeset:

"Replace OSObjectPtr with RetainPtr/adoptOS"
https://bugs.webkit.org/show_bug.cgi?id=137158
http://trac.webkit.org/changeset/174045

1:54 PM Changeset in webkit [174085] by hyatt@apple.com
  • 4 edits
    2 adds in trunk

REGRESSION (r168046): Confused column spans when combined with dynamic animations
https://bugs.webkit.org/show_bug.cgi?id=134048.

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/multicol/multicol-fieldset-span-changes.html

  • rendering/RenderMultiColumnFlowThread.cpp:

(WebCore::RenderMultiColumnFlowThread::processPossibleSpannerDescendant):
Refactor handling of insertions into the multicolumn flow thread into
a helper function, processPossibleSpannerDescendant. This makes it easier
to call the code from more than one place.

(WebCore::RenderMultiColumnFlowThread::flowThreadDescendantInserted):
Modify the nested columns span shifting code to avoid problems. The
new code suppresses notifications and does the move of the spanner back
into the original spot *before* removing the placeholder. This ensures that
the placeholder parent still exists.

The stale placeholder is then removed and destroyed after the spanner has been put back
into place.

(WebCore::RenderMultiColumnFlowThread::handleSpannerRemoval):
(WebCore::RenderMultiColumnFlowThread::flowThreadRelativeWillBeRemoved):
Refactor the removal notifications for spanners into a helper function so that it can
be called to do cleanup from the code that cleans up stale placeholders on a shift.

  • rendering/RenderMultiColumnFlowThread.h:

Modified to add the new helpers.

LayoutTests:

  • fast/multicol/multicol-fieldset-span-changes-expected.txt: Added.
  • fast/multicol/multicol-fieldset-span-changes.html: Added.
1:50 PM Changeset in webkit [174084] by Chris Dumez
  • 7 edits in trunk/Source/WebCore

Use SPECIALIZE_TYPE_TRAITS_*() macro for MathMLElement
https://bugs.webkit.org/show_bug.cgi?id=137222

Reviewed by Ryosuke Niwa.

Use SPECIALIZE_TYPE_TRAITS_*() macro for MathMLElement instead of
NODE_TYPE_CASTS() + NodeTypeCastTraits template specialization.

No new tests, no behavior change.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::accessibilityDescription):

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::isMathElement):

  • css/CSSDefaultStyleSheets.cpp:

(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):

  • mathml/MathMLElement.cpp:

(WebCore::MathMLElement::attributeChanged):

  • mathml/MathMLElement.h:

(WebCore::isMathMLElement):

  • mathml/MathMLSelectElement.cpp:

(WebCore::MathMLSelectElement::getSelectedSemanticsChild):

1:39 PM Changeset in webkit [174083] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

[Windows] Skip some failing inspector tests following r174020.

  • platform/win/TestExpectations:
1:25 PM Changeset in webkit [174082] by roger_fong@apple.com
  • 3 edits in trunk/LayoutTests

[Mac] Unreviewed. Missing test gardening from r174080.

  • accessibility/roles-computedRoleString-expected.txt:
  • accessibility/roles-computedRoleString.html:
1:19 PM Changeset in webkit [174081] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Set the TBA versions based on the PLATFORM_NAME
https://bugs.webkit.org/show_bug.cgi?id=137226
Follow-up fix for <rdar://problem/17761459>.

Reviewed by Dan Bernstein.

  • mac/rewrite-availability-macros.sh:

Turns out that MACOSX_DEPLOYMENT_TARGET is set even for iOS builds,
so set the versions based on the PLATFORM_NAME environment variable.

12:42 PM Changeset in webkit [174080] by roger_fong@apple.com
  • 4 edits in trunk/LayoutTests

[Mac] Unreviewed test gardening.

These accessibility tests need to be changed following r174074.

  • accessibility/aria-labelledby-with-descendants-expected.txt:
  • accessibility/roles-computedRoleString.html:
  • platform/mac/TestExpectations: Some previously skipped inspector tests crash in debug configuration.
12:29 PM Changeset in webkit [174079] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

[Mac] Remove MediaPlayerPrivateQTKit frame rate code
https://bugs.webkit.org/show_bug.cgi?id=137217

Reviewed by Carlos Garcia Campos.

No new tests, this removes obsolete code.

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
(WebCore::MediaPlayerPrivateQTKit::play):
(WebCore::MediaPlayerPrivateQTKit::pause):
(WebCore::MediaPlayerPrivateQTKit::didEnd):
(WebCore::MediaPlayerPrivateQTKit::repaint):
(WebCore::MediaPlayerPrivateQTKit::paint):

12:26 PM Changeset in webkit [174078] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Add Jake as a contributor.

  • Scripts/webkitpy/common/config/contributors.json:
12:13 PM Changeset in webkit [174077] by roger_fong@apple.com
  • 2 edits in trunk/Tools

[Windows] Skip a javascriptcore test following r174036.

  • Scripts/run-javascriptcore-tests:
11:42 AM Changeset in webkit [174076] by roger_fong@apple.com
  • 2 edits in trunk/Tools

[Windows] Reduce number of processes used by NRWT on Windows to 1.

  • Scripts/webkitpy/port/win.py:

(WinPort.default_child_processes):
Reduce number of processes to 1 so we can get a good baseline for what failures
we should be expecting to see from the Windows bots.

11:28 AM Changeset in webkit [174075] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Build fix.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::performActionOnElement):

11:18 AM Changeset in webkit [174074] by Chris Fleizach
  • 7 edits
    2 adds in trunk

AX: in an aria-labelledby computation, do not traverse into elements whose nameFrom value does not include 'contents'
https://bugs.webkit.org/show_bug.cgi?id=136714

Reviewed by Darin Adler.

Source/WebCore:

There are certain ARIA elements that tell us we should not query their children when determining the name of the object.
Those ones have the "nameFrom" property set to "author" instead of "contents." WebKit needs to honor that status.

Test: accessibility/aria-namefrom-author.html

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

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::shouldUseAccessiblityObjectInnerText):
(WebCore::shouldAddSpaceBeforeAppendingNextElement):
(WebCore::appendNameToStringBuilder):
(WebCore::AccessibilityNodeObject::textUnderElement):
(WebCore::accessibleNameForNode):
(WebCore::AccessibilityNodeObject::accessibilityDescriptionForElements):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::accessibleNameDerivesFromContent):
(WebCore::initializeRoleMap):

  • accessibility/AccessibilityObject.h:

LayoutTests:

  • accessibility/aria-labelledby-with-descendants-expected.txt:
  • accessibility/aria-labelledby-with-descendants.html:
  • accessibility/aria-namefrom-author-expected.txt: Added.
  • accessibility/aria-namefrom-author.html: Added.
11:12 AM Changeset in webkit [174073] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Optimize media controls AirPlay discovery
https://bugs.webkit.org/show_bug.cgi?id=137180

Reviewed by Darin Adler.

AirPlay discovery mode uses increases power consumption, so don't enable it when there
is no chance an AirPlay target picker will be useful.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS): Initialize isListeningForPlaybackTargetAvailabilityEvent.
(ControllerIOS.prototype.addVideoListeners): Don't enable register wireless playback event

listeners, it isn't possible to show the target picker until there is an inline controller.

(ControllerIOS.prototype.removeVideoListeners): Call setShouldListenForPlaybackTargetAvailabilityEvent.
(ControllerIOS.prototype.setControlsType): Add wireless event listers on when not showing

the one button controller.

(ControllerIOS.prototype.updateStatusDisplay): Unregister wireless event listeners when the

media element is in an error state.

(ControllerIOS.prototype.setShouldListenForPlaybackTargetAvailabilityEvent): New, add or

remove event listeners.

11:05 AM Changeset in webkit [174072] by aestes@apple.com
  • 8 edits in trunk/Source/WebKit2

[iOS] Add basic support for link navigation in WKPDFView
https://bugs.webkit.org/show_bug.cgi?id=137182

Reviewed by Tim Horton.

Teach WKPDFView to navigate to URLs when PDF link annotations are tapped.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::navigateToURLWithSimulatedClick): Sent Messages::WebPage::NavigateToURLWithSimulatedClick.

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

(-[WKPDFView _clearPages]): Removed self as the UIPDFAnnotationControllerDelegate.
(-[WKPDFView _revalidateViews]): Added self as the UIPDFAnnotationControllerDelegate.
(-[WKPDFView annotation:wasTouchedAtPoint:controller:]): Retrieved the URL from the touched annotation,
computed the touched point relative to the WKPDFView and to the screen, and called
navigateToURLWithSimulatedClick() after a 200 ms delay in order to show a soon-to-be-added tap highlight
(this value matches the delay in UIWebPDFView).

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::navigateToURLWithSimulatedClick): Created a fake single-click MouseEvent and called
FrameLoader::urlSelected(). Creating a mouse event ensures that the navigation appears as a
NavigationTypeLinkClicked in navigation policy delegates.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
11:00 AM Changeset in webkit [174071] by eric.carlson@apple.com
  • 5 edits in trunk/Source/WebCore

[iOS] Remove obsolete playbackTargetAvailabilityChanged methods
https://bugs.webkit.org/show_bug.cgi?id=137179

Reviewed by Darin Adler.

No new tests, this just removes unused code.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerPlaybackTargetAvailabilityChanged): Deleted.

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::playbackTargetAvailabilityChanged): Deleted.

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerPlaybackTargetAvailabilityChanged): Deleted.

10:44 AM Changeset in webkit [174070] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/ANGLE

[WinCairo] D3D11 is not used by default.
https://bugs.webkit.org/show_bug.cgi?id=137215

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

ANGLE_DEFAULT_D3D11 needs to be defined for D3D11 to be used as default.

  • ANGLE.vcxproj/libGLESv2Common.props:
10:35 AM Changeset in webkit [174069] by Chris Dumez
  • 28 edits in trunk/Source/WebCore

Use the new is<>() / downcast<>() for ShadowRoot and StyledElement
https://bugs.webkit.org/show_bug.cgi?id=137199

Reviewed by Darin Adler.

Use the new is<>() / downcast<>() for ShadowRoot and StyledElement and
move towards getting rid of the NODE_TYPE_CASTS() macro.

No new tests, no behavior change.

  • css/ElementRuleCollector.cpp:

(WebCore::ElementRuleCollector::matchAllRules):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::State::initElement):
(WebCore::StyleResolver::State::initForStyleResolve):
(WebCore::StyleResolver::locateCousinList):
(WebCore::StyleResolver::findSiblingForStyleSharing):

  • dom/Attr.cpp:

(WebCore::Attr::style):

  • dom/Element.cpp:

(WebCore::Element::removeAttribute):

  • dom/EventDispatcher.cpp:

(WebCore::EventRelatedNodeResolver::moveToParentOrShadowHost):
(WebCore::EventRelatedNodeResolver::findHostOfTreeScopeInTargetTreeScope):
(WebCore::eventTargetRespectingTargetRules):
(WebCore::EventPath::EventPath):

  • dom/Node.cpp:

(WebCore::Node::containingShadowRoot):
(WebCore::Node::parentOrShadowHostElement):
(WebCore::Node::showNodePathForThis):

  • dom/NodeRenderingTraversal.cpp:

(WebCore::NodeRenderingTraversal::traverseParent):

  • dom/ShadowRoot.h:

(WebCore::isShadowRoot):
(WebCore::Node::shadowRoot):
(WebCore::Node::parentOrShadowHostNode):

  • dom/StyledElement.h:

(WebCore::StyledElement::presentationAttributeStyle):
(WebCore::isStyledElement):

  • dom/Text.cpp:

(WebCore::isSVGShadowText):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::focusedElement):

  • dom/TreeScopeAdopter.cpp:

(WebCore::TreeScopeAdopter::moveNodeToNewDocument):

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
(WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::wrappingStyleForSerialization):

  • editing/Editor.cpp:

(WebCore::Editor::applyEditingStyleToElement):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverterCaches::inlineStylePropertyForElement):

  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::appendElement):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):

  • inspector/InspectorOverlay.cpp:

(WebCore::buildObjectForElementInfo):

  • page/DragController.cpp:

(WebCore::asFileInput):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):

  • page/FocusController.cpp:

(WebCore::FocusNavigationScope::owner):

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::serializeFrame):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::resize):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::title):

  • testing/Internals.cpp:

(WebCore::Internals::shadowRoot):
(WebCore::Internals::shadowRootType):
(WebCore::Internals::includerFor):

10:20 AM Changeset in webkit [174068] by Chris Dumez
  • 43 edits in trunk/Source

Use the new is<>() / downcast<>() for Text Nodes
https://bugs.webkit.org/show_bug.cgi?id=137188

Reviewed by Darin Adler.

Use the new is<>() / downcast<>() functions for Text Nodes instead of
isText() / toText().

Source/WebCore:

No new tests, no behavior change.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::textUnderElement):

  • bindings/gobject/WebKitDOMPrivate.cpp:

(WebKit::wrap):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • dom/CharacterData.cpp:

(WebCore::CharacterData::parserAppendData):
(WebCore::CharacterData::setDataAndUpdate):

  • dom/ContainerNode.cpp:

(WebCore::destroyRenderTreeIfNeeded):

  • dom/Node.cpp:

(WebCore::Node::normalize):

  • dom/Position.cpp:

(WebCore::Position::containerNode):
(WebCore::Position::containerText):
(WebCore::Position::isRenderedCharacter):
(WebCore::Position::leadingWhitespacePosition):

  • dom/Range.cpp:

(WebCore::Range::insertNode):
(WebCore::Range::getBorderAndTextQuads):

  • dom/Text.cpp:

(WebCore::earliestLogicallyAdjacentTextNode):
(WebCore::latestLogicallyAdjacentTextNode):

  • dom/Text.h:

(WebCore::isText):

  • dom/TextNodeTraversal.cpp:

(WebCore::TextNodeTraversal::contentsAsString):

  • dom/TextNodeTraversal.h:

(WebCore::TextNodeTraversal::firstTextChildTemplate):
(WebCore::TextNodeTraversal::firstTextWithinTemplate):
(WebCore::TextNodeTraversal::traverseNextTextTemplate):
(WebCore::TextNodeTraversal::nextSibling):

  • editing/ApplyBlockElementCommand.cpp:

(WebCore::isNewLineAtPosition):
(WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded):

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::splitTextAtEnd):
(WebCore::ApplyStyleCommand::splitTextElementAtEnd):
(WebCore::ApplyStyleCommand::joinChildTextNodes):

  • editing/BreakBlockquoteCommand.cpp:

(WebCore::BreakBlockquoteCommand::doApply):

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::insertNodeAt):
(WebCore::CompositeEditCommand::positionOutsideTabSpan):
(WebCore::CompositeEditCommand::canRebalance):
(WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
(WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
(WebCore::CompositeEditCommand::deleteInsignificantText):
(WebCore::CompositeEditCommand::removePlaceholderAt):
(WebCore::CompositeEditCommand::cleanupAfterDeletion):
(WebCore::CompositeEditCommand::moveParagraphs):

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::handleGeneralDelete):
(WebCore::DeleteSelectionCommand::fixupWhitespace):
(WebCore::DeleteSelectionCommand::doApply):

  • editing/Editor.cpp:

(WebCore::Editor::setComposition):

  • editing/InsertLineBreakCommand.cpp:

(WebCore::InsertLineBreakCommand::doApply):

  • editing/InsertParagraphSeparatorCommand.cpp:

(WebCore::InsertParagraphSeparatorCommand::doApply):

  • editing/InsertTextCommand.cpp:

(WebCore::InsertTextCommand::insertTab):

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::appendStartMarkup):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
(WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
(WebCore::ReplaceSelectionCommand::mergeTextNodesAroundPosition):
(WebCore::ReplaceSelectionCommand::insertAsListItems):
(WebCore::ReplaceSelectionCommand::performTrivialReplace):

  • editing/TextIterator.cpp:

(WebCore::TextIterator::handleTextNode):
(WebCore::TextIterator::handleTextBox):
(WebCore::SimplifiedBackwardsTextIterator::handleTextNode):

  • editing/VisibleUnits.cpp:

(WebCore::startPositionForLine):
(WebCore::endPositionForLine):
(WebCore::startOfParagraph):
(WebCore::endOfParagraph):

  • editing/htmlediting.cpp:

(WebCore::lineBreakExistsAtPosition):

  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::renderedText):
(WebCore::replaceChildrenWithFragment):
(WebCore::replaceChildrenWithText):

  • html/HTMLElement.cpp:

(WebCore::mergeWithNextTextNode):
(WebCore::HTMLElement::setOuterHTML):
(WebCore::HTMLElement::setOuterText):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::hasFallbackContent):
(WebCore::HTMLObjectElement::updateDocNamedItem):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::setText):

  • html/HTMLScriptElement.cpp:

(WebCore::HTMLScriptElement::setText):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::innerTextValue):
(WebCore::positionForIndex):
(WebCore::HTMLTextFormControlElement::indexForPosition):
(WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):

  • html/HTMLTitleElement.cpp:

(WebCore::HTMLTitleElement::setText):

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::insertTextNode):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::setNodeValue):

  • rendering/RenderCombineText.h:
  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::getRanges):

  • rendering/RenderText.cpp:

(WebCore::RenderText::textNode):

  • rendering/svg/RenderSVGInlineText.h:
  • style/StyleResolveTree.cpp:

(WebCore::Style::invalidateWhitespaceOnlyTextSiblingsAfterAttachIfNeeded):
(WebCore::Style::attachChildren):
(WebCore::Style::attachDistributedChildren):
(WebCore::Style::detachDistributedChildren):
(WebCore::Style::detachChildren):
(WebCore::Style::resolveShadowTree):
(WebCore::Style::resolveTree):

Source/WebKit2:

  • WebProcess/InjectedBundle/API/mac/WKDOMText.mm:

(-[WKDOMText data]):
(-[WKDOMText setData:]):

10:16 AM Changeset in webkit [174067] by Chris Dumez
  • 14 edits in trunk/Source/WebCore

Remove remaining uses of NODE_TYPE_CASTS() from html/
https://bugs.webkit.org/show_bug.cgi?id=137172

Reviewed by Darin Adler.

Remove remaining uses of NODE_TYPE_CASTS() from html/ and use the new
SPECIALIZE_TYPE_TRAITS_*() macro instead so that is<>() / downcast<>()
works for those types.

No new tests, no behavior change.

  • css/SelectorCheckerTestFunctions.h:

(WebCore::matchesLangPseudoClass):
(WebCore::matchesFutureCuePseudoClass):
(WebCore::matchesPastCuePseudoClass):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::canShareStyleWithElement):
The new casting function found a bad cast from a StyledElement to VTTElement.
Those two types are unrelated as VTTElement inherits directly from Element.
Knowing that |element| in this method cannot be a VTTElement simplifies the
logic a bit.

  • dom/NodeRenderingTraversal.cpp:

(WebCore::NodeRenderingTraversal::findFirstEnteringInsertionPoints):
(WebCore::NodeRenderingTraversal::findLastEnteringInsertionPoints):
(WebCore::NodeRenderingTraversal::traverseParent):

  • html/HTMLLabelElement.cpp:

(WebCore::nodeAsSupportedLabelableElement):

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::innerTextElement):

  • html/LabelableElement.h:

(WebCore::isLabelableElement):

  • html/shadow/ContentDistributor.cpp:

(WebCore::ContentDistributor::ensureInsertionPointList):

  • html/shadow/InsertionPoint.h:

(WebCore::isInsertionPoint):
(WebCore::isActiveInsertionPoint):
(WebCore::parentNodeForDistribution):

  • html/shadow/TextControlInnerElements.h:

(WebCore::isTextControlInnerTextElement):

  • html/track/VTTCue.cpp:

(WebCore::VTTCue::copyWebVTTNodeToDOMTree):
(WebCore::VTTCue::markFutureAndPastNodes):

  • html/track/WebVTTElement.h:

(WebCore::isWebVTTElement):

  • html/track/WebVTTParser.cpp:

(WebCore::WebVTTTreeBuilder::constructTreeFromToken):

  • style/StyleResolveTree.cpp:

(WebCore::Style::attachRenderTree):
(WebCore::Style::detachChildren):

10:05 AM Changeset in webkit [174066] by commit-queue@webkit.org
  • 5 edits in trunk

Missing changes from r174049
https://bugs.webkit.org/show_bug.cgi?id=137206

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-09-29
Reviewed by Darin Adler.

Source/JavaScriptCore:

  • runtime/CommonIdentifiers.h:

LayoutTests:

  • js/number-constructor-expected.txt:
  • js/script-tests/number-constructor.js:
9:58 AM Changeset in webkit [174065] by Chris Dumez
  • 23 edits in trunk/Source

Make is<>() / downcast<>() work for HTMLDocument and its subclasses
https://bugs.webkit.org/show_bug.cgi?id=137169

Reviewed by Darin Adler.

Source/WebCore:

Make is<>() / downcast<>() work for HTMLDocument and its subclasses by
using the SPECIALIZE_TYPE_TRAITS_*() macro. Drop the DOCUMENT_TYPE_CASTS()
macro as it is no longer needed.

No new tests, no behavior change.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::namedItemGetter):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):

  • dom/Document.cpp:

(WebCore::Document::prepareForDestruction):
(WebCore::Document::processHttpEquiv):
(WebCore::eventTargetElementForDocument):

  • dom/Document.h:
  • dom/Element.cpp:

(WebCore::Element::insertedInto):
(WebCore::Element::removedFrom):
(WebCore::Element::updateName):
(WebCore::Element::updateId):

  • html/HTMLDocument.h:

(WebCore::isHTMLDocument):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::matchesReadWritePseudoClass):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::updateWidget):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::updateDocNamedItem):

  • html/ImageDocument.cpp:

(WebCore::ImageDocumentParser::document):

  • html/ImageDocument.h:

(WebCore::isImageDocument):

  • html/MediaDocument.h:

(WebCore::isMediaDocument):

  • html/PluginDocument.cpp:

(WebCore::PluginDocumentParser::createDocumentStructure):

  • html/PluginDocument.h:

(WebCore::isPluginDocument):

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadPlugin):

  • page/DragController.cpp:

(WebCore::DragController::operationForLoad):

  • page/FrameView.cpp:

(WebCore::determineLayerFlushThrottleState):

Source/WebKit/win:

Use is<>() / downcast<>() for HTMLDocument and its subclasses.

  • DOMHTMLClasses.cpp:

(DOMHTMLDocument::URL):
(DOMHTMLDocument::body):
(DOMHTMLDocument::forms):

Source/WebKit2:

Use is<>() / downcast<>() for HTMLDocument and its subclasses.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::pdfDocumentForPrintingFrame):

9:31 AM Changeset in webkit [174064] by Bruno de Oliveira Abinader
  • 4 edits
    2 deletes in trunk

Revert "Support for :enabled selector on Anchor & Area elements"
https://bugs.webkit.org/show_bug.cgi?id=134826

Reviewed by Darin Adler.

Source/WebCore:

HTML spec has been modified [1] to disable support for :enabled CSS
selector on Anchor, Area & Link elements, after discussion on W3C
Bugzilla [2].

This reverts r171671.

[1] https://html5.org/r/8818
[2] https://www.w3.org/Bugs/Public/show_bug.cgi?id=26622

  • css/SelectorCheckerTestFunctions.h:

(WebCore::isEnabled):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

LayoutTests:

These layout tests are no longer correct after changes to the :enabled
CSS selector specification.

  • fast/css/css-selector-enabled-links-expected.txt: Removed.
  • fast/css/css-selector-enabled-links.html: Removed.
9:26 AM Changeset in webkit [174063] by Darin Adler
  • 4 edits in trunk

Tweak and tighten SVG font converter
https://bugs.webkit.org/show_bug.cgi?id=136956

Reviewed by Myles Maxfield.

Source/WebCore:

  • svg/SVGToOTFFontConversion.cpp: Fixed copyright date.

(WebCore::overwrite32): Changed to use normal subscripting for clarity.
(WebCore::overwrite16): Added.
(WebCore::SVGToOTFFontConverter::GlyphData::GlyphData): Added a move
to make constructing each GlyphData less expensive.
(WebCore::SVGToOTFFontConverter::KerningData): Removed the < operator
since it the struct contains more than what we want to sort it by, so it's
not elegant to build the sorting rule into the struct.
(WebCore::SVGToOTFFontConverter): Removed "k" prefix from some constants.
Replaced many function templates with non-template functions. Changed
key type for m_codepointToIndexMap to UChar32.
(WebCore::integralLog2): Tweaked formatting.
(WebCore::SVGToOTFFontConverter::appendCMAPTable): Removed a stray
cast that doesn't have any effect. Use the Glyph type to index m_glyphs.
(WebCore::SVGToOTFFontConverter::appendHEADTable): Append the magic
number in a more straightforward way.
(WebCore::clampTo): Tweak formatting of the template function.
(WebCore::SVGToOTFFontConverter::appendHHEATable): Made some minor
style changes and improved some comments.
(WebCore::SVGToOTFFontConverter::appendOS2Table): Made some minor
style changes and tightened up code that did parsing a bit, removing the
dynamically allocated array for the fixed length Panose number.
Also use first and last instead of hand-coded versions of those.
(WebCore::appendValidCFFString): Renamed.
(WebCore::SVGToOTFFontConverter::appendCFFTable): Made various tweaks,
including more specific of null for the "no weight" value instead of
either empty or null.
(WebCore::SVGToOTFFontConverter::appendVORGTable): Simplified some of
the numeric parsing, since toInt is guaranteed to return 0 when it also
would return "false" for ok. Also got rid of a local vector and instead
just fixed up the size of the table afterward.
(WebCore::SVGToOTFFontConverter::appendVHEATable): Tweaked comment.
(WebCore::SVGToOTFFontConverter::addCodepointRanges): Use isValidKey
instead of a local hardcoded rule to check hash table key validity.
Check for zero in the result of get rather than using find on the HashMap.
(WebCore::SVGToOTFFontConverter::addCodepointRanges): Ditto.
(WebCore::SVGToOTFFontConverter::addGlyphNames): Ditto.
(WebCore::SVGToOTFFontConverter::addKerningPair): Added. Factored out from
appendKERNSubtable to reduce template bloat and improve clarity.
(WebCore::SVGToOTFFontConverter::appendKERNSubtable): Tweaked formatting.
Moved the bulk of the function into non-template function.
(WebCore::SVGToOTFFontConverter::finishAppendingKERNSubtable): Added.
Non-template part of appendKERNSubtable. Also changed std::sort to supply
custom comparison function rather than trying to use the < operator directly
on KerningData.
(WebCore::writeCFFEncodedNumber): Don't use powf just to multiply by
216. It's pretty easy to do that with plain old multiplication.
(WebCore::CFFBuilder::CFFBuilder): Renamed m_firstPoint to
m_hasBoundingBox.
(WebCore::CFFBuilder::boundingBox): Made this public and const and made
the rest of the class private.
(WebCore::CFFBuilder::updateBoundingBox): Used early return and revised
to use m_hasBoundingBox.
(WebCore::CFFBuilder::writePoint): Added. Used to keep the other
functions below smaller.
(WebCore::CFFBuilder::moveTo): Marked virtual and simplified using writePoint.
Might find a way to simplify even further by teaching writePoint about
the PathCoordinateMode.
(WebCore::CFFBuilder::lineTo): Ditto.
(WebCore::CFFBuilder::curveToCubic): Ditto. Also removed comment that said
the function could be faster. Not sure that's important to state like this.
(WebCore::SVGToOTFFontConverter::transcodeGlyphPaths): Changed into a
non-template function. Tweaked logic and formatting a bit.
(WebCore::SVGToOTFFontConverter::processGlyphElement): Changed into a
non-template function. Moved the code from appendGlyphData in here.
Use WTF::move so we don't copy the glyph paths when creating a GlyphData.
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter): Updated a bit for
function changes above. Changed code to use isValidKey to check if we can
add to m_codepointToIndexMap. Parse font-style rather than parsing
font-weight twice. Round weights instead of truncating them. Change rule
to "first wins" instead of "last wins" when there are multiple segments.
Removed one vague and non-helpful comment.
(WebCore::isFourByteAligned): Fixed minor formatting issue by making the
function non-abstract. No reason not to hard-code the number 3 when the
number four appears in the function name.
(WebCore::calculateChecksum): Removed unneeded comment about why the
checksum is little-endian; since this came from Windows documentation there
is no doubt that little-endian is correct, so we don't need a comment creating
fear, uncertainty, and doubt. If the checksum computation is wrong, it should
become obvious that we have a bad checksum. Also changed the for loop to use
its own loop variable instead of changing startingOffset, which is not logical.
(WebCore::SVGToOTFFontConverter::appendTable): Updated for name changes.
(WebCore::SVGToOTFFontConverter::convertSVGToOTFFont): Ditto. Also streamlined
the checksum code a little. The comment still is a little peculiar; I was
tempted to take it out.

Tools:

I was investigating behavior of String::toInt, String::toDouble, and
String::toFloat for various failure cases, and decided to start some
unit tests for those functions here.

  • TestWebKitAPI/Tests/WTF/WTFString.cpp:

(TestWebKitAPI::TEST): Addded a first small bit of StringToInt and
StringToDouble testing.

8:37 AM Changeset in webkit [174062] by dbates@webkit.org
  • 2 edits in trunk/Source/WebKit/ios

[iOS] Remove CoreLocation workaround
https://bugs.webkit.org/show_bug.cgi?id=137198

Reviewed by Dan Bernstein.

Following the fix for <rdar://problem/18448331>, we can revert the CoreLocation workaround
committed in <http://trac.webkit.org/changeset/173946> and <http://trac.webkit.org/changeset/173940> (in order).

  • Misc/WebGeolocationCoreLocationProvider.mm:

(-[WebGeolocationCoreLocationProvider requestGeolocationAuthorization]):
(-[WebGeolocationCoreLocationProvider locationManager:didChangeAuthorizationStatus:]):

8:30 AM Changeset in webkit [174061] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fix !ENABLE(INSPECTOR) build after r173929
https://bugs.webkit.org/show_bug.cgi?id=137210

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-09-29
Reviewed by Timothy Hatcher.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::getLaunchOptions):

8:16 AM Changeset in webkit [174060] by Philippe Normand
  • 2 edits in trunk/Tools

[GTK][CMake] TestWebCore target build sometimes fail
https://bugs.webkit.org/show_bug.cgi?id=137207

Reviewed by Csaba Osztrogon.

  • TestWebKitAPI/PlatformGTK.cmake: Make sure the forwarding

headers are generated before the TestWebCore target is built.

5:32 AM Changeset in webkit [174059] by Carlos Garcia Campos
  • 2 edits
    2 deletes in trunk/Source/WebCore

[GTK] Remove MainFrameScrollbarGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=137211

Reviewed by Philippe Normand.

This was only used by WebKit1.

  • PlatformGTK.cmake:
  • platform/gtk/MainFrameScrollbarGtk.cpp: Removed.
  • platform/gtk/MainFrameScrollbarGtk.h: Removed.
4:54 AM Changeset in webkit [174058] by Carlos Garcia Campos
  • 7 edits
    2 deletes in trunk

[GTK] Remove IntPointGtk.cpp and IntRectGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=137209

Reviewed by Philippe Normand.

Source/WebCore:

IntPointGtk is unused and IntRectGtk is only required by GTK+2 and
only used when building with GTK+2 in GtkInputMethodFilter.cpp
that can be easily replaced.

  • PlatformGTK.cmake:
  • platform/graphics/IntPoint.h:
  • platform/graphics/IntRect.h:
  • platform/graphics/gtk/IntPointGtk.cpp: Removed.
  • platform/graphics/gtk/IntRectGtk.cpp: Removed.
  • platform/gtk/GtkInputMethodFilter.cpp:

(WebCore::GtkInputMethodFilter::setCursorRect):

Tools:

  • TestWebKitAPI/PlatformGTK.cmake: Remove unneeded IntRectGtk.cpp

from the WebCore test sources.

3:08 AM Changeset in webkit [174057] by svillar@igalia.com
  • 9 edits
    6 adds in trunk

[CSS Grid Layout] Handle percentages of indefinite sizes in minmax() and grid-auto-*
https://bugs.webkit.org/show_bug.cgi?id=136453

Reviewed by Darin Adler.

Source/WebCore:

After r165048 percentages of indefinite sizes were correctly
computed to "auto". The problem is that we were not doing it when
the percentage was inside the minmax() function. In those cases it
should compute to min-content for the min track sizing function or
to max-content for the max track sizing function.

We were not doing it also for the track sizes specified in
grid-auto-{column|row} properties. Fixed as well as the code is
the same.

Tests: fast/css-grid-layout/percent-of-indefinite-track-size-in-auto.html

fast/css-grid-layout/percent-of-indefinite-track-size-in-minmax-crash.html
fast/css-grid-layout/percent-of-indefinite-track-size.html

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::gridTrackSize):

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

(WebCore::GridLength::isPercentage):

  • rendering/style/GridTrackSize.h:

(WebCore::GridTrackSize::GridTrackSize):

LayoutTests:

Added three new tests, one to verify that we do not assert with
percentages inside minmax() and another two to verify that we
properly compute the percentage of indefinite size in various
situations both in grid-template-* properties and in
grid-auto-{column|row} properties.

Three other tests required minimum adjustments as they were using
percentages of indefinite sizes inside minmax functions. In order
to keep the original expected behavior some definite sizes were
added.

  • fast/css-grid-layout/grid-auto-columns-rows-auto-flow-resolution.html:
  • fast/css-grid-layout/grid-auto-columns-rows-resolution.html:
  • fast/css-grid-layout/grid-auto-columns-rows-update.html:
  • fast/css-grid-layout/percent-of-indefinite-track-size-expected.txt: Added.
  • fast/css-grid-layout/percent-of-indefinite-track-size-in-auto-expected.txt: Added.
  • fast/css-grid-layout/percent-of-indefinite-track-size-in-auto.html: Added.
  • fast/css-grid-layout/percent-of-indefinite-track-size-in-minmax-crash-expected.txt: Added.
  • fast/css-grid-layout/percent-of-indefinite-track-size-in-minmax-crash.html: Added.
  • fast/css-grid-layout/percent-of-indefinite-track-size.html: Added.
2:16 AM Changeset in webkit [174056] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.4.6

WebKitGTK+ 2.4.6

1:54 AM Changeset in webkit [174055] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Move sources not using GTK+ from WebCorePlatformGTK_SOURCES to WebCore_SOURCES.

  • PlatformGTK.cmake:
1:51 AM Changeset in webkit [174054] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebKit2

REGRESSION(r172919): WebKitPluginProcess fails to scan GTK+2 plugins after r172919.
https://bugs.webkit.org/show_bug.cgi?id=137191

Reviewed by Philippe Normand.

In r172919 I moved the GTK+ symbols mix check earlier, before the
plugin is loaded and initialized. That made impossible to use the
GTK3 plugin process to scan gtk2 plugins, because we need to load
the plugin to get its metadata. But we don't need to initialize
the plugin to check if it requires GTK2, so we can do that check
in the UI process to decide which plugin process to use.

  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
Remove the requires GTK2 check.
(WebKit::NetscapePluginModule::scanPlugin): Don't write
requires-gtk2 to stdout.

  • UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:

(WebKit::pluginRequiresGtk2): Helper function to check if the
given plugin path requires GTK2.
(WebKit::PluginProcessProxy::scanPlugin): Check if the plugin path
requires GTK2 and use WebKitPluginProcess2 in such case, or return
early if GTK2 plugins are not enabled. Log error messages when
something fails scanning the plugin to make it easiert to debug
problems in the future.

12:15 AM Changeset in webkit [174053] by gyuyoung.kim@samsung.com
  • 3 edits in trunk/Source/WebCore

Use std::unique_ptr instead of PassOwnPtr|OwnPtr for NamedNodeMap
https://bugs.webkit.org/show_bug.cgi?id=137201

Reviewed by Darin Adler.

No new tests, just refactoring patch.

  • dom/ElementRareData.h: Use std::unique_ptr instead of OwnPtr.

(WebCore::ElementRareData::setAttributeMap): Use std::unique_ptr.

  • dom/NamedNodeMap.h:

(WebCore::NamedNodeMap::create): ditto.

Sep 28, 2014:

8:42 PM Changeset in webkit [174052] by mmaxfield@apple.com
  • 13 edits
    1 add in trunk/Source

Replace wkGetGlyphsForCharacters() with CGFontGetGlyphsForUnichars()
https://bugs.webkit.org/show_bug.cgi?id=137197

Reviewed by Alexey Proskuryakov.

No new tests because there is no behavior change.

Source/WebCore:

  • WebCore.exp.in:
  • WebCore.order:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/mac/GlyphPageTreeNodeMac.cpp:

(WebCore::GlyphPage::fill): Use SPI call instead of WKSI call

  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:
  • platform/spi/cocoa/CGFontUnicodeSupport.h: Added for SPI call.

Source/WebKit:

  • mac/WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • WebKit.order:

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • mac/WebKit2.order:
8:02 PM Changeset in webkit [174051] by mmaxfield@apple.com
  • 3 edits in trunk/Tools

Allow webkit-patch upload to respect the --directory argument with git checkouts
https://bugs.webkit.org/show_bug.cgi?id=137166

Reviewed by Darin Adler.

We simply hadn't plumbed it through.

  • Scripts/webkitpy/common/checkout/scm/detection.py:

(SCMDetector.detect_scm_system):

  • Scripts/webkitpy/common/checkout/scm/git.py:

(Git.init):
(Git.changed_files):

7:13 PM Changeset in webkit [174050] by Chris Dumez
  • 32 edits
    2 copies in trunk/Source/WebCore

Automatically generate template specializations for most Elements
https://bugs.webkit.org/show_bug.cgi?id=137174

Reviewed by Darin Adler.

Previously, the template specializations to make is<>() / downcast<>()
work for HTML/SVG/MathML elements were only generated if
"generateTypeHelpers" parameter was explicitly specified for the
corresponding tag name in the *Tags.in file.

We are however able to generate the template specializations for most
types so this patch drops the "generateTypeHelpers" parameter and
generates those template specializations by default.

One case we cannot generate the specialization ifor is when a class is
associated to several tag names but this patch updates the
make_names.pl script to detect this and skip those classes.

No new tests, no behavior change.

  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/make_names.pl:

(defaultTagPropertyHash):
(printTypeHelpers):

  • html/HTMLTagNames.in:
  • mathml/mathtags.in:
  • svg/SVGAllInOne.cpp:
  • svg/SVGAnimateColorElement.cpp:

(WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
(WebCore::SVGAnimateColorElement::determinePropertyValueTypes):

  • svg/SVGAnimateColorElement.h:
  • svg/SVGAnimateElement.cpp:

(WebCore::SVGAnimateElement::SVGAnimateElement):
(WebCore::SVGAnimateElement::~SVGAnimateElement): Deleted.
(WebCore::SVGAnimateElement::hasValidAttributeType): Deleted.
(WebCore::SVGAnimateElement::determineAnimatedPropertyType): Deleted.
(WebCore::SVGAnimateElement::calculateAnimatedValue): Deleted.
(WebCore::SVGAnimateElement::calculateToAtEndOfDurationValue): Deleted.
(WebCore::SVGAnimateElement::calculateFromAndToValues): Deleted.
(WebCore::SVGAnimateElement::calculateFromAndByValues): Deleted.
(WebCore::propertyTypesAreConsistent): Deleted.
(WebCore::SVGAnimateElement::resetAnimatedType): Deleted.
(WebCore::applyCSSPropertyToTarget): Deleted.
(WebCore::removeCSSPropertyFromTarget): Deleted.
(WebCore::applyCSSPropertyToTargetAndInstances): Deleted.
(WebCore::removeCSSPropertyFromTargetAndInstances): Deleted.
(WebCore::notifyTargetAboutAnimValChange): Deleted.
(WebCore::notifyTargetAndInstancesAboutAnimValChange): Deleted.
(WebCore::SVGAnimateElement::clearAnimatedType): Deleted.
(WebCore::SVGAnimateElement::applyResultsToTarget): Deleted.
(WebCore::SVGAnimateElement::animatedPropertyTypeSupportsAddition): Deleted.
(WebCore::SVGAnimateElement::isAdditive): Deleted.
(WebCore::SVGAnimateElement::calculateDistance): Deleted.
(WebCore::SVGAnimateElement::setTargetElement): Deleted.
(WebCore::SVGAnimateElement::setAttributeName): Deleted.
(WebCore::SVGAnimateElement::resetAnimatedPropertyType): Deleted.
(WebCore::SVGAnimateElement::ensureAnimator): Deleted.

  • svg/SVGAnimateElement.h:

(WebCore::isSVGAnimateElement): Deleted.

  • svg/SVGAnimateElementBase.cpp: Copied from Source/WebCore/svg/SVGAnimateElement.cpp.

(WebCore::SVGAnimateElementBase::SVGAnimateElementBase):
(WebCore::SVGAnimateElementBase::~SVGAnimateElementBase):
(WebCore::SVGAnimateElementBase::hasValidAttributeType):
(WebCore::SVGAnimateElementBase::determineAnimatedPropertyType):
(WebCore::SVGAnimateElementBase::calculateAnimatedValue):
(WebCore::SVGAnimateElementBase::calculateToAtEndOfDurationValue):
(WebCore::SVGAnimateElementBase::calculateFromAndToValues):
(WebCore::SVGAnimateElementBase::calculateFromAndByValues):
(WebCore::propertyTypesAreConsistent):
(WebCore::SVGAnimateElementBase::resetAnimatedType):
(WebCore::applyCSSPropertyToTarget):
(WebCore::removeCSSPropertyFromTarget):
(WebCore::applyCSSPropertyToTargetAndInstances):
(WebCore::removeCSSPropertyFromTargetAndInstances):
(WebCore::notifyTargetAboutAnimValChange):
(WebCore::notifyTargetAndInstancesAboutAnimValChange):
(WebCore::SVGAnimateElementBase::clearAnimatedType):
(WebCore::SVGAnimateElementBase::applyResultsToTarget):
(WebCore::SVGAnimateElementBase::animatedPropertyTypeSupportsAddition):
(WebCore::SVGAnimateElementBase::isAdditive):
(WebCore::SVGAnimateElementBase::calculateDistance):
(WebCore::SVGAnimateElementBase::setTargetElement):
(WebCore::SVGAnimateElementBase::setAttributeName):
(WebCore::SVGAnimateElementBase::resetAnimatedPropertyType):
(WebCore::SVGAnimateElementBase::ensureAnimator):

  • svg/SVGAnimateElementBase.h: Copied from Source/WebCore/svg/SVGAnimateElement.h.

(WebCore::isSVGAnimateElementBase):

  • svg/SVGAnimateTransformElement.cpp:

(WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
(WebCore::SVGAnimateTransformElement::parseAttribute):

  • svg/SVGAnimateTransformElement.h:
  • svg/SVGAnimatedAngle.cpp:
  • svg/SVGAnimatedBoolean.cpp:
  • svg/SVGAnimatedColor.cpp:
  • svg/SVGAnimatedInteger.cpp:
  • svg/SVGAnimatedIntegerOptionalInteger.cpp:
  • svg/SVGAnimatedLength.cpp:
  • svg/SVGAnimatedLengthList.cpp:
  • svg/SVGAnimatedNumber.cpp:
  • svg/SVGAnimatedNumberList.cpp:
  • svg/SVGAnimatedNumberOptionalNumber.cpp:
  • svg/SVGAnimatedPath.cpp:
  • svg/SVGAnimatedPointList.cpp:
  • svg/SVGAnimatedPreserveAspectRatio.cpp:
  • svg/SVGAnimatedRect.cpp:
  • svg/SVGAnimatedString.cpp:
  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::currentValuesForValuesAnimation):

  • svg/SVGSetElement.cpp:

(WebCore::SVGSetElement::SVGSetElement):

  • svg/SVGSetElement.h:
  • svg/svgtags.in:
6:52 PM Changeset in webkit [174049] by commit-queue@webkit.org
  • 7 edits
    3 adds in trunk

Simple ES6 feature: Number constructor extras
https://bugs.webkit.org/show_bug.cgi?id=131707

Patch by Diego Pino Garcia <Diego Pino Garcia> on 2014-09-28
Reviewed by Darin Adler.

Source/JavaScriptCore:

  • runtime/CommonIdentifiers.h:
  • runtime/NumberConstructor.cpp:

(JSC::NumberConstructor::finishCreation): Setup constants and
functions.
(JSC::numberConstructorFuncIsFinite): Added.
(JSC::numberConstructorFuncIsInteger): Added.
(JSC::numberConstructorFuncIsNaN): Added.
(JSC::numberConstructorFuncIsSafeInteger): Added.
(JSC::NumberConstructor::getOwnPropertySlot): Deleted.
(JSC::numberConstructorNaNValue): Deleted.
(JSC::numberConstructorNegInfinity): Deleted.
(JSC::numberConstructorPosInfinity): Deleted.
(JSC::numberConstructorMaxValue): Deleted.
(JSC::numberConstructorMinValue): Deleted.

  • runtime/NumberConstructor.h:

LayoutTests:

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/number-constructor-expected.txt: Added.
  • js/number-constructor.html: Added.
  • js/script-tests/Object-getOwnPropertyNames.js:
  • js/script-tests/number-constructor.js: Added.
6:18 PM Changeset in webkit [174048] by gyuyoung.kim@samsung.com
  • 12 edits in trunk/Source

Use std::unique_ptr for ContextMenuController
https://bugs.webkit.org/show_bug.cgi?id=137178

Reviewed by Darin Adler.

Switch to using std::unique_ptr instead of OwnPtr and PassOwnPtr
for ContextMenuController class. Inherited class is changed by this use as well.

Source/WebCore:

No new tests, no behavior changes.

  • loader/EmptyClients.cpp:

(WebCore::EmptyContextMenuClient::customizeMenu):

  • loader/EmptyClients.h:
  • page/ContextMenuClient.h:
  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::clearContextMenu):
(WebCore::ContextMenuController::maybeCreateContextMenu):
(WebCore::ContextMenuController::showContextMenu):

  • page/ContextMenuController.h:

Source/WebKit/win:

  • WebCoreSupport/WebContextMenuClient.cpp:

(WebContextMenuClient::customizeMenu):

  • WebCoreSupport/WebContextMenuClient.h:

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebContextMenuClient.cpp:

(WebKit::WebContextMenuClient::customizeMenu):

  • WebProcess/WebCoreSupport/WebContextMenuClient.h:
6:04 PM Changeset in webkit [174047] by gyuyoung.kim@samsung.com
  • 14 edits in trunk/Source

Move ColorInputType class to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=137173

Reviewed by Darin Adler.

Replace uses of PassOwnPtr in code under ColorInputType class with std::unique_ptr.
Child classes follow this change as well.

Source/WebCore:

No new tests, no behavior changes.

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::didEndChooser):

  • html/ColorInputType.h:
  • loader/EmptyClients.cpp:

(WebCore::EmptyChromeClient::createColorChooser):

  • loader/EmptyClients.h:
  • page/Chrome.cpp:

(WebCore::Chrome::createColorChooser):

  • page/Chrome.h:
  • page/ChromeClient.h:

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::createColorChooser):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createColorChooser):

  • WebProcess/WebCoreSupport/WebChromeClient.h:
4:18 PM Changeset in webkit [174046] by commit-queue@webkit.org
  • 16 edits in trunk

Fix some minor typos: psuedo -> pseudo
https://bugs.webkit.org/show_bug.cgi?id=137192

Patch by Sungmann Cho <sungmann.cho@navercorp.com> on 2014-09-28
Reviewed by Alexey Proskuryakov.

PerformanceTests:

  • Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js:

Source/WebCore:

No new tests, no behavior change.

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::specificityForOneSelector):

LayoutTests:

  • fast/dom/Window/getMatchedCSSRules-with-invalid-pseudo-elements-expected.txt:
  • fast/dom/Window/getMatchedCSSRules-with-invalid-pseudo-elements.html:
  • fast/dom/Window/getMatchedCSSRules-with-pseudo-elements-expected.txt:
  • fast/dom/Window/getMatchedCSSRules-with-pseudo-elements.html:
  • fast/selectors/159.html:
  • fast/selectors/160.html:
  • fast/selectors/166.html:
  • platform/efl/fast/selectors/166-expected.txt:
  • platform/gtk/fast/selectors/166-expected.txt:
  • platform/ios-sim/fast/selectors/166-expected.txt:
  • platform/mac/fast/selectors/166-expected.txt:
1:59 PM Changeset in webkit [174045] by weinig@apple.com
  • 17 edits
    1 move
    1 delete in trunk

Replace OSObjectPtr with RetainPtr/adoptOS
https://bugs.webkit.org/show_bug.cgi?id=137158

Reviewed by Dan Bernstein.

Source/WebKit2:

  • DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm:

(DatabaseServiceInitializer):

  • NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:

(WebKit::NetworkServiceInitializerDelegate::NetworkServiceInitializerDelegate):
(NetworkServiceInitializer):

  • Platform/IPC/Connection.h:

(IPC::Connection::Identifier::Identifier):

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::ConnectionTerminationWatchdog::createConnectionTerminationWatchdog):
(IPC::ConnectionTerminationWatchdog::ConnectionTerminationWatchdog):

  • PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:

(WebKit::PluginServiceInitializerDelegate::PluginServiceInitializerDelegate):
(PluginServiceInitializer):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:

(WebKit::XPCServiceInitializerDelegate::XPCServiceInitializerDelegate):
(WebKit::XPCServiceInitializer):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:

(WebKit::XPCServiceInitializerDelegate::checkEntitlements):
(WebKit::XPCServiceInitializerDelegate::hasEntitlement):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:

(WebKit::XPCServiceEventHandler):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:

(WebKit::XPCServiceEventHandler):

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToService):
(WebKit::connectToReExecService):

  • WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:

(WebContentServiceInitializer):

Source/WTF:

  • WTF.xcodeproj/project.pbxproj:
  • wtf/OSObjectPtr.h: Removed.
  • wtf/RetainPtr.h:

(WTF::adoptOS):
Added. This adopt function is slightly different than both adoptCF and adoptNS,
in that unlike adoptCF(), it can be passed an Objective-C type (since OS objects
are sometimes Objective-C objects, but not always), and unlike adoptNS() it doesn't
require us to jump through hoops to appease GC (since OS objects are not Objective-C
objects if GC is enabled).

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/darwin/OSObjectPtr.cpp: Removed.
  • TestWebKitAPI/Tests/WTF/darwin/RetainPtrOSObject.cpp: Copied from Tools/TestWebKitAPI/Tests/WTF/darwin/OSObjectPtr.cpp.

Rename and change test to use RetainPtr. Remove now unneeded part testing WTF::retainOSObject/WTF::releaseOSObject.

7:07 AM WebKitGTK/2.6.x edited by berto@igalia.com
(diff)
1:23 AM Changeset in webkit [174044] by Carlos Garcia Campos
  • 1 edit
    1 move in trunk/Source/WebCore

Unreviewed. Move RenderThemeGtk.h from platform/gtk to rendering.

I forgot to move this file in r173111.

  • rendering/RenderThemeGtk.h: Renamed from Source/WebCore/platform/gtk/RenderThemeGtk.h.
1:18 AM Changeset in webkit [174043] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebCore

[ATK] WebKitAccessibleWrapperAtk should not depend on GTK
https://bugs.webkit.org/show_bug.cgi?id=137177

Reviewed by Martin Robinson.

It's used to get the web view widget, but there's no GtkWidget in
the web process and platformPageClient is always NULL.

  • PlatformGTK.cmake: Move accessibility sources to the WebCore

sources list.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkParentOfRootObject): Remove code to get view GtkWidget.

  • editing/atk/FrameSelectionAtk.cpp: Remove unneeded header include.
1:14 AM Changeset in webkit [174042] by Carlos Garcia Campos
  • 2 edits
    2 deletes in trunk/Source/WebCore

[GTK] Remove unused GtkPluginWidget
https://bugs.webkit.org/show_bug.cgi?id=137176

Reviewed by Csaba Osztrogonác.

It was only used by WebKit1.

  • PlatformGTK.cmake:
  • platform/gtk/GtkPluginWidget.cpp: Removed.
  • platform/gtk/GtkPluginWidget.h: Removed.
1:06 AM Changeset in webkit [174041] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebCore

[cairo] GraphicsContext should not depend on GTK+
https://bugs.webkit.org/show_bug.cgi?id=137175

Reviewed by Martin Robinson.

Remove the unused methods depending on GDK and simplify
GraphicsContext::drawFocusRing() using only cairo API.

  • PlatformGTK.cmake: Move GraphicsContextCairo.cpp to the webcore sources.
  • platform/graphics/GraphicsContext.h:
  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::drawFocusRing): Iterate the rectangles
instead of creating a region for the rectangles and call gdk_cairo_region().
(WebCore::GraphicsContext::setGdkExposeEvent): Deleted.
(WebCore::GraphicsContext::gdkExposeEvent): Deleted.
(WebCore::GraphicsContext::gdkWindow): Deleted.

  • platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:

(WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):

Sep 27, 2014:

10:57 PM Changeset in webkit [174040] by Chris Dumez
  • 11 edits in trunk/Source/WebCore

HTMLPlugInElement::isUserObservable() is causing layout
https://bugs.webkit.org/show_bug.cgi?id=137156

Reviewed by Ryosuke Niwa.

While profiling the page load of nytimes.com, I noticed that we were
spending ~4-5% of cpu time in HTMLPlugInElement::isUserObservable().
The reason is that the function calls pluginWidget(), which causes a
layout update in HTMLObjectElement::renderWidgetForJSBindings(), to
make sure the plugin is loaded and its renderer is created.

HTMLPlugInElement::isUserObservable() shouldn't need to do a layout.
This patch does the following to address the problem:

  • Rename renderWidgetForJSBindings() to renderWidgetLoadingPlugin() because this function is not always called from the JS Bindings nowadays. The new name makes it clearer that this will load the plugin if needed (to make sure the renderer is created, and by doing a layout).
  • Add a PluginLoadingPolicy argument to HTMLPlugInElement::pluginWidget() to let the caller control if the plugin should be loaded or not.
  • Update the call to pluginWidget() in isUserObservable() so that we do not attempt to load the plugin (thus not causing a layout).

No new tests, no behavior change.

  • WebCore.exp.in:
  • WebCore.order:
  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::renderWidgetLoadingPlugin):
(WebCore::HTMLAppletElement::renderWidgetForJSBindings): Deleted.

  • html/HTMLAppletElement.h:
  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::renderWidgetLoadingPlugin):
(WebCore::HTMLEmbedElement::renderWidgetForJSBindings): Deleted.

  • html/HTMLEmbedElement.h:
  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::renderWidgetLoadingPlugin):
(WebCore::HTMLObjectElement::renderWidgetForJSBindings): Deleted.

  • html/HTMLObjectElement.h:
  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::pluginWidget):
(WebCore::HTMLPlugInElement::isUserObservable):

  • html/HTMLPlugInElement.h:
10:21 PM Changeset in webkit [174039] by Chris Dumez
  • 22 edits in trunk/Source/WebCore

Use the new is<>() / downcast<>() for more Node subclasses
https://bugs.webkit.org/show_bug.cgi?id=137184

Reviewed by Ryosuke Niwa.

Use the new is<>() / downcast<>() for more Node subclasses:
CDATASection, CharacterData, Comment, DocumentType,
ProcessingInstruction, and PseudoElement.

No new tests, no behavior change.

  • dom/CDATASection.h:

(WebCore::isCDATASection):

  • dom/CharacterData.cpp:

(WebCore::CharacterData::setDataAndUpdate):

  • dom/CharacterData.h:

(WebCore::isCharacterData):

  • dom/Comment.h:

(WebCore::isComment):

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):

  • dom/DocumentType.h:

(WebCore::isDocumentType):

  • dom/EventDispatcher.cpp:

(WebCore::eventTargetRespectingTargetRules):
(WebCore::nodeOrHostIfPseudoElement):

  • dom/Node.cpp:

(WebCore::markAncestorsWithChildNeedsStyleRecalc):
(WebCore::Node::pseudoAwarePreviousSibling):
(WebCore::Node::pseudoAwareNextSibling):

  • dom/NodeTraversal.cpp:

(WebCore::NodeTraversal::previousIncludingPseudo):
(WebCore::NodeTraversal::nextIncludingPseudo):
(WebCore::NodeTraversal::nextIncludingPseudoSkippingChildren):

  • dom/ProcessingInstruction.h:

(WebCore::isProcessingInstruction):

  • dom/PseudoElement.h:

(WebCore::isPseudoElement):

  • dom/Range.cpp:

(WebCore::lengthOfContentsInNode):
(WebCore::Range::processContentsBetweenOffsets):
(WebCore::Range::checkNodeWOffset):

  • editing/Editor.cpp:

(WebCore::Editor::shouldInsertFragment):

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::appendStartMarkup):

  • editing/cocoa/HTMLConverter.mm:

(HTMLConverter::_traverseNode):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForNode):

  • inspector/InspectorLayerTreeAgent.cpp:

(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::setInnerNode):
(WebCore::HitTestResult::setInnerNonSharedNode):

  • rendering/RenderListItem.cpp:

(WebCore::enclosingList):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::generatingPseudoHostElement):

  • xml/XPathFunctions.cpp:

(WebCore::XPath::expandedNameLocalPart):

9:13 PM Changeset in webkit [174038] by Chris Dumez
  • 8 edits in trunk/Source/WebCore

Use the new is<>() / downcast<>() for Attr Nodes
https://bugs.webkit.org/show_bug.cgi?id=137183

Reviewed by Ryosuke Niwa.

Use the new is<>() / downcast<>() for Attr Nodes instead of isAttr() /
toAttr().

No new tests, no behavior change.

  • dom/Attr.h:

(WebCore::isAttr):

  • dom/Document.cpp:

(WebCore::Document::importNode):
(WebCore::Document::adoptNode):

  • dom/NamedNodeMap.cpp:

(WebCore::NamedNodeMap::setNamedItem):

  • dom/Node.cpp:

(WebCore::Node::compareDocumentPosition):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForNode):

  • inspector/InspectorNodeFinder.cpp:

(WebCore::InspectorNodeFinder::searchUsingXPath):

  • xml/XPathNodeSet.cpp:

(WebCore::XPath::sortBlock):
(WebCore::XPath::NodeSet::sort):
(WebCore::XPath::findRootNode):

3:17 PM Changeset in webkit [174037] by Brian Burg
  • 5 edits in trunk/Source

Web Replay: Playback position updates should be sent before the next event loop input is dispatched
https://bugs.webkit.org/show_bug.cgi?id=137162

Reviewed by Timothy Hatcher.

Source/WebCore:

To drive playback position updates in the Inspector UI, we send playbackHitPosition protocol
messages as the replay backend dispatches inputs. However, right now the semantics of that
message are muddy. The update is sent *after* the input at the offset is dispatched. This leads
to unexpected results if the debugger pauses while the input is being dispatched: the frontend
will only know about the previous (stale) playback position when the debugger pauses.

With this patch, the backend sends the playbackHitPosition(segmentOffset=n, inputOffset=m)
message when backend is about to dispatch input m, but has not yet begun to do so. Thus, any
subsequent page execution events (profiling, debugger pauses, etc) until the next
playbackHitPosition are caused by input m's being dispatched.

  • inspector/protocol/Replay.json: Clarify the message's semantics.
  • replay/ReplayController.cpp:

(WebCore::ReplayController::willDispatchInput):
(WebCore::ReplayController::didDispatchInput):

Source/WebInspectorUI:

Pausing playback from the UI was broken because of a typo. Fix this, and rename
stopPlayback to cancelPlayback.

  • UserInterface/Controllers/ReplayManager.js:

(WebInspector.ReplayManager.prototype.switchSession.if):

1:27 PM Changeset in webkit [174036] by fpizlo@apple.com
  • 8 edits
    1 add in trunk

Disable function.arguments
https://bugs.webkit.org/show_bug.cgi?id=137167

Source/JavaScriptCore:

Rubber stamped by Geoffrey Garen.

Add an option to disable function.arguments. Add a test for disabling it.

Disabling function.arguments means that it returns an Arguments object that claims that
there were zero arguments. All other Arguments functionality still works, so any code
that tries to inspect this object will still think that it is looking at a perfectly
valid Arguments object.

This also makes function.arguments disabled by default. Note that the RJST harness will
enable them by default, to continue to get test coverage for the code that implements
the feature.

We will rip out that code once we're confident that it's really safe to remove this
feature. Only once we rip out that support will we be able to do optimizations to
leverage the lack of this feature. It's important to keep the support code, and the test
infrastructure, in place before we are confident. The logic to keep this working touches
the entire compiler and a large chunk of the runtime, so reimplementing it - or even
merging it back in - would be a nightmare. That's also basically the reason why we want
to rip it out if at all possible. It's a lot of terrible code.

  • interpreter/StackVisitor.cpp:

(JSC::StackVisitor::Frame::createArguments):

  • runtime/Arguments.h:

(JSC::Arguments::create):
(JSC::Arguments::finishCreation):

  • runtime/Options.h:
  • tests/stress/disable-function-dot-arguments.js: Added.

(foo):
(bar):

Tools:

Rubber stamped by Geoffrey Garen

Enable the feature by default during tests.

  • Scripts/run-jsc-stress-tests:

LayoutTests:

Rubber stamped by Geoffrey Garen.

Don't remove the tests for this, yet - but mark them as failing. We will rebase these,
or remove them entirely, once we know that it's safe to rip out this feature entirely.

11:49 AM Changeset in webkit [174035] by benjamin@webkit.org
  • 3 edits
    8 adds in trunk

Chaining multiple :nth-child() does not work properly
https://bugs.webkit.org/show_bug.cgi?id=137032

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-27
Reviewed by Gavin Barraclough.

Source/WebCore:

When multiple :nth-child() are chained, the evaluation of each "An+B" could depend on
the execution of the previous "An+B". The reason is that the register holding the position
of the current element could be modified by the evaluation of "An+B".

There are two cases in which the register was used as the destination of an operation:
1) When A and B are positive, the counter would be the destination of "counter - B".
2) When A is not 1 or 2, the modulo operation was not preserving the input register.

For (1), we a copy of the counter in that case of generateElementIsNthChild().

For (2), we also preserve a copy of the input if it is used by the operation. In this case,
if the input register is one of the argument we need for idiv, we preserve it on the stack
or in a register depending on what is available.

This increases the register requirements by 2 in the worst case on x86. The extra registers
can push generateElementIsNthChild() above the 4 available registers. To accomodate for that,
minimumRegisterRequirements() reserve more registers on x86.

The extra register pressure has strictly no effect on performance, x86_64 has 9 registers
available without pushing anything. The extra allocation is only necessary for debugging.

Tests: fast/selectors/nth-child-basics.html

fast/selectors/nth-child-chained.html
fast/selectors/nth-child-of-basics-2.html
fast/selectors/nth-child-of-chained.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::minimumRegisterRequirements):
(WebCore::SelectorCompiler::SelectorCodeGenerator::modulo):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementIsNthChild):

LayoutTests:

  • fast/selectors/nth-child-chained-expected.txt: Added.
  • fast/selectors/nth-child-chained.html: Added.
  • fast/selectors/nth-child-of-chained-expected.txt: Added.
  • fast/selectors/nth-child-of-chained.html: Added.

Those new tests target specifically the register reuse bug fixed by the patch.

  • fast/selectors/nth-child-basics-expected.txt: Added.
  • fast/selectors/nth-child-basics.html: Added.
  • fast/selectors/nth-child-of-basics-2-expected.txt: Added.
  • fast/selectors/nth-child-of-basics-2.html: Added.

Those tests add coverage for the examples used by http://nthmaster.com. This is to increase
the general test coverage.

I added nth-child-of-basics-2.html instead of extending nth-child-of-basics.html because
of the speed issue in debug without CSS JIT (otherwise the test can timeout).

12:13 AM Changeset in webkit [174034] by mitz@apple.com
  • 5 edits in trunk

WebKit top of tree sources won't build in 10.9 w/ Xcode 6.0.1
https://bugs.webkit.org/show_bug.cgi?id=137053

Reviewed by Mark Rowe.

.:

  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme:

In the build pre-action, pass the --wksi and --llvm options to
copy-webkitlibraries-to-product-directory.

  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme: Ditto.

Websites/webkit.org:

  • building/build.html: Removed instructions how to work around this bug, now that it’s fixed.
Note: See TracTimeline for information about the timeline view.