Timeline



Mar 10, 2014:

11:57 PM Changeset in webkit [165435] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION(r165407): DoYouEvenBench crashes in DRT
https://bugs.webkit.org/show_bug.cgi?id=130066

Reviewed by Geoffrey Garen.

The baseline JIT does a conditional store barrier for the put_by_id, but we need
an unconditional store barrier so that we cover the butterfly case as well in emitPutTransitionStub.

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

(JSC::JIT::emit_op_put_by_id):
(JSC::JIT::emitWriteBarrier):

11:25 PM Changeset in webkit [165434] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Expose WebPageProxy::close
https://bugs.webkit.org/show_bug.cgi?id=130068

Reviewed by Adele Peterson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _close]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
10:18 PM Changeset in webkit [165433] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Resurrect bit-rotted JIT::probe() mechanism.
<https://webkit.org/b/130067>

Reviewed by Geoffrey Garen.

  • jit/JITStubs.cpp:
  • Added the needed #include <wtf/InlineASM.h>.
10:01 PM Changeset in webkit [165432] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

Fix typo in EXCLUDED_SOURCE_FILE_NAMES_iphoneos.

Rubber-stamped by Dan Bernstein.

  • Configurations/JavaScriptCore.xcconfig:
9:53 PM Changeset in webkit [165431] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

r165414 broke the 32-bit x86 tests: ASSERTION FAILED: result != InvalidIndex @ GPRInfo.h:330.
<https://webkit.org/b/130065>

Reviewed by Michael Saboff.

There is code in ScratchRegisterAllocator.cpp that is relying on GPRInfo::toIndex()
being able to return InvalidIndex. Hence, the assertion is invalid. Ditto for
FPRInfo::toIndex().

The fix is to remove the "result != InvalidIndex" assertions.

  • jit/FPRInfo.h:

(JSC::FPRInfo::toIndex):

  • jit/GPRInfo.h:

(JSC::GPRInfo::toIndex):

9:52 PM Changeset in webkit [165430] by commit-queue@webkit.org
  • 13 edits in trunk

Web Inspector: AXI: Expose checked/disabled/expanded/pressed/readonly/selected
https://bugs.webkit.org/show_bug.cgi?id=129781

Patch by James Craig <jcraig@apple.com> on 2014-03-10
Reviewed by Joseph Pecoraro.

Enabling several more properties to be exposed in the Accessibility Node Inspector.

Source/WebCore:

Updated Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::supportsChecked):

  • accessibility/AccessibilityObject.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForAccessibilityProperties):

  • inspector/protocol/DOM.json:

Source/WebInspectorUI:

Updated Tests: inspector-protocol/dom/getAccessibilityPropertiesForNode.html

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Models/DOMNode.js:
  • UserInterface/Protocol/InspectorWebBackendCommands.js:
  • UserInterface/Views/DOMNodeDetailsSidebarPanel.js:

LayoutTests:

  • inspector-protocol/dom/getAccessibilityPropertiesForNode-expected.txt:
  • inspector-protocol/dom/getAccessibilityPropertiesForNode.html:
9:31 PM Changeset in webkit [165429] by Bem Jones-Bey
  • 3 edits
    4 adds in trunk

[CSS Shapes] inset corner radii are not flipped for vertical writing modes
https://bugs.webkit.org/show_bug.cgi?id=129918

Reviewed by Dean Jackson.

Source/WebCore:

When creating an inset shape, convert the radii to logical coordinates
as well as the box.

Tests: fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left.html

fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right.html

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createShape): Convert the radii to logical

coordinates.

LayoutTests:

Test both left and right float cases so that we cover all four
corners.

  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left-expected.txt: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-left.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right-expected.txt: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-different-writing-modes-right.html: Added.
9:28 PM Changeset in webkit [165428] by ryuan.choi@samsung.com
  • 4 edits in trunk/Source/WebKit/efl

[EFL] Modify accelerated compositing related functions in ewk_view.
https://bugs.webkit.org/show_bug.cgi?id=129875

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-10
Reviewed by Gyuyoung Kim.

The compositing object will be created when root layer is attached.
So we don't need to expose the create function.
And this patch adds show(), hide() and resize() for compositing object.

  • WebCoreSupport/AcceleratedCompositingContextEfl.h: move resize() to public.
  • ewk/ewk_view.cpp:

(_ewk_view_smart_resize): add to resize the compositing object.
(_ewk_view_smart_show): add to show the compositing object.
(_ewk_view_smart_hide): add to hide the compositing object.
(_ewk_view_accelerated_compositing_context_create_if_needed):
modify the creation for the compositing object.
(_ewk_view_accelerated_compositing_object_create_if_needed):
add a return value.
(ewk_view_root_graphics_layer_set):
If root layer is not 0, we create the compositing object and AcceleratedCompositingContext.

  • ewk/ewk_view_private.h: remove to expose the compositing object creation API.
9:22 PM Changeset in webkit [165427] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: Frontend loaded resources from cache are not hidden as expected
https://bugs.webkit.org/show_bug.cgi?id=130044

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

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadedResourceFromMemoryCache):
Use the new request that was passed in. Assume it is filled in appropriately.

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

(WebCore::CachedResourceLoader::shouldContinueAfterNotifyingLoadedFromMemoryCache):
Carry over the hidden from inspector state if the passed in request had it,
and create the request that loadedResourceFromMemoryCache will use.

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::createRequest):
Add missing ifdefs for INSPECTOR only function.

9:06 PM Changeset in webkit [165426] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Crash on a stack overflow on 32-bit x86 in http/tests/websocket/tests/hybi/workers/no-onmessage-in-sync-op.html.
<https://webkit.org/b/129955>

Reviewed by Geoffrey Garen.

The 32-bit x86 version of getHostCallReturnValue() was leaking 16 bytes
stack memory every time it was called. This is now fixed.

  • jit/JITOperations.cpp:
8:08 PM Changeset in webkit [165425] by jer.noble@apple.com
  • 2 edits in trunk/Source/WTF

Improve WeakPtr operators.
https://bugs.webkit.org/show_bug.cgi?id=130053

Reviewed by Andreas Kling.

Replace the "operator!()" with an explicit bool operator. Add an "operator->()".

  • wtf/WeakPtr.h:

(WTF::WeakPtr::operator bool):
(WTF::WeakPtr::operator->):

7:39 PM Changeset in webkit [165424] by Joseph Pecoraro
  • 6 edits in trunk/Source/JavaScriptCore

Better JSContext API for named evaluations (other than # sourceURL)
https://bugs.webkit.org/show_bug.cgi?id=129911

Reviewed by Geoffrey Garen.

  • API/JSBase.h:
  • API/JSContext.h:
  • API/JSContext.mm:

(-[JSContext evaluateScript:]):
(-[JSContext evaluateScript:withSourceURL:]):
Add new evaluateScript:withSourceURL:.

  • API/tests/testapi.c:

(main):

  • API/tests/testapi.mm:

(testObjectiveCAPI):
Add tests for sourceURL in evaluate APIs. It should
affect the exception objects.

7:26 PM Changeset in webkit [165423] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Source/WebCore

Remove 'visibilitychange' attribute event listener from document
https://bugs.webkit.org/show_bug.cgi?id=129794

Reviewed by Simon Fraser.

Remove the unused attribute event listener which is not defined in Page Visibility API spec.
http://www.w3.org/TR/page-visibility/#sec-document-interface

  • dom/Document.h:
6:34 PM Changeset in webkit [165422] by benjamin@webkit.org
  • 6 edits in trunk/Source

[iOS][WebKit 2] Wire the unobscured rect in the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=130058

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

Source/WebCore:

  • WebCore.exp.in:
  • platform/ScrollView.h:
  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::unobscuredContentRect):
(WebCore::ScrollView::setUnobscuredContentRect):

Source/WebKit2:

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::updateVisibleContentRects):

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

makeSelectorPseudoTypeMap.py should not be copied in the WebCore bundle

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-10

  • WebCore.xcodeproj/project.pbxproj:
5:39 PM Changeset in webkit [165420] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Unreviewed build fix.

Some bad Windows code was committed at some point that prevents the Apple Windows port
from finding its runtime dependencies reliably.

  • win/DLLLauncher/DLLLauncherMain.cpp:

(appleApplicationSupportDirectory): Restored this function.
(modifyPath): Update to use appleApplicationSupportDirectory function.

5:29 PM Changeset in webkit [165419] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

[Win] Unreviewed build fix (64-bit).

  • WebKit.vcxproj/WebKit/WebKitCommon.props: Put uuid.lib as the last link library so that

the MSIE DOM symbols don't conflict with WebKit's.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add missing 64-bit symbol definitions.
5:23 PM Changeset in webkit [165418] by mario.prada@samsung.com
  • 13 edits
    1 move
    2 adds in trunk

[GTK] Add support for Geoclue2
https://bugs.webkit.org/show_bug.cgi?id=120185

Reviewed by Carlos Garcia Campos.

.:

Add support for Geoclue2 using autotools.

  • Source/autotools/FindDependencies.m4: Add support for handling

both Geoclue 1.0 and 2.0.

  • Source/autotools/PrintBuildConfiguration.m4: Print the version

of geoclue that is being used.

  • Source/autotools/SetupAutoconfHeader.m4: Define GEOCLUE_API_VERSION_2.
  • Source/autotools/SetupAutomake.m4: Likewise, for AM_CONDITIONAL.
  • Source/autotools/Versions.m4: Added minimum required version for Geoclue2.

Add support for Geoclue2 using CMake.

  • Source/cmake/FindGeoClue2.cmake: Added.
  • Source/cmake/OptionsGTK.cmake: Add support for handling Geoclue 1.0 and 2.0.
  • Source/cmakeconfig.h.cmake: Define WTF_USE_GEOCLUE2.

Source/WebCore:

Implement a new geolocation provider based on Geoclue2, which will only
be used if a good enough version of Geoclue2 is found at configure time.

  • GNUmakefile.am: Generate C-API for accessing the D-Bus API

provided by Geoclue2, and place it in DerivedSources.

  • GNUmakefile.list.am: Add GeolocationProviderGeoclue2.cpp, and

include the generated proxy files when using Geoclue2.

  • PlatformGTK.cmake: Likewise, for CMake based builds.
  • platform/geoclue/GeolocationProviderGeoclue.h: Modified to

accomodate the needs both for Geoclue and Geoclue2 providers.

  • platform/geoclue/GeolocationProviderGeoclue1.cpp: Renamed from Source/WebCore/platform/geoclue/GeolocationProviderGeoclue.cpp.

(GeolocationProviderGeoclue::getPositionCallback):
(GeolocationProviderGeoclue::positionChangedCallback):
(GeolocationProviderGeoclue::createGeocluePositionCallback):
(GeolocationProviderGeoclue::geoclueClientSetRequirementsCallback):
(GeolocationProviderGeoclue::createGeoclueClientCallback):
(GeolocationProviderGeoclue::GeolocationProviderGeoclue):
(GeolocationProviderGeoclue::~GeolocationProviderGeoclue):
(GeolocationProviderGeoclue::startUpdating):
(GeolocationProviderGeoclue::stopUpdating):
(GeolocationProviderGeoclue::setEnableHighAccuracy):
(GeolocationProviderGeoclue::initializeGeoclueClient):
(GeolocationProviderGeoclue::initializeGeocluePosition):
(GeolocationProviderGeoclue::updateClientRequirements):
(GeolocationProviderGeoclue::positionChanged):
(GeolocationProviderGeoclue::errorOccurred):

  • platform/geoclue/GeolocationProviderGeoclue2.cpp: Added.

(GeolocationProviderGeoclue::GeolocationProviderGeoclue):
(GeolocationProviderGeoclue::~GeolocationProviderGeoclue):
(GeolocationProviderGeoclue::startUpdating):
(GeolocationProviderGeoclue::stopUpdating):
(GeolocationProviderGeoclue::setEnableHighAccuracy):
(GeolocationProviderGeoclue::createGeoclueManagerProxyCallback):
(GeolocationProviderGeoclue::getGeoclueClientCallback):
(GeolocationProviderGeoclue::createGeoclueClientProxyCallback):
(GeolocationProviderGeoclue::startClientCallback):
(GeolocationProviderGeoclue::locationUpdatedCallback):
(GeolocationProviderGeoclue::createLocationProxyCallback):
(GeolocationProviderGeoclue::startGeoclueClient):
(GeolocationProviderGeoclue::updateLocation):
(GeolocationProviderGeoclue::errorOccurred):
(GeolocationProviderGeoclue::updateClientRequirements):

5:16 PM Changeset in webkit [165417] by Brent Fulgham
  • 4 edits in trunk/Source/WebCore

Unreviewed Windows Build Fix.

  • WebCore.vcxproj/WebCore.vcxproj: Don't build cURL files for Apple Windows port.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:

(WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerPaintContents): Correct
method signature to match base class.
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal): Use proper character encoding.

4:41 PM Changeset in webkit [165416] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.75-branch/Source

Versioning.

4:34 PM Changeset in webkit [165415] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.75.8

New Tag.

4:31 PM Changeset in webkit [165414] by fpizlo@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Repatch should save and restore all used registers - not just temp ones - when making a call
https://bugs.webkit.org/show_bug.cgi?id=130041

Reviewed by Geoffrey Garen and Mark Hahnenberg.

The save/restore code was written back when the only client was the DFG, which only uses a
subset of hardware registers: the "temp" registers in our lingo. But the FTL may use many
other registers, especially on ARM64. The fact that Repatch doesn't know to save those can
lead to data corruption on ARM64.

  • jit/RegisterSet.cpp:

(JSC::RegisterSet::calleeSaveRegisters):
(JSC::RegisterSet::numberOfSetGPRs):
(JSC::RegisterSet::numberOfSetFPRs):

  • jit/RegisterSet.h:
  • jit/Repatch.cpp:

(JSC::storeToWriteBarrierBuffer):
(JSC::emitPutTransitionStub):

  • jit/ScratchRegisterAllocator.cpp:

(JSC::ScratchRegisterAllocator::ScratchRegisterAllocator):
(JSC::ScratchRegisterAllocator::preserveReusedRegistersByPushing):
(JSC::ScratchRegisterAllocator::restoreReusedRegistersByPopping):
(JSC::ScratchRegisterAllocator::usedRegistersForCall):
(JSC::ScratchRegisterAllocator::desiredScratchBufferSizeForCall):
(JSC::ScratchRegisterAllocator::preserveUsedRegistersToScratchBufferForCall):
(JSC::ScratchRegisterAllocator::restoreUsedRegistersFromScratchBufferForCall):

  • jit/ScratchRegisterAllocator.h:
4:22 PM Changeset in webkit [165413] by zoltan@webkit.org
  • 3 edits in trunk/Tools

Let the user define the full address of the performance-site-server for uploading results
https://bugs.webkit.org/show_bug.cgi?id=129819

Reviewed by Ryosuke Niwa.

Currently perftestsrunner.py assumes that the server uses https protocol all the time, which
can be confusing. It's more straightforward, if you need to define explicitly the server's full
address along with the protocol, when you're using this parameter. I added HTTPS as the default
protocol for now, in order to avoid breaking the perf bots.

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(_upload_json):

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(MainTest.test_upload_json):

4:08 PM Changeset in webkit [165412] by Simon Fraser
  • 5 edits in trunk/Source

Fix three leaks
https://bugs.webkit.org/show_bug.cgi?id=130048

Reviewed by Anders Carlsson.

Source/WebCore:

The NSDictionary was leaked.

  • page/ios/UserAgentIOS.mm:

(WebCore::osMarketingVersion):

Source/WebKit2:

  • Shared/API/Cocoa/WKRemoteObjectCoder.mm:

(decodeObject): Code is simpler and less leaky without the RetainPtr.

  • UIProcess/API/Cocoa/WKNavigationAction.mm: Fix _originalURL leak

by making it a RetainPtr and implementing the getter and setter.
(-[WKNavigationAction _setOriginalURL:]):
(-[WKNavigationAction _originalURL]):

4:01 PM Changeset in webkit [165411] by zoltan@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Update the install guidelines for perf.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=129895

Reviewed by Ryosuke Niwa.

The current install guideline for perf.webkit.org discourages the use of the installed
Server application. I've actualized the documentation for Mavericks, and modified the
guideline to include the instructions for Server.app also.

  • Install.md:
3:49 PM Changeset in webkit [165410] by Lucas Forschler
  • 4 edits in tags/Safari-538.22/Source/WebKit2

Merged r165398.

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

Set background color of WK2's UIScrollView to the pageExtendedBackgroundColor
https://bugs.webkit.org/show_bug.cgi?id=129919

Reviewed by Benjamin Poulain.

Source/WebCore:

WK2 needs to be able to ask for the pageExtendedBackgroundColor, so this patch
adds a function to Page that will return it

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

(WebCore::Page::pageExtendedBackgroundColor):

  • page/Page.h:
  • rendering/RenderLayerCompositor.h:

(WebCore::RenderLayerCompositor::rootExtendedBackgroundColor):

Source/WebKit2:

Make the pageExtendedBackgroundColor part of a RemoteLayerTreeTransaction.

  • Shared/mac/RemoteLayerTreeTransaction.h:

(WebKit::RemoteLayerTreeTransaction::pageExtendedBackgroundColor):
(WebKit::RemoteLayerTreeTransaction::setPageExtendedBackgroundColor):

  • Shared/mac/RemoteLayerTreeTransaction.mm:

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

Set the background color of the UIScrollView based on the
pageExtendedBackgroundColor.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLayerTree:WebKit::]):

For the sake of PLATFORM(MAC), continue to support the fact that this color can be
set via a message from the WebProcess or the new RemoteLayerTreeTransaction.

  • UIProcess/WebPageProxy.h:

Cache the pageExtendedBackgroundColor as provided by the
RemoteLayerTreeTransaction.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::didCommitLayerTree):

It’s not necessary to do anything here in non-Mac platforms anymore.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::pageExtendedBackgroundColorDidChange):

Include the pageExtendedBackgroundColor in the RemoteLayerTreeTransaction.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::willCommitLayerTree):

3:32 PM Changeset in webkit [165408] by zoltan@webkit.org
  • 1 edit
    2 adds in trunk/PerformanceTests

[CSS Shapes] Add performance tests for SVG shape with shape-margin
https://bugs.webkit.org/show_bug.cgi?id=129930

Reviewed by Ryosuke Niwa.

The test is skipped by default.

  • Layout/Shapes/ShapeOutsideSVGWithMargin.html: Added.
  • Layout/Shapes/resources/shape.svg: Added.
3:21 PM Changeset in webkit [165407] by mhahnenberg@apple.com
  • 15 edits in trunk/Source/JavaScriptCore

Remove ConditionalStore barrier
https://bugs.webkit.org/show_bug.cgi?id=130040

Reviewed by Geoffrey Garen.

ConditionalStoreBarrier was created when barriers were much more expensive. Now that
they're cheap(er), we can get rid of them. This also allows us to get rid of the write
barrier logic in emitPutTransitionStub because we always will have executed a write barrier
on the base object in the case where we are allocating and storing a new Butterfly into it.
Previously, a ConditionalStoreBarrier might or might not have barrier-ed the base object,
so we'd have to emit a write barrier in the transition case.

This is performance neutral on the benchmarks we track.

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

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

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGNode.h:

(JSC::DFG::Node::isStoreBarrier):

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

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

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileStoreBarrier):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):

  • jit/Repatch.cpp:

(JSC::emitPutTransitionStub):

3:11 PM Changeset in webkit [165406] by fpizlo@apple.com
  • 15 edits
    1 add in trunk/Source/JavaScriptCore

DFG and FTL should know that comparing anything to Misc is cheap and easy
https://bugs.webkit.org/show_bug.cgi?id=130001

Reviewed by Geoffrey Garen.

  • Expand CompareStrictEq(Misc:, Misc:) to work for cases where either side of the comparison is just Untyped:.


  • This obviates the need for CompareStrictEqConstant, so remove it.


  • FTL had a thing called "Nully" which is really "Other". Rename it and add OtherUse.


9% speed-up on box2d.

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGNode.h:

(JSC::DFG::Node::isBinaryUseKind):
(JSC::DFG::Node::shouldSpeculateOther):

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

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

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
(JSC::DFG::SpeculativeJIT::compare):
(JSC::DFG::SpeculativeJIT::compileStrictEq):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq):
(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::isNotOther):
(JSC::FTL::LowerDFGToLLVM::isOther):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::speculateObjectOrOther):
(JSC::FTL::LowerDFGToLLVM::speculateNotCell):
(JSC::FTL::LowerDFGToLLVM::speculateOther):
(JSC::FTL::LowerDFGToLLVM::speculateMisc):

  • tests/stress/compare-strict-eq-integer-to-misc.js: Added.
3:09 PM Changeset in webkit [165405] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, remove unintended change.

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

2:25 PM Changeset in webkit [165404] by benjamin@webkit.org
  • 10 edits in trunk/Source

Generalize unobscured rect to all ports
https://bugs.webkit.org/show_bug.cgi?id=130036

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

Source/WebCore:

iOS differentiates visible content and unobscured content. This patch moves the concept to all
ports to remove the #ifdefs from the call sites.

On everything but iOS, unobscuredRect and visibleRect are the same.

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

(WebCore::DOMWindow::innerHeight):
(WebCore::DOMWindow::innerWidth):

  • page/SpatialNavigation.cpp:

(WebCore::canScrollInDirection):

  • platform/ScrollView.cpp:

(WebCore::ScrollView::updateScrollbars):
(WebCore::ScrollView::paint):

  • platform/ScrollView.h:

(WebCore::ScrollView::unobscuredContentRectIncludingScrollbars):
(WebCore::ScrollView::unobscuredContentRect):

  • rendering/RenderView.cpp:

(WebCore::RenderView::viewportSize):

Source/WebKit2:

  • WebProcess/WebPage/ViewGestureGeometryCollector.cpp:

(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):
(WebKit::ViewGestureGeometryCollector::collectGeometryForMagnificationGesture):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):

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

jsc commandline shouldn't have a "console" because that confuses some tests into thinking
that they're running in the browser.

Rubber stamped by Mark Hahnenberg.

  • jsc.cpp:

(GlobalObject::finishCreation):

2:00 PM Changeset in webkit [165402] by benjamin@webkit.org
  • 15 edits
    3 adds in trunk/Source/WebCore

Start splitting CSS Selectors's pseudo types
https://bugs.webkit.org/show_bug.cgi?id=130003

Reviewed by Andreas Kling.

CSS Selectors pseudo types come in 3 flavors: page, pseudo class, pseudo elements.

The three types are mixed together in a single enum list named PseudoType. Only some combinations
of match type + pseudo type are valid, but this is implicitly defined from the code.

This patch is the beginning of a refactoring to add more clear boundaries between
valid and invalid combinations.

First, the handling of page pseudo types is completely split from the other values.
The parser use a different method for handling the value CSSParserSelector::parsePagePseudoSelector().

PagePseudo types no longer store their string in the CSSSelector either to reduce the redundancy
with m_pseudoType.
When we need to generate the string for those CSSSelector, we recreate the string as needed in
CSSSelector::selectorText().

The remaining two types are not yet split in this patch but this introduce the preliminary clean up
toward that goal.
The list of parsed pseudo types is now generated at compile time from the source in SelectorPseudoTypeMap.in.

  • DerivedSources.make:

The mapping of strings to pseudo types is generated from SelectorPseudoTypeMap.in
by the new script makeSelectorPseudoTypeMap.py.

  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSGrammar.y.in:

Split the parsing of Pseudo Types. Pseudo page get its own method. The others will need some work.

  • css/CSSParserValues.cpp:

(WebCore::CSSParserSelector::parsePagePseudoSelector):
(WebCore::CSSParserSelector::setPseudoTypeValue):

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

(WebCore::CSSSelector::specificityForPage):
This is an example of invalid combination that is hidden by the current code.
First, Left and Right could never appear in a pseudo class match.
(WebCore::CSSSelector::pseudoId):
(WebCore::CSSSelector::parsePseudoType):
(WebCore::appendPseudoTypeTailIfNecessary):
(WebCore::CSSSelector::selectorText):

  • css/CSSSelector.h:

(WebCore::CSSSelector::pseudoType):
(WebCore::CSSSelector::matchesPseudoElement):
(WebCore::CSSSelector::setValue):
(WebCore::CSSSelector::CSSSelector):

  • css/PageRuleCollector.cpp:

(WebCore::checkPageSelectorComponents):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorPseudoTypeMap.h: Added.
  • css/SelectorPseudoTypeMap.in: Added.
  • css/makeSelectorPseudoTypeMap.py: Added.

(enumerablePseudoType):
(expand_ifdef_condition):

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoType):

1:58 PM Changeset in webkit [165401] by fpizlo@apple.com
  • 7 edits
    1 add in trunk/Source/JavaScriptCore

Out-line ScratchRegisterAllocator

Rubber stamped by Mark Hahnenberg.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • jit/ScratchRegisterAllocator.cpp: Added.

(JSC::ScratchRegisterAllocator::ScratchRegisterAllocator):
(JSC::ScratchRegisterAllocator::~ScratchRegisterAllocator):
(JSC::ScratchRegisterAllocator::lock):
(JSC::ScratchRegisterAllocator::allocateScratch):
(JSC::ScratchRegisterAllocator::allocateScratchGPR):
(JSC::ScratchRegisterAllocator::allocateScratchFPR):
(JSC::ScratchRegisterAllocator::preserveReusedRegistersByPushing):
(JSC::ScratchRegisterAllocator::restoreReusedRegistersByPopping):
(JSC::ScratchRegisterAllocator::desiredScratchBufferSize):
(JSC::ScratchRegisterAllocator::preserveUsedRegistersToScratchBuffer):
(JSC::ScratchRegisterAllocator::restoreUsedRegistersFromScratchBuffer):

  • jit/ScratchRegisterAllocator.h:
1:53 PM Changeset in webkit [165400] by enrica@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix after http://trac.webkit.org/changeset/165385

Unreviewed.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper arrayOfTextForTextMarkers:attributed:]):

1:43 PM Changeset in webkit [165399] by Brent Fulgham
  • 2 edits in branches/safari-537.75-branch/Source/WebCore

[Win] Build fix after r165379.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::SerializedScriptValue): Revert to older-style C++ iteration
for Windows compatibility. This can be reverted when we use VS2013 on this branch.

1:19 PM Changeset in webkit [165398] by mitz@apple.com
  • 4 edits in trunk/Source/WebKit2

<rdar://problem/16278716> [Cocoa] Allow setting a custom group identifier on a WKWebView
https://bugs.webkit.org/show_bug.cgi?id=130033

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]): Create a page group with the group identifier
from the configuration, if it’s non-empty.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration _groupIdentifier]): Added this accessor.
(-[WKWebViewConfiguration _setGroupIdentifier:]): Ditto.

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Declared _groupIdentifier property.
1:11 PM Changeset in webkit [165397] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

WebKit2: Crash in WebPage::getPositionInformation.
https://bugs.webkit.org/show_bug.cgi?id=129936
<rdar://problem/16264550>

Reviewed by Eric Carlson.

Missing null check on the node renderer in one code path.
If the page body is smaller than the document, hit testing
will return HTMLHtmlElement that has no renderer.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPositionInformation):

1:02 PM Changeset in webkit [165396] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION (r159218): FrameView::layout() should destroy TemporaryChange<LayoutPhase>
before destroying Ref<FrameView>
https://bugs.webkit.org/show_bug.cgi?id=130034
<rdar://problem/15664288>

Reviewed by Alexey Proskuryakov.

We should always destroy TemporaryChange<LayoutPhase> before destroying Ref<FrameView>
in FrameView::layout() so as to ensure that the FrameView exists when we restore the
original layout phase value.

The existing test fast/frames/crash-remove-iframe-during-object-beforeload.html covers
this change. Although you must run the test with Guard Malloc enabled (i.e. run-webkit-tests -r).

  • page/FrameView.cpp:

(WebCore::FrameView::layout): Move construction of variable protect before the construction of
variable layoutPhaseRestorer. Additionally, add a period to the end of the comment associated
with variable protect.

12:56 PM Changeset in webkit [165395] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

ASSERTION FAILED: span >= 1
https://bugs.webkit.org/show_bug.cgi?id=129148

Patch by Zsolt Borbely <borbezs@inf.u-szeged.hu> on 2014-03-10
Reviewed by Andreas Kling.

Source/WebCore:

Set the value of span to 1 if the given number is too big or zero.

Test: fast/table/incorrect-colgroup-span-values.html

  • html/HTMLTableColElement.cpp:

(WebCore::HTMLTableColElement::parseAttribute):

LayoutTests:

Added test demonstrates the behavior of colgroup in case of large negative, large positive, zero and null span values.

  • fast/table/incorrect-colgroup-span-values-expected.txt: Added.
  • fast/table/incorrect-colgroup-span-values.html: Added.
12:28 PM Changeset in webkit [165394] by Brent Fulgham
  • 9 edits in branches/safari-537.75-branch

Source/WebInspectorUI: Merge r165393.

2014-03-10 Brent Fulgham <Brent Fulgham>

[Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023

  • WebInspectorUI.vcxproj/WebInspectorUIPostBuild.cmd: Use %PlatformArchitecture% rather than hard-coded 32-bit path.

Source/WebKit: Merge r165393.

2014-03-10 Brent Fulgham <Brent Fulgham>

[Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023

Reviewed by Dean Jackson.

  • WebKit.vcxproj/WebKit/Interfaces/InterfacesPreBuild.cmd: Use %PlatformArchitecture% rather than hard-coded 32-bit path.
  • WebKit.vcxproj/WebKit/WebKitPostBuild.cmd: Ditto.

Tools: Merge r165393.

2014-03-10 Brent Fulgham <Brent Fulgham>

[Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023

Reviewed by Dean Jackson.

  • win/AssembleBuildLogs/AssembleBuildLogs.cmd: Use %PlatformArchitecture% rather than 32-bit hard-coded path.

WebKitLibraries: Merge r165393.

2014-03-10 Brent Fulgham <Brent Fulgham>

[Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023

Reviewed by Dean Jackson.

  • win/tools/vsprops/common.props: Pass WEBKIT_LIBRARIES value to subprocesses.
12:09 PM Changeset in webkit [165393] by Brent Fulgham
  • 15 edits
    1 delete in trunk

Source/JavaScriptCore: [Win] Pass environment to Pre-Build, Pre-link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023

Reviewed by Dean Jackson.

  • JavaScriptCore.vcxproj/JavaScriptCore.proj: Avoid trailing backslashes in

path names to avoid accidental escaping of later string substitutions.

Source/WebCore: [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023.

Reviewed by Dean Jackson.

  • WebCore.vcxproj/WebCore.proj: Avoid trailing slashes in path values to

prevent escaping during later string substitution.

Source/WebKit: [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023

Reviewed by Dean Jackson.

  • WebKit.vcxproj/WebKit.make: Removed.
  • WebKit.vcxproj/WebKit/WebKitPostBuild.cmd: Use %PlatformArchitecture% rather than

hard-coded 32-bit path.

Source/WTF: [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023.

Reviewed by Dean Jackson.

  • WTF.vcxproj/WTF.proj: Avoid putting trailing slashes in system paths to avoid

escaping during later string substitution.

  • WTF.vcxproj/build-generated-files.sh: Accept environment values passed by VS.

Tools: [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023

Reviewed by Dean Jackson.

  • DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTreeLauncher.vcxproj: Add missing

/SAFESEH flag to DLL launcher process.

WebKitLibraries: [Win] Pass environment to Pre-Build, Pre-Link, and Post-Build Stages.
https://bugs.webkit.org/show_bug.cgi?id=130023

Reviewed by Dean Jackson.

  • win/tools/vsprops/common.props: Pass WEBKIT_LIBRARIES value to subprocesses.
  • win/tools/vsprops/debugsuffix.props: Make sure OFFICIAL_BUILD is set.
  • win/tools/vsprops/production.props: Ditto.
11:57 AM Changeset in webkit [165392] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[X86_64] Smaller code for testb_i8r when register is accumulator.
<https://webkit.org/b/130026>

Generate the shorthand version of "test al, imm" when possible.

Reviewed by Michael Saboff.

  • assembler/X86Assembler.h:

(JSC::X86Assembler::testb_i8r):

11:57 AM Changeset in webkit [165391] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[X86_64] Smaller code for sub_ir when register is accumulator.
<https://webkit.org/b/130025>

Generate the shorthand version of "sub eax, imm" when possible.

Reviewed by Michael Saboff.

  • assembler/X86Assembler.h:

(JSC::X86Assembler::subl_ir):
(JSC::X86Assembler::subq_ir):

11:56 AM Changeset in webkit [165390] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[X86_64] Smaller code for add_ir when register is accumulator.
<https://webkit.org/b/130024>

Generate the shorthand version of "add eax, imm" when possible.

Reviewed by Michael Saboff.

  • assembler/X86Assembler.h:

(JSC::X86Assembler::addl_ir):
(JSC::X86Assembler::addq_ir):

11:55 AM Changeset in webkit [165389] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

writeBarrier in emitPutReplaceStub is unnecessary
https://bugs.webkit.org/show_bug.cgi?id=130030

Reviewed by Filip Pizlo.

We already emit write barriers for each put-by-id when they're first compiled, so it's
redundant to emit a write barrier as part of the repatched code.

  • jit/Repatch.cpp:

(JSC::emitPutReplaceStub):

11:48 AM Changeset in webkit [165388] by stavila@adobe.com
  • 3 edits
    2 adds in trunk

[CSS Regions] Hit-testing is not working properly inside scrollable regions
https://bugs.webkit.org/show_bug.cgi?id=130015

Reviewed by Antti Koivisto.

Source/WebCore:

When hit-testing inside the flow thread's layer, the scrolled offset
of the current region must be taken into consideration.

Test: fast/regions/scrollable-regions-hit-testing-inside.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

LayoutTests:

Added test for hit-testing inside scrollable regions.

  • fast/regions/scrollable-regions-hit-testing-inside-expected.html: Added.
  • fast/regions/scrollable-regions-hit-testing-inside.html: Added.
11:41 AM Changeset in webkit [165387] by hmuller@adobe.com
  • 6 edits
    2 adds in trunk

[CSS Shapes] SVG Image valued shape fails if root element's size is relative
https://bugs.webkit.org/show_bug.cgi?id=128983

Reviewed by Simon Fraser.

Source/WebCore:

When creating a shape based on an Image, compute its dimensions using
RenderBoxModelObject::calculateImageIntrinsicDimensions(), then set the
ImageResource's containerSize, and then use imageForRenderer() to get the
image to be drawn. The first step resolves SVG Image relative sizes, the
second step creates and caches an SVGImageForContainer with the correct
containerSize, and the last step retrieves the SVGImageForContainer.

Test: fast/shapes/shape-outside-floats/shape-outside-relative-size-svg.html

  • rendering/RenderBoxModelObject.h: Publicized calculateImageIntrinsicDimensions() and its enum.
  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createRasterShape):

  • rendering/shapes/Shape.h:
  • rendering/shapes/ShapeInfo.cpp:

(WebCore::getShapeImageAndRect):
(WebCore::ShapeInfo<RenderType>::computedShape):

LayoutTests:

Verify that an SVG Image valued shape-outside with a relatively sized SVG root element
generates a shape with the correct size.

  • fast/shapes/shape-outside-floats/shape-outside-relative-size-svg-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-relative-size-svg.html: Added.
11:35 AM Changeset in webkit [165386] by Martin Robinson
  • 2 edits in trunk

[GTK][CMAKE] gtk-doc HTML documentation is generated by default when building with CMake
https://bugs.webkit.org/show_bug.cgi?id=130016

Reviewed by Carlos Garcia Campos.

  • Source/PlatformGTK.cmake: Add two gtkdoc targets, one which builds HTML and one which

doesn't. Add the non-HTML version to the default target, but not the HTML version. The
HTML version will still run when building the distribution tarball.

11:30 AM Changeset in webkit [165385] by Darin Adler
  • 11 edits in trunk

TextIterator: Use StringView and references rather than pointers
https://bugs.webkit.org/show_bug.cgi?id=129975

Reviewed by Anders Carlsson.

Source/WebCore:

TextIterator refinements:

  • Use StringView instead of deprecatedCharacters to point to characters within strings.
  • Added TextIteratorCopyableText, a safe way to copy the current text of a TextIterator, for use by WordAwareIterator.
  • Removed m_shouldStop; iterators stop by setting m_positionNode to null, and there is no need for a separate boolean to do the same thing.
  • Got rid of all the boolean data members set based on the text iterator behavior; instead store the behavior in a data member and check it directly.
  • Changed most functions to use references rather than pointers.
  • Small micro-optimizations, such as using fastGetAttribute rather than getAttribute.
  • Switched to nullptr instead of 0 where appropriate.
  • Removed unused functions.
  • Cut down on use of abbreviations instead of words.
  • Renamed data members and argument names for clarity.
  • Split up assertions that needlessly asserted more than one thing in a single expression.
  • Treat CDATASection just like other Text, since its text will be visible.
  • editing/Editor.cpp:

(WebCore::Editor::advanceToNextMisspelling): Pass reference rather than pointer.
(WebCore::Editor::rangeOfString): Ditto.
(WebCore::Editor::countMatchesForText): Ditto.

  • editing/TextCheckingHelper.cpp:

(WebCore::TextCheckingHelper::findFirstMisspelling): Ditto.

  • editing/TextIterator.cpp:

(WebCore::depthCrossingShadowBoundaries): Take a reference rather than a pointer.
(WebCore::nextInPreOrderCrossingShadowBoundaries): Ditto.
(WebCore::fullyClipsContents): Ditto.
(WebCore::ignoresContainerClip): Ditto.
(WebCore::pushFullyClippedState): Ditto.
(WebCore::setUpFullyClippedStack): Ditto.
(WebCore::isRendererReplacedElement): Use references rather than pointers in the
implementation. Also use fastGetAttribute instead of getAttribute.
(WebCore::TextIteratorCopyableText::reset): Added.
(WebCore::TextIteratorCopyableText::set): Added.
(WebCore::TextIteratorCopyableText::appendToStringBuilder): Added.
(WebCore::TextIterator::TextIterator): Use more initialization rather than assignment.
Got rid of some local variables.
(WebCore::TextIterator::advance): Removed the m_shouldStop boolean, uneeded.
Many other improvements. Use isTextNode instead of nodeType.
(WebCore::hasVisibleTextNode): Changed this into a file-private helper function
instead of a member function.
(WebCore::TextIterator::handleTextNode): Used references and cut down on type casts.
Gave local variables clearer names.
(WebCore::TextIterator::handleTextBox): More of the same.
(WebCore::TextIterator::handleTextNodeFirstLetter): Ditto.
(WebCore::TextIterator::handleReplacedElement): Ditto.
(WebCore::shouldEmitTabBeforeNode): Ditto.
(WebCore::hasHeaderTag): Added.
(WebCore::shouldEmitNewlinesBeforeAndAfterNode): More of the same.
(WebCore::shouldEmitNewlineAfterNode): Ditto.
(WebCore::shouldEmitNewlineBeforeNode): Ditto.
(WebCore::shouldEmitExtraNewlineForNode): Ditto.
(WebCore::collapsedSpaceLength): Use StringImpl directly instead of using the
deprecatedCharacters function.
(WebCore::TextIterator::shouldRepresentNodeOffsetZero): More like above.
(WebCore::TextIterator::shouldEmitSpaceBeforeAndAfterNode): Ditto.
(WebCore::TextIterator::representNodeOffsetZero): Ditto.
(WebCore::TextIterator::handleNonTextNode): Ditto.
(WebCore::TextIterator::exitNode): Ditto.
(WebCore::TextIterator::emitCharacter): Changed to use the new copyable text class
instead of managing the single character buffer directly here.
(WebCore::TextIterator::emitText): Changed to take a Text& and use the copyable text
class. Added a FIXME about a mistake I noticed.
(WebCore::TextIterator::range): Streamlined and simplified a bit. Updated data
member names to be a bit clearer. This function never returned null before, but there
was a code path that looked like it would; I removed that.
(WebCore::TextIterator::node): Removed unneeded null checks; the range function will
never return a range of null or one with null for a start container.
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): More
like above.
(WebCore::SimplifiedBackwardsTextIterator::advance): Reorganized a bit and removed
m_shouldStop.
(WebCore::SimplifiedBackwardsTextIterator::handleTextNode): More of the same.
(WebCore::SimplifiedBackwardsTextIterator::handleFirstLetter): Ditto.
(WebCore::SimplifiedBackwardsTextIterator::handleReplacedElement): Ditto.
(WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Ditto.
(WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto.
(WebCore::SimplifiedBackwardsTextIterator::emitCharacter): Ditto.
(WebCore::SimplifiedBackwardsTextIterator::advanceRespectingRange): Ditto.
(WebCore::SimplifiedBackwardsTextIterator::range): Ditto.
(WebCore::CharacterIterator::CharacterIterator): Ditto.
(WebCore::CharacterIterator::range): Ditto. No need for ASSERT_NO_EXCEPTION.
(WebCore::CharacterIterator::advance): Ditto.
(WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator): Ditto.
(WebCore::BackwardsCharacterIterator::range): Ditto.
(WebCore::BackwardsCharacterIterator::advance): Ditto.
(WebCore::WordAwareIterator::WordAwareIterator): Ditto.
(WebCore::WordAwareIterator::advance): Use copyableText for m_previousText, fixing
the FIXME that I wrote in here before.
(WebCore::WordAwareIterator::text): Ditto.
(WebCore::containsKanaLetters): Changed to quickly return false when the pattern
is all Latin-1 rather than expanding to 16-bit just to check.
(WebCore::SearchBuffer::SearchBuffer): Iterate the target using the string operator[]
instead of using deprecatedCharacters.
(WebCore::SearchBuffer::append): Do the folding of quote marks and hyphens one character
at a time as we move characters into the buffer instead of in a separate loop.
(WebCore::TextIterator::rangeLength): Updated for changes eslwehere.
(WebCore::TextIterator::subrange): Ditto.
(WebCore::isInsideReplacedElement): Ditto. Also streamlined and removed unneeded null check.
(WebCore::TextIterator::rangeFromLocationAndLength): Updated for changes elsewhere and
removed unneeded ASSERT_NO_EXCEPTION.
(WebCore::plainText): Ditto.
(WebCore::collapsedToBoundary): Ditto.
(WebCore::findPlainText): Ditto.

  • editing/TextIterator.h: Changed many functions to take references instead of pointers.

Added TextIteratorCopyableText, to represent the current text in a TextIterator in a form
that can be safely copied and used after further iteration. Reorganized member functions so
they are in the same order in all the classes. Changed TextIterator to use
TextIteratorCopyableText. Removed many unused functions, including:

  • TextIterator::length
  • TextIterator::deprecatedTextIteratorCharacters
  • TextIterator::characterAt
  • SimplifiedBackwardsTextIterator::length
  • CharacterIterator::length
  • CharacterIterator::string
  • WordAwareIterator::length
  • WordAwareIterator::range
  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::appendTrailingWhitespace): Pass reference rather than pointer.
Use text().length() instead of length(). Check atEnd() before using CharacterIterator, since
iterator member functions don't work when at the end.

  • editing/VisibleUnits.cpp:

(WebCore::previousBoundary): Ditto.
(WebCore::nextBoundary): Ditto.

  • editing/htmlediting.cpp:

(WebCore::visiblePositionForIndexUsingCharacterIterator): Ditto.

  • page/ios/FrameIOS.mm:

(WebCore::Frame::indexCountOfWordPrecedingSelection): Ditto.
(WebCore::Frame::wordsInCurrentParagraph): Ditto.

LayoutTests:

  • dom/xhtml/level3/core/nodelookupnamespaceuri14-expected.txt: Updated to expect

the CDATA section to be included in the text output of the test. This changed because
TextIterator now treats CDATA sections like other text, just as rendering code does.

11:18 AM Changeset in webkit [165384] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION: js/dom/create-lots-of-workers.html frequently crashes
(sometimes in js/dom/cross-frame-bad-time.html)
https://bugs.webkit.org/show_bug.cgi?id=129758

  • platform/mac-wk1/TestExpectations: Removed an older incorrect expectation.
11:15 AM Changeset in webkit [165383] by BJ Burg
  • 9 edits
    1 copy
    2 adds in trunk/Source/WebInspectorUI

Web Inspector: show a debugging-oriented dashboard when scripts pause
https://bugs.webkit.org/show_bug.cgi?id=129913

Reviewed by Timothy Hatcher.

Using the dashboard swapping functionality just added, show a debugger dashboard
whenever the debugger pauses, and hide it when it resumes. The debugger manager
already coalesces pause/resume events across stepping commands.

The dashboard itself is straightforward, with the exception of how it uses the
navigation bar buttons. Since buttons from the same URL can't be reused if they
are bezeled, we don't bezel our button, and set the button image as the glyph mask
instead of the background image. This lets us easily animate the glyph shape.

We also have to more forcefully declare a bunch of icon rules that would otherwise
be messed up by the toolbar's icon rules (whereas we want to mostly emulate navigation
bar icon styles).

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Main.js:

(WebInspector.loaded):
(WebInspector.contentLoaded):
(WebInspector._debuggerDidPause):
(WebInspector._debuggerDidResume):

  • UserInterface/Controllers/DashboardManager.js:

(WebInspector.DashboardManager):

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

(WebInspector.DebuggerDashboard):

  • UserInterface/Views/ButtonNavigationItem.css:

(.navigation-bar .item.button.suppress-emboss > .glyph):

  • UserInterface/Views/ButtonNavigationItem.js:

(WebInspector.ButtonNavigationItem.prototype._updateImage):

  • UserInterface/Views/DashboardView.js:

(WebInspector.DashboardView):

  • UserInterface/Views/DebuggerDashboardView.css: Added.

(.toolbar .dashboard.debugger):
(.dashboard.debugger > .message):
(.dashboard.debugger .navigation-bar):
(.toolbar:not(.small-size) .dashboard.debugger .navigation-bar):
(.dashboard.debugger .navigation-bar .item.button):
(.dashboard.debugger .navigation-bar .item.button > .glyph):
(@-webkit-keyframes pulse-pause-button):
(to):
(.dashboard.debugger > .divider):
(.dashboard.debugger > div):
(.dashboard.debugger > .location > :first-child):
(.toolbar:not(.small-size) .dashboard.debugger > .location :not(:first-child)):
(.dashboard.debugger > .location img.icon):
(.dashboard.debugger > .location .function-name):
(.dashboard.debugger > .location .function-name::after):
(.dashboard.debugger > .location .go-to-link):
(.toolbar.collapsed .dashboard.debugger > :not(.message):not(.navigation-bar )):
(.toolbar.small-size .dashboard.debugger > .message):
(.toolbar.small-size .dashboard.debugger > .location > :first-child):

  • UserInterface/Views/DebuggerDashboardView.js: Added.

(WebInspector.DebuggerDashboardView):
(WebInspector.DebuggerDashboardView.prototype._rebuildLocation):
(WebInspector.DebuggerDashboardView.prototype._resumeButtonClicked):

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WebInspector.DebuggerSidebarPanel):

11:07 AM Changeset in webkit [165382] by BJ Burg
  • 5 edits
    2 copies
    3 adds
    1 delete in trunk/Source/WebInspectorUI

Web Inspector: convert the dashboard toolbar item to support multiple dashboards
https://bugs.webkit.org/show_bug.cgi?id=129898

Reviewed by Timothy Hatcher.

We want to ability to swap in and out different dashboard contents depending on
circumstances such as debugger activity and page loading. This patch converts the
existing hard-coded dashboard implementation to follow the container-based approach
used by WebInspector.ContentViewContainer.

As part of the refactoring, we introduce dashboard model objects to store persistent
dashboard data. Some CSS has also been split between the container and specific dashboard.

  • UserInterface/Controllers/DashboardManager.js:

(WebInspector.DashboardManager):
(WebInspector.DashboardManager.prototype.get toolbarItem):

  • UserInterface/Main.html:
  • UserInterface/Models/DefaultDashboard.js: Copied from Source/WebInspectorUI/UserInterface/Controllers/DashboardManager.js.

(WebInspector.DefaultDashboard):
(WebInspector.DefaultDashboard.prototype.get resourcesCount):
(WebInspector.DefaultDashboard.prototype.set resourcesCount):
(WebInspector.DefaultDashboard.prototype.get resourcesSize):
(WebInspector.DefaultDashboard.prototype.set resourcesSize):
(WebInspector.DefaultDashboard.prototype.get time):
(WebInspector.DefaultDashboard.prototype.set time):
(WebInspector.DefaultDashboard.prototype.get logs):
(WebInspector.DefaultDashboard.prototype.set logs):
(WebInspector.DefaultDashboard.prototype.get errors):
(WebInspector.DefaultDashboard.prototype.set errors):
(WebInspector.DefaultDashboard.prototype.get issues):
(WebInspector.DefaultDashboard.prototype.set issues):
(WebInspector.DefaultDashboard.prototype._dataDidChange):
(WebInspector.DefaultDashboard.prototype._mainResourceDidChange):
(WebInspector.DefaultDashboard.prototype._recordingStopped):
(WebInspector.DefaultDashboard.prototype._resourceWasAdded):
(WebInspector.DefaultDashboard.prototype._frameWasAdded):
(WebInspector.DefaultDashboard.prototype._resourceSizeDidChange):
(WebInspector.DefaultDashboard.prototype._startUpdatingTime):
(WebInspector.DefaultDashboard.prototype._stopUpdatingTime):
(WebInspector.DefaultDashboard.prototype._updateTime):
(WebInspector.DefaultDashboard.prototype._consoleMessageAdded):
(WebInspector.DefaultDashboard.prototype._consoleMessageWasRepeated):
(WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
(WebInspector.DefaultDashboard.prototype._consoleWasCleared):

  • UserInterface/Views/DashboardContainerView.css: Added.

(.toolbar .dashboard-container):
(body.window-inactive .toolbar .dashboard-container):
(body.javascript .toolbar .dashboard-container):
(.toolbar.normal-size.icon-and-label-vertical .dashboard-container):
(.toolbar.small-size.icon-and-label-horizontal .dashboard-container):
(.toolbar.normal-size.icon-and-label-horizontal .dashboard-container):
(.toolbar .dashboard-container):
(.toolbar .dashboard):
(.toolbar .dashboard.visible):
(.toolbar .dashboard.slide-out-up):
(.toolbar .dashboard.slide-out-down):
(.toolbar .dashboard.slide-in-up):
(.toolbar .dashboard.slide-in-down):
(@-webkit-keyframes slide-top-edge):
(to):
(@-webkit-keyframes slide-bottom-edge):

  • UserInterface/Views/DashboardContainerView.js: Added.

(WebInspector.DashboardContainerView):
(WebInspector.DashboardContainerView.prototype.get toolbarItem):
(WebInspector.DashboardContainerView.prototype.get currentDashboardView):
(WebInspector.DashboardContainerView.prototype.showDashboardViewForRepresentedObject):
(WebInspector.DashboardContainerView.prototype._dashboardViewForRepresentedObject):
(WebInspector.DashboardContainerView.prototype._showDashboardView):

  • UserInterface/Views/DashboardView.css: Removed.
  • UserInterface/Views/DashboardView.js:

(WebInspector.DashboardView):
(WebInspector.DashboardView.prototype.get element):
(WebInspector.DashboardView.prototype.get parentContainer):
(WebInspector.DashboardView.prototype.get representedObject):
(WebInspector.DashboardView.prototype.shown):
(WebInspector.DashboardView.prototype.hidden):

  • UserInterface/Views/DefaultDashboardView.css: Added.

(body.web .toolbar.collapsed .dashboard.default > .logs):
(body.javascript .toolbar .dashboard.default > .resourcesCount):
(.toolbar .dashboard.default):
(.toolbar .dashboard.default > .item):
(.toolbar .dashboard.default > .resourcesSize):
(.toolbar .dashboard.default > .item.enabled:hover):
(.toolbar .dashboard.default > .item.enabled:active):
(.toolbar .dashboard.default > .item > *):
(.toolbar .dashboard.default > .item > img):
(.toolbar .dashboard.default > .item.enabled > img):
(.toolbar .dashboard.default > .item.enabled:hover > img):
(.toolbar .dashboard.default > .item > div):
(.toolbar .dashboard.default > .item.enabled > div):
(.toolbar .dashboard.default > .item.enabled:hover > div):
(.toolbar .dashboard.default > .resourcesCount > img):
(.toolbar .dashboard.default > .time > img):
(.toolbar .dashboard.default > .logs > img):
(.toolbar .dashboard.default > .resourcesSize > img):
(.toolbar .dashboard.default > .errors > img):
(.toolbar .dashboard.default > .errors.enabled > img):
(.toolbar .dashboard.default > .errors.enabled:hover > img):
(.toolbar .dashboard.default > .errors.enabled > div):
(.toolbar .dashboard.default > .errors.enabled:hover > div):
(.toolbar .dashboard.default > .issues > img):
(.toolbar .dashboard.default > .issues.enabled > img):
(.toolbar .dashboard.default > .issues.enabled:hover > img):
(.toolbar .dashboard.default > .issues.enabled > div):
(.toolbar .dashboard.default > .issues.enabled:hover > div):
(.toolbar .dashboard.default > .item.pulsing):
(@-webkit-keyframes console-item-pulse):
(.toolbar.small-size.icon-and-label-horizontal .dashboard.default > .item):
(.toolbar.normal-size.icon-and-label-horizontal .dashboard.default > .item):

  • UserInterface/Views/DefaultDashboardView.js: Copied from Source/WebInspectorUI/UserInterface/Views/DashboardView.js.

(WebInspector.DefaultDashboardView):
(WebInspector.DefaultDashboardView.prototype._updateDisplay):
(WebInspector.DefaultDashboardView.prototype._formatPossibleLargeNumber):
(WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem.):
(WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem.set item):
(WebInspector.DefaultDashboardView.prototype._appendElementForNamedItem):
(WebInspector.DefaultDashboardView.prototype._itemWasClicked):
(WebInspector.DefaultDashboardView.prototype._resourcesWasClicked):
(WebInspector.DefaultDashboardView.prototype._networkItemWasClicked):
(WebInspector.DefaultDashboardView.prototype._consoleItemWasClicked):
(WebInspector.DefaultDashboardView.prototype.animationEnded):
(WebInspector.DefaultDashboardView.prototype._setConsoleItemValue):
(WebInspector.DefaultDashboardView.prototype._setItemEnabled):

10:49 AM Changeset in webkit [165381] by matthew_hanson@apple.com
  • 12 edits in branches/safari-537.75-branch

Merge r162972 and r163007.

10:42 AM Changeset in webkit [165380] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/WTF

Turn on GenGC on other 64-bit platforms
https://bugs.webkit.org/show_bug.cgi?id=129258

Reviewed by Oliver Hunt.

  • wtf/Platform.h:
10:18 AM Changeset in webkit [165379] by matthew_hanson@apple.com
  • 5 edits
    3 copies in branches/safari-537.75-branch

Merge r165339.

10:11 AM Changeset in webkit [165378] by Martin Robinson
  • 8 edits in trunk

[GTK] [CMake] Clean up library linking
https://bugs.webkit.org/show_bug.cgi?id=129782

Reviewed by Philippe Normand.

.:

  • Source/cmake/OptionsGTK.cmake: Add a macro to wrap all libraries in a list with --whole-archive

so that unused symbols are not dropped. This is useful when building up shared libraries
from convenience libraries.

Source/WebCore:

  • PlatformGTK.cmake: Some files are duplicated on the source list of two convenience

libraries. Ensure that they are all compiled into WebCore instead of WebCorePlatformGTK.
Some simply need to be moved to WebCore from WebCorePlatformGTK. Don't try to link
WebCorePlatformGTK against WebCore -- convenience libraries should be able to save
their symbol resolution for the final linking step.

Source/WebKit:

  • PlatformGTK.cmake: Use the new macro.

Source/WebKit2:

  • PlatformGTK.cmake: Use the new macro.
9:29 AM Changeset in webkit [165377] by stavila@adobe.com
  • 9 edits
    2 adds in trunk

[CSS Regions] Scrolling regions with the mouse wheel only works properly if hovering over the region's padding
https://bugs.webkit.org/show_bug.cgi?id=129485

Reviewed by Andrei Bucur.

Source/WebCore:

When searching for the region under the mouse pointer (to identify which region to scroll),
the localToAbsolute method must be called on the region container, not the region itself.
Also, when calling the offsetFromContainer method on a named flow fragment,
it must only take into consideration the border and padding of the fragment container,
not its scrolled offset.

Test: fast/regions/wheel-scrollable-single-region.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::scroll):

  • rendering/RenderFlowThread.cpp:
  • rendering/RenderFlowThread.h:
  • rendering/RenderNamedFlowFragment.cpp:

(WebCore::RenderNamedFlowFragment::offsetFromContainer):

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

(WebCore::RenderNamedFlowThread::fragmentFromAbsolutePointAndBox):

  • rendering/RenderNamedFlowThread.h:

LayoutTests:

Added layout tests for scrolling regions using the mouse wheel.

  • fast/regions/wheel-scrollable-single-region-expected.html: Added.
  • fast/regions/wheel-scrollable-single-region.html: Added.
9:28 AM Changeset in webkit [165376] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit/mac

[iOS][WK1] Crash in HTMLMediaElement::createElementRenderer() - "-[NSSet addObject:]: object cannot be nil"
https://bugs.webkit.org/show_bug.cgi?id=129634

Reviewed by Eric Carlson.

If a plugin fails to create a NSView, a nil object is inserted into the WebPluginController's
pluginViews set. This is an exceptional case, so add an ASSERT so that this error will continue
to occur in debug builds, but also add an early return so as not to crash release builds.

  • Plugins/WebPluginController.mm:

(+[WebPluginController addPlugInView:]):

8:32 AM Changeset in webkit [165375] by Michał Pakuła vel Rutka
  • 3 edits
    2 adds in trunk/LayoutTests

Unreviewed EFL gardening

Add test expectations for failing and crashing tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/fast/images/image-controls-basic-expected.txt: Added after r164457.
  • platform/efl/fast/ruby/ruby-base-merge-block-children-crash-2-expected.txt: Added after r164323.
8:13 AM Changeset in webkit [165374] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

8:10 AM Changeset in webkit [165373] by Lucas Forschler
  • 1 copy in tags/Safari-538.22

New Tag.

6:36 AM Changeset in webkit [165372] by mihnea@adobe.com
  • 4 edits in trunk/LayoutTests

[CSSRegions] Fix broken paths in some regions tests
https://bugs.webkit.org/show_bug.cgi?id=130012

Reviewed by Andrei Bucur.

  • fast/regions/cssom/offsetLeft-offsetTop-in-multiple-regions.html:
  • fast/regions/region-styling/region-style-image-background-color-expected.html:
  • fast/regions/region-styling/region-style-image-background-color.html:
4:10 AM Changeset in webkit [165371] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] The web process can finish while a print operation is still ongoing
https://bugs.webkit.org/show_bug.cgi?id=129871

Reviewed by Martin Robinson.

This can happen when the last page is closed while the print job
is sending data to the printer.

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Disable web

process termination when the print job is sending data to the
printer and enable it again when job finishes.

3:06 AM Changeset in webkit [165370] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[X86_64] Smaller code for xor_ir when register is accumulator.
<https://webkit.org/b/130008>

Generate the shorthand version of "xor eax, imm" when possible.

Reviewed by Benjamin Poulain.

  • assembler/X86Assembler.h:

(JSC::X86Assembler::xorl_ir):
(JSC::X86Assembler::xorq_ir):

2:51 AM Changeset in webkit [165369] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[X86_64] Smaller code for or_ir when register is accumulator.
<https://webkit.org/b/130007>

Generate the shorthand version of "or eax, imm" when possible.

Reviewed by Benjamin Poulain.

  • assembler/X86Assembler.h:

(JSC::X86Assembler::orl_ir):
(JSC::X86Assembler::orq_ir):

2:48 AM Changeset in webkit [165368] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[X86_64] Smaller code for test_ir when register is accumulator.
<https://webkit.org/b/130006>

Generate the shorthand version of "test eax, imm" when possible.

Reviewed by Benjamin Poulain.

  • assembler/X86Assembler.h:

(JSC::X86Assembler::testl_i32r):
(JSC::X86Assembler::testq_i32r):

2:48 AM Changeset in webkit [165367] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[X86_64] Smaller code for cmp_ir when register is accumulator.
<https://webkit.org/b/130005>

Generate the shorthand version of "cmp eax, imm" when possible.

Reviewed by Benjamin Poulain.

  • assembler/X86Assembler.h:

(JSC::X86Assembler::cmpl_ir):
(JSC::X86Assembler::cmpq_ir):

12:53 AM Changeset in webkit [165366] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[X86_64] Smaller code for store64(imm, address) when imm fits in 32 bits.
<https://webkit.org/b/130002>

Generate this:

mov [address], imm32

Instead of this:

mov scratchRegister, imm32
mov [address], scratchRegister

For store64(imm, address) where the 64-bit immediate can be passed as
a sign-extended 32-bit value.

Reviewed by Benjamin Poulain.

  • assembler/MacroAssemblerX86_64.h:

(CAN_SIGN_EXTEND_32_64):
(JSC::MacroAssemblerX86_64::store64):

12:50 AM Changeset in webkit [165365] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

[X86_64] Smaller code for xchg_rr when one register is accumulator.
<https://webkit.org/b/130004>

Generate the 1-byte version of "xchg eax, reg" when possible.

Reviewed by Benjamin Poulain.

  • assembler/X86Assembler.h:

(JSC::X86Assembler::xchgl_rr):
(JSC::X86Assembler::xchgq_rr):

12:17 AM Changeset in webkit [165364] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Source/WebCore

Remove unused dispatchStorageEvent() from StorageAreaSync
https://bugs.webkit.org/show_bug.cgi?id=129999

Reviewed by Andreas Kling.

dispatchStorageEvent() is not used anywhere.

  • storage/StorageAreaSync.h: Remove dispatchStorageEvent().

Mar 9, 2014:

11:58 PM Changeset in webkit [165363] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Update comment in NetworkResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=129997

Patch by Jeong Yong-uk <yong@company100.com> on 2014-03-09
Reviewed by Andreas Kling.

NetworkResourceLoader::resourceHandleStopped() has been renamed to
NetworkResourceLoader::cleanup() but the comment is not updated.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::start):

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

GPRInfo::toIndex should return InvalidIndex for non-temp registers on ARM64
https://bugs.webkit.org/show_bug.cgi?id=129998

Reviewed by Geoffrey Garen.

Not only is that the established contract, but this is used to signal to
ScratchRegisterAllocator that the register doesn't need locking since it isn't a register
that this allocator would use. In the FTL, we may have an inline cache where LLVM had used
some non-temp register (i.e. a register that JSC itself wouldn't have used). This is totally
fine but previously it would have led to either an assertion failure, or data corruption, in
the ScratchRegisterAllocator.

  • jit/GPRInfo.h:

(JSC::GPRInfo::toIndex):

11:18 PM Changeset in webkit [165361] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

iOS build fix.

  • WebProcess/WebPage/ios/WebPageIOS.mm: Include WebCore/KeyboardEvent.h.
10:17 PM Changeset in webkit [165360] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION: js/dom/create-lots-of-workers.html frequently crashes
(sometimes in js/dom/cross-frame-bad-time.html)
https://bugs.webkit.org/show_bug.cgi?id=129758

  • platform/mac/TestExpectations: Skipped the test.
10:11 PM Changeset in webkit [165359] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix.

  • dom/KeyboardEvent.cpp: (WebCore::KeyboardEvent::KeyboardEvent):
7:50 PM Changeset in webkit [165358] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

FTL fails the new equals-masquerader strictEqualConstant test
https://bugs.webkit.org/show_bug.cgi?id=129996

Reviewed by Mark Lam.

It turns out that the FTL was trying to do the masquerading stuff for ===null. But
that's wrong since none of the other engines do it. The DFG even had an ancient
FIXME about doing it - but that doesn't make sense since the LLInt and baseline JIT
don't do it and JSValue::strictEqual() doesn't do it.

Remove the FIXME and remove the extra checks in the FTL.

This is a glorious patch: nothing but red and it fixes a test failure.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileStrictEqForConstant):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileCompareStrictEqConstant):

6:57 PM Changeset in webkit [165357] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Short-circuit JSGlobalObjectInspectorController when not inspecting.
<https://webkit.org/b/129995>

Add an early return in reportAPIException() when the console agent
is disabled. This avoids expensive symbolication during exceptions
if there's nobody expecting the fancy backtrace anyway.

~2% progression on DYEB on my MBP.

Reviewed by Geoff Garen.

  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::reportAPIException):

3:56 PM Changeset in webkit [165356] by ap@apple.com
  • 34 edits
    1 add in trunk/Source

[Mac] Don't perform a round-trip through WebProcess before interpreting key events
https://bugs.webkit.org/show_bug.cgi?id=129812

Reviewed by Darin Adler.

Source/WebCore:

No significant behavior changes expected, except for Esc key processing, which now
dispatches a keypress before executing its default action.

  • platform/KeypressCommand.h: Added.

(WebCore::KeypressCommand::KeypressCommand):

  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:

Moved KeypressCommand from dom/KeyboardEvent.h to its own header, as it needed
in platform/ directory now.

  • dom/KeyboardEvent.cpp:

(WebCore::KeyboardEvent::KeyboardEvent):

  • dom/KeyboardEvent.h:

(WebCore::KeyboardEvent::handledByInputMethod):
(WebCore::KeyboardEvent::keypressCommands):

  • platform/PlatformKeyboardEvent.h:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
(WebCore::PlatformKeyboardEvent::handledByInputMethod):
(WebCore::PlatformKeyboardEvent::commands):
PlatformKeyboardEvent now carries results of interpreting the event by AppKit. This
is logically not much different from carrying charcode, and is similar to what Gtk
does for input methods.
KeyboardEvent already had keypress commands, which were added to it after construction.
It's still possible for WebKit1, while with WebKit2, they are provided at construction
time. The event now also has a boolean for whether IM handled it already.

Source/WebKit/mac:

  • WebCoreSupport/WebEditorClient.mm: (WebEditorClient::handleInputMethodKeydown):

Added a FIXME. WebKit1/mac is the only port that uses this roundabout way to
interpret events, so it would simplify code if we switched it to WebKit2/mac model.

Source/WebKit2:

  • Shared/NativeWebKeyboardEvent.h:
  • Shared/WebEvent.h:

(WebKit::WebKeyboardEvent::handledByInputMethod):
(WebKit::WebKeyboardEvent::commands):

  • Shared/WebEventConversion.cpp:

(WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):

  • Shared/WebKeyboardEvent.cpp:

(WebKit::WebKeyboardEvent::WebKeyboardEvent):
(WebKit::WebKeyboardEvent::~WebKeyboardEvent):
(WebKit::WebKeyboardEvent::encode):
(WebKit::WebKeyboardEvent::decode):

  • Shared/mac/NativeWebKeyboardEventMac.mm:

(WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):

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

(WebKit::WebEventFactory::createWebKeyboardEvent):
Keyboard events now carry results of interpretation with them.
Ideally, mouse events should also have a handledByInputMethod member, because IMs
can handle events, but that can wait until we have actual bugs caused by not diabling
default processing for these.

  • UIProcess/API/mac/WKView.mm:

(-[WKView becomeFirstResponder]): Updated for new NativeWebKeyboardEvent contructor
signature. We don't interpret the event in this code path.
(-[WKView doCommandBySelector:]): Added logging.
(-[WKView performKeyEquivalent:]): Reimplemented Esc and Cmd+period handling to avoid
infinite loops and re-entrancy. These two work in a unique way in AppKit.
Interpret key event before sending it down to WebProcess.
(-[WKView keyUp:]): Interpret key event before sending it down to WebProcess.
We need to tell IMs about the event, but key binding processing is moot, all commands
are executed on keydown.
(-[WKView keyDown:]): Interpret the event.
(-[WKView flagsChanged:]): Ditto.
(-[WKView _interpretKeyEvent:savingCommandsTo:WebCore::]): Added an assertion in
consumedByIM code path.
(-[WKView _executeSavedCommandBySelector:]): Added logging.

  • UIProcess/PageClient.h:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:
  • UIProcess/mac/PageClientImpl.h:
  • UIProcess/mac/PageClientImpl.mm:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WebPageProxyIOS.mm:
  • UIProcess/mac/WebPageProxyMac.mm:

Removed interpretQueuedKeyEvent/interpretKeyEvent, WebProcess no longer asks UIProcess to do this.

  • WebProcess/WebCoreSupport/ios/WebEditorClientIOS.mm:

(WebKit::WebEditorClient::handleKeyboardEvent):

  • WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:

(WebKit::WebEditorClient::handleKeyboardEvent):
(WebKit::WebEditorClient::handleInputMethodKeydown):
WebPage::handleEditingKeyboardEvent is now one function instead of two with a boolean
switch between two behaviors.

  • WebProcess/WebPage/WebPage.cpp:(WebKit::WebPage::WebPage):
  • WebProcess/WebPage/WebPage.h:

Removed m_keyboardEventBeingInterpreted, as we no longer send the event for interpretation.
This means that we sometimes have to pass a null event down to WebCore, but I wasn't
able to find any behavior differences from us doing so.

  • WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::handleEditingKeyboardEvent):

Added a FIXME.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::executeKeypressCommandsInternal): When we don't have an event,
use current frame as a target, just like input method messages do.
(WebKit::WebPage::handleEditingKeyboardEvent): This function no longer saves commands,
it only interprets them.
Added a check for Esc, as we don't want to handle it in keydown event handler.
(WebKit::WebPage::insertText): Pass 0 instead of m_keyboardEventBeingInterpreted.
(WebKit::WebPage::insertDictatedText): Ditto.
(WebKit::WebPage::executeKeypressCommands): Ditto.

2:07 PM Changeset in webkit [165355] by akling@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Inline the trivial parts of GC deferral.
<https://webkit.org/b/129984>

Made most of the functions called by the DeferGC RAII object inline
to avoid function call overhead.

Looks like ~1% progression on DYEB.

Reviewed by Geoffrey Garen.

  • heap/Heap.cpp:
  • heap/Heap.h:

(JSC::Heap::incrementDeferralDepth):
(JSC::Heap::decrementDeferralDepth):
(JSC::Heap::collectIfNecessaryOrDefer):
(JSC::Heap::decrementDeferralDepthAndGCIfNeeded):

1:27 PM Changeset in webkit [165354] by Alan Bujtas
  • 12 edits in trunk/Source

Subpixel rendering: Pass FloatSize boxsize to transform animations to support device pixel sizing.
https://bugs.webkit.org/show_bug.cgi?id=129985

Reviewed by Simon Fraser.

This is in preparation to stop passing integral positioned boxes to transform animations.

No change in behavior.

Source/WebCore:

  • WebCore.exp.in:
  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::addAnimation):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::getTransformFunctionValue):
(WebCore::GraphicsLayerCA::addAnimation):
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
(WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
(WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
(WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::startTransition):

Source/WebKit2:

  • WebProcess/WebPage/mac/GraphicsLayerCARemote.h:
12:09 PM Changeset in webkit [165353] by oliver@apple.com
  • 2 edits in trunk/LayoutTests

Skip fast/workers/worker-copy-shared-blob-url.html in webkit2

11:14 AM Changeset in webkit [165352] by Simon Fraser
  • 13 edits in trunk/Source

[iOS Wk2] Can't scroll after going back to page in page cache
https://bugs.webkit.org/show_bug.cgi?id=129989
<rdar://problem/16217588>

Reviewed by Dan Bernstein.

iOS has a special FrameLoader::forceLayoutWithoutRecalculatingStyle()
function that is called instead of FrameView::forceLayout(). This was unimplemented
for the WK2 FrameLoaderClient, so no layout was forced, with the result
that the contentSize was never updated and scrolling was broken.

Fix by renaming the client function to forceLayoutOnRestoreFromPageCache()
and having it return a bool to say whether the default forceLayout()
should be done. WK1 can then continue to have its custom behavior,
and Wk2 will simply do a forceLayout().

Also remove FrameLaoderClient::forceLayout(), which was never called.

Source/WebCore:

  • loader/EmptyClients.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::commitProvisionalLoad):

  • loader/FrameLoaderClient.h:

Source/WebKit/mac:

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::forceLayoutOnRestoreFromPageCache):

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebCoreSupport/ios/WebFrameLoaderClientIOS.mm:

(WebKit::WebFrameLoaderClient::forceLayoutOnRestoreFromPageCache):

10:17 AM Changeset in webkit [165351] by Martin Robinson
  • 2 edits in trunk/Tools

RunGtkWebKitGObjectDOMBindingsAPIBreakTests should be added to the BuildAndTestFactory not the TestFactory
https://bugs.webkit.org/show_bug.cgi?id=129980

Reviewed by Carlos Garcia Campos.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg: Add RunGtkWebKitGObjectDOMBindingsAPIBreakTests to the correct factory.
10:09 AM Changeset in webkit [165350] by Martin Robinson
  • 2 edits in trunk/Tools

[GTK] Remove the WebView source-mode WebKit1 test
https://bugs.webkit.org/show_bug.cgi?id=129976

Reviewed by Carlos Garcia Campos.

  • TestWebKitAPI/Tests/WebKitGtk/testwebview.c: Remove the source-mode test.

Mar 8, 2014:

9:28 PM Changeset in webkit [165349] by Simon Fraser
  • 4 edits in trunk/Source

[iOS WK2] Get position:fixed working slighlty better
https://bugs.webkit.org/show_bug.cgi?id=129988

Source/WebCore:

Reviewed by Dan Bernstein.

On iOS we want to use the viewport-constrained visible rect, not
just the visible rect.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewLayoutUpdated):

Source/WebKit2:

Reviewed by Dan Bernstein.

iOS uses fixed layout, but does not want fixed elements laid
out relative to the frame.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setUseFixedLayout):

9:03 PM Changeset in webkit [165348] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

[iOS] Don't call scrollOffsetForFixedPosition a second time if we have no header and footer layers
https://bugs.webkit.org/show_bug.cgi?id=129912

Reviewed by Tim Horton.

Avoid extra work if we have no header or footer layers.

  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:

(WebCore::ScrollingTreeScrollingNodeIOS::setScrollLayerPosition):

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

iOS broken after r165342
https://bugs.webkit.org/show_bug.cgi?id=129987

Reviewed by Simon Fraser.

  • NetworkProcess/ios/NetworkProcessIOS.mm:

(WebKit::NetworkProcess::platformLowMemoryHandler): Add missing stub implementation for
platformLowMemoryHandler().

6:38 PM Changeset in webkit [165346] by Alan Bujtas
  • 3 edits in trunk/Source/WebCore

RenderElement::valueForLength() callers misuse bool parameter.
https://bugs.webkit.org/show_bug.cgi?id=129982

Reviewed by Andreas Kling.

Remove bogus RenderView* parameter.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computePercentageLogicalHeight):

  • rendering/RenderElement.cpp:

(WebCore::RenderElement::repaintAfterLayoutIfNeeded):

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

[iOS] media preferences not initialized correctly in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=129983

Reviewed by Dan Bernstein.

  • Shared/WebPreferencesStore.h: Initialize mediaPlaybackAllowsInline and

mediaPlaybackRequiresUserGesture correctly for iOS.

6:16 PM Changeset in webkit [165344] by commit-queue@webkit.org
  • 26 edits
    1 move in trunk/Source

Allow media element to supply the video layer after fullscreen transition has already begun.
https://bugs.webkit.org/show_bug.cgi?id=129870

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-03-08
Reviewed by Eric Carlson.

Source/WebCore:

Instead of borrowing the videolayer from the HTMLMediaElement, WebVideoFullscreen now supplies a layer to HTMLMediaElement to fill in as needed and at the appropriate time.

This allows fullscreen even if the video layer hasn't yet been created. And in the future it allows MediaPlayer to supply other layers such as closed captions.

  • WebCore.exp.in:

Remove exports related to borrowing and lend the video layer.
Add exports for supplying a layer to fullscreen and keepying the frame and gravity properties in sync.

  • html/HTMLMediaElement.cpp:

Remove the concept of borrowing the platform layer.
Add the concept of a supplied m_videoFullscreenLayer, into which the media player can add layers.
When the m_videoFullscreenFrame is supplied, don't show the video layer inline any more.
Stash video layer properties in case the media player is not yet created.

(WebCore::HTMLMediaElement::HTMLMediaElement):
Initialize gravity to the default. Remove m_platformLayerBorrowed.

(WebCore::HTMLMediaElement::platformLayer):
When we have a m_videoFullscreenLayer, don't show video inline.

(WebCore::HTMLMediaElement::setVideoFullscreenLayer):
Pass along the m_videoFullscreenLayer to the MediaPlayer if available or just stash it for later.

(WebCore::HTMLMediaElement::createMediaPlayer):
Pass along video fullscreen properties that we may have accumulated before the MediaPlayer was created.

(WebCore::HTMLMediaElement::setVideoFullscreenGravity):
Stash the gravity property, pass it along to the media player if possible.

  • html/HTMLMediaElement.h:

Remove concept of borrowing the video layer. Add properties for a supplied videoFullscreenLayer.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::setVideoFullscreenLayer):
Forward on to internal implementation.

(WebCore::MediaPlayer::setVideoFullscreenFrame):
Forward on to internal implementation.

(WebCore::MediaPlayer::setVideoFullscreenGravity):
Forward on to internal implementation.

  • platform/graphics/MediaPlayer.h:

Add methods for video fullscreen Layer, Frame and Gravity.

  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::setVideoFullscreenLayer):
Add default implementation.

(WebCore::MediaPlayerPrivateInterface::setVideoFullscreenFrame):
Add default implementation.

(WebCore::MediaPlayerPrivateInterface::setVideoFullscreenGravity):
Add default implementation.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:

Add support for fullscreen video layer, frame and gravity.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
Init m_videoFullscreenGravity.

(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
Apply cached properties once video layer is created and add to the fullscreen layer.

(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer):
Cache the property value. Add video layer right away available.

(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenFrame):
Cache the property value. Apply to video layer right away if available.

(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenGravity):
Cache the property value. Apply to video layer right away if available.

  • platform/ios/WebVideoFullscreenControllerAVKit.mm:

Supply a fullscreen video layer to the WebVideoFullscreenModel and to the WebVideoFullscreenInterface.

(-[WebVideoFullscreenController enterFullscreen:]):
Supply a fullscreen video layer to the WebVideoFullscreenModel and to the WebVideoFullscreenInterface.

(-[WebVideoFullscreenController didExitFullscreen]):
Clean up the videoFullscreenLayer.

  • platform/ios/WebVideoFullscreenInterface.h:

Remove methods related to lending the video layer.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.h:

Rename WebAVPlayer layer to WebAVVideoLayer to match the AVKit name.
Remove functions related to lending the video layer.
Supply a layer directly to enterFullscreen.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(+[WebAVVideoLayer videoLayer]):
Rename WebAVPlayer layer to WebAVVideoLayer to match the AVKit name.

(-[WebAVVideoLayer setPlayerController:]):
Store the AVPlayerController to prevent AVKit's default behavior.

(-[WebAVVideoLayer setBounds:]):
Forward this onto the WebVideoFullscreenModel

(-[WebAVVideoLayer setVideoLayerGravity:]):
Forward this onto the WebVideoFullscreenModel

(-[WebAVVideoLayer videoLayerGravity]):
Forward this onto the WebVideoFullscreenModel

(WebVideoFullscreenInterfaceAVKit::enterFullscreen):
Supply a video layer directly instead of relying on one being previously loaned.

(WebVideoFullscreenInterfaceAVKit::exitFullscreen):
Clean-up now assumes there is a video layer.

  • platform/ios/WebVideoFullscreenModel.h:

Remove methods for borrowing and returning video layers.
Add methods for keeping video layer state in sync.

  • platform/ios/WebVideoFullscreenModelMediaElement.h:

Remove methods for borrowing and returning video layers.
Add method for supplying a video fullscreen layer.
Add methods for keeping video layer state in sync.

  • platform/ios/WebVideoFullscreenModelMediaElement.mm:

(WebVideoFullscreenModelMediaElement::setMediaElement):
Handle audio element case by setting hasVideo to false.

(WebVideoFullscreenModelMediaElement::setVideoFullscreenLayer):
Pass along the video fullscreen layer to the media element.

(WebVideoFullscreenModelMediaElement::setVideoLayerFrame):
Pass along the video layer frame to the media element.

(WebVideoFullscreenModelMediaElement::setVideoLayerGravity):
Pass along the video layer gravity to the media element.

Source/WebKit2:

WebVideoFullscreenManager and WebVideoFullscreenManagerProxy do their own remote hosting of the video layer instead of needing the video layer to have already been hosted elsewhere. This allows the removal of the coordination with WebPageProxy via a RemoteLayerTreeTransaction.

  • Shared/mac/RemoteLayerTreeTransaction.h:

Remove m_videoLayerIDsPendingFullscreen and accessors.

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTransaction::encode):
Don't encode m_videoLayerIDsPendingFullscreen

(WebKit::RemoteLayerTreeTransaction::decode):
Don't decode m_videoLayerIDsPendingFullscreen

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::didCommitLayerTree):
Don't forward didCommitLayerTree to m_videoFullscreenManager.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.h:

Remove code for synchronizing with the RenderTree.
Add a hosting layer and methods to keep video layer frame and video gravity synchronized.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:

Change IPC interface to fascilitate rehosting video layer with a instead of coordinating with the RenderTree by PlatformLayerID.

  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::WebVideoFullscreenManagerProxy):
Remove initialization for removed members.

(WebKit::WebVideoFullscreenManagerProxy::enterFullscreenWithID):
Rehost the video layer by id and pass on the layer.
This replaces didCommitLayerTree() and willLendVideoLayerWithID().

(WebKit::WebVideoFullscreenManagerProxy::didExitFullscreen):
Cleanup the hosting layer.

(WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame):
Forward on the video layer's frame to keep the hosted layer in sync with the interface.

(WebKit::WebVideoFullscreenManagerProxy::setVideoLayerGravity):
Forward the videolayer gravity.

  • WebKit2.xcodeproj/project.pbxproj:

Rename WebVideoFullscreenManager.cpp to WebVideoFullscreenManager.mm

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::willCommitLayerTree):
Don't invovle the m_videoFullscreenManager in layer tree transactions.

  • WebProcess/ios/WebVideoFullscreenManager.h:

Remove code that synchronizes with the render tree via RemoteLayerTreeTransaction.
Instead rehost the video layer directly.
Instead of hoping the WebVideoFullscreenModel has a videoLayer, supply one into which
it can add whatever it likes as needed.

  • WebProcess/ios/WebVideoFullscreenManager.messages.in:

No more explicit borrowing and returning video layers.
Add functions to keep video layer bounds and gravity in sync with the UI.

  • WebProcess/ios/WebVideoFullscreenManager.mm: Renamed from Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.cpp.

Removed code for synchronizing via RemoteLAyerTreeTransaction.

(WebKit::WebVideoFullscreenManager::WebVideoFullscreenManager):
Remove initialization for removed memeber m_sendUnparentVideoLayerTransaction.

(WebKit::WebVideoFullscreenManager::enterFullscreenForNode):
Creates a fullscreen layer, gives it to the WebVideoFullscreenModel to fill in,
and hosts it in a context to send to the UIProcess.

(WebKit::WebVideoFullscreenManager::exitFullscreenForNode):
remove enterFullscreen() and just directly send the IPC message.

(WebKit::WebVideoFullscreenManager::didExitFullscreen):
Clean up the hosting context.

(WebKit::WebVideoFullscreenManager::setVideoLayerGravityEnum):
Forward on the video gravity. Type convert from unsigned to MediaPlayer::VideoGravity.

5:47 PM Changeset in webkit [165343] by jaepark@webkit.org
  • 2 edits in trunk/Source/WebCore

Clean up PlatformLayer.h
https://bugs.webkit.org/show_bug.cgi?id=129967

Reviewed by Martin Robinson.

  • platform/graphics/PlatformLayer.h:

Remove duplicated declaration of PlatformLayer when using TextureMapper.

4:49 PM Changeset in webkit [165342] by akling@apple.com
  • 4 edits in trunk/Source/WebKit2

[WK2] Improve the network process low memory handler.
<https://webkit.org/b/129977>

Split the network process low memory handler into platform-specific
and shared parts. The shared part tells FastMalloc to release freed
pages back to the OS.

For Mac, added a call to purge the in-memory part of CFURLCache.
Remove the malloc_zone_pressure_relief() since that is now taken care
of by the shared MemoryPressureHandler code.

Reviewed by Darin Adler.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeNetworkProcess):
(WebKit::NetworkProcess::lowMemoryHandler):
(WebKit::NetworkProcess::platformLowMemoryHandler):

  • NetworkProcess/NetworkProcess.h:
  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::platformLowMemoryHandler):
(WebKit::NetworkProcess::platformInitializeNetworkProcess):

4:14 PM Changeset in webkit [165341] by Alan Bujtas
  • 15 edits
    2 adds in trunk

Subpixel rendering: Simple compositing container layer (isSimpleContainerCompositingLayer) paints to wrong position.
https://bugs.webkit.org/show_bug.cgi?id=129861

Reviewed by Simon Fraser.

This patch ensures that both the simple and non-simple cases paint to the same position.
Simple compositing container layer codepath needs to take the fractional device pixel offset
into account when painting. Without the fractional value, the final paint rounding could push the
paint offset to a different position.
retina example:
compositing top-left: 0px 0px.
fractional offset: 0.3px 0.3px
painting coords without offseting: 0px 0px

with offseting: 0.5px 0.5px

Source/WebCore:

Tests: compositing/hidpi-simple-container-layer-on-device-pixel.html

  • WebCore.exp.in:
  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::contentsRect):
(WebCore::GraphicsLayer::setContentsRect):
(WebCore::GraphicsLayer::contentsClippingRect):
(WebCore::GraphicsLayer::setContentsClippingRect):

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::setContentsRect):
(WebCore::GraphicsLayerCA::setContentsClippingRect):
(WebCore::GraphicsLayerCA::updateContentsRects):

  • platform/graphics/ca/GraphicsLayerCA.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundColor):
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
(WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
(WebCore::RenderLayerBacking::backgroundBoxForPainting):

  • rendering/RenderLayerBacking.h:

LayoutTests:

  • compositing/hidpi-simple-container-layer-on-device-pixel-expected.html: Added.
  • compositing/hidpi-simple-container-layer-on-device-pixel.html: Added.
2:33 PM Changeset in webkit [165340] by Martin Robinson
  • 2 edits in trunk/LayoutTests

Skip tests on GTK+ for unimplemented features

  • platform/gtk/TestExpectations: When a feature is unimplemented, the tests may fail or

they may timeout, or perhaps they will crash. We just skip them here, so that we don't
have to micromanage expectations for tests against incomplete features.

2:29 PM Changeset in webkit [165339] by oliver@apple.com
  • 5 edits
    3 adds in trunk

SerializedScriptValue may move Identifiers between worlds
https://bugs.webkit.org/show_bug.cgi?id=129979

Reviewed by Andreas Kling.

Source/WebCore:

Test: fast/workers/worker-copy-shared-blob-url.html

Don't use Strings to store blob URLs as String's may be Identifiers
and they can only exist in one world/thread at a time.

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::put):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneDeserializer::deserializeString):
(WebCore::SerializedScriptValue::addBlobURL):
(WebCore::SerializedScriptValue::SerializedScriptValue):

  • bindings/js/SerializedScriptValue.h:

LayoutTests:

Add test cases

  • fast/workers/resources/worker-copy-shared-blob-url-worker.js: Added.

(count.0.onmessage):

  • fast/workers/worker-copy-shared-blob-url-expected.txt: Added.
  • fast/workers/worker-copy-shared-blob-url.html: Added.
2:14 PM Changeset in webkit [165338] by zoltan@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Update perf.webkit.org json example
https://bugs.webkit.org/show_bug.cgi?id=129907

Reviewed by Andreas Kling.

The current example is not valid json syntax. I fixed the syntax errors and indented the code properly.

  • ReadMe.md:
2:09 PM Changeset in webkit [165337] by commit-queue@webkit.org
  • 2 edits in trunk

Don't check for shm_open on librt on OpenBSD, lib doesnt exist.
https://bugs.webkit.org/show_bug.cgi?id=129973

Patch by Landry Breuil <landry@openbsd.org> on 2014-03-08
Reviewed by Martin Robinson.

  • Source/autotools/FindDependencies.m4:
2:07 PM Changeset in webkit [165336] by jaepark@webkit.org
  • 2 edits in trunk/Source/WebKit2

Remove unnecessary casting in NetworkProcessMainUnix.cpp
https://bugs.webkit.org/show_bug.cgi?id=129968

Reviewed by Andreas Kling.

  • NetworkProcess/unix/NetworkProcessMainUnix.cpp:

Since socket is an int, int casting is not necessary.

(WebKit::NetworkProcessMain):

1:49 PM Changeset in webkit [165335] by Martin Robinson
  • 4 edits
    43 adds
    4 deletes in trunk/LayoutTests

Lots of cleanups for the GTK+ TestExpectations

Updated TestExpectations, adding bug standins where appropriate, skipping tests that
expected to fail and prone to timeout or crash. Removed some unused expectations. Added
new baselines for some tests.

  • platform/gtk-wk1/TestExpectations: Updated expectations.
  • platform/gtk-wk2/TestExpectations: Ditto.
  • platform/gtk/TestExpectations: Ditto.
11:23 AM Changeset in webkit [165334] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

32-bit x86 handleUncaughtException returns to wrong location after a stack overflow.
<https://webkit.org/b/129969>

Reviewed by Geoffrey Garen.

The 32-bit version of handleUncaughtException was missing the handling of an
edge case for stack overflows where the current frame may already be the
sentinel frame. This edge case was handled in the 64-bit version. The fix
is to bring the 32-bit version up to parity.

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • llint/LowLevelInterpreter32_64.asm:
11:12 AM Changeset in webkit [165333] by Martin Robinson
  • 2 edits in trunk/LayoutTests

Add and update some test expectations for GTK+

  • platform/gtk/TestExpectations: These all seem to be failing because of the same bug.
5:31 AM Changeset in webkit [165332] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: update-InspectorBackendCommands.rb is putting legacy protocol files in the wrong place
https://bugs.webkit.org/show_bug.cgi?id=129959

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

The script was putting legacy generated files into UserInterface
instead of UserInterface/Protocol.

  • Scripts/update-InspectorBackendCommands.rb:
4:56 AM Changeset in webkit [165331] by timothy@apple.com
  • 12 edits in trunk/Source

Load source maps and their resources asynchronously.

https://bugs.webkit.org/show_bug.cgi?id=112071

Reviewed by Joseph Pecoraro.

Source/WebCore:

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::buildObjectForFrameTree):
Honor the hiddenFromInspector flag.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::InspectorResourceAgent::willSendRequest):
(WebCore::InspectorResourceAgent::markResourceAsCached):
(WebCore::InspectorResourceAgent::didReceiveResponse):
(WebCore::InspectorResourceAgent::didReceiveData):
(WebCore::InspectorResourceAgent::didFinishLoading):
(WebCore::InspectorResourceAgent::didFailLoading):
(WebCore::InspectorResourceAgent::replayXHR):
(WebCore::InspectorResourceAgent::loadResource):

  • inspector/InspectorResourceAgent.h:

Honor the hiddenFromInspector flag by keeping track of
hidden identifiers in a HashSet.

  • inspector/protocol/Network.json:

(Network.loadResource): Added.

  • platform/network/ResourceRequestBase.h:

(WebCore::ResourceRequestBase::hiddenFromInspector): Added.
(WebCore::ResourceRequestBase::setHiddenFromInspector): Added.
(WebCore::ResourceRequestBase::ResourceRequestBase):
Add a flag to hide the request from the Inspector.

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::XMLHttpRequest):
(WebCore::XMLHttpRequest::sendForInspector): Added.
(WebCore::XMLHttpRequest::sendForInspectorXHRReplay): Renamed.
(WebCore::XMLHttpRequest::createRequest):

  • xml/XMLHttpRequest.h:

Make Inspector loads allow cross-origins and hide their request
from the Inspector itself.

Source/WebInspectorUI:

  • UserInterface/Controllers/SourceMapManager.js:

(WebInspector.SourceMapManager.prototype.loadAndParseSourceMap):
(WebInspector.SourceMapManager.prototype.downloadSourceMap):
(WebInspector.SourceMapManager.prototype.sourceMapLoaded):
(WebInspector.SourceMapManager.prototype._loadAndParseSourceMap):
Use NetworkAgent.loadResource.

  • UserInterface/Models/SourceMapResource.js:

(WebInspector.SourceMapResource.prototype.requestContentFromBackend.sourceMapResourceLoaded):
(WebInspector.SourceMapResource.prototype.createSourceCodeTextRange):
Use NetworkAgent.loadResource.

  • UserInterface/Protocol/InspectorWebBackendCommands.js: Updated.
4:43 AM WebKitGTK/2.4.x edited by berto@igalia.com
(diff)
1:40 AM Changeset in webkit [165330] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

Mountain Lion WK1 test bots are crashing often
https://bugs.webkit.org/show_bug.cgi?id=129962

Marking the following tests as flakey:
js/dom/cross-frame-bad-time.html
js/dom/create-lots-of-workers.html

Unreviewed.

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2014-03-08

  • platform/mac-wk1/TestExpectations:
12:33 AM Changeset in webkit [165329] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Prevent processes spawned by WebProcess from trying to insert the SecItem shim.
https://bugs.webkit.org/show_bug.cgi?id=129864

Patch by Aaron Golden <golden@inkling.com> on 2014-03-08
Reviewed by Anders Carlsson.

  • WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:

(WebKit::WebContentProcessMainDelegate::doPreInitializationWork):

12:08 AM Changeset in webkit [165328] by Martin Robinson
  • 2 edits in trunk/Tools

Unreviewed build fix for GTKbuild after the switch to CMake

  • gtk/common.py:

(is_cmake_build): Like r165284, we need to assume CMake by default, since the
test-only bot doesn't have any build files.

Mar 7, 2014:

10:36 PM Changeset in webkit [165327] by timothy_horton@apple.com
  • 8 edits
    2 adds in trunk/Source

[WebKit2][iOS] PDF
https://bugs.webkit.org/show_bug.cgi?id=129600
<rdar://problem/15260216>

Reviewed by Anders Carlsson.

Add a single custom content provider which installs a very primitive PDF view
in place of the WKContentView if a PDF is loaded in the main frame.

  • Configurations/WebKit2.xcconfig:

Link against CorePDF, for UIPDFPageView.

  • UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm:

(-[WKWebViewContentProviderRegistry init]):
Initialize the registry, using WKPDFView for all PDF MIME types.

  • WebKit2.xcodeproj/project.pbxproj:
  • UIProcess/ios/WKPDFView.h: Added.
  • UIProcess/ios/WKPDFView.mm: Added.

Add a very simple PDF view based on UIPDFPageView. Additional functionality
can come in the future; right now, we just create one view for each page, and
depend on CATiledLayer to only paint the pages that are being displayed.

  • WebCore.exp.in:
  • platform/MIMETypeRegistry.cpp:

(WebCore::initializeSupportedImageMIMETypes):
(WebCore::initializePDFMIMETypes):
(WebCore::initializePostScriptMIMETypes):
(WebCore::initializeMIMETypeRegistry):
(WebCore::MIMETypeRegistry::getPDFMIMETypes):

  • platform/MIMETypeRegistry.h:

Split PDF and PostScript MIME types, so WebKit2 can retrieve just the PDF ones
without PostScript included.

10:34 PM Changeset in webkit [165326] by akling@apple.com
  • 3 edits in trunk/Source/WebKit2

ArgumentEncoder and ArgumentDecoder should be fastmalloced.
<https://webkit.org/b/129960>

Reviewed by Ryosuke Niwa.

  • Platform/IPC/ArgumentDecoder.h:
  • Platform/IPC/ArgumentEncoder.h:
10:26 PM Changeset in webkit [165325] by mark.lam@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Fix bugs in 32-bit Structure implementation.
<https://webkit.org/b/129947>

Reviewed by Mark Hahnenberg.

Added the loading of the Structure (from the JSCell) before use that was
missing in a few places. Also added more test cases to equals-masquerader.js.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • llint/LowLevelInterpreter32_64.asm:
  • tests/stress/equals-masquerader.js:

(equalsNull):
(notEqualsNull):
(strictEqualsNull):
(strictNotEqualsNull):
(equalsUndefined):
(notEqualsUndefined):
(strictEqualsUndefined):
(strictNotEqualsUndefined):
(isFalsey):
(test):

9:25 PM Changeset in webkit [165324] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Comment in RenderStyle is no longer accurate
https://bugs.webkit.org/show_bug.cgi?id=129956

Reviewed by Simon Fraser.

RenderStyle::createStyleInheritingFromPseudoStyle was moved from RenderImage. Before it
was moved, there was an image-specific comment in the function. However, that comment
is both irrelevant to RenderStyle, and incorrect as the function is necessary for
RenderQuotes as well.

No new tests are necessary because there is no behavior change.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::createStyleInheritingFromPseudoStyle):

9:10 PM Changeset in webkit [165323] by Martin Robinson
  • 2 edits in trunk/LayoutTests

Mark some more tests as failing on WebKitGTK+ and file bugs for them

  • platform/gtk/TestExpectations: Update test expectations.
8:09 PM Changeset in webkit [165322] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Temporarily disable repeat-out-of-bounds stress tests pending fix for 129953.
https://bugs.webkit.org/show_bug.cgi?id=129954

Patch by Andrew Trick <atrick@apple.com> on 2014-03-07
Reviewed by Filip Pizlo.

  • tests/stress/float32-repeat-out-of-bounds.js:
  • tests/stress/int8-repeat-out-of-bounds.js:
7:36 PM Changeset in webkit [165321] by thiago.lacerda@openbossa.org
  • 5 edits in trunk

[WebRTC] Throw SYNTAX_ERROR when maxRetransmits and maxRetransmitTime are both set in RTCDataChannelInit
https://bugs.webkit.org/show_bug.cgi?id=129894

Reviewed by Eric Carlson.

Source/WebCore:

Existing test was updated.

  • Modules/mediastream/RTCDataChannel.cpp:

(WebCore::RTCDataChannel::create):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-datachannel-expected.txt:
  • fast/mediastream/RTCPeerConnection-datachannel.html:
7:33 PM Changeset in webkit [165320] by msaboff@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

.cfi directives in LowLevelInterpreter.cpp are providing no benefit
https://bugs.webkit.org/show_bug.cgi?id=129945

Reviewed by Mark Lam.

Removed .cfi directive. Verified that stack traces didn't regress in crash reporter
or in lldb.

  • llint/LowLevelInterpreter.cpp:
7:05 PM Changeset in webkit [165319] by Martin Robinson
  • 3 edits in trunk/Source/WebKit2

Fix the GTK+ build after the recent iOS merge.

  • UIProcess/API/gtk/PageClientImpl.cpp: Make some methods available to non-Cocoa ports and fix some signatures.
  • UIProcess/WebPageProxy.h: Ditto.
7:02 PM Changeset in webkit [165318] by bshafiei@apple.com
  • 1 copy in tags/Safari-537.75.7

New tag.

6:59 PM Changeset in webkit [165317] by bshafiei@apple.com
  • 5 edits in branches/safari-537.75-branch/Source

Versioning.

6:40 PM Changeset in webkit [165316] by Brent Fulgham
  • 3 edits in branches/safari-537.75-branch/Source/WebKit

[Win] Build fix for combined 32-bit and 64-bit target.

  • WebKit.vcxproj/WebKit/WebKitDirectX.props: Use PlatformTarget so that path matches

what DirectX uses.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Correct some symbols to

match sources in branch.

6:33 PM Changeset in webkit [165315] by alex.christensen@flexsim.com
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix after r165310.

  • WebKit.vcxproj/WebKit/WebKitDirectX.props:

Replaced Platform macro, which is either "Win32" or "x64"
with PlatformShortName macro, which is either "x86" or "x64".
This is correct for finding the DirectX libraries.

6:23 PM Changeset in webkit [165314] by ryuan.choi@samsung.com
  • 5 edits in trunk/Source/WebKit/efl

[EFL] Replace GraphicsContext3D with Evas_GL in AcceleratedCompositingContext.
https://bugs.webkit.org/show_bug.cgi?id=129676

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-07
Reviewed by Gyuyoung Kim.

TextureMapperGL has its own GraphicsContext3D created by createForCurrentGLContext().
So AcceleratedCompositingContext doesn't need to create and set it to TextureMapperGL.

We now should do 'makeCurrentContext' with a platform specific context before createForCurrentGLContext().
This patch removes GraphicsContext3D related codes in AcceleratedCompositingContext
and adds EvasGLContext/Surface to it instead.

  • WebCoreSupport/AcceleratedCompositingContextEfl.cpp:

(WebCore::AcceleratedCompositingContext::initialize):
(WebCore::AcceleratedCompositingContext::resize):
(WebCore::AcceleratedCompositingContext::renderLayers):

  • WebCoreSupport/AcceleratedCompositingContextEfl.h:
  • ewk/ewk_view.cpp:
  • ewk/ewk_view_private.h:
6:20 PM Changeset in webkit [165313] by ryuan.choi@samsung.com
  • 6 edits in trunk/Source/WebKit2

Unreviewed. Fix build on the EFL port after r165303

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::didCommitLoadForMainFrame): Added new parameters.

  • UIProcess/CoordinatedGraphics/WebView.h: Ditto.
  • UIProcess/WebPageProxy.h:
  • UIProcess/efl/WebViewEfl.cpp: Added dummy didFinishLoadingDataForCustomContentProvider()

(WebKit::WebViewEfl::exitFullScreen):
(WebKit::WebViewEfl::didFinishLoadingDataForCustomContentProvider):

  • UIProcess/efl/WebViewEfl.h: Ditto.
6:16 PM Changeset in webkit [165312] by Brent Fulgham
  • 3 edits in branches/safari-537.75-branch/Tools

[Win] Unreviewed 64-bit build fix.

  • DumpRenderTree/DumpRenderTree.vcxproj/DumpRenderTree/DumpRenderTreeLauncher.vcxproj:

Do not attempt to use the /SAFESEH flag on 64-bit builds.

  • DumpRenderTree/win/UIDelegate.cpp: Add a missing include file.
6:08 PM Changeset in webkit [165311] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS WebKit2] Keyboard accessory comes up when I click a link.
https://bugs.webkit.org/show_bug.cgi?id=129949
<rdar://problem/16265305>

Reviewed by Simon Fraser.

We need to create the accessory view only when needed.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView requiresAccessoryView]):
(-[WKContentView inputAccessoryView]):

6:05 PM Changeset in webkit [165310] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed gardening (for 64-bit)

  • WebKit.vcxproj/WebKit/WebKitDirectX.props: Use Platform macro, rather than

hard-coded path. This allows it to work on 32-bit or 64-bit builds.

5:59 PM Changeset in webkit [165309] by Martin Robinson
  • 23 edits
    8 adds in trunk/LayoutTests

Rebaseline some tests for WebKitGTK+

  • platform/gtk: Rebaseline tests.
5:58 PM Changeset in webkit [165308] by Brent Fulgham
  • 4 edits
    1 delete in branches/safari-537.75-branch/Source/WebKit

Merge r152930.

2013-07-19 Alex Christensen <achristensen@apple.com>


Added 64-bit symbols to WebKitExports.def.in for 64-bit Windows builds
and a macro to only use them for 64-bit builds.
https://bugs.webkit.org/show_bug.cgi?id=118887

Reviewed by Brent Fulgham.

  • WebKit.vcxproj/WebKit.make: Removed.
  • WebKit.vcxproj/WebKit/WebKitDirectX.props: Correct link path for 64-bit DirectX.
  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Added 64-bit symbols.
  • WebKit.vcxproj/WebKitExportGenerator/make-export-file-generator: Added support for new symbolWithPointer macro.
5:28 PM Changeset in webkit [165307] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Add the remaining WebKit2 headers to WEBKIT2_HEADERS
https://bugs.webkit.org/show_bug.cgi?id=129942
<rdar://problem/15920020>

Reviewed by Tim Horton.

  • MigrateHeaders.make:
5:17 PM Changeset in webkit [165306] by oliver@apple.com
  • 3 edits
    3 adds in trunk

Continue hangs when performing for-of over arguments
https://bugs.webkit.org/show_bug.cgi?id=129915

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Put the continue label in the right place

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitEnumeration):

LayoutTests:

Add tests

  • js/for-of-arguments-continue-hang-expected.txt: Added.
  • js/for-of-arguments-continue-hang.html: Added.
  • js/script-tests/for-of-arguments-continue-hang.js: Added.

(test):

5:17 PM Changeset in webkit [165305] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS WebKit2] Long-press on a link shows just "Copy".
https://bugs.webkit.org/show_bug.cgi?id=129938
<rdar://problem/16266054>

Reviewed by Benjamin Poulain.

When adding a FIXME comment, I accidentally removed the ! on
the if (!element) condition.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPositionInformation):

5:13 PM Changeset in webkit [165304] by Martin Robinson
  • 2 edits in trunk/Tools

[GTK] built-product-archive does not handle GTK+ CMake build
https://bugs.webkit.org/show_bug.cgi?id=129941

  • BuildSlaveSupport/built-product-archive:

(archiveBuiltProduct): Fix the build by adding support to built-product-archive for
the CMake build.

5:06 PM Changeset in webkit [165303] by timothy_horton@apple.com
  • 21 edits
    4 adds in trunk/Source/WebKit2

[WebKit2][iOS] Main-frame custom content providers
https://bugs.webkit.org/show_bug.cgi?id=129809

Reviewed by Dan Bernstein.

Re-introduce custom content providers to WebKit2 (removed in r152841), but
for iOS this time.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
Send the initial MIME types that have custom content providers to the WebProcess.

(-[WKWebView dealloc]):
Unregister our page from the content provider registry.

(-[WKWebView _setHasCustomContentView:loadedMIMEType:]):
Install/uninstall the custom content provider. Create a view, if needed,
based on the class that the registry has associated with the given MIME type.
We unparent the WKContentView while the custom content provider is active,
and re-use the existing WKScrollView to contain the custom content provider.

(-[WKWebView _didFinishLoadingDataForCustomContentProviderWithSuggestedFilename:dataReference:]):
Forward loaded data on to the custom content provider for display.

(-[WKWebView _didCommitLayerTree:WebKit::]):
Assert that we aren't getting layer tree commits while using a custom content provider.

(-[WKWebView viewForZoomingInScrollView:]):
If we're using a custom content provider, its view should be used for zooming
instead of the (unparented) web content view.

(-[WKWebView hasContentView]):
(-[WKWebView scrollViewWillBeginZooming:withView:]):
(-[WKWebView scrollViewWillBeginDragging:]):
(-[WKWebView _didFinishScrolling]):
(-[WKWebView _updateVisibleContentRects]):
If we do not have a parented WKContentView because we are using a custom
content provider, we should not forward scroll view related changes to it.

(-[WKWebView _frameOrBoundsChanged]):
Update the minimum size of the custom content provider if the web view size changes.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _contentProviderRegistry]):
(-[WKWebViewConfiguration _setContentProviderRegistry:]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationInternal.h: Added.

Add an internal WKWebViewConfiguration property, the WKWebViewContentProviderRegistry.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/Cocoa/WKWebViewContentProvider.h: Added.

A minimal protocol for informing custom content providers of changes to
the size of the view, the represented data, and the owning scroll view.

  • UIProcess/Cocoa/WKWebViewContentProviderRegistry.h: Added.
  • UIProcess/Cocoa/WKWebViewContentProviderRegistry.mm: Added.

(-[WKWebViewContentProviderRegistry addPage:]):
(-[WKWebViewContentProviderRegistry removePage:]):
(-[WKWebViewContentProviderRegistry registerProvider:forMIMEType:]):
(-[WKWebViewContentProviderRegistry providerForMIMEType:]):
(-[WKWebViewContentProviderRegistry mimeTypesWithContentProviders]):
New class, keeps track of a mapping from MIME types to UIViews that
conform to the WKWebViewContentProvider protocol.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::didCommitLoadForFrame):

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

(WebKit::PageClientImpl::PageClientImpl):
(WebKit::PageClientImpl::didCommitLoadForMainFrame):
(WebKit::PageClientImpl::didFinishLoadingDataForCustomContentProvider):

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

(WebKit::PageClientImpl::didCommitLoadForMainFrame):
(WebKit::PageClientImpl::didFinishLoadingDataForCustomContentProvider):
Add parameters to didCommitLoadForMainFrame, indicating if we should use
a custom content provider to display the main frame, and what MIME type
was loaded in said frame, and add didFinishLoadingDataForCustomContentProvider.
On iOS, forward these to the WKWebView.
Also, give PageClientImplIOS a reference to the WKWebView.

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView initWithFrame:context:WebKit::configuration:WebKit::webView:]):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.mm:

(-[WKWebProcessPlugInFrame _hasCustomContentProvider]):

  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFramePrivate.h:

Expose whether or not a given frame has a custom content provider to the plug-in.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
(WebKit::WebFrameLoaderClient::hasHTMLView):
(WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
(WebKit::WebFrameLoaderClient::committedLoad):
(WebKit::WebFrameLoaderClient::finishedLoading):
(WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
(WebKit::WebFrameLoaderClient::canCachePage):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

(WebKit::WebFrameLoaderClient::frameHasCustomContentProvider):
Restore WebFrameLoaderClient custom representation code, which ensures
that data is routed correctly (to the UI process, and not to WebCore) and
that we don't try to use the page cache for frames with content providers.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::mainFrameHasCustomContentProvider):
(WebKit::WebPage::addMIMETypeWithCustomContentProvider):
(WebKit::WebPage::shouldUseCustomContentProviderForResponse):
(WebKit::WebPage::canShowMIMEType):

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

Keep a list of MIME types which can be displayed via custom content providers
in WebPage, which will be pushed down from the registry as new providers
are added. Plug-ins still take precendence over custom content providers.

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

MigrateHeaders.make should remove C SPI includes from WebKit2 headers
https://bugs.webkit.org/show_bug.cgi?id=129937
<rdar://problem/15920020>

Reviewed by Tim Horton.

Source/WebKit/mac:

  • MigrateHeaders.make:

Add WKPreferences.h to WEBKIT2_HEADERS.
Add a sed rule that deletes all lines that start with a # and contain <WebKit/*Ref.h>.

Source/WebKit2:

  • WebKit2.xcodeproj/project.pbxproj:

Make WKPreferences.h and all headers it includes public. Update the post processing of WKBase.h
to account for WKBase.h now being a public header again.

4:41 PM Changeset in webkit [165301] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the regression introduced by r165288
https://bugs.webkit.org/show_bug.cgi?id=129934

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-07
Reviewed by Ryosuke Niwa.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::scrollX):
(WebCore::DOMWindow::scrollY):
We need to return the new value after layout, not the value from the dirty tree.

4:40 PM Changeset in webkit [165300] by benjamin@webkit.org
  • 3 edits
    2 adds in trunk

Traversal failure in a direct adjacent chain with tail backtracking lacks the path to clear the tail
https://bugs.webkit.org/show_bug.cgi?id=129863

Reviewed by Gavin Barraclough.

Source/WebCore:

Direct adjacent backtracking use the stack to push the backtracking entry point and recover from there.
In case of traversal failure, their is no point in recovering from the indirect adjancent entry point and
we should clear entry point from the stack (which is the purpose of the tail).

The adjancent tail was missing the part for clearing the stack in one case.

The case with adjancent backtracking inside descendant backtracing was doing everything right. This patch
generalize this code and the correct tail is fully generated by generateAdjacentBacktrackingTail().

JumpToClearAdjacentDescendantTail becomes JumpToClearAdjacentTail, and this new backtracking state is added
to the missing traversal action.

Test: fast/selectors/long-adjacent-backtracking.html

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::solveBacktrackingAction):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):
(WebCore::SelectorCompiler::SelectorCodeGenerator::linkFailures):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateAdjacentBacktrackingTail):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateBacktrackingTailsIfNeeded):

LayoutTests:

Test the faulty case.

  • fast/selectors/long-adjacent-backtracking-expected.txt: Added.
  • fast/selectors/long-adjacent-backtracking.html: Added.
4:33 PM Changeset in webkit [165299] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Include CMake into install-dependencies script
https://bugs.webkit.org/show_bug.cgi?id=129909

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-03-07
Reviewed by Martin Robinson.

As since r165267 buid-webkit uses CMake by default, the dependency
with 'cmake' package should be introduced.

  • gtk/install-dependencies: Ditto.
4:18 PM Changeset in webkit [165298] by andersca@apple.com
  • 4 edits
    1 add in trunk/Source/WebKit

Source/WebKit: Make it possible to copy WebKit2 headers to WebKit.framework
https://bugs.webkit.org/show_bug.cgi?id=129935

Reviewed by Dan Bernstein.

  • WebKit.xcodeproj/project.pbxproj:

Move the migrate headers script out into its own file.

Source/WebKit/mac: Make it possible to copy WebKit2 headers to WebKit.framework
https://bugs.webkit.org/show_bug.cgi?id=129935
<rdar://problem/15920020>

Reviewed by Dan Bernstein.

  • MigrateHeaders.make:

Gather a list of public and private WebKit2 headers and filter them against the WEBKIT2_HEADERS list.
The matching headers are copied to the respective Headers or PrivateHeaders directories under WebKit.framework,
and also have their #imports rewritten to reference WebKit instead of WebKit2.

  • migrate-headers.sh: Added.

Set up the WEBKIT2_FRAMEWORKS_DIR if needed.

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

REGRESSION (r164847): Pressing the command key while hovering an element causes it to un-hover
https://bugs.webkit.org/show_bug.cgi?id=129872

Reviewed by Tim Horton.

  • UIProcess/API/Cocoa/WKViewPrivate.h: Changes in performDictionaryLookupAtCurrentMouseLocation

were also not correct, because the current event could be a keyboard one (Cmd+Ctrl+D).
But this SPI is unused, and can be simply removed.

  • UIProcess/API/mac/WKView.mm: (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]):

locationInWindow is undefined for keyboard events, so we have to use current location.
Thankfully, there is a method that returns the location in appropriate coordinate
space, unlike +[NSEvent mouseLocation] that we used before.

3:21 PM Changeset in webkit [165296] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[Win64] Compile error after r165128.
https://bugs.webkit.org/show_bug.cgi?id=129807

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-03-07
Reviewed by Mark Lam.

Source/JavaScriptCore:

Check platform environment variable to determine if an assembler file should be generated.

Source/WTF:

  • wtf/Platform.h: MSVC does not support computed goto.

Also enabled COMPUTED_GOTO_OPCODES when !ENABLE(LLINT_C_LOOP). This is needed because the ASM LLINT operates like COMPUTED_GOTO_OPCODES,
and relies on the related data structures being defined to support this. On Win32, the platform does not HAVE_COMPUTED_GOTO support,
but does want ENABLE_COMPUTED_GOTO_OPCODES because it uses the ASM LLINT.

2:53 PM Changeset in webkit [165295] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Install WebKit2 XPC services to the correct place during iOS Simulator builds
https://bugs.webkit.org/show_bug.cgi?id=129914

Reviewed by Dan Bernstein.

We weren't specifying INSTALL_PATH for iOS Simulator builds in
BaseXPCService.xcconfig, and r164576 changed INSTALL_PATH to
INSTALL_PATH_ACTUAL. This caused XPC services to start being installed
to the root of the iOS Simulator SDK. Fix this by setting
INSTALL_PATH_ACTUAL for iphonesimulator.

  • Configurations/BaseXPCService.xcconfig:
2:52 PM Changeset in webkit [165294] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fix a typo
<rdar://problem/15920020>

Rubber-stamped by Dan Bernstein.

  • Configurations/WebKit.xcconfig:
2:22 PM Changeset in webkit [165293] by msaboff@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Clarify how we deal with "special" registers
https://bugs.webkit.org/show_bug.cgi?id=129806

Already reviewed change being relanded.

Relanding change set r165196 as it wasn't responsible for the breakage reported in
https://bugs.webkit.org/show_bug.cgi?id=129822. That appears to be a build or

Reviewed by Michael Saboff.
configuration issue.

  • assembler/ARM64Assembler.h:

(JSC::ARM64Assembler::lastRegister):

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::nextRegister):

  • ftl/FTLLocation.cpp:

(JSC::FTL::Location::restoreInto):

  • ftl/FTLSaveRestore.cpp:

(JSC::FTL::saveAllRegisters):
(JSC::FTL::restoreAllRegisters):

  • ftl/FTLSlowPathCall.cpp:
  • jit/RegisterSet.cpp:

(JSC::RegisterSet::reservedHardwareRegisters):
(JSC::RegisterSet::runtimeRegisters):
(JSC::RegisterSet::specialRegisters):
(JSC::RegisterSet::calleeSaveRegisters):

  • jit/RegisterSet.h:
2:16 PM Changeset in webkit [165292] by akling@apple.com
  • 4 edits in trunk/Source

[Mac] Notify system malloc of fake memory pressure.
<https://webkit.org/b/129908>

Source/WebCore:

After fixing the leak in r165252, I was surprised to find that it didn't
show up on memory test bots. It turns out that while the memory is now
getting freed, the system malloc implementation doesn't actually release
pages back to the OS until there is memory pressure.

Since we are just faking the memory pressure on bots, we have to let
system malloc in on the fun, so we can get representative numbers.
With this change, we should finally see the effect of not leaking the
URLRequest object tree.

Reviewed by Anders Carlsson.

  • platform/mac/MemoryPressureHandlerMac.mm:

(WebCore::MemoryPressureHandler::install):

Tell system malloc that we are under fake memory pressure.

Source/WebKit2:

Reviewed by Anders Carlsson.

  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcess):

Listen for the fake memory pressure notification and respond by
just forwarding to system malloc. We don't do the full WebCore
memory pressure handling here, since that will cause stuff that
the network process doesn't need to get instantiated.

2:06 PM Changeset in webkit [165291] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Tweak the WebKit2 frameworks directories
https://bugs.webkit.org/show_bug.cgi?id=129910
<rdar://problem/15920020>

Reviewed by Dan Bernstein.

Use an SDK relative directory for production builds.

  • Configurations/WebKit.xcconfig:
2:01 PM Changeset in webkit [165290] by matthew_hanson@apple.com
  • 4 edits
    3 copies in branches/safari-537.75-branch

Merge r165138.

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

Merged r164876.

1:56 PM Changeset in webkit [165288] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

[iOS] WebKit1 scroll position is incorrect
https://bugs.webkit.org/show_bug.cgi?id=129905

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

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::scrollX):
(WebCore::DOMWindow::scrollY):
A new optimization was avoiding layout if the position is zero. This was using the scrollX/Y instead
of actualScrollX/Y which caused us to always bail out instead of returning the value to JavaScript.

  • platform/ScrollView.h:

(WebCore::ScrollView::actualScrollX):
(WebCore::ScrollView::actualScrollY):
(WebCore::ScrollView::actualScrollPosition):
This was accidentally changed to the iOS compat document visible rect at some point.

1:53 PM Changeset in webkit [165287] by dino@apple.com
  • 2 edits in trunk/Source/WebKit2

Attempt to fix the iOS build.

  • Configurations/WebKit2.xcconfig: Add -framework OpenGLES to linking.
1:49 PM Changeset in webkit [165286] by matthew_hanson@apple.com
  • 3 edits in branches/safari-537.75-branch/Source/WebCore

Merge r165206.

1:33 PM Changeset in webkit [165285] by cavalcantii@gmail.com
  • 2 edits in trunk/Source/WebCore

Remove unused StdDeviation from Drop shadow effect
https://bugs.webkit.org/show_bug.cgi?id=129891

Reviewed by Dirk Schulze.

No new tests, no change on behavior.

  • platform/graphics/filters/FEDropShadow.h:
1:32 PM Changeset in webkit [165284] by Martin Robinson
  • 2 edits in trunk/Tools

REGRESSION(165267): Broke a webkitpy unit tests
https://bugs.webkit.org/show_bug.cgi?id=129904

Reviewed by Jon Honeycutt.

  • Scripts/webkitpy/port/gtk.py: Flip the default test to assume CMake by default.

(GtkPort._is_cmake_build):

1:30 PM Changeset in webkit [165283] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Link WebKit.framework against WebKit2.framework and re-export all WebKit2 symbols
https://bugs.webkit.org/show_bug.cgi?id=129901
<rdar://problem/15920020>

Reviewed by Andreas Kling.

  • Configurations/WebKit.xcconfig:
1:28 PM Changeset in webkit [165282] by mhahnenberg@apple.com
  • 6 edits
    2 moves in trunk/Source/JavaScriptCore

Move GCActivityCallback to heap
https://bugs.webkit.org/show_bug.cgi?id=129457

Reviewed by Geoffrey Garen.

All the other GC timer related stuff is there already.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • heap/GCActivityCallback.cpp: Copied from Source/JavaScriptCore/runtime/GCActivityCallback.cpp.
  • heap/GCActivityCallback.h: Copied from Source/JavaScriptCore/runtime/GCActivityCallback.h.
  • runtime/GCActivityCallback.cpp: Removed.
  • runtime/GCActivityCallback.h: Removed.
1:15 PM Changeset in webkit [165281] by matthew_hanson@apple.com
  • 2 edits in branches/safari-537.75-branch/Source/WTF

Merge r164408.

1:10 PM Changeset in webkit [165280] by Brent Fulgham
  • 2 edits in trunk/Source/WebCore

Correct out-of-band track selection logic.
https://bugs.webkit.org/show_bug.cgi?id=129900

Reviewed by Jer Noble.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::synchronizeTextTrackState): Correct test to
use inequality.

12:52 PM Changeset in webkit [165279] by Simon Fraser
  • 10 edits in trunk/Source/WebKit2

[iOS] Add an updateID to visibleContentRect updates which is passed back in layer transactions, so we know whether transactions are stale
https://bugs.webkit.org/show_bug.cgi?id=129897

Reviewed by Benjamin Poulain.

In WebKit2 on iOS we need to know when layer updates from the web process
are stale with respect to visible rect updates from the UI process. Do so
by adding an updateID to VisibleContentRectUpdateInfo, and storing it
on each side, returning it in RemoteLayerTreeTransaction.

Did some re-ordering of members and encoding order in RemoteLayerTreeTransaction
to group like data members together.

  • Shared/VisibleContentRectUpdateInfo.cpp:

(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):

  • Shared/VisibleContentRectUpdateInfo.h:

(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::updateID):
(WebKit::operator==):

  • Shared/mac/RemoteLayerTreeTransaction.h:

(WebKit::RemoteLayerTreeTransaction::setLastVisibleContentRectUpdateID):
(WebKit::RemoteLayerTreeTransaction::lastVisibleContentRectUpdateID):

  • Shared/mac/RemoteLayerTreeTransaction.mm:

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

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::nextVisibleContentRectUpdateID):
(WebKit::WebPageProxy::lastVisibleContentRectUpdateID):

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::willCommitLayerTree):

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

(WebKit::WebPage::updateVisibleContentRects):

12:39 PM Changeset in webkit [165278] by Andres Gomez
  • 2 edits in trunk/Tools

[GTK] webkit-patch setup-git-clone fails even after running Tools/gtk/install-dependencies
https://bugs.webkit.org/show_bug.cgi?id=129893

Reviewed by Martin Robinson.

Added "git-svn" as dependency for deb based distros and,
additionally, "subversion" for rpm based distros.

  • gtk/install-dependencies:
12:29 PM Changeset in webkit [165277] by betravis@adobe.com
  • 6 edits in trunk

[CSS Shapes] Correctly serialize ellipse positions
https://bugs.webkit.org/show_bug.cgi?id=129700

Reviewed by Dirk Schulze.

Source/WebCore:

Updating ellipse serialization to be in line with
the CSS Shapes spec. Positions should serialize as
2 or 4-value positions, converting keywords to
percentages where possible. This uses the same method
as circle position serialization (bug 129404).

Updated existing parsing tests.

  • css/CSSBasicShapes.cpp:

(WebCore::CSSBasicShapeEllipse::cssText): Use the
normalization / serialization helpers for shape position.

LayoutTests:

Update tests to use the new position serialization for
ellipse.

  • fast/shapes/parsing/parsing-shape-inside-expected.txt:
  • fast/shapes/parsing/parsing-shape-outside-expected.txt:
  • fast/shapes/parsing/parsing-test-utils.js:
12:20 PM Changeset in webkit [165276] by roger_fong@apple.com
  • 12 edits in trunk

Replace setSystemWebGLLoadPolicy API with methods to query for WebGL blocking policy.
https://bugs.webkit.org/show_bug.cgi?id=129873.

Reviewed by Dean Jackson.

Remove setSystemWebGLLoadPolicy API.

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::resolveWebGLLoadPolicy):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient):

  • UIProcess/API/C/WKPageLoaderClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::resolveWebGLPolicyForURL):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::webGLPolicyForURL):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createWebViewWithOptions):

Add API to directly query the WebGL blocking policies from WKSI.

  • UIProcess/API/C/mac/WKContextPrivateMac.h:
  • UIProcess/API/C/mac/WKContextPrivateMac.mm:

(WKContextShouldBlockWebGL):
(WKContextShouldSuggestBlockWebGL):

12:19 PM Changeset in webkit [165275] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Correct a comment typo from:
FLT should call fmod directly on platforms where LLVM cannot relocate the libcall
https://bugs.webkit.org/show_bug.cgi?id=129865

Patch by Andrew Trick <atrick@apple.com> on 2014-03-07
Reviewed by Mark Lam.

  • ftl/FTLOutput.h:

(JSC::FTL::Output::doubleRem):

11:40 AM Changeset in webkit [165274] by mhahnenberg@apple.com
  • 3 edits in trunk/Tools

run-jsc-stress-tests doesn't eagerly report test failures when using the shell runner
https://bugs.webkit.org/show_bug.cgi?id=129886

Reviewed by Mark Lam.

  • Scripts/jsc-stress-test-helpers/shell-runner.sh: Added a "verbose" mode to the shell runner.

If we're in verbose mode, then we don't redirect any output when running each test. If we're not
in verbose mode then we redirect stdout to /dev/null and allow any stderr output through.

  • Scripts/run-jsc-stress-tests: Redirect any sort of error output to stderr so that it will

make it through when in non-verbose mode.

11:25 AM WebKitGTK/StartHacking edited by Andres Gomez
(diff)
11:02 AM Changeset in webkit [165273] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebKit2

Initialize new WKSI functions for WebKit2
https://bugs.webkit.org/show_bug.cgi?id=129889

Reviewed by Simon Fraser.

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

10:48 AM Changeset in webkit [165272] by BJ Burg
  • 3 edits in trunk/Source/WebCore

Unreviewed, rebaseline run-binding-tests results after r165242.

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):

10:47 AM WebKitGTK/StartHacking edited by Andres Gomez
(diff)
10:47 AM Changeset in webkit [165271] by Brent Fulgham
  • 1 edit
    1 add in branches/safari-537.75-branch/Source/WebKit

Merge r165270.

2014-03-07 Brent Fulgham <Brent Fulgham>

[Win] Convert WebKit.make to an MSBuild file.
https://bugs.webkit.org/show_bug.cgi?id=129888

Reviewed by Dean Jackson.

  • WebKit.vcxproj/WebKit.proj: Added.
10:43 AM Changeset in webkit [165270] by Brent Fulgham
  • 1 edit
    1 add in trunk/Source/WebKit

[Win] Convert WebKit.make to an MSBuild file.
https://bugs.webkit.org/show_bug.cgi?id=129888

Reviewed by Dean Jackson.

  • WebKit.vcxproj/WebKit.proj: Added.
9:51 AM Changeset in webkit [165269] by Darin Adler
  • 4 edits in trunk/Source/WebCore

Remove non-working optimization that was attempted on iOS only
https://bugs.webkit.org/show_bug.cgi?id=129595
<rdar://problem/15798825>

Reviewed by Sam Weinig.

Code in GCController tried to optimize cases where the controller
was used, but no JavaScript had been run in the current process.
The code was never effective, and was iOS-only. Another way to fix
the problem would be to change the code so it works, and if we do
that we should do it for all platforms, not just iOS.

  • bindings/js/GCController.cpp:

(WebCore::GCController::garbageCollectNow): Remove check of
JSDOMWindow::commonVMExists, since it's called just after a call
to JSDOMWindow::commonVM, which will create it as a side effect.
(WebCore::GCController::releaseExecutableMemory): Ditto.

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::commonVM): Removed iOS-specific code
that pulled the commonVM global out into another function so we
can check for its existence without creating it as a side effect.

  • bindings/js/JSDOMWindowBase.h: Ditto.
9:33 AM Changeset in webkit [165268] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening

Clear test expectations for passing tests.

  • platform/efl/TestExpectations:
9:27 AM Changeset in webkit [165267] by Martin Robinson
  • 3 edits in trunk/Tools

[GTK] buid-webkit should use CMake by default
https://bugs.webkit.org/show_bug.cgi?id=129855

Reviewed by Carlos Garcia Campos.

Make the CMake build the default GTK+ build when using build-webkit. This will
ensure that all bots are using CMake. We do this by swapping --gtk and --gtkcmake,
so that we have --gtk and --gtkautotools.

  • Scripts/webkitdirs.pm: Swap --gtkcmake/--gtk for --gtk/--gtkautotools.
  • Scripts/webkitpy/port/gtk.py: Ditto.
9:21 AM Changeset in webkit [165266] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed, rolling out r165262.
http://trac.webkit.org/changeset/165262
https://bugs.webkit.org/show_bug.cgi?id=129887

Fix wrong commit message (Requested by mpakula on #webkit).

  • platform/efl/TestExpectations:
9:13 AM Changeset in webkit [165265] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Use OwnPtr in StructureIDTable
https://bugs.webkit.org/show_bug.cgi?id=129828

Reviewed by Geoffrey Garen.

This reduces the amount of boilerplate and fixes a memory leak.

  • runtime/StructureIDTable.cpp:

(JSC::StructureIDTable::StructureIDTable):
(JSC::StructureIDTable::resize):
(JSC::StructureIDTable::flushOldTables):
(JSC::StructureIDTable::allocateID):
(JSC::StructureIDTable::deallocateID):

  • runtime/StructureIDTable.h:

(JSC::StructureIDTable::table):
(JSC::StructureIDTable::get):

9:03 AM Changeset in webkit [165264] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

FLT should call fmod directly on platforms where LLVM cannot relocate the libcall
https://bugs.webkit.org/show_bug.cgi?id=129865

Patch by Andrew Trick <atrick@apple.com> on 2014-03-07
Reviewed by Filip Pizlo.

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLOutput.h:

(JSC::FTL::Output::doubleRem):

9:00 AM Changeset in webkit [165263] by Martin Robinson
  • 2 edits in trunk/Tools

[CMake] [GTK] Build with ninja when it is available
https://bugs.webkit.org/show_bug.cgi?id=129805

Reviewed by Philippe Normand.

  • Scripts/webkitdirs.pm:

(canUseNinja): Added this helper which tries to execute Ninja, in an effort to determine
if it's available on the system.
(cmakeGeneratedBuildfile): Return the path to the generated build file. Only Unix support ATM.
(generateBuildSystemFromCMakeProject): For GTK+ compile with Ninja when possible.

8:49 AM Changeset in webkit [165262] by Michał Pakuła vel Rutka
  • 2 edits in trunk/LayoutTests

[CSS Shapes] inset does not properly clamp large corner radii
https://bugs.webkit.org/show_bug.cgi?id=129726

Patch by Bem Jones-Bey <Bem Jones-Bey> on 2014-03-07
Reviewed by Dirk Schulze.

  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-large-radius-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-large-radius.html: Added.
8:25 AM Changeset in webkit [165261] by Bem Jones-Bey
  • 5 edits
    2 adds in trunk

[CSS Shapes] inset does not properly clamp large corner radii
https://bugs.webkit.org/show_bug.cgi?id=129726

Reviewed by Dirk Schulze.

Source/WebCore:

Make sure that radii that are larger than 50% of the associated shape
dimension (height or width) are properly reduced the same way as
border-radius radii are.

Test: fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-large-radius.html

  • rendering/shapes/Shape.cpp:

(WebCore::ensureRadiiDoNotOverlap): Drive by style fix.
(WebCore::Shape::createShape): Scale radii the same way as border

radii are scaled.

  • platform/graphics/FloatRoundedRect.h:

(WebCore::calcBorderRadiiConstraintScaleFor): Move border radii

constraint calculation function out so that it can be shared by
the shape code.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::getRoundedBorderFor): Call renamed scale function.

LayoutTests:

  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-large-radius-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-large-radius.html: Added.
5:39 AM Changeset in webkit [165260] by Michał Pakuła vel Rutka
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening

Remove wrong test expectations.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
5:37 AM Changeset in webkit [165259] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Use final and override in WebPrintOperationGtk
https://bugs.webkit.org/show_bug.cgi?id=129868

Reviewed by Sergio Villar Senin.

  • WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
5:35 AM Changeset in webkit [165258] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[GST] Set name to several timeout sources
https://bugs.webkit.org/show_bug.cgi?id=129878

Reviewed by Philippe Normand.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::videoChanged):
(WebCore::MediaPlayerPrivateGStreamer::videoCapsChanged):
(WebCore::MediaPlayerPrivateGStreamer::audioChanged):
(WebCore::MediaPlayerPrivateGStreamer::textChanged):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::volumeChanged):
(WebCore::MediaPlayerPrivateGStreamerBase::muteChanged):

5:27 AM Changeset in webkit [165257] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Timeout sources not correctly removed
https://bugs.webkit.org/show_bug.cgi?id=129877

Reviewed by Philippe Normand.

Set source ID variables to 0 after removing the sources from the
context. Also give a name to the sources.

  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:

(WebCore::TrackPrivateBaseGStreamer::disconnect):
(WebCore::TrackPrivateBaseGStreamer::activeChanged):
(WebCore::TrackPrivateBaseGStreamer::tagsChanged):
(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfActiveChanged):

4:02 AM Changeset in webkit [165256] by commit-queue@webkit.org
  • 3 edits
    1 delete in trunk/Source/WebCore

Remove FFTFrameMKL.
https://bugs.webkit.org/show_bug.cgi?id=129866

Patch by Gergo Balogh <gbalogh.u-szeged@partner.samsung.com> on 2014-03-07
Reviewed by Csaba Osztrogonác.

  • platform/audio/FFTFrame.h:
  • platform/audio/FFTFrameStub.cpp:
  • platform/audio/mkl/FFTFrameMKL.cpp: Removed, it is never used.
3:46 AM Changeset in webkit [165255] by thiago.lacerda@openbossa.org
  • 8 edits
    4 adds in trunk

[WebRTC] Adding getConfiguration method to RTCPeerConnection
https://bugs.webkit.org/show_bug.cgi?id=129845

Reviewed by Eric Carlson.

Source/WebCore:

Test: fast/mediastream/RTCPeerConnection-getConfiguration.html

  • CMakeLists.txt:
  • DerivedSources.make:
  • GNUmakefile.list.am:
  • Modules/mediastream/RTCConfiguration.idl: Added.
  • Modules/mediastream/RTCIceServer.idl: Added.
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::updateIce):
(WebCore::RTCPeerConnection::getConfiguration):

  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/mediastream/RTCPeerConnection.idl:

LayoutTests:

  • fast/mediastream/RTCPeerConnection-getConfiguration-expected.txt: Added.
  • fast/mediastream/RTCPeerConnection-getConfiguration.html: Added.
2:42 AM Changeset in webkit [165254] by jinwoo7.song@samsung.com
  • 2 edits in trunk/Source/WebCore

Optimize collectionLast() and collectionTraverseBackward() in LiveNodeList
https://bugs.webkit.org/show_bug.cgi?id=129775

Reviewed by Ryosuke Niwa.

Check the LiveNodeList type if it is HTMLTagNodeListType and ClassNodeListType then
apply inlined matching methods for each type.

  • dom/LiveNodeList.cpp:

(WebCore::lastMatchingElement): Added.
(WebCore::previousMatchingElement): Added.
(WebCore::traverseMatchingElementsBackward): Added.
(WebCore::LiveNodeList::collectionLast): Apply lastMatchingElement() with LiveNodeList type.
(WebCore::LiveNodeList::collectionTraverseBackward): Apply traverseMatchingElementsBackward()
with LiveNodeList type.

2:00 AM Changeset in webkit [165253] by zandobersek@gmail.com
  • 7 edits in trunk/Source/WebKit/gtk

Move GTK WebKit1 code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=129675

Reviewed by Anders Carlsson.

Replace uses of OwnPtr and PassOwnPtr in GTK-specific WebKit1 code with std::unique_ptr.

  • WebCoreSupport/AcceleratedCompositingContext.h:
  • WebCoreSupport/NavigatorContentUtilsClientGtk.cpp:
  • WebCoreSupport/NavigatorContentUtilsClientGtk.h:
  • webkit/webkitfavicondatabase.cpp:

(getIconPixbufCancelled):
(webkit_favicon_database_get_favicon_pixbuf):

  • webkit/webkitwebview.cpp:

(webkit_web_view_init):

  • webkit/webkitwebviewprivate.h:
1:40 AM GRefPtr edited by Manuel Rego Casasnovas
Add link to RefPtr and PassRefPtr documentation at webkit.org (diff)

Mar 6, 2014:

11:20 PM Changeset in webkit [165252] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

WebCoreResourceHandleAsOperationQueueDelegate over-retains NSURLRequest.
<https://webkit.org/b/129862>

Don't retain the pointer before assigning it to a RetainPtr, since that
will cause the object to leak.

Reviewed by Alexey Proskuryakov.

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate continueWillSendRequest:]):

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

Don’t copy WebInputs.json into the framework.

  • WebCore.xcodeproj/project.pbxproj: Removed WebInputs.json from the Copy Bundle Resources

build phase of the WebCore target.

10:32 PM Changeset in webkit [165250] by ap@apple.com
  • 4 edits in trunk/Source/WebKit2

[Mac] Allow com.apple.GSSCred in WebKit sandbox profiles
https://bugs.webkit.org/show_bug.cgi?id=129777
<rdar://problem/16050832>

Reviewed by Anders Carlsson.

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
  • WebProcess/com.apple.WebProcess.sb.in:
10:16 PM Changeset in webkit [165249] by fpizlo@apple.com
  • 10 edits in trunk

If the FTL is build-time enabled then it should be run-time enabled.

Rubber stamped by Geoffrey Garen.

Source/JavaScriptCore:

  • runtime/Options.cpp:

(JSC::recomputeDependentOptions):

  • runtime/Options.h:

Source/WebKit2:

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/mac/WebContextMac.mm:

(WebKit::registerUserDefaultsIfNeeded):
(WebKit::WebContext::platformInitializeWebProcess):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

Tools:

  • Scripts/run-jsc-stress-tests:
9:42 PM Changeset in webkit [165248] by thiago.lacerda@openbossa.org
  • 10 edits in trunk

[WebRTC] Updating RTCPeerConnection.idl
https://bugs.webkit.org/show_bug.cgi?id=129804

Reviewed by Eric Carlson.

Some methods signatures were wrong, marking some arguments as optional when they are mandatory.

Source/WebCore:

Existing tests were updated.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::getStats):

  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/mediastream/RTCPeerConnection.idl:
  • Modules/mediastream/RTCStatsRequestImpl.cpp:

(WebCore::RTCStatsRequestImpl::create):
(WebCore::RTCStatsRequestImpl::RTCStatsRequestImpl):
(WebCore::RTCStatsRequestImpl::requestFailed):

  • Modules/mediastream/RTCStatsRequestImpl.h:
  • platform/mediastream/RTCStatsRequest.h:

LayoutTests:

  • fast/mediastream/RTCPeerConnection-stats.html:
  • fast/mediastream/RTCPeerConnection-statsSelector.html:
9:41 PM Changeset in webkit [165247] by thiago.lacerda@openbossa.org
  • 3 edits
    1 add in trunk/Source/WebCore

[WebRTC] Updating RTCIceServer to match spec
https://bugs.webkit.org/show_bug.cgi?id=129844

Reviewed by Eric Carlson.

Move RTCIceServer from RTCConfiguration to its own file.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::validateIceServerURL):
(WebCore::processIceServer):

  • platform/mediastream/RTCConfiguration.h:

(WebCore::RTCConfiguration::iceServers):

  • platform/mediastream/RTCIceServer.h: Added.
9:06 PM Changeset in webkit [165246] by commit-queue@webkit.org
  • 7 edits in trunk/Source

[EFL] Move EvasGL classes from WebKit to WebCore namespace.
https://bugs.webkit.org/show_bug.cgi?id=129797

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-03-06
Reviewed by Gyuyoung Kim.

Source/WebCore:

Though EvasGLContext and EvasGLSurface files were moved from WebKit2/UIProcess/API/efl/
to WebCore/platform/graphics/efl/, they are still in WebKit namespace.
Patch for namespace changes.

  • platform/graphics/efl/EvasGLContext.cpp:
  • platform/graphics/efl/EvasGLContext.h:
  • platform/graphics/efl/EvasGLSurface.cpp:
  • platform/graphics/efl/EvasGLSurface.h:

Source/WebKit2:

  • UIProcess/API/efl/EwkView.h: namespace changes for EvasGLContext/Surface.
8:21 PM Changeset in webkit [165245] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

[OS X] Web Inspector: Allow Apps using JavaScriptCore to access "com.apple.webinspector" mach port
https://bugs.webkit.org/show_bug.cgi?id=129852

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-06
Reviewed by Geoffrey Garen.

  • framework.sb: Added.

Sandbox extension to allow access to "com.apple.webinspector".

Add a Copy Resources build phase and include framework.sb.

  • Configurations/JavaScriptCore.xcconfig:

Do not copy framework.sb on iOS.

7:29 PM Changeset in webkit [165244] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

JSGlobalContextRelease incorrectly handles saving/restoring IdentifierTable
https://bugs.webkit.org/show_bug.cgi?id=129858

Reviewed by Mark Lam.

It was correct (but really ugly) prior to the combining of APIEntryShim and JSLock,
but now it ends up overwriting the IdentifierTable that JSLock just restored.

  • API/JSContextRef.cpp:

(JSGlobalContextRelease):

6:42 PM Changeset in webkit [165243] by aestes@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Test that the screen orientation does not change when focusing a <textarea>
https://bugs.webkit.org/show_bug.cgi?id=129847

Reviewed by Enrica Casucci.

  • fast/css/orientation-changes-on-textarea-focus-expected.html: Added.
  • fast/css/orientation-changes-on-textarea-focus.html: Added.
6:23 PM Changeset in webkit [165242] by BJ Burg
  • 2 edits in trunk/Source/WebCore

CodeGeneratorJS.pm doesn't need to add spaces between consecutive closing template brackets
https://bugs.webkit.org/show_bug.cgi?id=129836

Reviewed by Andreas Kling.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateParametersCheck):
(GetNativeVectorInnerType):
(GetSVGPropertyTypes):

6:23 PM Changeset in webkit [165241] by jinwoo7.song@samsung.com
  • 3 edits in trunk/Source/WebCore

Remove unused method from BatteryController
https://bugs.webkit.org/show_bug.cgi?id=129850

Reviewed by Gyuyoung Kim.

isActive() method is never called anywhere.

  • Modules/battery/BatteryController.cpp:
  • Modules/battery/BatteryController.h:
6:21 PM Changeset in webkit [165240] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] Crash on launch with website restrictions enabled
https://bugs.webkit.org/show_bug.cgi?id=129854
<rdar://problem/16207016>

Reviewed by Simon Fraser.

  • platform/mac/ContentFilterMac.mm:

(WebCore::ContentFilter::ContentFilter): Initialize m_neFilterSourceQueue so that we don't
crash in the dtor due to garbage value in the field.

6:18 PM Changeset in webkit [165239] by mhahnenberg@apple.com
  • 2 edits in trunk/Tools

detectFailures in run-jsc-stress-tests can report everything was ok if too many tests fail
https://bugs.webkit.org/show_bug.cgi?id=129837

Reviewed by Michael Saboff.

ls test_fail_* can fail if there are too many files that match. We then swallow that error, which makes everything seem ok.
The fix is to use find instead of ls like we do in shell-runner.sh.

  • Scripts/run-jsc-stress-tests:
6:16 PM Changeset in webkit [165238] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

filter-build-webkit should not strip .o
https://bugs.webkit.org/show_bug.cgi?id=129614

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-06
Reviewed by Dean Jackson.

This makes it much easier to jump from the failing output at
the end back up to the compile errors earlier in the output.

  • Scripts/filter-build-webkit:
6:14 PM Changeset in webkit [165237] by dino@apple.com
  • 4 edits in trunk/WebKitLibraries

Update WebKitSystemInterface.
<rdar://problem/16256214>

  • libWebKitSystemInterfaceLion.a:
  • libWebKitSystemInterfaceMavericks.a:
  • libWebKitSystemInterfaceMountainLion.a:
6:06 PM Changeset in webkit [165236] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Remove one more setCustomFixedPositionRect() that I missed.

  • UIProcess/DrawingAreaProxy.h:
6:01 PM Changeset in webkit [165235] by Simon Fraser
  • 11 edits in trunk/Source/WebKit2

Send the fixed position rect to the WebProcess along with the other rects
https://bugs.webkit.org/show_bug.cgi?id=129856

Reviewed by Benjamin Poulain.

Remove the functions that pass the custom fixed position rect through
the DrawingArea, and replace them by adding this rect to the
VisibleContentRectUpdateInfo, along with the "is stable" flag. We
then set the custom fixed position rect in the web process for
stable updates.

  • Shared/VisibleContentRectUpdateInfo.cpp:

(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):

  • Shared/VisibleContentRectUpdateInfo.h:

(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::customFixedPositionRect):
(WebKit::VisibleContentRectUpdateInfo::inStableState):
(WebKit::operator==):

  • UIProcess/DrawingAreaProxy.cpp:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):

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

(WebKit::WebPage::updateVisibleContentRects):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
5:31 PM Changeset in webkit [165234] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Remove empty class extension in WKContentViewInteraction
https://bugs.webkit.org/show_bug.cgi?id=129849

Reviewed by Enrica Casucci.

This empty class extension is cruft left over from refactoring.
It can be removed.

  • UIProcess/ios/WKContentViewInteraction.mm:
5:31 PM Changeset in webkit [165233] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Minor optimization in ScrollingTreeScrollingNodeMac
https://bugs.webkit.org/show_bug.cgi?id=129848

Reviewed by Dean Jackson.

No need to call scrollOffsetForFixedPosition() again if we don't have header
and footer layers.

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):

4:54 PM Changeset in webkit [165232] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix FTL build.

4:49 PM Changeset in webkit [165231] by matthew_hanson@apple.com
  • 8 edits in branches/safari-537.75-branch/Source/WebCore

Merge Merge r159489.

4:47 PM Changeset in webkit [165230] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

[iOS] didUpdateVisibleRect: should use fabs, not abs
https://bugs.webkit.org/show_bug.cgi?id=129843

Reviewed by Benjamin Poulain.

When zooming we sent messages to the web process with an unchanging
zoom scale because of use of abs() rather than fabs().

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]):

4:26 PM Changeset in webkit [165229] by mark.lam@apple.com
  • 12 edits in trunk

XMLHttpRequest: status and statusText throw DOM Exception 11 when the state is UNSENT or OPENED.
https://bugs.webkit.org/show_bug.cgi?id=45994

Not reviewed.

Re-landing r161051 (originally by Ryosuke Niwa, reviewed by Alexey Proskuryakov)
since https://bugs.webkit.org/show_bug.cgi?id=126219 is no longer an issue.

Source/WebCore:

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::status):
(WebCore::XMLHttpRequest::statusText):

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

LayoutTests:

  • http/tests/xmlhttprequest/exceptions-expected.txt:
  • http/tests/xmlhttprequest/exceptions.html:
  • http/tests/xmlhttprequest/status-after-abort-expected.txt:
  • http/tests/xmlhttprequest/zero-length-response-expected.txt:
  • js/dom/dfg-custom-getter-throw-expected.txt:
  • js/dom/script-tests/dfg-custom-getter-throw-inlined.js:

(foo):
(bar):

  • js/dom/script-tests/dfg-custom-getter-throw.js:

(foo):
(bar):

4:06 PM Changeset in webkit [165228] by Brent Fulgham
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed build fix after r165128.

  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: The SEH flag was not getting set when

performing 'Production' and 'DebugSuffix' type builds.

3:50 PM Changeset in webkit [165227] by Brent Fulgham
  • 22 edits
    1 add in trunk/Source/WebCore

Revise Out-of-band VTT support for better integration with AVFoundation engine
https://bugs.webkit.org/show_bug.cgi?id=129749
<rdar://problem/16215701>

Reviewed by Eric Carlson.

Revise the platform handling of out-of-band text tracks so that we can keep AVFoundation
informed of track selections we make. Use a dummy out-of-band child of the existing text
track classes to avoid code duplication.

  • WebCore.xcodeproj/project.pbxproj: Add new OutOfBandTextTrackPrivateAVF.h file.
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute): Notify player when OOB tracks change.
(WebCore::HTMLMediaElement::outOfBandTrackSources): Also pass track mode to platform backend.

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::platformTextTrack): Also pass track mode to constructor.

  • html/track/TrackBase.cpp:

(WebCore::TrackBase::TrackBase): Move ownership of track unique identifier to this base class.

  • html/track/TrackBase.h:

(WebCore::TrackBase::uniqueId): Ditto.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::notifyTrackModeChanged): Added stub to pass message to platform player.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::notifyTrackModeChanged): Stub for most platforms.

  • platform/graphics/PlatformTextTrack.h:

(WebCore::PlatformTextTrack::create): Update for revised constructor (with 'mode' argument).
(WebCore::PlatformTextTrack::createOutOfBand): Ditto.
(WebCore::PlatformTextTrack::mode): Added.
(WebCore::PlatformTextTrack::captionMenuOffItem): Use revised constructor arguments.
(WebCore::PlatformTextTrack::captionMenuAutomaticItem): Ditto.
(WebCore::PlatformTextTrack::PlatformTextTrack): Ditto.

  • platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: Change predicate to return enum indicating the category

of track (out-of-band, legacy closed caption, or in band).

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:

(WebCore::MediaPlayerPrivateAVFoundation::notifyTrackModeChanged): Added.

  • platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h: Override predicate to return category enum.
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: Revise to use new category enum.
  • platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h: Override predicate to return category enum.

that this is NOT an out-of-band track.

  • platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.h: Ditto.
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::notifyTrackModeChanged): Added implementation.
(WebCore::MediaPlayerPrivateAVFoundationObjC::processMediaSelectionOptions): Revise to handle out-of-band
track placeholders.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Modify to inform AVFoundation about any
out-of-band tracks we've selected.
(WebCore::MediaPlayerPrivateAVFoundationObjC::synchronizeTextTrackState): Added.

  • platform/graphics/avfoundation/objc/OutOfBandTextTrackPrivateAVF.h: Added.

(WebCore::OutOfBandTextTrackPrivateAVF::create):
(WebCore::OutOfBandTextTrackPrivateAVF::processCue):
(WebCore::OutOfBandTextTrackPrivateAVF::resetCueValues):
(WebCore::OutOfBandTextTrackPrivateAVF::mediaSelectionOption):
(WebCore::OutOfBandTextTrackPrivateAVF::OutOfBandTextTrackPrivateAVF):
(WebCore::OutOfBandTextTrackPrivateAVF::processCueAttributes):

  • platform/graphics/ios/InbandTextTrackPrivateAVFIOS.h: Override predicate to indicate

that this is NOT an out-of-band track.

  • platform/graphics/ios/MediaPlayerPrivateIOS.mm:

(WebCore::MediaPlayerPrivateIOS::setSelectedTextTrack): Correct typo in logging text.

3:41 PM Changeset in webkit [165226] by thiago.lacerda@openbossa.org
  • 14 edits
    2 adds in trunk

[WebRTC] Updating createOffer and createAnswer methods to match WebRTC editor's draft of 01/27/2014
https://bugs.webkit.org/show_bug.cgi?id=129484

Reviewed by Eric Carlson.

According to the spec, createOffer and createAnswer will no longer have MediaConstraints as an argument,
instead they will have RTCOfferOptions and RTCOfferAnswerOptions, respectively.

Source/WebCore:

Existing tests were updated.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Modules/mediastream/RTCOfferAnswerOptions.cpp: Added.
  • Modules/mediastream/RTCOfferAnswerOptions.h: Added.
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):

  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/mediastream/RTCPeerConnection.idl:
  • platform/mediastream/RTCPeerConnectionHandler.h:
  • platform/mock/RTCPeerConnectionHandlerMock.cpp:

(WebCore::RTCPeerConnectionHandlerMock::createOffer):
(WebCore::RTCPeerConnectionHandlerMock::createAnswer):

  • platform/mock/RTCPeerConnectionHandlerMock.h:

LayoutTests:

  • fast/mediastream/RTCPeerConnection-createAnswer-expected.txt:
  • fast/mediastream/RTCPeerConnection-createAnswer.html:
  • fast/mediastream/RTCPeerConnection-createOffer-expected.txt:
  • fast/mediastream/RTCPeerConnection-createOffer.html:
3:40 PM Changeset in webkit [165225] by msaboff@apple.com
  • 2 edits in trunk/Source/WTF

JSC should disable the JIT when building for ARMv7k
https://bugs.webkit.org/show_bug.cgi?id=129829

Reviewed by Oliver Hunt.

Added WTF_CPU_APPLE_ARMV7K CPU define. Disabled the JITs when
that feature define is set.

  • wtf/Platform.h:
3:37 PM Changeset in webkit [165224] by mark.lam@apple.com
  • 3 edits in branches/safari-537.75-branch

Merge r164077, r164089: <rdar://problem/16136637>

2014-02-13 Mark Lam <mark.lam@apple.com>

The JSContainerConvertor and ObjcContainerConvertor need to protect JSValueRefs. Part 2.
<https://webkit.org/b/128764>

Reviewed by Mark Hahnenberg.

toJS() is the wrong cast function to use. We need to use toJSForGC() instead.
Also we need to acquire the JSLock to prevent concurrent accesses to the
Strong handle list.

  • API/JSValue.mm: (JSContainerConvertor::add): (containerValueToObject): (ObjcContainerConvertor::add): (objectToValue):

2014-02-13 Mark Lam <mark.lam@apple.com>

The JSContainerConvertor and ObjcContainerConvertor need to protect JSValueRefs.
<https://webkit.org/b/128764>

Reviewed by Mark Hahnenberg.

Added a vector of Strong<Unknown> references in the 2 containers, and append
the newly created JSValues to those vectors. This will keep all those JS objects
alive for the duration of the conversion.

  • API/JSValue.mm: (JSContainerConvertor::add): (ObjcContainerConvertor::add):
3:32 PM Changeset in webkit [165223] by Julien Brianceau
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix style in my previous commit.
https://bugs.webkit.org/show_bug.cgi?id=129833

  • runtime/JSConsole.cpp:
3:19 PM Changeset in webkit [165222] by BJ Burg
  • 2 edits in trunk/Source/WebCore

Web Replay: premature release() of PassRefPtr in InspectorReplayAgent
https://bugs.webkit.org/show_bug.cgi?id=129827

Reviewed by Timothy Hatcher.

  • inspector/InspectorReplayAgent.cpp:

(WebCore::InspectorReplayAgent::didCreateFrontendAndBackend):

3:19 PM Changeset in webkit [165221] by Julien Brianceau
  • 2 edits in trunk/Source/JavaScriptCore

Build fix: add missing include in JSConole.cpp.
https://bugs.webkit.org/show_bug.cgi?id=129833

Reviewed by Oliver Hunt.

  • runtime/JSConsole.cpp:
3:13 PM Changeset in webkit [165220] by andersca@apple.com
  • 6 edits in trunk

Build WebKit2 before building WebKit
https://bugs.webkit.org/show_bug.cgi?id=129831
<rdar://problem/15920020>

Reviewed by Dan Bernstein.

.:

  • Source/Makefile:
  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme:
  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme:

Tools:

  • Scripts/build-webkit:

Always build WebKit2 and make sure to build it before WebKit when building on Mac.

3:06 PM Changeset in webkit [165219] by matthew_hanson@apple.com
  • 3 edits
    2 copies in branches/safari-537.75-branch

Merge r164249.

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

Remove WebKit1 header includes from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=129824

Reviewed by Dan Bernstein.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(makeResponderFirstResponderIfDescendantOfView):
Add a new function instead of calling an NSWindow category method that's defined in WebKit1.

(-[WKFullScreenWindowController enterFullScreen:]):
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
Call makeResponderFirstResponderIfDescendantOfView.

  • WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:

Remove unused WebKit1 header import.

  • WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:

(WebKit::WebEditorClient::documentFragmentFromAttributedString):
Change a category to be on NSObject instead of WebResource.

2:41 PM Changeset in webkit [165217] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix ARMv7

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

Unreviewed, rolling out r165196.
http://trac.webkit.org/changeset/165196
https://bugs.webkit.org/show_bug.cgi?id=129822

broke arm64 on hardware (Requested by bfulgham on #webkit).

  • assembler/ARM64Assembler.h:

(JSC::ARM64Assembler::lastRegister):

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::isStackRelated):
(JSC::MacroAssembler::firstRealRegister):
(JSC::MacroAssembler::nextRegister):
(JSC::MacroAssembler::secondRealRegister):

  • ftl/FTLLocation.cpp:

(JSC::FTL::Location::restoreInto):

  • ftl/FTLSaveRestore.cpp:

(JSC::FTL::saveAllRegisters):
(JSC::FTL::restoreAllRegisters):

  • ftl/FTLSlowPathCall.cpp:
  • jit/RegisterSet.cpp:

(JSC::RegisterSet::specialRegisters):
(JSC::RegisterSet::calleeSaveRegisters):

  • jit/RegisterSet.h:
2:13 PM Changeset in webkit [165215] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

[iOS] Do not compile fake mouse event handling when iOS Touch Events are enabled
https://bugs.webkit.org/show_bug.cgi?id=129725

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-03-06
Reviewed by Dan Bernstein.

Bug <rdar://problem/16218636>. The code is #ifdef'ed out to avoid setting up useless objects
and to avoid future mistake.

  • page/EventHandler.cpp:

(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::~EventHandler):
(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::startAutoHideCursorTimer):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
(WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad):

  • page/EventHandler.h:
1:59 PM Changeset in webkit [165214] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. iOS build fix after r165199.

  • rendering/RootInlineBox.cpp:
1:56 PM Changeset in webkit [165213] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

REGRESSION(r165205): broke the CLOOP build (Requested by smfr on #webkit).
<https://webkit.org/b/129813>

Reviewed by Michael Saboff.

Fixed broken C loop LLINT build.

  • llint/LowLevelInterpreter.cpp:

(JSC::CLoop::execute):

  • offlineasm/cloop.rb:
1:55 PM Changeset in webkit [165212] by jonlee@apple.com
  • 2 edits in trunk/Source/WebKit2

iOS build fix.

Reviewed by Simon Fraser.

  • UIProcess/ios/SmartMagnificationController.mm:
1:51 PM Changeset in webkit [165211] by benjamin@webkit.org
  • 8 edits in trunk/Source/WebCore

[iOS] Rename the actualVisibleXXXRect to unobscuredContentRect for consistency
https://bugs.webkit.org/show_bug.cgi?id=129773

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

  • dom/TreeScope.cpp:

(WebCore::nodeFromPoint):

  • platform/ScrollView.cpp:

(WebCore::ScrollView::visibleContentRectInternal):

  • platform/ScrollView.h:
  • platform/ios/ScrollViewIOS.mm:

(WebCore::ScrollView::unoscuredContentRect):

  • platform/ios/wak/WAKScrollView.h:
  • platform/ios/wak/WAKScrollView.mm:

(-[WAKScrollView unoscuredContentRect]):
(-[WAKScrollView description]):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollRectToVisible):

1:33 PM Changeset in webkit [165210] by matthew_hanson@apple.com
  • 4 edits in branches/safari-537.75-branch/Source/WebCore

Merge r165145.

1:27 PM Changeset in webkit [165209] by commit-queue@webkit.org
  • 2 edits in trunk

Unreviewed, rolling out r165193.
http://trac.webkit.org/changeset/165193
https://bugs.webkit.org/show_bug.cgi?id=129823

Not specifying libc++ as the stdlib for Clang through CXXFLAGS
env confuses libtool (Requested by zdobersek on #webkit).

  • Source/autotools/SetupCompilerFlags.m4:
1:27 PM Changeset in webkit [165208] by oliver@apple.com
  • 35 edits
    8 adds in trunk

Support caching of custom setters
https://bugs.webkit.org/show_bug.cgi?id=129519

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

This patch adds caching of assignment to properties that
are backed by C functions. This provides most of the leg
work required to start supporting setters, and resolves
the remaining regressions from moving DOM properties up
the prototype chain.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/PolymorphicPutByIdList.cpp:

(JSC::PutByIdAccess::visitWeak):
(JSC::PolymorphicPutByIdList::PolymorphicPutByIdList):
(JSC::PolymorphicPutByIdList::from):

  • bytecode/PolymorphicPutByIdList.h:

(JSC::PutByIdAccess::transition):
(JSC::PutByIdAccess::replace):
(JSC::PutByIdAccess::customSetter):
(JSC::PutByIdAccess::isCustom):
(JSC::PutByIdAccess::oldStructure):
(JSC::PutByIdAccess::chain):
(JSC::PutByIdAccess::stubRoutine):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeForStubInfo):
(JSC::PutByIdStatus::computeFor):
(JSC::PutByIdStatus::dump):

  • bytecode/PutByIdStatus.h:

(JSC::PutByIdStatus::PutByIdStatus):
(JSC::PutByIdStatus::takesSlowPath):
(JSC::PutByIdStatus::makesCalls):

  • bytecode/StructureStubInfo.h:
  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::emitPutById):
(JSC::DFG::ByteCodeParser::handlePutById):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

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

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

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasIdentifier):

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

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

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileIn):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::cachedGetById):
(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::compile):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

  • jit/JITInlineCacheGenerator.cpp:

(JSC::JITByIdGenerator::JITByIdGenerator):
(JSC::JITPutByIdGenerator::JITPutByIdGenerator):

  • jit/JITInlineCacheGenerator.h:

(JSC::JITGetByIdGenerator::JITGetByIdGenerator):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::emit_op_get_by_id):
(JSC::JIT::emit_op_put_by_id):

  • jit/Repatch.cpp:

(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):
(JSC::emitCustomSetterStub):
(JSC::tryCachePutByID):
(JSC::tryBuildPutByIdList):

  • jit/SpillRegistersMode.h: Added.
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/Lookup.h:

(JSC::putEntry):

  • runtime/PutPropertySlot.h:

(JSC::PutPropertySlot::setCacheableCustomProperty):
(JSC::PutPropertySlot::customSetter):
(JSC::PutPropertySlot::isCacheablePut):
(JSC::PutPropertySlot::isCacheableCustomProperty):
(JSC::PutPropertySlot::cachedOffset):

Source/WebCore:

Add forwarding header

Tests: js/regress/assign-custom-setter-polymorphic.html

js/regress/assign-custom-setter.html

  • ForwardingHeaders/jit/SpillRegistersMode.h: Added.

LayoutTests:

Add test cases.

  • js/regress/assign-custom-setter-expected.txt: Added.
  • js/regress/assign-custom-setter-polymorphic-expected.txt: Added.
  • js/regress/assign-custom-setter-polymorphic.html: Added.
  • js/regress/assign-custom-setter.html: Added.
  • js/regress/script-tests/assign-custom-setter-polymorphic.js: Added.

(test):

  • js/regress/script-tests/assign-custom-setter.js: Added.

(test):

1:24 PM Changeset in webkit [165207] by Michał Pakuła vel Rutka
  • 4 edits
    1 add in trunk/LayoutTests

Unreviewed EFL gardening

Add test expectations for failing tests and remove crash expectations after r164718.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/compositing/layer-creation/overlap-animation-container-expected.txt: Added after r164449.
  • platform/efl/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.txt: Rebaseline after r164867.
12:57 PM Changeset in webkit [165206] by jhoneycutt@apple.com
  • 3 edits in trunk/Source/WebCore

Invalid cast in WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients()

<https://bugs.webkit.org/show_bug.cgi?id=121887>
<rdar://problem/15073043>

Clang appears to be optimizing out a branch in RenderObject::node()
when compiling RenderLayer::FilterInfo::updateReferenceFilterClients().
We'll work around this by factoring out the code in question into a
separate member function marked NEVER_INLINE.

No test possible due to <https://bugs.webkit.org/show_bug.cgi?id=129757>.

Reviewed by David Kilzer.

  • rendering/RenderLayerFilterInfo.cpp:

(WebCore::RenderLayer::FilterInfo::layerElement):
Code moved from updateReferenceFilterClients(). Returns the Element*
for m_layer.
(WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
Use layerElement().

  • rendering/RenderLayerFilterInfo.h:

Declared layerElement().

12:50 PM BuildingGtk edited by Manuel Rego Casasnovas
Revert previous change as CMake build will be the default soon and … (diff)
12:44 PM BuildingGtk edited by Manuel Rego Casasnovas
Add instructions to build with Ninja (diff)
12:16 PM Changeset in webkit [165205] by fpizlo@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

FTL arity fixup should work on ARM64
https://bugs.webkit.org/show_bug.cgi?id=129810

Reviewed by Michael Saboff.

  • Using regT5 to pass the thunk return address to arityFixup is shady since that's a callee-save.


  • The FTL path was assuming X86 conventions for where SP points at the top of the prologue.


This makes some more tests pass.

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileFunction):

  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::prologueStackPointerDelta):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/ThunkGenerators.cpp:

(JSC::arityFixup):

  • llint/LowLevelInterpreter64.asm:
  • offlineasm/arm64.rb:
  • offlineasm/x86.rb: In addition to the t7 change, make t6 agree with GPRInfo.h.
12:15 PM Changeset in webkit [165204] by matthew_hanson@apple.com
  • 4 edits in branches/safari-537.75-branch

Merge r156716.

12:00 PM Changeset in webkit [165203] by mhahnenberg@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

Fix write barriers in Repatch.cpp for !ENABLE(DFG_JIT) platforms after r165128
https://bugs.webkit.org/show_bug.cgi?id=129760

Reviewed by Geoffrey Garen.

r165128 disabled the write barrier fast path for inline caches on !ENABLE(DFG_JIT) platforms.
The fix is to refactor the write barrier code into AssemblyHelpers and use that everywhere.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::writeBarrier):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::writeBarrier):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::writeBarrier):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::checkMarkByte):

  • jit/JIT.h:
  • jit/JITPropertyAccess.cpp:
  • jit/Repatch.cpp:

(JSC::writeBarrier):

12:00 PM Changeset in webkit [165202] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebKit

Unreviewed follow-up fix for Windows for r165199.

Reviewed by NOBODY (OOPS!).

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
11:51 AM Changeset in webkit [165201] by matthew_hanson@apple.com
  • 6 edits in branches/safari-537.75-branch

Merge r153788.

11:40 AM Changeset in webkit [165200] by matthew_hanson@apple.com
  • 3 edits in branches/safari-537.75-branch/Source/WebCore

Merge r155071.

11:33 AM Changeset in webkit [165199] by Joseph Pecoraro
  • 73 edits
    2 moves
    9 adds
    3 deletes in trunk

Web Inspector: Expose the console object in JSContexts to interact with Web Inspector
https://bugs.webkit.org/show_bug.cgi?id=127944

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Always expose the Console object in JSContexts, just like we
do for web pages. The default behavior will route to an
attached JSContext inspector. This can be overriden by
setting the ConsoleClient on the JSGlobalObject, which WebCore
does to get slightly different behavior.

Update build systems.

  • API/tests/testapi.js:
  • API/tests/testapi.mm:

Test that "console" exists in C and ObjC contexts.

  • runtime/ConsoleClient.cpp: Added.

(JSC::ConsoleClient::printURLAndPosition):
(JSC::ConsoleClient::printMessagePrefix):
(JSC::ConsoleClient::printConsoleMessage):
(JSC::ConsoleClient::printConsoleMessageWithArguments):
(JSC::ConsoleClient::internalMessageWithTypeAndLevel):
(JSC::ConsoleClient::logWithLevel):
(JSC::ConsoleClient::clear):
(JSC::ConsoleClient::dir):
(JSC::ConsoleClient::dirXML):
(JSC::ConsoleClient::table):
(JSC::ConsoleClient::trace):
(JSC::ConsoleClient::assertCondition):
(JSC::ConsoleClient::group):
(JSC::ConsoleClient::groupCollapsed):
(JSC::ConsoleClient::groupEnd):

  • runtime/ConsoleClient.h: Added.

(JSC::ConsoleClient::~ConsoleClient):
New private interface for handling the console object's methods.
A lot of the methods funnel through messageWithTypeAndLevel.

  • runtime/ConsoleTypes.h: Renamed from Source/JavaScriptCore/inspector/ConsoleTypes.h.

Moved to JSC namespace.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::reset):
(JSC::JSGlobalObject::visitChildren):
Create the "console" object when initializing the environment.
Also set the default console client to be the JS context inspector.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::setConsoleClient):
(JSC::JSGlobalObject::consoleClient):
Ability to change the console client, so WebCore can set a custom client.

  • runtime/ConsolePrototype.cpp: Added.

(JSC::ConsolePrototype::finishCreation):
(JSC::valueToStringWithUndefinedOrNullCheck):
(JSC::consoleLogWithLevel):
(JSC::consoleProtoFuncDebug):
(JSC::consoleProtoFuncError):
(JSC::consoleProtoFuncLog):
(JSC::consoleProtoFuncWarn):
(JSC::consoleProtoFuncClear):
(JSC::consoleProtoFuncDir):
(JSC::consoleProtoFuncDirXML):
(JSC::consoleProtoFuncTable):
(JSC::consoleProtoFuncTrace):
(JSC::consoleProtoFuncAssert):
(JSC::consoleProtoFuncCount):
(JSC::consoleProtoFuncProfile):
(JSC::consoleProtoFuncProfileEnd):
(JSC::consoleProtoFuncTime):
(JSC::consoleProtoFuncTimeEnd):
(JSC::consoleProtoFuncTimeStamp):
(JSC::consoleProtoFuncGroup):
(JSC::consoleProtoFuncGroupCollapsed):
(JSC::consoleProtoFuncGroupEnd):

  • runtime/ConsolePrototype.h: Added.

(JSC::ConsolePrototype::create):
(JSC::ConsolePrototype::createStructure):
(JSC::ConsolePrototype::ConsolePrototype):
Define the console object interface. Parse out required / expected
arguments and throw expcetions when methods are misused.

  • runtime/JSConsole.cpp: Added.
  • runtime/JSConsole.h: Added.

(JSC::JSConsole::createStructure):
(JSC::JSConsole::create):
(JSC::JSConsole::JSConsole):
Empty "console" object. Everything is in the prototype.

  • inspector/JSConsoleClient.cpp: Added.

(Inspector::JSConsoleClient::JSGlobalObjectConsole):
(Inspector::JSConsoleClient::count):
(Inspector::JSConsoleClient::profile):
(Inspector::JSConsoleClient::profileEnd):
(Inspector::JSConsoleClient::time):
(Inspector::JSConsoleClient::timeEnd):
(Inspector::JSConsoleClient::timeStamp):
(Inspector::JSConsoleClient::warnUnimplemented):
(Inspector::JSConsoleClient::internalAddMessage):

  • inspector/JSConsoleClient.h: Added.
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::consoleClient):

  • inspector/JSGlobalObjectInspectorController.h:

Default JSContext ConsoleClient implementation. Handle nearly
everything exception profile/profileEnd and timeStamp.

Source/WebCore:

Covered by existing tests.

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • ForwardingHeaders/runtime/ConsoleClient.h: Added.
  • ForwardingHeaders/runtime/ConsoleTypes.h: Renamed from Source/WebCore/ForwardingHeaders/inspector/ConsoleTypes.h.
  • GNUmakefile.list.am:
  • PlatformGTK.cmake:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/gobject/GNUmakefile.am:

Update build systems.

  • page/Console.cpp: Removed.
  • page/Console.h: Removed.
  • page/Console.idl: Removed.
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::resetDOMWindowProperties):

  • page/DOMWindow.h:

(WebCore::DOMWindow::defaultStatus):

  • page/DOMWindow.idl:

Removed the old IDL generated Console object on window.

  • page/PageConsole.cpp:

(WebCore::PageConsole::shouldPrintExceptions):
(WebCore::PageConsole::setShouldPrintExceptions):
(WebCore::PageConsole::mute):
(WebCore::PageConsole::unmute):
(WebCore::PageConsole::messageWithTypeAndLevel):
(WebCore::PageConsole::count):
(WebCore::PageConsole::profile):
(WebCore::PageConsole::profileEnd):
(WebCore::PageConsole::time):
(WebCore::PageConsole::timeEnd):
(WebCore::PageConsole::timeStamp):
(WebCore::PageConsole::group):
(WebCore::PageConsole::groupCollapsed):
(WebCore::PageConsole::groupEnd):
(WebCore::PageConsole::clearProfiles):

  • page/PageConsole.h:

Move the handling of Console object into PageConsole.

  • bindings/js/ScriptCachedFrameData.cpp:

(WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
(WebCore::ScriptCachedFrameData::restore):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::clearWindowShell):
(WebCore::ScriptController::initScript):
Set the PageConsole as the ConsoleClient of the JSGlobalObject
so that WebCore may handle console messages directly. For instance
it may pass messages on to the ChromeClient.

  • testing/Internals.cpp:

(WebCore::Internals::consoleProfiles):
To access profiles, go through PageConsole now instead of Console.

  • bindings/js/JSDOMWindowBase.cpp:
  • bindings/objc/WebScriptObject.mm:
  • css/MediaList.cpp:
  • dom/ScriptExecutionContext.h:
  • dom/UIEvent.cpp:
  • dom/ViewportArguments.cpp:
  • html/parser/XSSAuditorDelegate.cpp:
  • inspector/CommandLineAPIHost.h:
  • inspector/InspectorInstrumentation.cpp:
  • inspector/InspectorInstrumentation.h:
  • inspector/InspectorProfilerAgent.cpp:
  • inspector/WebConsoleAgent.cpp:
  • loader/FrameLoader.cpp:
  • loader/MixedContentChecker.cpp:
  • loader/appcache/ApplicationCacheGroup.cpp:
  • loader/cache/CachedResourceLoader.cpp:
  • page/ChromeClient.h:
  • page/ContentSecurityPolicy.cpp:
  • page/Page.cpp:
  • page/Page.h:
  • svg/SVGDocumentExtensions.cpp:
  • workers/WorkerMessagingProxy.cpp:
  • workers/WorkerReportingProxy.h:

Update includes.

Source/WebKit/gtk:

  • WebCoreSupport/ChromeClientGtk.cpp:

(WebKit::ChromeClient::addMessageToConsole):
Update namespaces.

Source/WebKit/mac:

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

Update namespaces.

Source/WebKit/win:

  • WebCoreSupport/WebChromeClient.h:

Update namespaces.

Source/WebKit/wince:

  • WebCoreSupport/ChromeClientWinCE.h:

Update namespaces.

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebChromeClient.h:

Update namespaces.

LayoutTests:

  • http/tests/security/cross-frame-access-getOwnPropertyDescriptor-expected.txt:
11:06 AM Changeset in webkit [165198] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the !ENABLE(CSS_STICKY_POSITION) build
https://bugs.webkit.org/show_bug.cgi?id=129793

Patch by Zsolt Borbely <borbezs@inf.u-szeged.hu> on 2014-03-06
Reviewed by Simon Fraser.

Add missing ENABLE(CSS_STICKY_POSITION) guard to EditingStyle::convertPositionStyle().

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::convertPositionStyle):

10:47 AM Changeset in webkit [165197] by akling@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Drop unlinked function code on memory pressure.
<https://webkit.org/b/129789>

Make VM::discardAllCode() also drop UnlinkedFunctionCodeBlocks that
are not currently being compiled.

4.5 MB progression on Membuster.

Reviewed by Geoffrey Garen.

  • heap/Heap.cpp:

(JSC::Heap::deleteAllUnlinkedFunctionCode):

  • heap/Heap.h:
  • runtime/VM.cpp:

(JSC::VM::discardAllCode):

10:33 AM Changeset in webkit [165196] by fpizlo@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Clarify how we deal with "special" registers
https://bugs.webkit.org/show_bug.cgi?id=129806

Reviewed by Michael Saboff.

Previously we had two different places that defined what "stack" registers are, a thing
called "specialRegisters" that had unclear meaning, and a really weird "firstRealRegister"/
"secondRealRegister"/"nextRegister" idiom in MacroAssembler that appeared to only be used by
one place and had a baked-in notion of what it meant for a register to be "real" or not.

It's not cool to use words like "real" and "special" to describe registers, especially if you
fail to qualify what that means. This originally made sense on X86 - "real" registers were
the ones that weren't "stack related" (so "real" was the opposite of "stack"). But on ARM64,
you also have to worry about the LR register, which we'd want to say is "not real" but it's
also not a "stack" register. This got super confusing.

So, this patch removes any mention of "real" registers, consolidates the knowledge of what is
a "stack" register, and uses the word special only in places where it's clearly defined and
where no better word comes to mind.

This cleans up the code and fixes what seems like it was probably a harmless ARM64 bug: the
Reg and RegisterSet data structures would sometimes think that FP was Q0. Somehow this
magically didn't break anything because you never need to save/restore either FP or Q0, but
it was still super weird.

  • assembler/ARM64Assembler.h:

(JSC::ARM64Assembler::lastRegister):

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::nextRegister):

  • ftl/FTLLocation.cpp:

(JSC::FTL::Location::restoreInto):

  • ftl/FTLSaveRestore.cpp:

(JSC::FTL::saveAllRegisters):
(JSC::FTL::restoreAllRegisters):

  • ftl/FTLSlowPathCall.cpp:
  • jit/RegisterSet.cpp:

(JSC::RegisterSet::reservedHardwareRegisters):
(JSC::RegisterSet::runtimeRegisters):
(JSC::RegisterSet::specialRegisters):
(JSC::RegisterSet::calleeSaveRegisters):

  • jit/RegisterSet.h:
10:05 AM Changeset in webkit [165195] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Mac] Leak: dispatch_semaphore leak allocated in MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange
https://bugs.webkit.org/show_bug.cgi?id=129792

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-03-06
Reviewed by Anders Carlsson.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::~MediaPlayerPrivateAVFoundationObjC):

9:37 AM Changeset in webkit [165194] by b.long@cablelabs.com
  • 5 edits in trunk

Implement VideoTrackList.selectedIndex
https://bugs.webkit.org/show_bug.cgi?id=129770

Reviewed by Eric Carlson.

Source/WebCore:

Tests: media/track/video/video-track-mkv-theora-selected.html

  • html/track/VideoTrackList.idl:

LayoutTests:

  • media/track/video/video-track-mkv-theora-selected-expected.txt:
  • media/track/video/video-track-mkv-theora-selected.html:
8:45 AM Changeset in webkit [165193] by zandobersek@gmail.com
  • 2 edits in trunk

[GTK][Autotools] Default to libc++ when compiling with Clang
https://bugs.webkit.org/show_bug.cgi?id=129798

Reviewed by Anders Carlsson.

  • Source/autotools/SetupCompilerFlags.m4: Default to using libc++ when compiling with the Clang

compiler. This is still overridable if -stdlib=* flag was set through CXXFLAGS, in case people
would for some reason still prefer libstdc++ (i.e. on setups where a functional libc++ is not yet available).

8:13 AM Changeset in webkit [165192] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK][CMake] Fix the GTK+ CMake build
https://bugs.webkit.org/show_bug.cgi?id=129801

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-03-06
Reviewed by Martin Robinson.

Include missing files for CMake build

  • CMakeLists.txt: Add a missing references to DOMURLMediaStream
7:55 AM Changeset in webkit [165191] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, fix build.

  • disassembler/ARM64Disassembler.cpp:
7:42 AM Changeset in webkit [165190] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Subpixel rendering: Setting content to opaque on m_graphicsLayer depends on subpixel accumulation.
https://bugs.webkit.org/show_bug.cgi?id=129776

Reviewed by Simon Fraser.

isEmpty() returns true when any of the dimensions is <= 0. Subpixel accumulation could happen
in one direction only. Use isZero() instead().

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

7:01 AM Changeset in webkit [165189] by ChangSeok Oh
  • 2 edits in trunk/Tools

make-3.82 fails to build on ARM/Linux
https://bugs.webkit.org/show_bug.cgi?id=107926

Reviewed by Martin Robinson.

Some ARM/Linux systems don't support PAGE_SIZE macro so that it causes a build failure.
The related bug reporting is here. https://lists.debian.org/debian-kernel/2014/02/msg00274.html
To avoid this, I propose to use sysconf(_SC_PAGESIZE) instead of PAGE_SIZE
where it is not defined. See more details, http://linux.die.net/man/2/getpagesize

  • gtk/patches/make-3.82-arg-list-length.patch:
6:20 AM Changeset in webkit [165188] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

6:16 AM Changeset in webkit [165187] by Lucas Forschler
  • 1 copy in tags/Safari-538.21

New Tag.

6:00 AM Changeset in webkit [165186] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.4/Source/WebCore

Merge r164995 - Optimize StylePropertiesSet::findPropertyIndex() to improve CSS properties performance
https://bugs.webkit.org/show_bug.cgi?id=129605

Patch by Lorenzo Tilve <ltilve@igalia.com> on 2014-03-03
Reviewed by Andreas Kling.

Merged from Blink (patch by Mikhail Pozdnyakov):
https://src.chromium.org/viewvc/blink?view=revision&revision=167325

Avoid checking whether 'StylePropertiesSet' is mutable and accesing directly to its
data members to achieve performance improvements

Before the optimization applied:

mean: 3064.8337171934063 runs/s
median: 3097.5899379343855 runs/s
stdev: 66.89274074044187 runs/s
min: 2891.7479324362585 runs/s
max: 3113.288683440125 runs/s

After the optimization applied:

mean: 3343.8356114138105 runs/s
median: 3356.25682957446 runs/s
stdev: 36.297533087489036 runs/s
min: 3238.5468032264243 runs/s
max: 3368.664837531425 runs/s

Performance gain for the average value is approx. 9.1%, in the
range of the 10% - 8.2% for the min and max measured
values (Linux desktop x64).

  • css/StyleProperties.cpp:

(WebCore::ImmutableStyleProperties::findPropertyIndex):
(WebCore::MutableStyleProperties::findPropertyIndex):

  • css/StyleProperties.h:

(WebCore::toMutableStyleProperties):
(WebCore::toImmutableStyleProperties):
(WebCore::StyleProperties::findPropertyIndex):

5:28 AM Changeset in webkit [165185] by commit-queue@webkit.org
  • 22 edits in trunk

REGRESSION (r158254): Rubber-banding at Bing image search causes the toolbar to move up and away
https://bugs.webkit.org/show_bug.cgi?id=128873

Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2014-03-06
Reviewed by Antonio Gomes.

Source/WebCore:

This regression is caused by http://trac.webkit.org/changeset/154614
and http://trac.webkit.org/changeset/156605. So reverting the changes
to make it Web compatible as earlier.

  • dom/Element.cpp:

(WebCore::Element::scrollLeft):
(WebCore::Element::scrollTop):
(WebCore::Element::setScrollLeft):
(WebCore::Element::setScrollTop):
Reverting changes as it caused regression.

LayoutTests:

  • fast/css/zoom-body-scroll-expected.txt:
  • fast/css/zoom-body-scroll.html:
  • fast/dom/Element/documentElement-scrollLeft-expected.txt:
  • fast/dom/Element/documentElement-scrollLeft.html:
  • fast/dom/Element/documentElement-scrollTop-expected.txt:
  • fast/dom/Element/documentElement-scrollTop.html:
  • fast/dom/Element/scrollLeft-expected.txt:
  • fast/dom/Element/scrollLeft.html:
  • fast/dom/Element/scrollTop-expected.txt:
  • fast/dom/Element/scrollTop.html:
  • fast/events/mouse-cursor.html:
  • fast/multicol/scrolling-overflow.html:
  • http/tests/navigation/anchor-frames-expected.txt:
  • http/tests/navigation/anchor-frames-gbk-expected.txt:
  • http/tests/navigation/resources/frame-with-anchor-gbk.html:
  • http/tests/navigation/resources/frame-with-anchor-same-origin.html:
  • http/tests/navigation/resources/frame-with-anchor.html:
  • platform/mac-wk2/tiled-drawing/resources/scroll-and-load-page.html:
  • platform/mac-wk2/tiled-drawing/tiled-drawing-scroll-position-page-cache-restoration.html:

Reverting changes as it caused regression.

4:16 AM Changeset in webkit [165184] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

Merge r165182 - [GTK] Close the page when the view is disposed instead of when finalized
https://bugs.webkit.org/show_bug.cgi?id=129783

Reviewed by Sergio Villar Senin.

Source/WebKit2:

When a GtkWidget is destroyed, the GObject is disposed, but not
finalized if it has additional references. When the destroyed
widget is leaked by the application, we leak the page proxy and
what is more important the web process in multi-process mode.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseDispose): Close the WebPageProxy.

Tools:

Add test case but disabled for now because it's affetected by bug #129684.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:

(testProcessPerWebView):

4:14 AM Changeset in webkit [165183] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.4/Tools

Merge r165181 - [GTK] MiniBrowser crashes when opening several urls passed as command line options
https://bugs.webkit.org/show_bug.cgi?id=129738

Reviewed by Sergio Villar Senin.

The problem is that we are calling g_object_unref() for the
WebKitWebSettings everytime we set it to a WebKitWebView, but the
view only increases the reference counter when the settings is not
the same it currently has. We should release our reference once.

  • MiniBrowser/gtk/main.c:

(createBrowserWindow):
(main):

4:12 AM Changeset in webkit [165182] by Carlos Garcia Campos
  • 4 edits in trunk

[GTK] Close the page when the view is disposed instead of when finalized
https://bugs.webkit.org/show_bug.cgi?id=129783

Reviewed by Sergio Villar Senin.

Source/WebKit2:

When a GtkWidget is destroyed, the GObject is disposed, but not
finalized if it has additional references. When the destroyed
widget is leaked by the application, we leak the page proxy and
what is more important the web process in multi-process mode.

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseDispose): Close the WebPageProxy.

Tools:

Add test case but disabled for now because it's affetected by bug #129684.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:

(testProcessPerWebView):

4:06 AM Changeset in webkit [165181] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] MiniBrowser crashes when opening several urls passed as command line options
https://bugs.webkit.org/show_bug.cgi?id=129738

Reviewed by Sergio Villar Senin.

The problem is that we are calling g_object_unref() for the
WebKitWebSettings everytime we set it to a WebKitWebView, but the
view only increases the reference counter when the settings is not
the same it currently has. We should release our reference once.

  • MiniBrowser/gtk/main.c:

(createBrowserWindow):
(main):

1:17 AM Changeset in webkit [165180] by fpizlo@apple.com
  • 4 edits in trunk/Source

Use the LLVM disassembler on ARM64 if we are enabling the FTL
https://bugs.webkit.org/show_bug.cgi?id=129785

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

Our disassembler can't handle some of the code sequences that LLVM emits. LLVM's disassembler
is strictly more capable at this point. Use it if it's available.

  • disassembler/ARM64Disassembler.cpp:

(JSC::tryToDisassemble):

Source/WTF:

Reviewed by Geoffrey Garen.

  • wtf/Platform.h:
1:14 AM Changeset in webkit [165179] by zandobersek@gmail.com
  • 40 edits in trunk/Source/WebCore

Move Source/WebCore/html/canvas/ code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=129668

Reviewed by Anders Carlsson.

Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/html/canvas/ to std::unique_ptr.

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::~HTMLCanvasElement):
(WebCore::HTMLCanvasElement::getContext):

  • html/HTMLCanvasElement.h:
  • html/canvas/ANGLEInstancedArrays.cpp:
  • html/canvas/ANGLEInstancedArrays.h:
  • html/canvas/CanvasRenderingContext2D.h:
  • html/canvas/EXTTextureFilterAnisotropic.cpp:
  • html/canvas/EXTTextureFilterAnisotropic.h:
  • html/canvas/OESElementIndexUint.cpp:
  • html/canvas/OESElementIndexUint.h:
  • html/canvas/OESStandardDerivatives.cpp:
  • html/canvas/OESStandardDerivatives.h:
  • html/canvas/OESTextureFloat.cpp:
  • html/canvas/OESTextureFloat.h:
  • html/canvas/OESTextureFloatLinear.cpp:
  • html/canvas/OESTextureFloatLinear.h:
  • html/canvas/OESTextureHalfFloat.cpp:
  • html/canvas/OESTextureHalfFloat.h:
  • html/canvas/OESTextureHalfFloatLinear.cpp:
  • html/canvas/OESTextureHalfFloatLinear.h:
  • html/canvas/OESVertexArrayObject.cpp:
  • html/canvas/OESVertexArrayObject.h:
  • html/canvas/WebGLCompressedTextureATC.cpp:
  • html/canvas/WebGLCompressedTextureATC.h:
  • html/canvas/WebGLCompressedTexturePVRTC.cpp:
  • html/canvas/WebGLCompressedTexturePVRTC.h:
  • html/canvas/WebGLCompressedTextureS3TC.cpp:
  • html/canvas/WebGLCompressedTextureS3TC.h:
  • html/canvas/WebGLDebugRendererInfo.cpp:
  • html/canvas/WebGLDebugRendererInfo.h:
  • html/canvas/WebGLDebugShaders.cpp:
  • html/canvas/WebGLDebugShaders.h:
  • html/canvas/WebGLDepthTexture.cpp:
  • html/canvas/WebGLDepthTexture.h:
  • html/canvas/WebGLDrawBuffers.cpp:
  • html/canvas/WebGLDrawBuffers.h:
  • html/canvas/WebGLLoseContext.cpp:
  • html/canvas/WebGLLoseContext.h:
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::create):
(WebCore::WebGLRenderingContext::getExtension):

  • html/canvas/WebGLRenderingContext.h:
1:04 AM Changeset in webkit [165178] by zandobersek@gmail.com
  • 6 edits in trunk/Source/WebCore

Move Source/WebCore/editing/ code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=129665

Reviewed by Anders Carlsson.

Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/editing/ with std::unique_ptr.

  • editing/EditingStyle.cpp:

(WebCore::htmlElementEquivalents):
(WebCore::EditingStyle::conflictsWithImplicitStyleOfElement):
(WebCore::htmlAttributeEquivalents):
(WebCore::EditingStyle::conflictsWithImplicitStyleOfAttributes):
(WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes):
(WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
(WebCore::EditingStyle::mergeInlineAndImplicitStyleOfElement):

  • editing/Editor.cpp:

(WebCore::Editor::Editor):
(WebCore::Editor::clear):

  • editing/Editor.h:
  • page/Frame.cpp:

(WebCore::Frame::Frame):

  • page/Frame.h:
1:02 AM Changeset in webkit [165177] by zandobersek@gmail.com
  • 6 edits in trunk/Source/WebCore

Move to using std::unique_ptr for KeyboardEvent, ScriptExecutionContext::PendingException
https://bugs.webkit.org/show_bug.cgi?id=129061

Reviewed by Eric Carlson.

Replace uses of OwnPtr and PassOwnPtr for KeyboardEvent and ScriptExecutionContext::PendingException
classes with std::unique_ptr. ScriptExecutionContext::Task objects are still handled through OwnPtr,
but this will be addressed later.

  • dom/KeyboardEvent.cpp:

(WebCore::KeyboardEvent::KeyboardEvent):

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

(WebCore::ScriptExecutionContext::reportException):

  • dom/ScriptExecutionContext.h:
  • dom/ScriptRunner.h: Remove an unnecessary PassOwnPtr header inclusion.
12:55 AM Changeset in webkit [165176] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r165175.
http://trac.webkit.org/changeset/165175
https://bugs.webkit.org/show_bug.cgi?id=129788

Linking failures on GTK, EFL due to missing gstreamer-tag-1.0
dependency (Requested by zdobersek on #webkit).

  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:

(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged):

12:02 AM Changeset in webkit [165175] by b.long@cablelabs.com
  • 2 edits in trunk/Source/WebCore

[GStreamer] human readable language code for tracks
https://bugs.webkit.org/show_bug.cgi?id=124514

Reviewed by Philippe Normand.

  • platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:

(WebCore::TrackPrivateBaseGStreamer::notifyTrackOfTagsChanged): Run language codes though gst_tag_get_language_code_iso_639_1() to make sure they're valid.

Note: See TracTimeline for information about the timeline view.