Timeline



Apr 22, 2013:

11:51 PM Changeset in webkit [148945] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] Assertion Failures in Coordinated Graphics after r148433
https://bugs.webkit.org/show_bug.cgi?id=114731

Patch by Noam Rosenthal <Noam Rosenthal> on 2013-04-22
Reviewed by Gyuyoung Kim.

The assert is incorrect. In some cases in coordinated graphics we may have a backing store
and drawsContent would be set to false.

No new tests.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::paintSelf):

11:36 PM Changeset in webkit [148944] by commit-queue@webkit.org
  • 29 edits
    2 adds in trunk

table's text aligned on top instead of center because of rowspan
https://bugs.webkit.org/show_bug.cgi?id=18092

Patch by Suchit Agrawal <a.suchit@samsung.com> on 2013-04-22
Reviewed by Beth Dakin.

Source/WebCore:

Last row in the rowspan is not getting the height of rowspan cell because there is not
enough rows present below rowspan cell and we are strictly applying height of rowspan
to the row which should lay last in the rowspan based of rowspan value.

When row contains rowspan cell and it is last row of the table then
rowspan height is adding to last row of the table.

Test: fast/table/Rowspan-value-more-than-number-of-rows-present.html

It calculates logical height of the rows in the table.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::calcRowLogicalHeight):

LayoutTests:

Added test cases, based on rowspan issue.

  • fast/table/Rowspan-value-more-than-number-of-rows-present-expected.txt: Added.
  • fast/table/Rowspan-value-more-than-number-of-rows-present.html: Added.

Test cases need to do rebaseline in efl, gtk and mac platforms.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:

Test case results are updated in qt platform.

  • platform/qt/fast/table/giantRowspan-expected.png:
  • platform/qt/fast/table/giantRowspan-expected.txt:
  • platform/qt/fast/table/giantRowspan2-expected.png:
  • platform/qt/fast/table/giantRowspan2-expected.txt:
  • platform/qt/tables/mozilla/bugs/bug133756-1-expected.png:
  • platform/qt/tables/mozilla/bugs/bug133756-1-expected.txt:
  • platform/qt/tables/mozilla/bugs/bug133756-2-expected.png:
  • platform/qt/tables/mozilla/bugs/bug133756-2-expected.txt:
  • platform/qt/tables/mozilla/bugs/bug220536-expected.png:
  • platform/qt/tables/mozilla/bugs/bug220536-expected.txt:
  • platform/qt/tables/mozilla/bugs/bug8858-expected.txt:
  • platform/qt/tables/mozilla/core/bloomberg-expected.png:
  • platform/qt/tables/mozilla/core/bloomberg-expected.txt:
  • platform/qt/tables/mozilla/core/row_span-expected.png:
  • platform/qt/tables/mozilla/core/row_span-expected.txt:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug131020-3-expected.txt:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug23847-expected.png:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug65372-expected.png:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug65372-expected.txt:
  • tables/mozilla/core/bloomberg-expected.txt:
  • tables/mozilla/core/row_span-expected.txt:
  • tables/mozilla_expected_failures/bugs/bug131020-3-expected.txt:
  • tables/mozilla_expected_failures/bugs/bug23847-expected.txt:
9:52 PM Changeset in webkit [148943] by mihnea@adobe.com
  • 4 edits
    4 adds in trunk

[CSS Regions] Region's float parent doesn't size according to region size but to content node size
https://bugs.webkit.org/show_bug.cgi?id=111332

Reviewed by David Hyatt.

Source/WebCore:

Tests: fast/regions/intrinsic-sized-regions.html

fast/regions/region-with-float-parent.html

The patch ensures that the computation of region's preferred widths
takes into account the region width/min-width if these values are specified.
Also implemented the computation of intrinsic widths for a region,
based on the min/max preferred widths of the associated flow thread.

  • rendering/RenderRegion.cpp:

(WebCore::RenderRegion::computeIntrinsicLogicalWidths):
(WebCore):
(WebCore::RenderRegion::computePreferredLogicalWidths):

  • rendering/RenderRegion.h:

(RenderRegion):

LayoutTests:

Added tests for intrinsic and preferred width computation for region.

  • fast/regions/intrinsic-sized-regions-expected.txt: Added.
  • fast/regions/intrinsic-sized-regions.html: Added.
  • fast/regions/region-with-float-parent-expected.txt: Added.
  • fast/regions/region-with-float-parent.html: Added.
9:47 PM Changeset in webkit [148942] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Fix a typo in MacroAssemblerARMv7.h.
https://bugs.webkit.org/show_bug.cgi?id=115011.

Reviewed by Geoffrey Garen.

  • assembler/ARMAssembler.h: Fix a comment.
  • assembler/ARMv7Assembler.h: Added some comments.
  • assembler/MacroAssemblerARMv7.h:
    • ARMAssembler::PL should be ARMv7Assembler::ConditionPL.
8:32 PM Changeset in webkit [148941] by Patrick Gansterer
  • 3 edits in trunk/Source/WTF

[CMake] Move NullPtr.cpp from PlatformWinCE.cmake to CMakeLists.txt
https://bugs.webkit.org/show_bug.cgi?id=114557

Reviewed by Laszlo Gombos.

This file is not specific to Windwos CE. Move it the the general
CMakeLists.txt so other ports can use it to. It does not affect
ports which do not need it, since it contains a preprocessor guard.

  • wtf/CMakeLists.txt:
  • wtf/PlatformWinCE.cmake:
7:33 PM Changeset in webkit [148940] by jberlin@webkit.org
  • 4 edits in trunk/Source/WebKit

Speculative Windows build fix.

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/win:

  • WebKit.vcproj/WebKitExports.def.in:
7:03 PM Changeset in webkit [148939] by jberlin@webkit.org
  • 7 edits in trunk/LayoutTests

Remove references to the inspector/profiler/memory-instrumentation tests removed in r148921

Rubber-stamped by Benjamin Poulain.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
6:10 PM Changeset in webkit [148938] by weinig@apple.com
  • 5 edits in trunk/Source/WebKit2

Need WebKit SPI to detect whether a page contains form controls
<rdar://problem/13686661>
https://bugs.webkit.org/show_bug.cgi?id=115003

Reviewed by Beth Dakin.

  • WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:

(WKBundleFrameContainsAnyFormControls):

  • WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::containsAnyFormControls):

  • WebProcess/WebPage/WebFrame.h:
5:43 PM Changeset in webkit [148937] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] REGRESSION (r142806): "Just Leaking" Console errors on launch
https://bugs.webkit.org/show_bug.cgi?id=115002
<rdar://problem/13254212>

Reviewed by Sam Weinig.

  • Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm: (WebKit::BootstrapMain): Added an autorelease pool for code that uses Objective-C.
5:16 PM Changeset in webkit [148936] by fpizlo@apple.com
  • 7 edits in branches/dfgFourthTier/Source/JavaScriptCore

fourthTier: Create an equivalent of Structure::get() that can work from a compilation thread
https://bugs.webkit.org/show_bug.cgi?id=114987

Reviewed by Geoffrey Garen.

This completes the work started by r148570. That patch made it possible to do
Structure::get() without modifying Structure. This patch takes this further, and
makes this thread-safe (for non-uncacheable-dictionaries) via
Structure::getConcurrently(). This method not only doesn't modify Structure, but
also ensures that any concurrent attempts to add to, remove from, or steal the
table from that structure doesn't mess up the result of the call. The call may
return invalidOffset even if a property is *just* about to be added, but it will
never do the reverse: if it returns a property then you can be sure that the
structure really does have that property and always will have it.

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForChain):
(JSC::GetByIdStatus::computeFor):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFromLLInt):
(JSC::PutByIdStatus::computeFor):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::isStringPrototypeMethodSane):

  • runtime/PropertyMapHashTable.h:

(PropertyTable):
(JSC::PropertyTable::findConcurrently):
(JSC):
(JSC::PropertyTable::add):
(JSC::PropertyTable::remove):
(JSC::PropertyTable::reinsert):
(JSC::PropertyTable::rehash):

  • runtime/PropertyTable.cpp:

(JSC::PropertyTable::PropertyTable):

  • runtime/Structure.cpp:

(JSC::Structure::findStructuresAndMapForMaterialization):
(JSC::Structure::getConcurrently):

  • runtime/Structure.h:

(Structure):

  • runtime/StructureInlines.h:

(JSC::Structure::getConcurrently):

5:16 PM Changeset in webkit [148935] by mrobinson@webkit.org
  • 3 edits in trunk/Source/WebKit/gtk

Try to fix the build after enabling gobject-introspection

  • GNUmakefile.am: Disable --warn-error for WebKit1 until we can work out all gir failures.
  • webkit/webkitwebplugin.cpp: Skip this API for introspection because it return a GSList

of pointer (non-boxed) types.

5:10 PM Changeset in webkit [148934] by mrowe@apple.com
  • 2 edits in trunk/Tools

<http://webkit.org/b/114989> Add a user default to allow use of the Safari binary rather than SafariForWebKitDevelopment

Reviewed by Anders Carlsson.

  • Scripts/webkitdirs.pm:

(skipSafariExecutableEntitlementChecks): Look for the SkipSafariExecutableEntitlementChecks default in the
/Library/Preferences/org.webkit.BuildConfiguration preference domain.
(safariPathFromSafariBundle): If the user default is set asking us to skip the entitlement checks, return
the path to the regular Safari binary.

4:50 PM Changeset in webkit [148933] by jberlin@webkit.org
  • 4 edits in trunk/Source/WebCore

Debug build fix.

Rubber-stamped by Ryosuke Niwa.

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorMemoryAgent.cpp:

(WebCore::InspectorMemoryAgent::InspectorMemoryAgent):

  • inspector/InspectorMemoryAgent.h:

(WebCore):
(WebCore::InspectorMemoryAgent::create):
(InspectorMemoryAgent):

4:42 PM Changeset in webkit [148932] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Address review feedback I forgot to address in r148929
https://bugs.webkit.org/show_bug.cgi?id=114480

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::willSendRequest): Rework the "what" comment into a more useful "why" comment.

4:40 PM Changeset in webkit [148931] by ryuan.choi@samsung.com
  • 2 edits in trunk/Tools

Unreviewed Efl build fix after r148921

  • TestWebKitAPI/CMakeLists.txt:
4:34 PM Changeset in webkit [148930] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Second Mac debug build fix after r148921

Unreviewed.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-04-22

  • inspector/InspectorMemoryAgent.cpp:

(WebCore::InspectorMemoryAgent::InspectorMemoryAgent):

  • inspector/InspectorMemoryAgent.h:

(InspectorMemoryAgent):

4:28 PM Changeset in webkit [148929] by beidson@apple.com
  • 5 edits
    14 adds in trunk

REGRESSION (r141136): Wiki "Random article" function very broken.
<rdar://problem/13229985> and https://bugs.webkit.org/show_bug.cgi?id=114480

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: http/tests/navigation/redirect-to-random-url-versus-memory-cache.html

If we are performing a conditional GET to revalidate a resource and there's a redirect,
check to see if the redirect is to a different URL than the final URL of the resource.

If the URLs differ then we should make the redirect-request unconditional and do a normal load.

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::willSendRequest):

  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::makeUnconditional):

  • platform/network/ResourceRequestBase.h:

(ResourceRequestBase):

LayoutTests:

  • http/tests/navigation/redirect-to-random-url-versus-memory-cache-expected.txt: Added.
  • http/tests/navigation/redirect-to-random-url-versus-memory-cache.html: Added.
  • http/tests/navigation/resources/randomredirects/0.php: Added.
  • http/tests/navigation/resources/randomredirects/1.php: Added.
  • http/tests/navigation/resources/randomredirects/2.php: Added.
  • http/tests/navigation/resources/randomredirects/3.php: Added.
  • http/tests/navigation/resources/randomredirects/4.php: Added.
  • http/tests/navigation/resources/randomredirects/5.php: Added.
  • http/tests/navigation/resources/randomredirects/6.php: Added.
  • http/tests/navigation/resources/randomredirects/7.php: Added.
  • http/tests/navigation/resources/randomredirects/8.php: Added.
  • http/tests/navigation/resources/randomredirects/9.php: Added.
  • http/tests/navigation/resources/randomredirects/randomredirect.php: Added.
4:27 PM Changeset in webkit [148928] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit/win

Another Windows build fix after r148921

Unreviewed.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-04-22

  • AccessibleBase.cpp: Add missing header include.
4:26 PM Changeset in webkit [148927] by Lucas Forschler
  • 2 edits in branches/safari-536.30-branch/LayoutTests

Skip svg/custom/mask-invalidation.svg on Mac
<rdar://problem/13711076>

Patch by David Farler <dfarler@apple.com> on 2013-04-22

  • platform/mac/Skipped:

Skip svg/custom/mask-invalidation.svg

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

Add branchAdd32 missing implementation in SH4 base JIT.
This should fix SH4 build, broken since r148893.
https://bugs.webkit.org/show_bug.cgi?id=114993.

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-04-22
Reviewed by Oliver Hunt.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::branchAdd32):
(MacroAssemblerSH4):

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

Mac debug build fix after r148921

Unreviewed.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-04-22

  • page/animation/CompositeAnimation.cpp:
4:08 PM Changeset in webkit [148924] by benjamin@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

Windows build fix after r148921

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-04-22

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreExports.def:
  • JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in:
4:06 PM Changeset in webkit [148923] by mrobinson@webkit.org
  • 3 edits
    3 adds in trunk

[Cairo] Canvas-shadow behavior is not being as expected
https://bugs.webkit.org/show_bug.cgi?id=108897

Patch by Rashmi Shyamasundar <rashmi.s2@samsung.com> on 2013-04-22
Reviewed by Martin Robinson.

Source/WebCore:

Use the pattern-extend-mode "CAIRO_EXTEND_NONE" instead of "CAIRO_EXTEND_PAD" in
PlatformContextCairo::drawSurfaceToContext().

In the function PlatformContextCairo::drawSurfaceToContext(), a pattern is being
created from the source surface and this pattern is drawn onto the destination
context. There is no gradient involved. Hence the extend mode for filling the
pattern should be "CAIRO_EXTEND_NONE". If we use the extend mode
"CAIRO_EXTEND_PAD" in PlatformContextCairo::drawSurfaceToContext(), the original
image area is also filled with the shadow color which is not the expected behavior.

Test: fast/canvas/canvas-image-shadow.html

  • platform/graphics/cairo/PlatformContextCairo.cpp:

(WebCore::PlatformContextCairo::drawSurfaceToContext):

LayoutTests:

Test to verify the shadow of an image drawn on canvas.
This test uses an image whose size is smaller than,
the size of the rectangle which should be filled with the image.

  • fast/canvas/canvas-image-shadow-expected.txt: Added.
  • fast/canvas/canvas-image-shadow.html: Added.
  • fast/canvas/green.png: Added.
  • fast/canvas/script-tests/canvas-image-shadow.js: Added.

(draw):

3:56 PM Changeset in webkit [148922] by andersca@apple.com
  • 11 edits in trunk/Source/WebKit2

Web process should decide when to continue main resource loads
https://bugs.webkit.org/show_bug.cgi?id=114995

Reviewed by Sam Weinig.

Main resource loads can be converted to downloads, so we need the ability to let the web process decide when
to continue loading after a response has been received.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponseAsync):
For non-main resources, just call continueDidReceiveResponse directly; there's no need to ping-pong to the web process in that case.

(WebKit::NetworkResourceLoader::continueDidReceiveResponse):
Just call ResourceHandle::continueDidReceiveResponse.

  • NetworkProcess/NetworkResourceLoader.messages.in:

Add ContinueDidReceiveResponse message.

  • NetworkProcess/SchedulableLoader.cpp:

(WebKit::SchedulableLoader::SchedulableLoader):
Initialize m_isLoadingMainResource.

  • NetworkProcess/SchedulableLoader.h:

(WebKit::SchedulableLoader::isLoadingMainResource):
Add getter.

(SchedulableLoader):
Move m_shouldClearReferrerOnHTTPSToHTTPRedirect next to the rest of the booleans.

  • Shared/Network/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):

  • Shared/Network/NetworkResourceLoadParameters.h:

(NetworkResourceLoadParameters):
Add isMainResource flag.

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::scheduleSubresourceLoad):
Pass the cached resource to scheduleLoad.

(WebKit::WebResourceLoadScheduler::schedulePluginStreamLoad):
Pass null to scheduleLoad.

(WebKit::WebResourceLoadScheduler::scheduleLoad):
Initialize isMainResource.

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::didReceiveResponseWithCertificateInfo):
If this is a main resource load, send back a ContinueDidReceiveResponse message.

3:52 PM Changeset in webkit [148921] by benjamin@webkit.org
  • 395 edits
    30 deletes in trunk

Remove the memory instrumentation code
https://bugs.webkit.org/show_bug.cgi?id=114931

Reviewed by Andreas Kling.

.:

  • Source/autotools/symbols.filter:

Source/JavaScriptCore:

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreExports.def:
  • JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExports.def.in:

Source/WebCore:

The Memory Instrumentation code is unfinished and has already
become out of sync the objects it is supposed to represent.

The current approach does not seem maintainable, it is better to
remove it before someone gets hurt.

By removing the code, the binary become 1240976 bytes smaller.
Yep, almost 1 Mb, bringing WebCore to the size it has 5 months ago :)

  • MostWebCoreFiles: remove the support for memory instrumentation.

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/mac:

  • WebView/WebRenderLayer.mm:

Source/WebKit/win:

  • WebKit.vcproj/WebKitExports.def.in:

Source/WTF:

On Mac x86_64, the code removal cause the binary to be
9224 bytes smaller.

  • GNUmakefile.list.am:
  • WTF.pro:
  • WTF.vcproj/WTF.vcproj:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/Forward.h:
  • wtf/ListHashSet.h:

(ListHashSet):
(ListHashSetNodeAllocator):
(WTF::ListHashSetNodeAllocator::pool):
(WTF::ListHashSetNodeAllocator::pastPool):

  • wtf/MemoryInstrumentation.cpp: Removed.
  • wtf/MemoryInstrumentation.h: Removed.
  • wtf/MemoryInstrumentationArrayBufferView.h: Removed.
  • wtf/MemoryInstrumentationHashCountedSet.h: Removed.
  • wtf/MemoryInstrumentationHashMap.h: Removed.
  • wtf/MemoryInstrumentationHashSet.h: Removed.
  • wtf/MemoryInstrumentationListHashSet.h: Removed.
  • wtf/MemoryInstrumentationSequence.h: Removed.
  • wtf/MemoryInstrumentationString.h: Removed.
  • wtf/MemoryInstrumentationVector.h: Removed.
  • wtf/MemoryObjectInfo.h: Removed.
  • wtf/text/AtomicString.h:
  • wtf/text/StringImpl.h:

(WTF::StringImpl::isASCIILiteral):

  • wtf/text/WTFString.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WTF/MemoryInstrumentationTest.cpp: Removed.

LayoutTests:

  • inspector/profiler/memory-instrumentation-cached-images-expected.txt: Removed.
  • inspector/profiler/memory-instrumentation-cached-images.html: Removed.
  • inspector/profiler/memory-instrumentation-canvas-expected.txt: Removed.
  • inspector/profiler/memory-instrumentation-canvas.html: Removed.
  • inspector/profiler/memory-instrumentation-external-array-expected.txt: Removed.
  • inspector/profiler/memory-instrumentation-external-array.html: Removed.
  • inspector/profiler/memory-instrumentation-external-string-expected.txt: Removed.
  • inspector/profiler/memory-instrumentation-external-string.html: Removed.
  • inspector/profiler/memory-instrumentation-test.js: Removed.
3:39 PM Changeset in webkit [148920] by betravis@adobe.com
  • 3 edits
    2 adds in trunk

Do not reuse ExclusionShapeInsideInfo in a recursive region layout
https://bugs.webkit.org/show_bug.cgi?id=114467

Reviewed by David Hyatt.

Source/WebCore:

Elements that respect shape-inside that have inline children should not reuse an
ExclusionShapeInsideInfo for their children's layout. This patch adds the test
for regions. See the details for non-region layout in bug 104582.
https://bugs.webkit.org/show_bug.cgi?id=104582

Test: fast/regions/shape-inside/shape-inside-recursive-layout.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutExclusionShapeInsideInfo): Do not look up a region's
ExclusionShapeInsideInfo if a block is already respecting shape-inside.

LayoutTests:

Test that for various types of inline containers do not reuse
ExclusionShapeInsideInfo when laying out their children.

  • fast/regions/shape-inside/shape-inside-recursive-layout-expected.html: Added.
  • fast/regions/shape-inside/shape-inside-recursive-layout.html: Added.
3:36 PM Changeset in webkit [148919] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

Plugin Snapshotting: Don't consume insane amounts of time detecting the primary plugin
https://bugs.webkit.org/show_bug.cgi?id=114994
<rdar://problem/13696269>

Reviewed by Anders Carlsson.

On some pages, we currently waste a lot of time on every subframe load
and every addPluginView doing primary plugin detection. This patch
attempts to address this via a few minor changes:

  • Only allow detection after the main frame's didFinishLoad comes, instead of the first subframe.
  • Only explicitly detect on the main frame's didFinishLoad (not subframes).
  • Coalesce calls to determinePrimarySnapshottedPlugIn from both addPluginView

(in case JS is adding lots of plugins in a loop) and didFinishLoad.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::addPluginView): Coalesce calls to determinePrimarySnapshottedPlugIn.
(WebKit::WebPage::didFinishLoad):
Coalesce calls to determinePrimarySnapshottedPlugIn.
Bail on subframe loads, we're only interested in the main frame being complete.
(WebKit::WebPage::determinePrimarySnapshottedPlugInTimerFired):
Call determinePrimarySnapshottedPlugIn.

  • WebProcess/WebPage/WebPage.h:

Add m_determinePrimarySnapshottedPlugInTimer and determinePrimarySnapshottedPlugInTimerFired

3:29 PM Changeset in webkit [148918] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

Fix r148773.

  • platform/mac-lion/TestExpectations:
3:21 PM Changeset in webkit [148917] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/13334446> [Mac] Tweak sandbox profiles.

Reviewed by Anders Carlsson.

Unbreak Lion, which doesn't provide detailed control over IPC.

  • WebProcess/com.apple.WebProcess.sb.in:
3:15 PM Changeset in webkit [148916] by mrobinson@webkit.org
  • 9 edits in trunk

[GTK] Enable introspection always for developer builds
https://bugs.webkit.org/show_bug.cgi?id=114983

Reviewed by Gustavo Noronha Silva.

.:

  • Source/autotools/SetupAutoconfHeader.m4: No longer expose the ENABLE_INTROSPECTION

autoconf header variable. It isn't used and it means that when introspection is enabled
or disabled, there is an unnecessary full rebuild.

Source/WebKit/gtk:

  • GNUmakefile.am: Make warnings during gir scanning cause the build to fail. Eliminate

warnings about deprecated API that the g-ir-scanner uses when generating
the scanner program. Use --quiet to avoid printing lots of output to
non-verbose builds.

Source/WebKit2:

  • GNUmakefile.am: Make warnings during gir scanning cause the build to fail. Eliminate

warnings about deprecated API that the g-ir-scanner uses when generating
the scanner program. Use --quiet.

Tools:

  • Scripts/webkitdirs.pm:

(runAutogenForAutotoolsProjectIfNecessary): Always enable introspection
when using build-webkit.

  • gtk/jhbuildrc: Enable documentation for all jhbuild modules and explicitly

choose the memory gsettings backend while in the jhbuild. This eliminates
warnings from programs that fall back to the memory backend.

3:07 PM Changeset in webkit [148915] by betravis@adobe.com
  • 3 edits in trunk/LayoutTests

[css exclusions] shape-inside-recursive-layout.html should not yet test display: inline-grid
https://bugs.webkit.org/show_bug.cgi?id=114986

Reviewed by Dirk Schulze.

Because the inline-grid value is not yet supported, the test case is falling back to
display: block. This causes an incorrect layout, as block and inline content react to
shape-inside differently.

  • fast/exclusions/shape-inside/shape-inside-recursive-layout-expected.html:
  • fast/exclusions/shape-inside/shape-inside-recursive-layout.html:
2:54 PM Changeset in webkit [148914] by mrobinson@webkit.org
  • 6 edits in trunk/Source

[GTK] Fix remaining introspection warnings
https://bugs.webkit.org/show_bug.cgi?id=114980

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

  • bindings/gobject/WebKitDOMCustom.h: Add scope and transfer annotations and flesh

out gtkdoc for completeness.

  • bindings/gobject/WebKitDOMEventTarget.h:

(_WebKitDOMEventTargetIface): Ditto and also align virtual method names with those used
for the concrete ones.

Source/WebKit/gtk:

  • webkit/webkitspellchecker.h:

(_WebKitSpellCheckerInterface): Align the name of the check_spelling_of_string virtual
method with the concrete method to avoid a g-ir-scanner warning.

  • webkit/webkitversion.h.in: Skip WEBKITGTK_API_VERSION for introspection because it

doesn't follow the appropriate namespace name.

2:45 PM Changeset in webkit [148913] by andersca@apple.com
  • 7 edits in trunk/Source/WebKit2

Make it easier to extend NetworkResourceLoadParameters
https://bugs.webkit.org/show_bug.cgi?id=114992

Reviewed by Sam Weinig.

Turn NetworkResourceLoadParameters into a struct which matches all our other parameter classes in WebKit2. Fill in the struct manually
instead of having a constructor with 9 parameters.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
(WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):

  • NetworkProcess/SchedulableLoader.cpp:

(WebKit::SchedulableLoader::SchedulableLoader):

  • Shared/Network/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):

  • Shared/Network/NetworkResourceLoadParameters.h:

(NetworkResourceLoadParameters):

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::scheduleLoad):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::loadResourceSynchronously):

2:19 PM Changeset in webkit [148912] by timothy_horton@apple.com
  • 11 edits
    2 adds in trunk/Source

PDFPlugin: Support unlocking encrypted PDFs
https://bugs.webkit.org/show_bug.cgi?id=114938
<rdar://problem/12872888>

Reviewed by Alexey Proskuryakov and Oliver Hunt.

If we try to load an encrypted PDF, we need to provide a sane mechanism
through which the user can provide the password. Add a slightly-below-center
password field to match PDFKit's normal behavior.

  • WebKit2.xcodeproj/project.pbxproj: Add PDFPluginPasswordField.{h,mm}
  • WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add attemptToUnlockWithPassword:
  • WebProcess/Plugins/PDF/PDFPlugin.h:

Add createPasswordEntryForm, attemptToUnlockPDF, m_passwordField.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(annotationStyle): Make #annotationContainer a flexbox that centers its contents.
This won't affect the normal absolutely-positioned form fields, but the inline
password field will be centered vertically and horizontally.

(WebKit::PDFPlugin::pdfDocumentDidLoad):
If the document is locked when loaded, create a password field.

(WebKit::PDFPlugin::createPasswordEntryForm):
Create a PDFPluginPasswordField and attach it to the document.

(WebKit::PDFPlugin::attemptToUnlockPDF):
Try to unlock the PDF with the given password. If this succeeds, remove
the password field and relayout the scroll view.

(WebKit::PDFPlugin::calculateSizes):
Make the document 0x0 if it is locked, preventing scrolling.

(WebKit::PDFPlugin::handleMouseEvent):
Don't pass mouse events to PDFLayerController while it is locked,
as it has no useful events to provide, and will try to present a
dialog asking for the password if we let a click through.

  • WebProcess/Plugins/PDF/PDFPluginAnnotation.h:

(WebKit::PDFPluginAnnotation::eventListener): Added.

  • WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:

(WebKit::PDFPluginAnnotation::handleEvent):
Move event-handling code here from PDFPluginAnnotationEventListener::handleEvent
so that subclasses can override this instead of having to have their own
event listeners (this is also why we now expose eventListener()).

(WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::handleEvent):
Forward the event to our owning PDFPluginAnnotation.

  • WebProcess/Plugins/PDF/PDFPluginPasswordField.h: Added.

(WebKit::PDFPluginPasswordField::PDFPluginPasswordField):

  • WebProcess/Plugins/PDF/PDFPluginPasswordField.mm: Added.

(WebKit::PDFPluginPasswordField::create):
(WebKit::PDFPluginPasswordField::~PDFPluginPasswordField):
Unregister for keyup.

(WebKit::PDFPluginPasswordField::createAnnotationElement):
Register for keyup, and set our element's class to "password".

(WebKit::PDFPluginPasswordField::updateGeometry):
Added. Override updateGeometry and do nothing, as the password field
has a geometry defined by CSS instead of by the PDF content.

(WebKit::PDFPluginPasswordField::handleEvent):
If the enter/return key is pressed, attempt to unlock the PDF. Also,
we do not call either of our superclass' implementations of handleEvent,
because blurring the password field should not destroy it, and tabbing
between fields has no relevance when there can only be one field.

  • WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:

(WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener):
Removed. We now share our superclass' event listener.

(WebKit::PDFPluginTextAnnotation::textAnnotation): Const.

  • WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:

(WebKit::PDFPluginTextAnnotation::~PDFPluginTextAnnotation):
PDFPluginTextAnnotation no longer has its own event listener,
so there's nothing left to clear here. Just make sure to unregister
our event from PDFPluginAnnotation's shared event listener!

(WebKit::PDFPluginTextAnnotation::createAnnotationElement):
Ensure that we can create a PDFPluginTextAnnotation with a null annotation.

(WebKit::PDFPluginTextAnnotation::commit): Use value().
(WebKit::PDFPluginTextAnnotation::value):
Factor retrieving the value of the form control out of commit().

(WebKit::PDFPluginTextAnnotation::handleEvent):
Call up to PDFPluginAnnotation's handler so that defocus destroys the annotation.

Export HTMLNames::typeAttr.

  • WebCore.exp.in:
1:46 PM Changeset in webkit [148911] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Slow/beachballing when using the find bar on a page with plug-ins
https://bugs.webkit.org/show_bug.cgi?id=114990
<rdar://problem/12832313>

Reviewed by Tim Horton.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::notifyWidget):
Call shouldCreateTransientPaintingSnapshot().

(WebKit::PluginView::shouldCreateTransientPaintingSnapshot):
Don't create a painting snapshot if we're asked to paint the find indicator.

  • WebProcess/Plugins/PluginView.h:

Add new member function.

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

<rdar://problem/13334446> [Mac] Tweak sandbox profiles.

Reviewed by Sam Weinig.

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
  • WebProcess/com.apple.WebProcess.sb.in:
1:39 PM Changeset in webkit [148909] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Update about:config lists
https://bugs.webkit.org/show_bug.cgi?id=114967

Patch by Eli Fidler <efidler@blackberry.com> on 2013-04-22
Reviewed by Rob Buis.

  • WebCoreSupport/AboutDataEnableFeatures.in:
  • WebCoreSupport/AboutDataHaveFeatures.in:
  • WebCoreSupport/AboutDataUseFeatures.in:
1:39 PM Changeset in webkit [148908] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Use-after-free in CompositeEditCommand::cloneParagraphUnderNewElement
https://bugs.webkit.org/show_bug.cgi?id=114911

Reviewed by Oliver Hunt.

Back ported https://src.chromium.org/viewvc/blink?revision=148680&view=revision.

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):

1:29 PM Changeset in webkit [148907] by eric.carlson@apple.com
  • 4 edits
    2 adds in trunk

[Mac] "automatic" track selection should only select a track that matches user language
https://bugs.webkit.org/show_bug.cgi?id=114976

Reviewed by Jer Noble.

Source/WebCore:

Test: media/track/track-automatic-subtitles.html

  • page/CaptionUserPreferencesMac.mm:

(WebCore::CaptionUserPreferencesMac::textTrackSelectionScore): When in "automatic" mode, only

consider text tracks that match the user's preferred language when the primary audio track
does not.

LayoutTests:

  • media/track/track-automatic-subtitles-expected.txt: Added.
  • media/track/track-automatic-subtitles.html: Added.
  • platform/mac/TestExpectations: Skip track-user-preferences.html, the logic is no longer

correct for the Mac port.

1:02 PM Changeset in webkit [148906] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Cancelling load may cause deadlock in -[AVPlayerItem release]
https://bugs.webkit.org/show_bug.cgi?id=114962

Reviewed by Eric Carlson.

Work around a bug in AVAssetResourceLoader by using a generic, non-main dispatch queue
to recieve AVAssetResourceLoaderDelegate callbacks, and then marshalling those
callbacks to the main thread asynchronously.

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

(WebCore::globalLoaderDelegateQueue): Added.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Use the new global queue.
(-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):

Marshall the request to the main queue, and return YES (wait) immediately.

1:01 PM Changeset in webkit [148905] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Don't kill our XPC services in response to memory pressure
https://bugs.webkit.org/show_bug.cgi?id=114985
<rdar://problem/13229217>

Reviewed by Mark Rowe.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:

(WebKit::XPCServiceInitializer):
Call xpc_transaction_begin() so we'll never be killed by the kernel when there's memory pressure;
we prefer to manage our own lifetime thank you very much!

  • Shared/mac/ChildProcessMac.mm:

(WebKit::ChildProcess::platformInitialize):
Remove call to disable sudden termination.

12:54 PM Changeset in webkit [148904] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

<rdar://problem/13681842> [Mac] Tweak WebProcess sandbox profile to use
system-graphics function when available.

Reviewed by Sam Weinig.

  • WebProcess/com.apple.WebProcess.sb.in:
12:52 PM Changeset in webkit [148903] by zandobersek@gmail.com
  • 13 edits in trunk

[GTK] Set up libPlatform.la
https://bugs.webkit.org/show_bug.cgi?id=114168

Reviewed by Martin Robinson.

.:

  • GNUmakefile.am: Define the platform_cppflags and platform_sources variables.

Source/Platform:

  • GNUmakefile.am: Set up the libPlatform.la static library to build the source files listed in platform_sources.

As with the libPlatformGtk.la library, only the Source/WebCore/platform and its subdirectories are allowed to be
searched for headers to include, providing a convenient way to detect any platform violations. These directories
are listed in the platform_webcore_cppflags variable.

Source/WebCore:

No new tests - no new functionality.

  • GNUmakefile.am: Also add the LevelDB-specific cppflags to the platform_cppflags if required as the LevelDB

code is now built into the new libPlatform.la library.

  • GNUmakefile.list.am: Build a small set of non-GTK-specific platform source files that are already free of

platform violations into the new libPlatform.la library.

Source/WebKit/gtk:

  • GNUmakefile.am: Add the new libPlatform.la library to the libwebkitgtk library.

Source/WebKit2:

  • GNUmakefile.am: Add the new libPlatform.la library to the libwebkitgtk library. Link the WebKitPluginProcess

executable against libPlatform.la as well.

Tools:

  • GNUmakefile.am: Link the DumpRenderTree executable against both libPlatform.la and libPlatformGtk.la libraries.
12:47 PM Changeset in webkit [148902] by weinig@apple.com
  • 6 edits
    7 adds in trunk/Source/WebKit2

Hard code plug-in sandbox profile lookup directories and move
the profiles to WebKit2.

Reviewed by Anders Carlsson.

  • PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:

(WebKit::PluginProcessMainDelegate::getExtraInitializationData):

  • PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:

(WebKit::PluginServiceInitializerDelegate::getExtraInitializationData):

  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::platformGetLaunchOptions):
Stop passing the sandbox-profile-directory-path to the plug-in process.

  • PluginProcess/mac/PluginProcessMac.mm:

(WebKit::loadSandboxProfileForDirectory):
(WebKit::loadSandboxProfile):
(WebKit::PluginProcess::initializeSandbox):
Hard code the plug-in sandbox profile lookup to only look in the WebKit2 bundle
and /System/Library/Sandbox/Profiles/.

  • Resources/PlugInSandboxProfiles: Added.

Add profiles.

  • WebKit2.xcodeproj/project.pbxproj:

Copy the profiles to the bundle.

12:37 PM Changeset in webkit [148901] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebKit2

Refactor creation of the full screen window into an (overridable) method.
https://bugs.webkit.org/show_bug.cgi?id=110369

Reviewed by Eric Carlson.

Add a new WKView method -(NSWindow)createFullScreenWindow which can be overridden
by subclasses to provide custom full screen windows to the WKFullScreenWindowController.

  • UIProcess/API/mac/WKView.mm:

(-[WKView fullScreenWindowController]):
(-[WKView createFullScreenWindow]):

  • UIProcess/API/mac/WKViewPrivate.h:
  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController initWithWindow:]):

12:13 PM Changeset in webkit [148900] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WTF

StringImpl.h should compile with -Wshorten-64-to-32
<http://webkit.org/b/114970>

Reviewed by Darin Adler.

Fixes the following warnings with -Wshorten-64-to-32:

StringImpl.h:317:25: error: implicit conversion loses integer precision: 'uintptr_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]

unsigned hash = reinterpret_cast<uintptr_t>(this);


  • wtf/text/StringImpl.h:

(WTF::StringImpl::StringImpl): Add static_cast<uint32_t>() to
formalize taking the lower 32-bits of the pointer value on
64-bit architectures.

11:40 AM Changeset in webkit [148899] by mark.lam@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix broken 32-bit build to green the bots.
https://bugs.webkit.org/show_bug.cgi?id=114968.

Unreviewed.

Basically, I moved a JIT::emit_op_loop_hint() and JIT::emitSlow_op_loop_hint()
into common code where they belong, instead of the 64-bit specific section.

Also fixed some SH4 assertions failures which were also caused by
https://bugs.webkit.org/show_bug.cgi?id=114963. Thanks to Julien Brianceau
for pointing this out.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::branchAdd32):

  • jit/JITOpcodes.cpp:

(JSC):
(JSC::JIT::emit_op_loop_hint):
(JSC::JIT::emitSlow_op_loop_hint):

11:23 AM Changeset in webkit [148898] by aestes@apple.com
  • 5 edits in trunk

Range.getClientRects() should not include rects for partially selected elements
https://bugs.webkit.org/show_bug.cgi?id=76839

Reviewed by Sam Weinig.

Source/WebCore:

CSSOM says that Range.getClientRects() should include the border boxes
of each element selected by the range. However, we were also
incorrectly including border boxes for partially selected elements.
For instance, consider the following selection:

<div>line one<br>line two</div>
-------------

The <div> is two lines tall, but only the first line is selected.
Despite this, we'd include the <div>'s border box since its start tag
was included in the selection.

Fix this by excluding partially selected elements. This is accomplished
by skipping over elements that come after the start boundary point of
the range but are ancestors of the end boundary point.

Added test cases to LayoutTests/fast/dom/Range/getClientRects.html.

  • dom/Range.cpp:

(WebCore::Range::getBorderAndTextQuads):

LayoutTests:

  • fast/dom/Range/getClientRects-expected.txt: Updated expected result.
  • fast/dom/Range/getClientRects.html: Added new test cases.
11:21 AM Changeset in webkit [148897] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

2013-04-22 Oliver Hunt <oliver@apple.com>

Perform null check before trying to use the result of readline()

RS=Gavin

  • jsc.cpp: (runInteractive):
11:19 AM Changeset in webkit [148896] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

2013-04-22 Oliver Hunt <oliver@apple.com>

Fix assertions to account for new Vector layout

RS=Gavin

  • llint/LLIntData.cpp: (JSC::LLInt::Data::performAssertions):
11:11 AM Changeset in webkit [148895] by eric.carlson@apple.com
  • 3 edits in trunk/LayoutTests

Unreviewed Mac gardening. Update a test and results now that forced text
tracks are supported.

  • media/track/track-in-band-expected.txt:
  • media/track/track-in-band.html:
10:56 AM Changeset in webkit [148894] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Crash on OS X when shift clicking outside of input
https://bugs.webkit.org/show_bug.cgi?id=104058

Patch by Yi Shen <max.hong.shen@gmail.com> on 2013-04-22
Reviewed by Chang Shu.

Source/WebCore:

Shift clicking outside of a focused div while removing the focused div from
the dom tree at the same time may hit a null visible position, which should
not be used to calculate the text distance with the new selection's start and
end position. Otherwise, the browser may crash.

Test: editing/selection/crash-on-shift-click.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEventSingleClick):

LayoutTests:

Add test for shift click crash issue.

  • editing/selection/crash-on-shift-click-expected.txt: Added.
  • editing/selection/crash-on-shift-click.html: Added.
10:37 AM Changeset in webkit [148893] by mark.lam@apple.com
  • 12 edits in trunk/Source/JavaScriptCore

Change baseline JIT watchdog timer check to use the proper fast slow path
infrastructure.
https://bugs.webkit.org/show_bug.cgi?id=114963.

Reviewed by Oliver Hunt.

SH4 parts contributed by Julien Brianceau.

  • assembler/ARMAssembler.h:
  • assembler/MacroAssemblerARM.h:
  • assembler/MacroAssemblerARMv7.h:
  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::branchAdd32):

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::branchAdd32):

  • assembler/MacroAssemblerX86Common.h:
  • assembler/SH4Assembler.h:
  • jit/JIT.cpp:

(JSC::JIT::emitEnterOptimizationCheck):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:

(JSC::JIT::emitEnterOptimizationCheck):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_loop_hint):
(JSC::JIT::emitSlow_op_loop_hint):
(JSC::JIT::emit_op_enter):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_enter):

10:02 AM Changeset in webkit [148892] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Scrollbar should not depend on EventHandler, Frame and FrameView
https://bugs.webkit.org/show_bug.cgi?id=114941

Reviewed by Darin Adler.

It's a layering violation that Scrollbar uses EventHandler, Frame
and FrameView. Frame is used to get the EventHandler that is used
to set mousePressed to false after a Scrollbar::mouseUp(). This is
not really needed, since EventHandler already sets m_mousePressed
to false when calling Scrollbar::mouseUp(). The PopupMenu windows
implementation also calls Scrollbar::mouseUp(), but that scrollbar
is not inside a FrameView.

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::isScrollViewScrollbar):
isScrollViewScrollbar() is a method of ScrollView so we don't need
to cast to FrameView.
(WebCore::Scrollbar::mouseUp): Remove EventHandler ussage.

10:00 AM Changeset in webkit [148891] by akling@apple.com
  • 7 edits in trunk/Source

Shrink baseline size of WTF::Vector on 64-bit by switching to unsigned capacity and size.
<http://webkit.org/b/97268>
<rdar://problem/12376519>

Reviewed by Sam Weinig.

Source/JavaScriptCore:

Update LLInt WTF::Vector offset constants to match the new memory layout.

  • llint/LowLevelInterpreter.asm:

Source/WebCore:

  • CMakeLists.txt: Add a workaround for GCC 4.6.x in Release mode so it

does not crash.

Source/WTF:

Shrink Vector by 8 bytes on 64-bit by using 32-bit capacity and size.
Vector now inherits from VectorBuffer instead of having a VectorBuffer member;
this is necessary for m_size to fall into the padding after the base class members.

The WTF::Vector API still uses size_t.

Based on Blink r148313 by <cevans@chromium.org>.

  • wtf/SizeLimits.cpp:
  • wtf/Vector.h:

(WTF::VectorBufferBase::allocateBuffer):
(WTF::VectorBufferBase::tryAllocateBuffer):
(VectorBufferBase):
(WTF::VectorBuffer::shouldReallocateBuffer):
(Vector):
(WTF::Vector::Vector):
(WTF::Vector::capacity):
(WTF::Vector::at):
(WTF::Vector::data):
(WTF::Vector::swap):
(WTF::::Vector):
(WTF::::reserveCapacity):
(WTF::::tryReserveCapacity):
(WTF::::reserveInitialCapacity):
(WTF::::shrinkCapacity):
(WTF::::releaseBuffer):

9:43 AM Changeset in webkit [148890] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] URL decode data: URLs before passing to the platform media player.
https://bugs.webkit.org/show_bug.cgi?id=114887

Patch by John Griggs <jgriggs@blackberry.com> on 2013-04-22
Reviewed by Rob Buis.

Pass data URL through URL decoding before passing to platform media player. PR 313635.

Reviewed internally by Liam Quinn

  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:

(WebCore::MediaPlayerPrivate::load):

9:40 AM Changeset in webkit [148889] by jberlin@webkit.org
  • 1 edit
    1 copy
    1 move
    2 adds in trunk/LayoutTests

Fix an incorrect rebaseline done in r148830.

Instead of updating the cross platform wk2 results, r148830 should have added efl wk2
specific results. Move the previous mac wk2 specific results into the mac wk2 platform
directory.

  • platform/efl-wk2/loader/go-back-cached-main-resource-expected.txt: Renamed from LayoutTests/platform/wk2/loader/go-back-cached-main-resource-expected.txt.
  • platform/mac-wk2/loader/go-back-cached-main-resource-expected.txt: Downloaded from the mac-wk2 bots.
9:32 AM Changeset in webkit [148888] by fpizlo@apple.com
  • 2 edits in trunk/Source/WTF

Memory barrier support should also ensure that we always do a compiler fence
https://bugs.webkit.org/show_bug.cgi?id=114934

Reviewed by Michael Saboff.

This is a cherry-pick merge of the WTF part of r148836 from the dfgFourthTier
branch. It fixes a memory ordering bug that is likely asymptomatic, but
nonetheless real: TCSpinLock expects that using a memoryBarrierBeforeUnlock()
prior to setting lockword_ to 0 will ensure that the assignment to lockword_
won't get floated above any of the stores in the critical section. While that
memory barrier does indeed do the right thing on ARM, it doesn't do the right
thing on other architectures: it turns into empty code that the compiler blows
away, which is fine for the hardware since X86 won't reorder that store - but
it's not fine for the compiler, which may still do its own reorderings.

The WTF part of r148836 fixes this by using a compiler fence: an empty asm
volatile block that is marked as clobbering memory.

Instead of doing a separate surgical fix in trunk, I decided to merge the
whole WTF change over, to make merging easier in the future.

Performance testing of this change in dfgFourthTier showed no regression.

  • wtf/Atomics.h:

(WTF::compilerFence):
(WTF::armV7_dmb):
(WTF::armV7_dmb_st):
(WTF::loadLoadFence):
(WTF::loadStoreFence):
(WTF::storeLoadFence):
(WTF::storeStoreFence):
(WTF::memoryBarrierAfterLock):
(WTF::memoryBarrierBeforeUnlock):
(WTF::x86_mfence):

9:03 AM Changeset in webkit [148887] by Carlos Garcia Campos
  • 5 edits in trunk/Source/WebKit2

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

Reviewed by Anders Carlsson.

This allow applications to set a custom directory for the disk
cache.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkit_web_context_set_disk_cache_directory):

  • UIProcess/API/gtk/WebKitWebContext.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
  • UIProcess/API/gtk/tests/TestMain.cpp:

(removeNonEmptyDirectory):
(main): Use a different temporary disk cache directory for every
test.

8:57 AM Changeset in webkit [148886] by Carlos Garcia Campos
  • 6 edits in trunk/Source/WebKit2

[SOUP] Soup disk cache should respect the diskCacheDirectory from the process initial parameters
https://bugs.webkit.org/show_bug.cgi?id=111845

Reviewed by Anders Carlsson.

Move the cache initialization to platformInitializeWebProcess() to
create the cache using the directory received from the UI
process. This allows to add public API to set a different disk
cache directory from the UI process.

  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::WebContext::platformDefaultDiskCacheDirectory): Return
default disk cache directory.

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformDefaultDiskCacheDirectory): Ditto.

  • WebProcess/efl/WebProcessMainEfl.cpp:

(WebKit::WebProcessMainEfl): Remove soup cache initialization.

  • WebProcess/gtk/WebProcessMainGtk.cpp:

(WebKit::WebProcessMainGtk): Ditto.

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformInitializeWebProcess): Initialize
soup cache.

8:43 AM Changeset in webkit [148885] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Update BatteryClientBlackBerry to use our port's new listener interface
https://bugs.webkit.org/show_bug.cgi?id=114892

Patch by Otto Derek Cheung <otcheung@rim.com> on 2013-04-22
Reviewed by Rob Buis.
PR 328147

Modify the client so we only have one listener for battery change events.
The dispatch of different event listeners are handled by BatteryController.

  • WebCoreSupport/BatteryClientBlackBerry.cpp:

(WebCore::BatteryClientBlackBerry::BatteryClientBlackBerry):
(WebCore::BatteryClientBlackBerry::startUpdating):
(WebCore::BatteryClientBlackBerry::stopUpdating):
(WebCore::BatteryClientBlackBerry::onStatusChange):

  • WebCoreSupport/BatteryClientBlackBerry.h:

(BatteryClientBlackBerry):

8:31 AM Changeset in webkit [148884] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WTF

WTF::AtomicString::find() should take unsigned 'start' argument
<http://webkit.org/b/114958>

Reviewed by Darin Adler.

Fixes the following warnings with -Wshorten-64-to-32:

AtomicString.h:113:76: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]

size_t find(UChar c, size_t start = 0) const { return m_string.find(c, start); }


AtomicString.h:115:35: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]

{ return m_string.find(s, start, caseSentitive); }


AtomicString.h:117:35: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32]

{ return m_string.find(s, start, caseSentitive); }


  • wtf/text/AtomicString.h:

(WTF::AtomicString::find): Change type of 'start' argument from
size_t to unsigned.

8:20 AM Changeset in webkit [148883] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2] Fix build warning when GESTURE_EVENTS is ON.
https://bugs.webkit.org/show_bug.cgi?id=114812

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2013-04-22
Reviewed by Andreas Kling.

Handle GestureSingleTap in the event type switch.

  • WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:

(WebKit::NetscapePlugin::platformHandleMouseEvent):

8:02 AM Changeset in webkit [148882] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Update layout test verifying Tab behaves correctly after linking to fragment ID
https://bugs.webkit.org/show_bug.cgi?id=114645

Patch by Mario Sanchez Prada <mario.prada@samsung.com> on 2013-04-22
Reviewed by Chris Fleizach.

  • fast/dom/fragment-activation-focuses-target.html: Updated test.
  • fast/dom/fragment-activation-focuses-target-expected.txt: Updated expectations.
7:26 AM Changeset in webkit [148881] by commit-queue@webkit.org
  • 16 edits in trunk

fix build warning(unused parameter)
https://bugs.webkit.org/show_bug.cgi?id=114855

Patch by Xuefei Ren <xren@blackberry.com> on 2013-04-22
Reviewed by Rob Buis.

Source/WebCore:

remove warning(unused parameter) in
Source/WebCore/platform/graphics/blackberry

  • platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:

(WebCore::CanvasLayerCompositingThreadClient::drawTextures):
(WebCore::CanvasLayerCompositingThreadClient::deleteTextures):
(WebCore::CanvasLayerCompositingThreadClient::commitPendingTextureUploads):

  • platform/graphics/blackberry/FontBlackBerry.cpp:

(WebCore::Font::offsetForPositionForComplexText):

  • platform/graphics/blackberry/FontCacheBlackBerry.cpp:

(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getTraitsInFamily):

  • platform/graphics/blackberry/GlyphPageTreeNodeBlackBerry.cpp:

(WebCore::GlyphPage::fill):

  • platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

  • platform/graphics/blackberry/GraphicsContextBlackBerry.cpp:

(WebCore::GraphicsContext::drawConvexPolygon):
(WebCore::GraphicsContext::fillRect):
(WebCore::GraphicsContext::fillRoundedRect):
(WebCore::GraphicsContext::roundToDevicePixels):
(WebCore::GraphicsContext::setPlatformShadow):
(WebCore::GraphicsContext::clipConvexPolygon):
(WebCore::GraphicsContext::setURLForRect):
(WebCore::GraphicsContext::setPlatformStrokeColor):
(WebCore::GraphicsContext::setPlatformFillColor):
(WebCore::GraphicsContext::setPlatformCompositeOperation):

  • platform/graphics/blackberry/ImageBlackBerry.cpp:

(WebCore::BitmapImage::draw):
(WebCore::Image::drawPattern):

  • platform/graphics/blackberry/ImageBufferBlackBerry.cpp:

(WebCore::flushAndDraw):
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::copyImage):
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::platformTransformColorSpace):

  • platform/graphics/blackberry/LayerTiler.cpp:

(WebCore::LayerTiler::drawTile):

  • platform/graphics/blackberry/PathBlackBerry.cpp:

(WebCore::GraphicsContext::drawFocusRing):
(WebCore::GraphicsContext::clipPath):

  • platform/graphics/blackberry/PatternBlackBerry.cpp:

(WebCore::Pattern::platformPattern):

Source/WebKit/blackberry:

remove warning(unused parameter) in
Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::extractedTextRequest):

Tools:

remove warning(unused parameter) in
Tools/DumpRenderTree/blackberry/EventSender.cpp

  • DumpRenderTree/blackberry/EventSender.cpp:

(getDragModeCallback):

7:24 AM Changeset in webkit [148880] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] ASSERT in FrameLoaderClient::convertMainResourceLoadToDownload
https://bugs.webkit.org/show_bug.cgi?id=114741

Patch by Xan Lopez <xlopez@igalia.com> on 2013-04-22
Reviewed by George Staikos.

Consider the case where a ResourceHandle won't have a FilterStream
object associated (for example, Blob objects) instead of ASSERTing
pointlessly when asking our network layer for such an object.

This partially fixes fast/dom/HTMLAnchorElement/anchor-nodownload-set.html

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::convertMainResourceLoadToDownload):

7:19 AM Changeset in webkit [148879] by mifenton@rim.com
  • 5 edits
    2 adds in trunk

[BlackBerry] Add additional datalist support.
https://bugs.webkit.org/show_bug.cgi?id=114883

Reviewed by Rob Buis.

PR 210083.

Source/WebCore:

Extend support for datalist to include all non-popup input types.

Re-enabling fast/forms/datalist/input-list

Internally Reviewed by Otto Cheung.

  • platform/blackberry/RenderThemeBlackBerry.cpp:

(WebCore::RenderThemeBlackBerry::supportsDataListUI):

Source/WebKit/blackberry:

Properly set state when opening a Date/Time popup and simplify
the logic for showing datalist options.

Internally Reviewed by Otto Cheung.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::openDatePopup):
(BlackBerry::WebKit::InputHandler::showTextInputTypeSuggestionBox):

LayoutTests:

Fix results for fast/forms/datalist/input-list.

Internally Reviewed by Otto Cheung.

  • platform/blackberry/fast/forms/datalist/input-list-expected.txt: Added.
5:39 AM Changeset in webkit [148878] by abucur@adobe.com
  • 1 edit
    56 adds in trunk/LayoutTests

[CSS Regions] Add tests for lists and counters
https://bugs.webkit.org/show_bug.cgi?id=103975

Reviewed by Andreas Kling.

Lists and counters work correctly with regions since r148026 (http://trac.webkit.org/changeset/148026).
This patch adds W3C formatted ref tests to our battery.

  • fast/regions/counters/extract-list-items-001-expected.html: Added.
  • fast/regions/counters/extract-list-items-001.html: Added.
  • fast/regions/counters/extract-list-items-002-expected.html: Added.
  • fast/regions/counters/extract-list-items-002.html: Added.
  • fast/regions/counters/extract-list-items-003-expected.html: Added.
  • fast/regions/counters/extract-list-items-003.html: Added.
  • fast/regions/counters/extract-list-items-004-expected.html: Added.
  • fast/regions/counters/extract-list-items-004.html: Added.
  • fast/regions/counters/extract-list-items-005-expected.html: Added.
  • fast/regions/counters/extract-list-items-005.html: Added.
  • fast/regions/counters/extract-list-items-006-expected.html: Added.
  • fast/regions/counters/extract-list-items-006.html: Added.
  • fast/regions/counters/extract-list-items-007-expected.html: Added.
  • fast/regions/counters/extract-list-items-007.html: Added.
  • fast/regions/counters/extract-list-items-008-expected.html: Added.
  • fast/regions/counters/extract-list-items-008.html: Added.
  • fast/regions/counters/extract-list-items-009-expected.html: Added.
  • fast/regions/counters/extract-list-items-009.html: Added.
  • fast/regions/counters/extract-list-items-010-expected.html: Added.
  • fast/regions/counters/extract-list-items-010.html: Added.
  • fast/regions/counters/extract-list-items-011-expected.html: Added.
  • fast/regions/counters/extract-list-items-011.html: Added.
  • fast/regions/counters/extract-list-items-012-expected.html: Added.
  • fast/regions/counters/extract-list-items-012.html: Added.
  • fast/regions/counters/extract-list-items-013-expected.html: Added.
  • fast/regions/counters/extract-list-items-013.html: Added.
  • fast/regions/counters/extract-list-items-014-expected.html: Added.
  • fast/regions/counters/extract-list-items-014.html: Added.
  • fast/regions/counters/extract-list-items-015-expected.html: Added.
  • fast/regions/counters/extract-list-items-015.html: Added.
  • fast/regions/counters/extract-numbered-paragraphs-divs-001-expected.html: Added.
  • fast/regions/counters/extract-numbered-paragraphs-divs-001.html: Added.
  • fast/regions/counters/extract-numbered-paragraphs-divs-002-expected.html: Added.
  • fast/regions/counters/extract-numbered-paragraphs-divs-002.html: Added.
  • fast/regions/counters/extract-numbered-paragraphs-expected.html: Added.
  • fast/regions/counters/extract-numbered-paragraphs.html: Added.
  • fast/regions/counters/extract-numbered-spans-display-only-some-expected.html: Added.
  • fast/regions/counters/extract-numbered-spans-display-only-some.html: Added.
  • fast/regions/counters/extract-ordered-lists-in-regions-001-expected.html: Added.
  • fast/regions/counters/extract-ordered-lists-in-regions-001.html: Added.
  • fast/regions/counters/extract-ordered-lists-in-regions-002-expected.html: Added.
  • fast/regions/counters/extract-ordered-lists-in-regions-002.html: Added.
  • fast/regions/counters/extract-ordered-lists-in-regions-003-expected.html: Added.
  • fast/regions/counters/extract-ordered-lists-in-regions-003.html: Added.
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-001-expected.html: Added.
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-001.html: Added.
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-002-expected.html: Added.
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-002.html: Added.
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-003-expected.html: Added.
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-003.html: Added.
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-004-expected.html: Added.
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-004.html: Added.
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html: Added.
  • fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html: Added.
  • fast/regions/counters/extract-unordered-lists-in-regions-expected.html: Added.
  • fast/regions/counters/extract-unordered-lists-in-regions.html: Added.
4:51 AM Changeset in webkit [148877] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, gardening. css3-device-adaptation doesn't work for WK1 EFL properly.

  • platform/efl-wk1/TestExpectations: Added tests related to css3-device-adaptation.
4:42 AM Changeset in webkit [148876] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark IndexedDB test as crashing in Release mode and fix duplicate line in
TestExpectations.

  • platform/efl/TestExpectations:
3:56 AM Changeset in webkit [148875] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL WK1 gardening. Skip pasteboard tests because EFL WK1 doesn't support it yet.

  • platform/efl-wk1/TestExpectations:
3:51 AM Changeset in webkit [148874] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Skip several compositing test cases on EFL WK2 due to regression in
r148748.

  • platform/efl-wk2/TestExpectations:
3:41 AM Changeset in webkit [148873] by Christophe Dumez
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Add several regressions to TestExpectations to make the tree green.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
3:32 AM Changeset in webkit [148872] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Fix expected result for several test cases.

  • platform/efl/TestExpectations:
3:07 AM Changeset in webkit [148871] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Unskipping the fast/sub-pixel layout tests.

Removing failure expectations for tests that are passing after the subpixel layout was enabled.

2:58 AM Changeset in webkit [148870] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Add dummy implementations of DragData::droppedFileSystemId()
https://bugs.webkit.org/show_bug.cgi?id=114861

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-04-22
Reviewed by Carlos Garcia Campos.

  • platform/blackberry/DragDataBlackBerry.cpp:

(WebCore):
(WebCore::DragData::droppedFileSystemId):

2:20 AM Changeset in webkit [148869] by kadam@inf.u-szeged.hu
  • 4 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt/TestExpectations: Skip a failing reftest after r148859.
  • platform/qt/fast/borders/rtl-border-04-expected.png: Update after r148791.
  • platform/qt/fast/borders/rtl-border-04-expected.txt: Update after r148791.
2:14 AM Changeset in webkit [148868] by zarvai@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

Unskip fast/exclusions tests after r148594.

  • platform/qt/TestExpectations:
2:11 AM Changeset in webkit [148867] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[BlackBerry] Add dummy implementation of AccessibilityController::accessibleElementById()
https://bugs.webkit.org/show_bug.cgi?id=114939

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-04-22
Reviewed by Carlos Garcia Campos.

This was added in r129308.

  • DumpRenderTree/blackberry/AccessibilityControllerBlackBerry.cpp:

(AccessibilityController::accessibleElementById):

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

[EFL] accessibility/language-attribute.html is failing
https://bugs.webkit.org/show_bug.cgi?id=112030

Unreviewed, EFL gardening.

Unskipping accessibility/language-attribute.html after r148737.

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-04-22

  • platform/efl-wk2/TestExpectations:
2:05 AM Changeset in webkit [148865] by commit-queue@webkit.org
  • 15 edits
    6 adds in trunk

Source/WebCore: [CSS Regions] Elements in a region should be assignable to a named flow
https://bugs.webkit.org/show_bug.cgi?id=74144

Patch by Mihai Maerean <Mihai Maerean> on 2013-04-22
Reviewed by David Hyatt.

DOM children of a region must not be rendered as children of the region, but can be collected in flow threads.

NodeRenderingContext::parentRenderer now creates the parent render flow thread if it doesn't exist.

Element::moveToFlowThreadIsNeeded is a virtual method that is overriden in PseudoElement to return false and
in SVGElement so only svg root elements can directly be collected by a render flow thread.

RenderObject::canDOMChildrenHaveRenderParent exists to optimize the code so nodes inside regions (and maybe
other types of renderers in the future) can still have renderers if they need to be in a flow thread while the
rest of renderers that can't have children skip the new instructions.

Tests: fast/regions/flow-body-in-html.html . To test the duplicate bug #103685.

fast/regions/region-content-flown-into-region.html
fast/regions/universal-selector-children-to-the-same-region.html . To test the duplicate bug #103685.

  • dom/Element.cpp:

(WebCore::Element::moveToFlowThreadIsNeeded):

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

(WebCore::NodeRenderingContext::parentRenderer): the renderer that will be the parent for this node's renderer.
In the case of RenderFlowThreads, it may need to create it.
(WebCore::NodeRenderingContext::shouldCreateRenderer): In a region, only the children that need to be in a flow
thread should have a renderer.
(WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
(WebCore::NodeRenderingContext::moveToFlowThread):

  • dom/NodeRenderingContext.h:

(NodeRenderingContext):

  • dom/PseudoElement.h: pseudo-elements cannot be directly collected into a named flow.
  • dom/Text.cpp:

(WebCore::Text::textRendererIsNeeded):
(WebCore::Text::updateTextRenderer): Because calling textRendererIsNeeded(NodeRenderingContext(...)) on a
non-const l-value NodeRenderingContext cannot be done on a temporary object on the stack.

  • dom/Text.h:
  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::isContentNodeRegisteredWithAnyNamedFlow):

  • rendering/FlowThreadController.h:
  • rendering/RenderObject.h:

(WebCore::RenderObject::canDOMChildrenHaveRenderParent): Even if this render object can't have render children,
the children in the DOM tree may have a render parent (that is different from this render object).

  • rendering/RenderRegion.h:
  • svg/SVGElement.cpp:

(WebCore::SVGElement::moveToFlowThreadIsNeeded): Allow only svg root elements to be directly collected by a
render flow thread.

  • svg/SVGElement.h:

LayoutTests: [CSS Regions] Elements in a region should be assignable to a named flow
https://bugs.webkit.org/show_bug.cgi?id=74144

Reviewed by David Hyatt.

  • fast/regions/flow-body-in-html-expected.txt: Added.

Patch by Mihai Maerean <Mihai Maerean> on 2013-04-22

  • fast/regions/flow-body-in-html.html: Added. To test the duplicate bug #103685.
  • fast/regions/region-content-flown-into-region-expected.txt: Added.
  • fast/regions/region-content-flown-into-region.html: Added.
  • fast/regions/universal-selector-children-to-the-same-region-expected.txt: Added.
  • fast/regions/universal-selector-children-to-the-same-region.html: Added. To test the duplicate bug #103685.
1:59 AM Changeset in webkit [148864] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Gradient: add PlatformGradient definition for BlackBerry
https://bugs.webkit.org/show_bug.cgi?id=114727

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-04-22
Reviewed by Carlos Garcia Campos.

  • platform/graphics/Gradient.h:

(Graphics):

1:58 AM FeatureFlags edited by rtakacs@inf.u-szeged.hu
(diff)
1:32 AM Changeset in webkit [148863] by abucur@adobe.com
  • 13 edits in trunk

Use DOM ordering for list counts
https://bugs.webkit.org/show_bug.cgi?id=110352

Reviewed by Elliott Sprehn.

Source/WebCore:

Currently the list items ordering is made by traversing the render tree. This gives bad results for:

  • list items flown inside regions because they are not rendered as descendants of their DOM list ancestors.
  • list items matched to insertion points inside a shadow tree. The insertion point may be a child of a

list so the numbering gets broken.

To implement correct DOM ordering I've taken into account the fact that pseudo-elements can have display: list-item
so they should be included when traversing the DOM tree. I've added helper methods on the NodeTraversal
namespace that should allow easily traversing the tree including the pseudo-elements (e.g. firstChildWithPseudo
for an element with pseudo-before will return the before PseudoElement). Using these helper methods I've implemented
pre-order traversal methods aware of the pseudo-elements.
An effect of this change is how the list items inside shadow tree update their counting. With the patch, if there's
no <ol> or <ul> element on the ancestor chain of a <li> element to the shadow root, the list node will be considered the
first parent of the <li> or the shadow root if there is no ancestor.
The RenderListItem class now makes use of this new method of traversal, replacing the one based on the render tree.
To simplify the CSS counters implementation, I've changed the traversal functions inside RenderCounter to also make use
of this method. The CSS counters and the list items now have the same traversal algorithm.

In later patches I'll add tests that should cover the regions and shadow DOM use cases.
Tests bug for shadow DOM: https://bugs.webkit.org/show_bug.cgi?id=113193
Tests bug for regions: https://bugs.webkit.org/show_bug.cgi?id=103975

Tests: no new tests is this patch; added the correct expectations for fast/lists/positioned-count-crash.html
and fast/dom/shadow/shadow-and-list-elements.html

  • dom/Node.cpp:

(WebCore::Node::pseudoAwarePreviousSibling):
(WebCore):
(WebCore::Node::pseudoAwareNextSibling):
(WebCore::Node::pseudoAwareFirstChild):
(WebCore::Node::pseudoAwareLastChild):

  • dom/Node.h:

(Node):

  • dom/NodeTraversal.cpp:

(WebCore):
(WebCore::NodeTraversal::previousIncludingPseudo):
(NodeTraversal):
(WebCore::NodeTraversal::nextIncludingPseudo):
(WebCore::NodeTraversal::nextIncludingPseudoSkippingChildren):

  • dom/NodeTraversal.h:

(ElementTraversal):
(NodeTraversal):
(WebCore::ElementTraversal::previousIncludingPseudo):
(WebCore::ElementTraversal::nextIncludingPseudo):
(WebCore::ElementTraversal::nextIncludingPseudoSkippingChildren):
(WebCore::ElementTraversal::pseudoAwarePreviousSibling):

  • html/HTMLLIElement.cpp:

(WebCore::HTMLLIElement::attach):

  • html/HTMLOListElement.cpp:

(WebCore::HTMLOListElement::updateItemValues):
(WebCore::HTMLOListElement::recalculateItemCount):

  • rendering/RenderCounter.cpp:

(WebCore::previousInPreOrder):
(WebCore::previousSiblingOrParent):
(WebCore::parentElement):
(WebCore::nextInPreOrder):

  • rendering/RenderListItem.cpp:

(WebCore):
(WebCore::enclosingList):
(WebCore::RenderListItem::nextListItem):
(WebCore::previousListItem):
(WebCore::RenderListItem::calcValue):
(WebCore::RenderListItem::explicitValueChanged):
(WebCore::previousOrNextItem):
(WebCore::RenderListItem::updateListMarkerNumbers):

  • rendering/RenderListItem.h:

(RenderListItem):

LayoutTests:

The fast/dom/shadow/shadow-and-list-elements-expected.html has changed because the list items
inside the shadow tree no longer see the root <ol> element.
The test fast/lists/positioned-count-crash.html has the correct rendering after changing
the list counting to be in DOM order.

  • fast/dom/shadow/shadow-and-list-elements-expected.html:
  • fast/lists/positioned-count-crash-expected.txt:
12:57 AM Changeset in webkit [148862] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix multiple definition of ImageBuffer::platformLayer() in the BlackBerry port
https://bugs.webkit.org/show_bug.cgi?id=114936

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-04-22
Reviewed by Carlos Garcia Campos.

We already have a definition in ImageBufferBlackBerry.cpp.

  • platform/graphics/ImageBuffer.cpp:

(WebCore):

12:49 AM Changeset in webkit [148861] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] Cleanup TestExpectations to pass --lint-test-files
https://bugs.webkit.org/show_bug.cgi?id=114927

Unreviewed gardening.

Patch by Seokju Kwon <Seokju Kwon> on 2013-04-22

  • platform/gtk/TestExpectations:
12:29 AM WebKitGTK/2.0.x edited by Carlos Garcia Campos
(diff)
12:25 AM Changeset in webkit [148860] by Carlos Garcia Campos
  • 9 edits in trunk

[WebKit2] Plugins without a MIME Type fail to load
https://bugs.webkit.org/show_bug.cgi?id=112834

Reviewed by Benjamin Poulain.

Source/WebKit2:

The problem is that when the plugin is created and the MIME Type
is empty, since the MIME Type guessed in the UI process using the
plugin extension is not passed to the WebProcess, when the plugin
is instantiated, the value of NPMIMEType parameter passed to
NPP_New is NULL, and NPERR_INVALID_INSTANCE_ERROR is returned.
GetPluginPath message has been renamed to FindPlugin, since it
doesn't only return the path but also the new MIME Type and load
policy.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::findPlugin): Receive an output newMIMEType
parameter that is passed to PluginModuleInfo::findPlugin() so that
in case of guessing the MIME Type, the new one is passed back to
the WebProcess.

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::createPlugin): Pass the MIME Type
from the parameters to WebPage::createPlugin.
(WebKit::WebFrameLoaderClient::recreatePlugin): Pass a newMIMEType
parameter to WebPage::createPlugin.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin): Add newMIMEType out parameter and
pass it to the FindPlugin message.
(WebKit::WebPage::canPluginHandleResponse): Pass newMIMEType to
FindPlugin message.

  • WebProcess/WebPage/WebPage.h:

(WebPage):

LayoutTests:

  • platform/wk2/TestExpectations: Unskip

plugins/no-mime-with-valid-extension.html.

Apr 21, 2013:

11:54 PM Changeset in webkit [148859] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Division by zero in CSSGradientValue::addStops()
https://bugs.webkit.org/show_bug.cgi?id=114807

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2013-04-21
Reviewed by Dean Jackson.

Source/WebCore:

The normalization of the color stop positions of a linear gradient
doesn't take into account that the first and last position can be
the same. In such case the positions are computed dividing by 0.
Clamp the positions to 1 without moving the end points in such
case to match what other browsers do. This ensures that positions
passed to the platform gradient are in the 0-1 range which fixes a
crash due to an assert in BlackBerry port running test
fast/forms/type-after-focus-rule-shrink-width.html.

Test: fast/gradients/css3-color-stop-invalid.html

  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::addStops):

LayoutTests:

  • fast/gradients/css3-color-stop-invalid-expected.html: Added.
  • fast/gradients/css3-color-stop-invalid.html: Added.
11:52 PM Changeset in webkit [148858] by Christophe Dumez
  • 2 edits in trunk/Tools

Unreviewed EFL build fix after r148855.

  • TestWebKitAPI/PlatformEfl.cmake:
11:21 PM Changeset in webkit [148857] by benjamin@webkit.org
  • 9 edits in trunk/Source

Improve StringImpl code density for older ARM hardware
https://bugs.webkit.org/show_bug.cgi?id=114898

Reviewed by Geoffrey Garen.

Source/WebKit:

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

Source/WebKit/win:

  • WebKit.vcproj/WebKitExports.def.in:

Source/WTF:

Reduce the number of instructions needed for StringImpl::deref
on older ARM hardware.

The extra indirection should have a negligible impact on x86_64.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::destroy):

  • wtf/text/StringImpl.h:

(StringImpl):
(WTF::StringImpl::deref):

11:06 PM Changeset in webkit [148856] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed, rolling out r148851.
http://trac.webkit.org/changeset/148851
https://bugs.webkit.org/show_bug.cgi?id=114935

EFL Buildbot reports fail after gardening on r148851
(Requested by gyuyoung on #webkit).

  • platform/efl/TestExpectations:
11:00 PM Changeset in webkit [148855] by Christophe Dumez
  • 2 edits in trunk/Tools

[EFL][WK2] Mark WKViewClientWebProcessCallbacks API test as failing
https://bugs.webkit.org/show_bug.cgi?id=114922

Reviewed by Gyuyoung Kim.

Mark WKViewClientWebProcessCallbacks API test as failing on WK2 EFL.

  • TestWebKitAPI/PlatformEfl.cmake:
10:54 PM Changeset in webkit [148854] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Fix some minor bad use of strings in WebCore
https://bugs.webkit.org/show_bug.cgi?id=114907

Reviewed by Darin Adler.

  • editing/Editor.cpp:

(WebCore::Editor::selectedText): This was implicitly getting the emptyString()
for the argument "".

  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::takeResults): ditto.

10:32 PM Changeset in webkit [148853] by fpizlo@apple.com
  • 2 edits in branches/dfgFourthTier/Tools

fourthTier: tandem WebKit and LLVM builds should ./configure LLVM if needed
https://bugs.webkit.org/show_bug.cgi?id=114933

Reviewed by Andy Estes.

This makes it easy to get set up for tandem LLVM builds.

  • Scripts/copy-webkitlibraries-to-product-directory:
9:39 PM Changeset in webkit [148852] by krit@webkit.org
  • 26 edits
    2 copies in trunk

[Part 4] Parse the custom() function in -webkit-filter: parse the matN() functions
https://bugs.webkit.org/show_bug.cgi?id=71444

Reviewed by Dean Jackson.

Source/WebCore:

Custom filter parameters should support mat2 to mat4 value functions. Added parsing
and style resolving bits to support the matrix function values. A later patch will
add the matrices to the shader program.

https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-parameters

Modified existing tests to cover changes.

  • GNUmakefile.list.am: Added WebKitCSSMatFunctionValue to individual build systems.
  • Target.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForCustomFilterMatParameter):
(WebCore):
(WebCore::valueForCustomFilterParameter):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseTransform):
(WebCore::CSSParser::parseMatValue):
(WebCore):
(WebCore::CSSParser::parseCustomFilterParameters):

  • css/CSSParser.h:

(WebCore):

  • css/CSSValue.cpp:

(WebCore::CSSValue::reportMemoryUsage):
(WebCore::CSSValue::equals):
(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
(WebCore::CSSValue::cloneForCSSOM):

  • css/CSSValue.h:

(WebCore::CSSValue::isWebKitCSSMatFunctionValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::parseCustomFilterArrayParameter):
(WebCore::StyleResolver::parseCustomFilterParameter):

  • css/StyleResolver.h:

(StyleResolver):

  • css/WebKitCSSMatFunctionValue.cpp:

(WebCore::WebKitCSSMatFunctionValue::WebKitCSSMatFunctionValue):
(WebCore::WebKitCSSMatFunctionValue::customCssText):
(WebCore::WebKitCSSMatFunctionValue::cloneForCSSOM):
(WebCore::WebKitCSSMatFunctionValue::equals):
(WebCore::WebKitCSSMatFunctionValue::reportDescendantMemoryUsage):

  • css/WebKitCSSMatFunctionValue.h:

(WebKitCSSMatFunctionValue):
(WebCore::WebKitCSSMatFunctionValue::create):

  • platform/graphics/filters/CustomFilterArrayParameter.h:

(WebCore::CustomFilterArrayParameter::create):
(WebCore::CustomFilterArrayParameter::CustomFilterArrayParameter):

  • platform/graphics/filters/CustomFilterParameter.h:

(CustomFilterParameter):

  • platform/graphics/filters/CustomFilterRenderer.cpp:

(WebCore::CustomFilterRenderer::bindProgramParameters):

LayoutTests:

Added tests for mat2 to mat4 parameter functions on custom fiter function and
parameter descriptor.

  • css3/filters/custom-with-at-rule-syntax/parsing-custom-function-invalid-expected.txt:
  • css3/filters/custom-with-at-rule-syntax/parsing-custom-function-valid-expected.txt:
  • css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-invalid-expected.txt:
  • css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-valid-expected.txt:
  • css3/filters/custom-with-at-rule-syntax/script-tests/parsing-custom-function-invalid.js:
  • css3/filters/custom-with-at-rule-syntax/script-tests/parsing-custom-function-valid.js:
  • css3/filters/custom-with-at-rule-syntax/script-tests/parsing-parameters-property-invalid.js:
  • css3/filters/custom-with-at-rule-syntax/script-tests/parsing-parameters-property-valid.js:
7:16 PM Changeset in webkit [148851] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, EFL gardening. Remove test cases which are expected failed, but passed now.

  • platform/efl/TestExpectations:
4:59 PM Changeset in webkit [148850] by fpizlo@apple.com
  • 4 edits
    1 add in branches/dfgFourthTier

fourthTier: WebKit's build system should relink JavaScriptCore if LLVM's libraries changed but its headers didn't
https://bugs.webkit.org/show_bug.cgi?id=114926

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

Use a phony file that includes a phony header to force JavaScriptCore to be relinked
if necessary. The external LLVM-importing scripts will touch the header if the libraries
are known to have changed.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • ftl/WebKitLLVMLibraryAnchor.cpp: Added.

Tools:

Reviewed by Geoffrey Garen.

If the LLVM libraries change, then touch a phony header, which will force relink
of JavaScriptCore.

  • Scripts/copy-webkitlibraries-to-product-directory:

(unpackIfNecessary):

4:26 PM Changeset in webkit [148849] by oliver@apple.com
  • 32 edits in trunk

JS Lexer and Parser should be more informative when they encounter errors
https://bugs.webkit.org/show_bug.cgi?id=114924

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Add new tokens to represent the various ways that parsing and lexing have failed.
This gives us the ability to produce better error messages in some cases,
and to indicate whether or not the failure was due to invalid source, or simply
early termination.

The jsc prompt now makes use of this so that you can write functions that
are more than one line long.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::generate):

  • jsc.cpp:

(stringFromUTF):
(jscSource):
(runInteractive):

  • parser/Lexer.cpp:

(JSC::::parseFourDigitUnicodeHex):
(JSC::::parseIdentifierSlowCase):
(JSC::::parseString):
(JSC::::parseStringSlowCase):
(JSC::::lex):

  • parser/Lexer.h:

(UnicodeHexValue):
(JSC::Lexer::UnicodeHexValue::UnicodeHexValue):
(JSC::Lexer::UnicodeHexValue::valueType):
(JSC::Lexer::UnicodeHexValue::isValid):
(JSC::Lexer::UnicodeHexValue::value):
(Lexer):

  • parser/Parser.h:

(JSC::Parser::getTokenName):
(JSC::Parser::updateErrorMessageSpecialCase):
(JSC::::parse):

  • parser/ParserError.h:

(ParserError):
(JSC::ParserError::ParserError):

  • parser/ParserTokens.h:
  • runtime/Completion.cpp:

(JSC):
(JSC::checkSyntax):

  • runtime/Completion.h:

(JSC):

LayoutTests:

Update test results to cover improved error messages.

  • fast/js/kde/parse-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T1-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T2-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T3-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T4-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T5-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A6_T1-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A6_T2-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A6_T3-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A6_T4-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T1-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T10-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T2-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T3-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T4-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T5-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T6-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T7-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T8-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.7_Punctuators/S7.7_A2_T9-expected.txt:
  • sputnik/Conformance/13_Function_Definition/S13_A7_T3-expected.txt:
4:26 PM Changeset in webkit [148848] by fpizlo@apple.com
  • 2 edits in branches/dfgFourthTier/Tools

fourthTier: developing LLVM in tandem with WebKit should be fun and easy
https://bugs.webkit.org/show_bug.cgi?id=114925

Reviewed by Geoffrey Garen.

This enables building LLVM along with WebKit, so that build-jsc and build-webkit
will also optionally build LLVM and quickly symlink LLVM's built products into
the right places.

Most WebKit and JSC hackers will want to rely on the checked-in already-built
versions of LLVM in WebKitLibraries. But developing both systems in tandem is an
increasingly common use-case for me, and it may become a common use case for a
handful of others. Currently, this is really painful: you first have to build
LLVM, then you have to export-llvm-build (which takes a while), and then you
have to make sure that your LLVM_LIBRARY_PACKAGE and LLVM_INCLUDE_PACKAGE
variables are set to point to the thing you exported. The whole process loses
track of dependencies very quickly: making a tiny change in LLVM requires
packaging, and then unpackaging, a large number of potentially large headers and
static libraries. Not only is this slow but it then causes the WebKit build
system to rebuild anything that transitively includes any LLVM header, which is
now quite a few files. While this sort of use pattern is still worthwhile if
you're trying to package a binary drop and test it, it's not great if you're
just trying to do experimental development that involves making small changes
in both trees.

This change fixes this use case while keeping the old use cases intact. You can
do tandem development using one of two modes:

Your own LLVM directory: just set LLVM_SOURCE_PATH to the *absolute* path of
the LLVM directory you're using. Once this is done, any invocation of a WebKit
build via build-jsc or build-webkit will also build LLVM, and then quickly
symlink things into place without perturbing dependency tracking.

Internal LLVM directory: if you check out llvm into a directory called 'llvm'
right off of the WebKit source tree, then the build system will automatically
use this.

Here's how this takes care of dependencies:

Headers: the include/llvm and include/llvm-c directories are symlinked into
$productsDir/usr/local/include. And then everything just works.

Libraries: the build system detects, by reading LLVM's Makefile.config, which
mode LLVM is built in (like Release+Asserts or Debug+Asserts) and symlinks
the .a files into $productsDir/<thingy>. It will ranlib those libraries only
if they have changed, by checking both the modification time and also whether
the last time we had a symlink, that symlink was from the same directory.
This helps if you switch to an *older* LLVM build (using LLVM_SOURCE_PATH)
but that build wasn't yet ranlib'd.

One problem that this does not yet solve is that xcodebuild will not relink
JavaScriptCore if the only thing that changed was the libraries. I will work
on this problem separately: https://bugs.webkit.org/show_bug.cgi?id=114926.

  • Scripts/copy-webkitlibraries-to-product-directory:

(unpackIfNecessary):
(fileContains):
(fileContentsEquals):

1:52 PM Changeset in webkit [148847] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Regression(r148672): fast/events/touch/frame-hover-update.html fails
https://bugs.webkit.org/show_bug.cgi?id=114912

Reviewed by Allan Sandfeld Jensen.

Fix relative path to js-test-post.js in fast/events/touch/frame-hover-update.html.

  • fast/events/touch/frame-hover-update.html:
1:28 PM Changeset in webkit [148846] by mark.lam@apple.com
  • 3 edits in trunk/LayoutTests

Rewrite fast/workers/dedicated-worker-lifecycle.html to verify that
the GC is able to reclaim orphaned Workers on a timely basis.
https://bugs.webkit.org/show_bug.cgi?id=114893.

Reviewed by Geoffrey Garen.

  • fast/workers/resources/dedicated-worker-lifecycle.js:

(orphanAllWorkers):
(runTests.worker.onmessage):
(runTests):
(orphanedWorkerExited.worker.onmessage):
(orphanedWorkerExited):

  • fast/workers/resources/worker-util.js:

(waitUntilThreadCountMatchesCondition):
(waitUntilThreadCountMatches):
(waitUntilThreadCountDoesNotExceed):

12:51 PM Changeset in webkit [148845] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark css1/cascade/cascade_order.html as flaky.

  • platform/efl/TestExpectations:
12:48 PM Changeset in webkit [148844] by Christophe Dumez
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark several webgl tests as flaky.
Mark several ref tests as failing (started between r148032 and r148102).

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
12:15 PM Changeset in webkit [148843] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark websocket tests as flaky and webgl/conformance/rendering/gl-scissor-test.html
as failing.

  • platform/efl-wk2/TestExpectations:
11:53 AM Changeset in webkit [148842] by Lucas Forschler
  • 4 edits in branches/safari-536.30-branch/Source

Versioning.

11:51 AM Changeset in webkit [148841] by Lucas Forschler
  • 1 copy in tags/Safari-536.30.2

New Tag.

11:36 AM Changeset in webkit [148840] by kbalazs@webkit.org
  • 4 edits
    2 adds in trunk

[GStreamer] Media attribute preload="none" is not honored
https://bugs.webkit.org/show_bug.cgi?id=114357

Reviewed by Philippe Normand.

Source/WebCore:

Fix the logic that prevents live streams from being buffered to not make preload="none" ignored.

Test: http/tests/media/video-preload.html
We need a http test because the bug does not triggered with local files.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(MediaPlayerPrivateGStreamer):
Remove m_originalPreloadWasAutoAndWasOverridden because it is not necessary and it is causing this bug.
Currently if the tag has preload="none" attribute we set m_preload to Auto in the constructor. After that
MedaPlayer calls setPreload(None), so we set m_originalPreloadWasAutoAndWasOverridden to true and later
reset m_preload to Auto. The error prone factor here is that the m_preload member is repeated in the
private class and setPreload is also used there. This seems to be necessary because we need to be able
to ignore preloading if this is a live stream. Fortunately the original parsed value is available in the
constructor, so we can use that. This will give the correct value that we should override only in the case
of a live stream and that's it, we don't need to reset it later to Auto.
Furthermore, we should ignore setting preload to auto from js if it is a live stream. This patch also handles
this with an early return in setPreload.

LayoutTests:

  • http/tests/media/video-preload-expected.txt: Added.
  • http/tests/media/video-preload.html: Added.
10:46 AM Changeset in webkit [148839] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark several tests as failing on EFL port due to the bump to libsoup
2.42.0.

  • platform/efl/TestExpectations:
10:34 AM Changeset in webkit [148838] by Christophe Dumez
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark several test cases as failing on EFL port and filed bugs for them.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
10:19 AM Changeset in webkit [148837] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark websocket tests as flaky on EFL WK2.

  • platform/efl-wk2/TestExpectations:
10:11 AM Changeset in webkit [148836] by fpizlo@apple.com
  • 17 edits
    2 adds in branches/dfgFourthTier/Source

fourthTier: It should be possible to query WatchpointSets, and add Watchpoints, even if the compiler is running in another thread
https://bugs.webkit.org/show_bug.cgi?id=114909

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

The idea here is that a concurrent compiler will use watchpoint sets as follows:

During concurrent compilation: It will create Watchpoints, and query WatchpointSets only
for the purpose of profiling. That is, it will use decide whether it is profitable to
compile the code "as if" the watchpoint sets are valid.

During synchronous linking: By "linking" I don't necessarily mean the LinkBuffer stuff,
but just the very bitter end of compilation where we make the JIT code callable. This
can happen after LinkBuffer stuff. Anyway, this will have to happen synchronously, and
at that point we can (a) check that all WatchpointSets that we assumed were valid are
still valid and (b) if they are then we add the watchpoints to those sets. If any of the
sets are invalid, we give up on this compilation and try again later.

The querying of WatchpointSets is engineered to say that the set is still valid if it
is so *right now*, but this is done in a racy way and so it may say so spuriously: we
may, with hopefully low probability, have a set that says it is valid even though it was
just invalidated. The goal is only to ensure that (i) a set never claims to be invalid
if it is actually valid, (ii) a set doesn't claim to be valid if it was invalidated
before compilation even began, and (iii) querying the validity of a set doesn't cause us
to crash.

(JSC::InlineWatchpointSet::inflateSlow):

  • bytecode/Watchpoint.h:

(WatchpointSet):
(InlineWatchpointSet):
(JSC::InlineWatchpointSet::hasBeenInvalidated):
(JSC::InlineWatchpointSet::isThin):
(JSC::InlineWatchpointSet::isFat):
(JSC::InlineWatchpointSet::fat):

  • dfg/DFGDesiredWatchpoints.cpp: Added.

(DFG):
(JSC::DFG::DesiredWatchpoints::DesiredWatchpoints):
(JSC::DFG::DesiredWatchpoints::~DesiredWatchpoints):
(JSC::DFG::DesiredWatchpoints::addLazily):
(JSC::DFG::DesiredWatchpoints::reallyAdd):
(JSC::DFG::DesiredWatchpoints::areStillValid):

  • dfg/DFGDesiredWatchpoints.h: Added.

(DFG):
(JSC::DFG::WatchpointForGenericWatchpointSet::WatchpointForGenericWatchpointSet):
(WatchpointForGenericWatchpointSet):
(GenericDesiredWatchpoints):
(JSC::DFG::GenericDesiredWatchpoints::GenericDesiredWatchpoints):
(JSC::DFG::GenericDesiredWatchpoints::addLazily):
(JSC::DFG::GenericDesiredWatchpoints::reallyAdd):
(JSC::DFG::GenericDesiredWatchpoints::areStillValid):
(DesiredWatchpoints):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::addLazily):
(JITCompiler):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

  • ftl/FTLCompile.h:

(FTL):

  • ftl/FTLState.h:

(State):

  • runtime/JSFunction.h:

(JSFunction):
(JSC::JSFunction::allocationProfileWatchpointSet):

  • runtime/Structure.h:

(Structure):
(JSC::Structure::transitionWatchpointSet):

Source/WTF:

Reviewed by Oliver Hunt.

Harden our notions of memory fences, now that we're doing racy algorithms.

  • wtf/Atomics.h:

(WTF):
(WTF::compilerFence):
(WTF::armV7_dmb):
(WTF::armV7_dmb_st):
(WTF::loadLoadFence):
(WTF::loadStoreFence):
(WTF::storeLoadFence):
(WTF::storeStoreFence):
(WTF::memoryBarrierAfterLock):
(WTF::memoryBarrierBeforeUnlock):
(WTF::x86_mfence):

9:14 AM Changeset in webkit [148835] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

fast/media/mq-resolution.html throws TypeError when calling setPageScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=114914

Reviewed by Antonio Gomes.

Update fast/media/mq-resolution.html to call setPageScaleFactor() method on
window.internals instead of window.internals.settings. This method was moved
out of settings in r136055.

  • fast/media/mq-resolution.html:
9:13 AM Changeset in webkit [148834] by Lucas Forschler
  • 2 edits in branches/safari-536.30-branch/Source/WebCore

Rollout r145656. <rdar://problem/13691099>

8:11 AM Changeset in webkit [148833] by Christophe Dumez
  • 3 edits
    1 add in trunk/LayoutTests

Unreviewed EFL gardening.

Rebaseline fast/forms/validation-message-appearance.html and fix expectation
for editing/pasteboard/paste-text-004.html.

  • platform/efl/TestExpectations:
  • platform/efl/fast/forms/validation-message-appearance-expected.png: Added.
  • platform/efl/fast/forms/validation-message-appearance-expected.txt:
8:02 AM Changeset in webkit [148832] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark more compositing test cases as crashing due to r148433 for
EFL port.

  • platform/efl/TestExpectations:
7:22 AM Changeset in webkit [148831] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Regression(r148672): fast/events/touch/frame-hover-update.html fails
https://bugs.webkit.org/show_bug.cgi?id=114912

Reviewed by Allan Sandfeld Jensen.

Fix relative path to js-test-pre.js in the test case.

  • fast/events/touch/frame-hover-update.html:
7:10 AM Changeset in webkit [148830] by Christophe Dumez
  • 5 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Rebaseline several test cases for EFL port.

  • platform/efl-wk2/http/tests/inspector/console-resource-errors-expected.txt:
  • platform/efl/fast/backgrounds/background-position-parsing-expected.png:
  • platform/efl/fast/backgrounds/background-position-parsing-expected.txt:
  • platform/wk2/loader/go-back-cached-main-resource-expected.txt:
6:54 AM Changeset in webkit [148829] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Remove duplicate entry in EFL's TestExpectations for:
inspector/debugger/dynamic-script-tag.html

  • platform/efl/TestExpectations:
6:50 AM Changeset in webkit [148828] by Christophe Dumez
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark more compisiting / webgl tests as crashing due to r148433 for
EFL port.

  • platform/efl/TestExpectations:
5:56 AM Changeset in webkit [148827] by zandobersek@gmail.com
  • 51 deletes in trunk/LayoutTests/platform/gtk

Unreviewed GTK gardening. Removing the remaining redundant baselines.

5:54 AM Changeset in webkit [148826] by zandobersek@gmail.com
  • 208 edits
    51 adds in trunk/LayoutTests/platform/gtk

Unreviewed GTK gardening. Updating baselines for tests under accessibility, fast/backgrounds, fast/body-propagation,
fast/doctypes, fast/fast-mobile-scrolling, fast/inspector-support, fast/loader, fast/tokenizer and fast/xsl directories
after enabling the subpixel layout.

5:46 AM Changeset in webkit [148825] by zandobersek@gmail.com
  • 726 edits
    124 adds in trunk/LayoutTests/platform/gtk/fast

Unreviewed GTK gardening. Updating baselines for tests under fast/block, fast/borders, fast/box-shadow,
fast/box-sizing, fast/canvas, fast/clip and fast/compact directories after enabling subpixel layout.

4:06 AM Changeset in webkit [148824] by Christophe Dumez
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Mark several compositing test as crashing on EFL port due to
r148433.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
3:07 AM Changeset in webkit [148823] by Carlos Garcia Campos
  • 15 edits in trunk/Source

Widget should not depend on AXObjectCache
https://bugs.webkit.org/show_bug.cgi?id=114514

Reviewed by Chris Fleizach.

Source/WebCore:

Move AXObjectCache usage from platform files to FrameView.

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

(WebCore::FrameView::didAddScrollbar): Handle scrollbar updates in
AXObjectCache.
(WebCore::FrameView::willRemoveScrollbar): Handle scrollbar
updates in AXObjectCache and remove the scrollbar from the cache.

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

(WebCore::ScrollView::setHasHorizontalScrollbar): Use
didAddScrollbar/willRemoveScrollbar
(WebCore::ScrollView::setHasVerticalScrollbar): Ditto.

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::didAddScrollbar): This is the old
didAddVerticalScrollbar and didAddHorizontalScrollbar joined in a
single method that receives a ScrollbarOrientation parameter.
(WebCore::ScrollableArea::willRemoveScrollbar): This is the old
willRemoveVerticalScrollbar and
willRemoveHorizontalScrollbarScrollbar joined in a single method
that receives a ScrollbarOrientation parameter.

  • platform/ScrollableArea.h:

(ScrollableArea):

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::~Scrollbar): Remove AXObjectCache usage.

  • platform/Scrollbar.h:
  • platform/Widget.h:

(Widget): Remove axObjectCache() method.

  • platform/mac/ScrollAnimatorMac.h:

(ScrollAnimatorMac):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::createScrollbar): Use didAddScrollbar.
(WebCore::RenderLayer::destroyScrollbar): Use willRemoveScrollbar.

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::createScrollbar): Use didAddScrollbar.
(WebCore::RenderListBox::destroyScrollbar): Use willRemoveScrollbar.

Source/WebKit2:

Update to API changes.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::createScrollbar):

  • WebProcess/Plugins/PDF/SimplePDFPlugin.mm:

(WebKit::SimplePDFPlugin::createScrollbar):
(WebKit::SimplePDFPlugin::destroyScrollbar):

2:26 AM Changeset in webkit [148822] by zandobersek@gmail.com
  • 529 edits
    121 adds in trunk/LayoutTests/platform/gtk/fast

Unreviewed GTK gardening. Updating baselines for tests under fast/css, fast/css-generated-content,
fast/css3-text and fast/dom directories after enabling the subpixel layout.

2:18 AM Changeset in webkit [148821] by zandobersek@gmail.com
  • 611 edits
    171 adds in trunk/LayoutTests/platform/gtk/fast

Unreviewed GTK gardening. Updating baselines for tests under fast/dynamic, fast/encoding, fast/events,
fast/flexbox, fast/forms, fast/frames, fast/gradients, fast/hidpi and fast/html directories after enabling subpixel layout.

2:04 AM Changeset in webkit [148820] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Refactor identical inline functions in JSVALUE64 and JSVALUE32_64 sections
out into the common section.
https://bugs.webkit.org/show_bug.cgi?id=114910.

Reviewed by Filip Pizlo.

  • dfg/DFGSpeculativeJIT.h:

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

1:23 AM Changeset in webkit [148819] by zandobersek@gmail.com
  • 305 edits
    170 adds in trunk/LayoutTests/platform/gtk/fast

Unreviewed GTK gardening. Updating baselines for tests under fast/images, fast/inline, fast/inline-block,
fast/invalid, fast/js, fast/layers, fast/line-grid, fast/lists and fast/multicol directories after enabling subpixel layout.

1:15 AM Changeset in webkit [148818] by zandobersek@gmail.com
  • 379 edits
    80 adds in trunk/LayoutTests/platform/gtk/fast

Unreviewed GTK gardening. Updating baselines for tests under fast/overflow, fast/parser, fast/reflections,
fast/regions and fast/repaint directories after enabling subpixel layout.

1:05 AM Changeset in webkit [148817] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed, gardening. Remove duplicated tests.

  • platform/efl/TestExpectations:
12:48 AM Changeset in webkit [148816] by zandobersek@gmail.com
  • 645 edits
    157 adds in trunk/LayoutTests/platform/gtk

Unreviewed GTK gardening. Updating baselines for tests under fast/replaced, fast/ruby, fast/runin,
fast/scrolling, fast/selectors, fast/spatial-navigation, fast/subpixel and mathml directories after enabling subpixel layout.

12:38 AM Changeset in webkit [148815] by zandobersek@gmail.com
  • 547 edits
    178 adds in trunk/LayoutTests/platform/gtk

Unreviewed GTK gardening. Updating baselines for tests under fast/text, fast/transforms, fast/writing-mode,
ietestcenter, media, plugins and scrollbars directories after enabling the subpixel layout.

12:29 AM Changeset in webkit [148814] by zandobersek@gmail.com
  • 20 deletes in trunk/LayoutTests/platform/gtk/svg

Unreviewed GTK gardening. Removing redundant baselines under the svg/ directory.

12:27 AM Changeset in webkit [148813] by zandobersek@gmail.com
  • 175 edits
    17 adds in trunk/LayoutTests/platform/gtk/svg/dynamic-updates

Unreviewed GTK gardening. Part 2 of updating baselines for tests under svg/dynamic-updates after enabling the subpixel layout.

12:22 AM Changeset in webkit [148812] by zandobersek@gmail.com
  • 138 edits
    33 adds
    2 deletes in trunk/LayoutTests/platform/gtk/svg/dynamic-updates

Unreviewed GTK gardening. Part 1 of updating baselines for tests under svg/dynamic-updates after enabling the subpixel layout.

12:15 AM Changeset in webkit [148811] by zandobersek@gmail.com
  • 668 edits
    52 adds in trunk/LayoutTests/platform/gtk/tables/mozilla/bugs

Unreviewed GTK gardening. Part 3 of updating baselines for tests under the tables/ directory
after enabling the subpixel layout.

12:06 AM Changeset in webkit [148810] by zandobersek@gmail.com
  • 658 edits
    30 adds in trunk/LayoutTests/platform/gtk/tables/mozilla

Unreviewed GTK gardening. Part 2 of updating baselines for tests under the tables/ directory
after enabling the subpixel layout.

Apr 20, 2013:

11:57 PM Changeset in webkit [148809] by zandobersek@gmail.com
  • 405 edits
    21 adds in trunk/LayoutTests/platform/gtk/tables

Unreviewed GTK gardening. Part 1 of updating baselines for tests under the tables directory
after enabling the subpixel layout for the GTK port.

11:27 PM Changeset in webkit [148808] by zandobersek@gmail.com
  • 205 edits
    22 adds in trunk/LayoutTests/platform/gtk/svg

Unreviewed GTK gardening. Updating baselines for tests under svg/batik, svg/canvas, svg/carto.net, svg/clip-path,
svg/css, svg/custom and svg/hixie after enabling the subpixel layout.

11:23 PM Changeset in webkit [148807] by zandobersek@gmail.com
  • 534 edits
    54 adds in trunk/LayoutTests/platform/gtk/svg

Unreviewed GTK gardening. Updating baselines for tests under svg/W3C-* after enabling the subpixel layout.

10:53 PM Changeset in webkit [148806] by zandobersek@gmail.com
  • 510 edits
    84 adds in trunk/LayoutTests/platform/gtk/svg

Unreviewed GTK gardening. Updating baselines for tests under svg/custom, svg/dom, svg/in-html,
svg/overflow, svg/repaint and svg/transforms after enabling the subpixel layout.

10:43 PM Changeset in webkit [148805] by zandobersek@gmail.com
  • 256 edits
    156 adds in trunk/LayoutTests/platform/gtk/svg

Unreviewed GTK gardening. Updating baselines for tests under svg/as-*, svg/filters, svg/stroke,
svg/text, svg/wicd and svg/zoom directories after enabling subpixel layout for the GTK port.

Patch #7 of approx. 24, svn commit is used directly to avoid the webkit-patch and ChangeLog overhead.

10:13 PM Changeset in webkit [148804] by fpizlo@apple.com
  • 31 edits
    2 adds in branches/dfgFourthTier/Source

fourthTier: value profiles and array profiles should be thread-safe enough to be accessible in a concurrent compilation thread
https://bugs.webkit.org/show_bug.cgi?id=114906

Source/JavaScriptCore:

Reviewed by Oliver Hunt.

This introduces thread safety to value profiles, array profiles, and
array allocation profiles.

We already have three separate operations that happen on profiles:
(1) writing, which the JIT, LLInt, and OSR exit do; (2) updating,
which happens during GC, from OSR entry slow-paths, and in the DFG;
and (3) reading, which happens in the DFG. For example, the JIT/LLInt
and OSR exit write to ValueProfile::m_buckets, which gets synthesized
into ValueProfile::m_prediction (and other fields) during update, and
the latter gets read by the DFG. Note that (2) must also happen in
the DFG since only the DFG knows which code blocks it will inline,
and those blocks' profiles may not have otherwise been updated via
any other mechanism.

I refer to these three operations as writing, updating, and reading.

Consequently, both profile updating and profile reading may happen
asynchronously, if the JIT is asynchronous.

The locking protocol for profiles works as follows:

  • Writing does not require locking, but is only allowed on the main thread. We require that these fields can be stored atomically by the profiling code, even without locks. For value profiles, this only works on 64-bit platforms, currently. For array profiles, which consist of multiple separate fields, this means that an asynchronous update of the profile may see slight inconsistencies (like a structure that doesn't quite match the array modes bits), but these should be harmless: at worst, the DFG will specialize too much and we'll have OSR exits.


  • Updating a value profile requires holding a lock, but must assume that the fields written by the profiling code in JIT/LLInt may be written to without locking.


  • Reading a value profile requires holding a lock.


The one major exception to these rules is the ArrayAllocationProfile,
which requires no locking. We do this because it's used so often and
in places where we don't necessarily have access to the owning
CodeBlock, so if we did want it to be locked it would have to have
its own lock. Also, I believe that it is sound to just make this
profile racy and not worry about locking at all. All that was needed
were some changes to ensure that we explicitly read some raced-over
fields only once.

Two additional interesting things in this change:

  • To make it easy to see which profile methods require locking, they take a const CodeBlockLocker& as an argument. I saw this idiom for identifying which methods require which locks to be held being used in LLVM, and I quite like it.


  • Lazy operand value profiles, which are created lazily and at any time, require the CodeBlockLock to be held when they are being created. Writes to them are lockless and main-thread-only, but as with other profiles, updates and reads require locking.
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/ArrayAllocationProfile.cpp:

(JSC::ArrayAllocationProfile::updateIndexingType):

  • bytecode/ArrayAllocationProfile.h:

(JSC::ArrayAllocationProfile::selectIndexingType):

  • bytecode/ArrayProfile.cpp:

(JSC::ArrayProfile::computeUpdatedPrediction):
(JSC::ArrayProfile::briefDescription):

  • bytecode/ArrayProfile.h:

(ArrayProfile):
(JSC::ArrayProfile::expectedStructure):
(JSC::ArrayProfile::structureIsPolymorphic):
(JSC::ArrayProfile::hasDefiniteStructure):
(JSC::ArrayProfile::observedArrayModes):
(JSC::ArrayProfile::mayInterceptIndexedAccesses):
(JSC::ArrayProfile::mayStoreToHole):
(JSC::ArrayProfile::outOfBounds):
(JSC::ArrayProfile::usesOriginalArrayStructures):

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor):

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpValueProfiling):
(JSC::CodeBlock::dumpArrayProfiling):
(JSC::CodeBlock::updateAllPredictionsAndCountLiveness):
(JSC::CodeBlock::updateAllArrayPredictions):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::valueProfilePredictionForBytecodeOffset):
(JSC::CodeBlock::updateAllPredictionsAndCheckIfShouldOptimizeNow):
(CodeBlock):

  • bytecode/CodeBlockLock.h: Added.

(JSC):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFor):

  • bytecode/LazyOperandValueProfile.cpp:

(JSC::CompressedLazyOperandValueProfileHolder::computeUpdatedPredictions):
(JSC::CompressedLazyOperandValueProfileHolder::add):
(JSC::LazyOperandValueProfileParser::LazyOperandValueProfileParser):
(JSC::LazyOperandValueProfileParser::~LazyOperandValueProfileParser):
(JSC):
(JSC::LazyOperandValueProfileParser::initialize):
(JSC::LazyOperandValueProfileParser::prediction):

  • bytecode/LazyOperandValueProfile.h:

(CompressedLazyOperandValueProfileHolder):
(LazyOperandValueProfileParser):

  • bytecode/MethodOfGettingAValueProfile.cpp:

(JSC::MethodOfGettingAValueProfile::getSpecFailBucket):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor):

  • bytecode/ResolveGlobalStatus.cpp:

(JSC::ResolveGlobalStatus::computeFor):

  • bytecode/ValueProfile.h:

(JSC::ValueProfileBase::briefDescription):
(ValueProfileBase):
(JSC::ValueProfileBase::computeUpdatedPrediction):

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::ArrayMode::fromObserved):

  • dfg/DFGArrayMode.h:

(ArrayMode):
(JSC::DFG::ArrayMode::withProfile):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation):
(JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
(JSC::DFG::ByteCodeParser::getArrayMode):
(JSC::DFG::ByteCodeParser::getArrayModeAndEmitChecks):
(JSC::DFG::ByteCodeParser::parseResolveOperations):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGOSRExitPreparation.cpp:

(JSC::DFG::prepareCodeOriginForOSRExit):

  • dfg/DFGPredictionInjectionPhase.cpp:

(JSC::DFG::PredictionInjectionPhase::run):

  • jit/JITInlines.h:

(JSC::JIT::chooseArrayMode):

  • jit/JITStubs.cpp:

(JSC::tryCachePutByID):
(JSC::tryCacheGetByID):
(JSC::DEFINE_STUB_FUNCTION):
(JSC::lazyLinkFor):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::setUpCall):

  • profiler/ProfilerBytecodeSequence.cpp:

(JSC::Profiler::BytecodeSequence::BytecodeSequence):

  • runtime/JSScope.cpp:

(JSC::JSScope::resolveContainingScopeInternal):
(JSC::JSScope::resolvePut):

Source/WTF:

Reviewed by Oliver Hunt.

Add ability to abstract whether or not the CodeBlock requires locking at all,
since some platforms may not support the byte spin-locking and/or may not want
to, if they turn off concurrent JIT.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/ByteSpinLock.h:
  • wtf/NoLock.h: Added.

(WTF):
(NoLock):
(WTF::NoLock::lock):
(WTF::NoLock::unlock):
(WTF::NoLock::isHeld):

  • wtf/Platform.h:
9:38 PM Changeset in webkit [148803] by fpizlo@apple.com
  • 2 edits in branches/dfgFourthTier/Source/JavaScriptCore

Unreviewed, 32-bit build fix.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::tallyFrequentExitSites):

8:47 PM EFLWebKitBuildBots edited by gyuyoung.kim@samsung.com
(diff)
8:44 PM EFLWebKitBuildBots edited by gyuyoung.kim@samsung.com
(diff)
8:32 PM Changeset in webkit [148802] by krit@webkit.org
  • 22 edits
    1 add in trunk

[Part 5] Parse color value for custom() function parameters
https://bugs.webkit.org/show_bug.cgi?id=114902

Reviewed by Dean Jackson.

Source/WebCore:

Custom filter parameters should support color values. Added parsing
and style resolving bits to support color values. A later patch will
add the color values to the shader program.

https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#custom-filter-parameters

Modified existing tests to cover changes.

  • GNUmakefile.list.am: Added CustomFilterColorParameter to support color values

as custom filter parameters.

  • Target.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForCustomFilterColorParameter):
(WebCore):
(WebCore::valueForCustomFilterParameter):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseCustomFilterParameters):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::parseCustomFilterColorParameter):
(WebCore):
(WebCore::StyleResolver::parseCustomFilterParameter):

  • css/StyleResolver.h:

(StyleResolver):

  • platform/graphics/filters/CustomFilterColorParameter.h: Added.

(WebCore):
(WebCore::blendFunc):
(CustomFilterColorParameter):
(WebCore::CustomFilterColorParameter::create):
(WebCore::CustomFilterColorParameter::blend):
(WebCore::CustomFilterColorParameter::color):
(WebCore::CustomFilterColorParameter::setColor):
(WebCore::CustomFilterColorParameter::operator==):
(WebCore::CustomFilterColorParameter::CustomFilterColorParameter):
(WebCore::CustomFilterColorParameter::~CustomFilterColorParameter):

  • platform/graphics/filters/CustomFilterParameter.h:

(CustomFilterParameter):

  • platform/graphics/filters/CustomFilterRenderer.cpp:

(WebCore::CustomFilterRenderer::bindProgramParameters):

LayoutTests:

Added tests for color parameters on custom fiter function and parameter descriptor.

  • css3/filters/custom-with-at-rule-syntax/parsing-custom-function-invalid-expected.txt:
  • css3/filters/custom-with-at-rule-syntax/parsing-custom-function-valid-expected.txt:
  • css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-invalid-expected.txt:
  • css3/filters/custom-with-at-rule-syntax/parsing-parameters-property-valid-expected.txt:
  • css3/filters/custom-with-at-rule-syntax/script-tests/parsing-custom-function-invalid.js:
  • css3/filters/custom-with-at-rule-syntax/script-tests/parsing-custom-function-valid.js:
  • css3/filters/custom-with-at-rule-syntax/script-tests/parsing-parameters-property-invalid.js:
  • css3/filters/custom-with-at-rule-syntax/script-tests/parsing-parameters-property-valid.js:
4:25 PM Changeset in webkit [148801] by zandobersek@gmail.com
  • 937 edits
    275 adds in trunk/LayoutTests/platform/gtk/editing

Unreviewed GTK gardening. Updating baselines for editing tests after enabling subpixel layout for the GTK port.

4:11 PM Changeset in webkit [148800] by zandobersek@gmail.com
  • 549 edits
    79 adds in trunk/LayoutTests/platform/gtk/css3

Unreviewed GTK gardening. Updating baselines for the remaining tests under the css3 directory
after enabling the subpixel layout for the GTK port.

4:03 PM Changeset in webkit [148799] by zandobersek@gmail.com
  • 822 edits
    114 adds in trunk/LayoutTests/platform/gtk/css3/selectors3

Unreviewed GTK gardening. Updating baselines for the css3/selectors/html and css3/selectors/xml tests
after enabling the subpixel layout. Patch #3 of many more.

3:51 PM Changeset in webkit [148798] by zandobersek@gmail.com
  • 1372 edits
    104 adds in trunk/LayoutTests/platform/gtk/css2.1

Unreviewed GTK gardening, updating css2.1 baselines after enabling the subpixel layout.

1:13 PM Changeset in webkit [148797] by glenn@skynav.com
  • 1 edit
    1 delete in trunk/LayoutTests

Unreviewed gardening. Rebaseline after r148792. Fix mac-wk2 text.

  • platform/mac-wk2/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Removed.
1:11 PM Changeset in webkit [148796] by fpizlo@apple.com
  • 2 edits in trunk/PerformanceTests/SunSpider

SunSpider/string-tagcloud should be more lenient in validating its results, since they depend on Math.log, which isn't formally specified
https://bugs.webkit.org/show_bug.cgi?id=114895

Reviewed by Michael Saboff.

  • tests/sunspider-1.0/string-tagcloud.js:
12:55 PM Changeset in webkit [148795] by zandobersek@gmail.com
  • 170 edits
    126 adds in trunk/LayoutTests

Unreviewed GTK gardening.

Rebaseline #1 after enabling the subpixel layout, covering the animations, css1, fonts, fullscreen,
transforms and transitions directories.

12:22 PM Changeset in webkit [148794] by zandobersek@gmail.com
  • 2 edits
    1 add in trunk/Tools

[GTK] Fix baseline positioning issue by updating Freetype
https://bugs.webkit.org/show_bug.cgi?id=106775

Reviewed by Martin Robinson.

  • gtk/jhbuild.modules: Bump the Freetype Jhbuild dependency to 2.4.11.
  • gtk/patches/freetype6-2.4.11-truetype-font-height-fix.patch: Added. This is the Freetype

patch (committed as e0469372) that fixes rounding issues for smaller fonts. It is bound to be included
in the 2.4.12 release of Freetype (not released yet) but is provided here as its effect on baselines is
considered positive and will reduce the amout of future rebaselining.

12:21 PM Changeset in webkit [148793] by zandobersek@gmail.com
  • 2 edits in trunk

Enable sub-pixel layout for the GTK port
https://bugs.webkit.org/show_bug.cgi?id=94792

Reviewed by Martin Robinson.

  • Source/autotools/SetupWebKitFeatures.m4: Enable the subpixel layout.
12:20 PM Changeset in webkit [148792] by glenn@skynav.com
  • 6 edits
    1 copy in trunk/LayoutTests

Unreviewed gardening. Rebaseline after r148791. Update text expectations.

  • platform/efl-wk1/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:
  • platform/efl-wk2/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:
  • platform/gtk-wk1/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:
  • platform/mac-lion/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:
  • platform/mac-wk2/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Copied from LayoutTests/platform/mac-lion/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt.
  • platform/win/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt:
9:41 AM Changeset in webkit [148791] by glenn@skynav.com
  • 4 edits
    4 adds in trunk

REGRESSION (r147588): Line breaks occur in the middle of Hebrew words at haaertz.co.il and other websites
https://bugs.webkit.org/show_bug.cgi?id=114721

Reviewed by Dean Jackson.

Source/WebCore:

Tests: fast/text/line-break-after-empty-inline-hebrew.html

fast/text/line-break-after-inline-latin1.html

If prior context changes content or length after creating line break iterator, then need to
create new iterator with new prior context instead of using cached iterator with old prior context.

  • platform/text/TextBreakIterator.h:

(WebCore::LazyLineBreakIterator::LazyLineBreakIterator): Initialize members to cache reference to initialized prior context.
(WebCore::LazyLineBreakIterator::get): Create new iterator if prior context content reference changes.
(WebCore::LazyLineBreakIterator::resetStringAndReleaseIterator): Reset cached prior context references.
(LazyLineBreakIterator): Add members to cache reference to initialized prior context.

LayoutTests:

  • fast/text/line-break-after-empty-inline-hebrew-expected.txt: Added.
  • fast/text/line-break-after-empty-inline-hebrew.html: Added.
  • fast/text/line-break-after-inline-latin1-expected.txt: Added.
  • fast/text/line-break-after-inline-latin1.html: Added.
  • platform/mac/fast/writing-mode/Kusa-Makura-background-canvas-expected.txt: Rebaseline.
3:27 AM Changeset in webkit [148790] by allan.jensen@digia.com
  • 8 edits in trunk/Source

LLint should be able to use x87 instead of SSE for floating pointer
https://bugs.webkit.org/show_bug.cgi?id=112239

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Implements LLInt floating point operations in x87, to ensure we support
x86 without SSE2.

X86 (except 64bit) now defaults to using x87 instructions in order to
support all 32bit x86 back to i686. The implementation uses the fucomi
instruction from i686 which sets the new minimum.

The FPU registers must always be empty on entering or exiting a function.
We make sure to only use two X87 registers, and they are always emptied
before calling deeper functions or returning from the LLInt.

  • jit/JITStubs.cpp:

(JSC): Empty FPU registers before exiting.

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/instructions.rb:
  • offlineasm/x86.rb:

Source/WTF:

Disable GTK workaround now that LLInt does not require SSE2.

  • wtf/Platform.h:
2:53 AM Changeset in webkit [148789] by abecsi@webkit.org
  • 2 edits in trunk

[Qt][Mac] Remove obsolete workaround for debug builds
https://bugs.webkit.org/show_bug.cgi?id=114750

Reviewed by Jocelyn Turcotte.

This workaround made default builds fail with recent Qt5 because
it removed the major version number from the library name, producing
QtWebKitWidgets, whereas the linking command line tried to link
against Qt5WebKitWidgets.
Debug builds are possible with and without framework-enabled builds
of Qt, but the debug versions of the Qt libraries have to be present.
Debug builds with a release version of Qt are not possible on Mac
since for debug builds qmake produces a linker command line where
all the Qt libraries have the "_debug" suffix, therefore if the debug
libraries are missing the build fails.

  • Source/widgetsapi.pri:
1:23 AM Changeset in webkit [148788] by commit-queue@webkit.org
  • 8 edits in trunk

[GTK] Fix unit test webkit2/WebKitFindController/hide
https://bugs.webkit.org/show_bug.cgi?id=89810

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> on 2013-04-20
Reviewed by Carlos Garcia Campos.

Source/WebKit2:

The test had some hacks in order to compare a page with highlighted
results after using the find command with the original page. Now it uses
the snapshots API that allows to make the test simpler and more
reliable.

  • UIProcess/API/gtk/tests/TestMain.h:

(Test::cairoSurfacesEqual): Moved helper function to compare two cairo
surfaces from TestWebKitWebView.
(Test):

  • UIProcess/API/gtk/tests/TestWebKitFindController.cpp:

(testFindControllerHide): Modify test to use snapshots.

  • UIProcess/API/gtk/tests/TestWebKitWebView.cpp:

(testWebViewSnapshot): Move basic snapshop methods to WebViewTest to
share them with TestWebKitFindController test.

  • UIProcess/API/gtk/tests/WebViewTest.cpp:

(WebViewTest::WebViewTest): Initialize cairo surface.
(WebViewTest::~WebViewTest): Destroy cairo surface.
(onSnapshotReady): Callback to set the cairo surface when the snapshot
is ready.
(WebViewTest::getSnapshotAndWaitUntilReady): Method that takes a
snapshot and returns the cairo surface when it is ready.

  • UIProcess/API/gtk/tests/WebViewTest.h: Add new method headers and

attribute for the cairo surface.

Tools:

  • Scripts/run-gtk-tests:

(TestRunner): Unskip test webkit2/WebKitFindController/hide.

Apr 19, 2013:

9:38 PM Changeset in webkit [148787] by ryuan.choi@samsung.com
  • 4 edits in trunk/Source/WebCore

[EFL] Arrow of combo box are drawn twice
https://bugs.webkit.org/show_bug.cgi?id=113917

Reviewed by Gyuyoung Kim.

combo_button_icon part is for arrow so that images of combo_button part should
not contain arrow.

No new tests required due to no behavioral change.

  • platform/efl/DefaultTheme/widget/combo/combo_focus_button.png:
  • platform/efl/DefaultTheme/widget/combo/combo_hover_button.png:
  • platform/efl/DefaultTheme/widget/combo/combo_press_button.png:
6:03 PM Changeset in webkit [148786] by betravis@adobe.com
  • 3 edits in trunk/LayoutTests

[css exclusions] Fix up shape-inside-recursive-layout test case
https://bugs.webkit.org/show_bug.cgi?id=114890

Reviewed by Dirk Schulze.

The children of the old-flexbox, new-flexbox, and grid shape-inside containers
should have their display value set to -webkit-inline-box, -webkit-inline-flex,
and -webkit-inline-grid respectively. These values should not be set for
the containers themselves, as we are interested in the behavior of descendants
of the shape-inside container.

  • fast/exclusions/shape-inside/shape-inside-recursive-layout-expected.html:
  • fast/exclusions/shape-inside/shape-inside-recursive-layout.html:
6:03 PM Changeset in webkit [148785] by commit-queue@webkit.org
  • 38 edits
    12 copies
    1 move
    5 adds in trunk/Source/WebCore

Add interfaces and stubs for audio and video tracks
https://bugs.webkit.org/show_bug.cgi?id=113965

Patch by Brendan Long <b.long@cablelabs.com> on 2013-04-19
Reviewed by Jer Noble.

No new tests because there's no implementations, so there's nothing
interesting to test.

  • CMakeLists.txt: Add AudioTrack, VideoTrack, AudioTrackList and VideoTrackList.
  • DerivedSources.cpp: Same.
  • DerivedSources.make: Same.
  • DerivedSources.pri: Same.
  • GNUmakefile.list.am: Same.
  • Target.pri: Same.
  • UseJSC.cmake: Same.
  • WebCore.vcproj/WebCore.vcproj: Same.
  • WebCore.xcodeproj/project.pbxproj: Same.
  • bindings/gobject/GNUmakefile.am: Same.
  • bindings/js/JSAudioTrackCustom.cpp: Added, based on JSTestTrackCustom
  • bindings/js/JSAudioTrackListCustom.cpp: Same.
  • bindings/js/JSBindingsAllInOne.cpp: Add AudioTrack, VideoTrack, AudioTrackList and VideoTrackList.
  • bindings/js/JSVideoTrackCustom.cpp: Added, based on JSTestTrackCustom
  • bindings/js/JSVideoTrackListCustom.cpp: Same.
  • dom/EventTarget.h: Make AudioTrackList and VideoTrackList event targets.
  • dom/EventTargetFactory.in: Same.
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement): Add m_audioTracks and m_videoTracks
(WebCore::HTMLMediaElement::~HTMLMediaElement): Clear clients for audio and video tracks
(WebCore::HTMLMediaElement::audioTrackEnabledChanged): Added.
(WebCore::HTMLMediaElement::videoTrackSelectedChanged): Added.
(WebCore::HTMLMediaElement::mediaPlayerDidAddAudioTrack): Added, based on mediaPlayerDidAddTextTrack
(WebCore::HTMLMediaElement::mediaPlayerDidAddVideoTrack): Same.
(WebCore::HTMLMediaElement::mediaPlayerDidRemoveAudioTrack): Added, based on mediaPlayerDidRemoveTextTrack
(WebCore::HTMLMediaElement::mediaPlayerDidRemoveVideoTrack): Same.
(WebCore::HTMLMediaElement::addAudioTrack): Added, based on addTextTrack
(WebCore::HTMLMediaElement::addVideoTrack): Same.
(WebCore::HTMLMediaElement::removeAudioTrack): Added, based on removeTextTrack
(WebCore::HTMLMediaElement::removeVideoTrack): Added, based on removeTextTrack
(WebCore::HTMLMediaElement::removeAllInbandTracks): Remove audio and video tracks too
(WebCore::HTMLMediaElement::audioTracks): Added, based on textTracks
(WebCore::HTMLMediaElement::videoTracks): Added, based on textTracks
(WebCore::HTMLMediaElement::reportMemoryUsage): Add audio and video tracks

  • html/HTMLMediaElement.h: Add audioTracks and videoTracks and related functions
  • html/HTMLMediaElement.idl: Add audioTracks and videoTracks
  • html/track/AudioTrack.cpp: Added, based on TextTrack and InbandTextTrack.
  • html/track/AudioTrack.h: Same.
  • html/track/AudioTrack.idl: Added.
  • html/track/AudioTrackList.cpp: Added, based on TextTrackList
  • html/track/AudioTrackList.h: Same.
  • html/track/AudioTrackList.idl: Added.
  • html/track/TextTrackList.h: Add missing OVERRIDE on interfaceName()
  • html/track/VideoTrack.cpp: Added, based on TextTrack and InbandTextTrack.
  • html/track/VideoTrack.h: Same.
  • html/track/VideoTrack.idl: Added.
  • html/track/VideoTrackList.cpp: Added, based on TextTrackList
  • html/track/VideoTrackList.h: Same.
  • html/track/VideoTrackList.idl: Added.
  • platform/graphics/AudioTrackPrivate.h: Added, based on InbandTextTrackPrivate.h
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::addAudioTrack): Added, based on addTextTrack
(WebCore::MediaPlayer::removeAudioTrack): Added, based on removeTextTrack
(WebCore::MediaPlayer::addVideoTrack): Added, based on addTextTrack
(WebCore::MediaPlayer::removeVideoTrack): Added, based on removeTextTrack

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerDidAddAudioTrack): Added, based on mediaPlayerDidAddTextTrack
(WebCore::MediaPlayerClient::mediaPlayerDidAddVideoTrack): Same
(WebCore::MediaPlayerClient::mediaPlayerDidRemoveAudioTrack): Added, based on mediaPlayerDidRemoveTextTrack
(WebCore::MediaPlayerClient::mediaPlayerDidRemoveVideoTrack): Same

  • platform/graphics/VideoTrackPrivate.h: Added, based on InbandTextTrackPrivate.h
5:27 PM Changeset in webkit [148784] by fpizlo@apple.com
  • 32 edits in trunk/PerformanceTests/SunSpider

Whenever it is cheap and non-invasive, SunSpider tests should validate their results to ensure that the browser runs them correctly
https://bugs.webkit.org/show_bug.cgi?id=114852

Reviewed by Geoffrey Garen.

This adds low-overhead checking of the results of each SunSpider tests. This is not
meant to be an exhaustive test that everything was executed correctly, but rather a
simple sanity check that will catch glaring mistakes. The philosophy here is that we're
not trying to prevent all forms of cheating, or that we're trying to prove the
browser's correctness. Moreover, these checks are meant to incur minimal overhead;
they currently clock in at <2% slow-down in SunSpider 1.0.

The test expectations were generated using the LLInt on command-line, and I've verified
that Firefox 20, Chrome 26, IE 10, Safari 6, and ToT with all of the JITs agree. Note
that some tests cannot be precisely validated because they use Math functions, which
ECMAScript chooses to not formally specify - those functions like sin() and friends are
allowed to return implementation-dependent results. Also some tests cannot be validated
at all because their behavior is either intentionally random or is timezone-dependent.
But 23 out of 26 tests now have some kind of validation.

I've updated the harnesses to show erroneous runs when displaying results.

  • resources/TEMPLATE.html:
  • resources/driver-TEMPLATE.html:
  • resources/sunspider-analyze-results.js:

(formatResult):
(resultLine):
(printOutput):

  • resources/sunspider-compare-results.js:

(.formatMean):
(.resultLine):
(.printOutput):
(sunspiderCompareResults):

  • resources/sunspider-standalone-driver.js:
  • tests/sunspider-1.0/3d-cube.js:

(Init):

  • tests/sunspider-1.0/3d-morph.js:
  • tests/sunspider-1.0/3d-raytrace.js:
  • tests/sunspider-1.0/access-binary-trees.js:
  • tests/sunspider-1.0/access-fannkuch.js:
  • tests/sunspider-1.0/access-nbody.js:
  • tests/sunspider-1.0/access-nsieve.js:

(sieve):

  • tests/sunspider-1.0/bitops-3bit-bits-in-byte.js:
  • tests/sunspider-1.0/bitops-bits-in-byte.js:
  • tests/sunspider-1.0/bitops-bitwise-and.js:
  • tests/sunspider-1.0/bitops-nsieve-bits.js:
  • tests/sunspider-1.0/controlflow-recursive.js:
  • tests/sunspider-1.0/crypto-aes.js:
  • tests/sunspider-1.0/crypto-md5.js:
  • tests/sunspider-1.0/crypto-sha1.js:
  • tests/sunspider-1.0/date-format-tofte.js:
  • tests/sunspider-1.0/date-format-xparb.js:
  • tests/sunspider-1.0/math-cordic.js:
  • tests/sunspider-1.0/math-partial-sums.js:

(partial):

  • tests/sunspider-1.0/math-spectral-norm.js:
  • tests/sunspider-1.0/regexp-dna.js:
  • tests/sunspider-1.0/string-base64.js:
  • tests/sunspider-1.0/string-fasta.js:

(fastaRepeat):
(fastaRandom):

  • tests/sunspider-1.0/string-tagcloud.js:
  • tests/sunspider-1.0/string-unpack-code.js:
  • tests/sunspider-1.0/string-validate-input.js:
5:15 PM Changeset in webkit [148783] by jer.noble@apple.com
  • 9 edits
    5 deletes in trunk/Source/WebKit2

Unreviewed, revert r148782. It was not reviewed by a WebKit2 owner.

  • PluginProcess/mac/PluginProcessShim.mm:
  • Shared/mac/CookieStorageShim.cpp: Removed.
  • Shared/mac/CookieStorageShim.h: Removed.
  • Shared/mac/CookieStorageShimLibrary.cpp: Removed.
  • Shared/mac/CookieStorageShimLibrary.h: Removed.
  • Shared/mac/DYLDInterpose.h: Removed.
  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::addDYLDEnvironmentAdditions):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:

(WebKit::WebContentProcessMainDelegate::doPreInitializationWork):

  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:

(WebContentServiceInitializer):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

  • WebProcess/mac/SecItemShimLibrary.mm:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
4:32 PM Changeset in webkit [148782] by jer.noble@apple.com
  • 9 edits
    3 copies
    2 adds in trunk/Source/WebKit2

WWDC session videos don’t play at developer.apple.com
https://bugs.webkit.org/show_bug.cgi?id=114858

Reviewed by Eric Carlson.

AVFoundation uses CFNetwork to store and retrieve cookies from the global store.
However, in the case where network access happens in the NetworkProcess, session
cookies are stored in-memory, and are not accessable in the WebProcess. Until such
a time as AVFoundation can provide an API which would allow us to provide cookies
for a specific request, we will interpose the CFNetwork method which they use to
retrieve the cookie string from the cookie store for their pending request.

Duplicate the previous SecItemShim target to a new, WebProcessShim target. This
target includes the SecItemShim functionality, but will add a new shim for cookie
retrieval:

  • Shared/mac/CookieStorageShimLibrary.h: Added

(CookieStorageShimCallbacks):

  • Shared/mac/CookieStorageShimLibrary.cpp: Added.

(WebKit::ShimProtector::ShimProtector): A simple stack-based counter class.
(WebKit::ShimProtector::~ShimProtector):
(WebKit::ShimProtector::count):
(WebKit::shimCFHTTPCookieStorageCopyRequestHeaderFieldsForURL): Interpose

the CFNetwork call, and pass to the registered callback.

(WebKit::WebKitCookieStorageShimInitialize): Register the callbacks.

Add a helper singleton class which will talk to the shim through the
registered callbacks:

  • Shared/mac/CookieStorageShim.h: Added

(WebKit::CookieStorageShim::CookieStorageShim):

  • Shared/mac/CookieStorageShim.cpp: Added.

(WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL): Pass the request

over to the NetworkProcess.

(WebKit::CookieStorageShim::shared): Simple singleton.
(WebKit::CookieStorageShim::initialize): Call the library initializer.

Initialize the shim only when the WebProcess is delegating network loading
to the NetworkProcess:

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

Rename the WebProcess's shim from SecItemShim -> WebProcessShim:

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::addDYLDEnvironmentAdditions):

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

(WebKit::WebContentProcessMainDelegate::doPreInitializationWork):

  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:

(WebContentServiceInitializer):

As the DYLD_INTERPOSE macro is used in multiple files now, put it in its
own header:

  • Shared/mac/DYLDInterpose.h: Added.
  • PluginProcess/mac/PluginProcessShim.mm:
  • WebProcess/mac/SecItemShimLibrary.mm:

Add new files to the project:

  • WebKit2.xcodeproj/project.pbxproj:
4:28 PM Changeset in webkit [148781] by betravis@adobe.com
  • 7 edits
    2 adds in trunk

[CSS Exclusions] Implement empty segments for multiple-segment shape-insides
https://bugs.webkit.org/show_bug.cgi?id=100049

Reviewed by David Hyatt.

Source/WebCore:

Content should not overflow a shape-inside segment, even if that means no content
will be placed in that segment. Overflow may be pushed to outside the shape. This
patch removes the restriction that every line must consume at least some text
input while inside a shape-inside. Content that does not fit is pushed down until
it does, either inside the shape or just below it.

Test: fast/exclusions/shape-inside/shape-inside-empty-segments.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::constructBidiRunsForSegment): Do not include empty segments for
consideration, as the actual BidiRuns construction expects to consume at
least one character.
(WebCore::constructBidiRunsForLine): Ditto.
(WebCore::firstPositiveWidth): Find the first positive word measurement width,
as there may be some empty word break measurements inserted.
(WebCore::adjustLogicalLineTop): Move the current line down, if necessary, to
fit it within the shape inside.
(WebCore::RenderBlock::layoutRunsAndFloatsInRange): If nothing fit in the
current segment, find the first available position for the smallest item
at the beginning of the text.
(WebCore::RenderBlock::LineBreaker::nextLineBreak): Return an empty segment
for a line that is inside the shape, but has no segments.
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak): Do not consume
input to meet minimum size requirements if you are inside a shape.

LayoutTests:

Testing that shape-insides do not place content where it will not fit. Also
fixing up some previous tests and expectations.

  • fast/exclusions/resources/multi-segment-polygon.js:

(simulateWithText): Enable multi-line shape expectations using arrays.

  • fast/exclusions/resources/simple-rectangle.js:

(createRectangleTest): Add overflow: break-word property to tests.
(createRectangleTestResult): Ditto.

  • fast/exclusions/shape-inside/shape-inside-empty-expected.html: Adjust results

for tests where content should be pushed down.

  • fast/exclusions/shape-inside/shape-inside-empty-segments-expected.html: Added.
  • fast/exclusions/shape-inside/shape-inside-empty-segments.html: Added.
  • fast/exclusions/shape-inside/shape-inside-empty.html: Shapes with height but

no width should still push content down below the shape.

4:12 PM Changeset in webkit [148780] by Lucas Forschler
  • 9 edits in tags/Safari-537.38.2/Source

Merged r148779. <rdar://problem/13696616>

4:03 PM Changeset in webkit [148779] by roger_fong@apple.com
  • 9 edits in trunk/Source

Remove uses of WebKit_Source from AppleWin build in WTF and JavaScriptCore.

  • JavaScriptCore.vcxproj/JavaScriptCore.make:
  • JavaScriptCore.vcxproj/build-generated-files.sh:
  • JavaScriptCore.vcxproj/copy-files.cmd:
  • JavaScriptCore.vcxproj/testRegExp/testRegExp.vcxproj:
  • WTF.vcxproj/WTF.make:
  • WTF.vcxproj/copy-files.cmd:
  • WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:

(react_to_vsprops_changes):
(react_to_webkit1_interface_changes):

4:03 PM Changeset in webkit [148778] by rniwa@webkit.org
  • 2 edits in trunk/Tools

Build fixes for the flakiness dashboard.

  • TestResultServer/static-dashboards/flakiness_dashboard.js:
3:47 PM Changeset in webkit [148777] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Add a missing null pointer check after r148759.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containingBlock):

3:38 PM Changeset in webkit [148776] by Lucas Forschler
  • 4 edits in tags/Safari-537.38.2/Source

Versioning.

3:35 PM Changeset in webkit [148775] by Lucas Forschler
  • 1 copy in tags/Safari-537.38.2

New Tag.

3:16 PM Changeset in webkit [148774] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

[Mac] [WK2] Layout Test fast/regions/fixed-pos-elem-in-region.html is flaky on Debug builders
https://bugs.webkit.org/show_bug.cgi?id=114571

  • platform/mac-wk2/TestExpectations:

The bots are also seeing image failures flakily, so add that expectation.

2:32 PM Changeset in webkit [148773] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

[Mac Lion] media/W3C/video/events/event_canplay.html is flakey, sometimes times out
https://bugs.webkit.org/show_bug.cgi?id=114889

  • platform/mac-lion/TestExpectations:

Mark it as such.

2:17 PM Changeset in webkit [148772] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Use Vector instead of StringBuilder for CSSPreloadScanner's buffers
https://bugs.webkit.org/show_bug.cgi?id=114794

Reviewed by Ryosuke Niwa.

Cleanup for other String changes.

CSSPreloadScanner only handles UChar, StringBuilder was a little
overkill.

  • html/parser/CSSPreloadScanner.cpp:

(WebCore):
(WebCore::ruleEqualIgnoringCase):
(WebCore::CSSPreloadScanner::emitRule):

  • html/parser/CSSPreloadScanner.h:
2:13 PM Changeset in webkit [148771] by benjamin@webkit.org
  • 2 edits in trunk/Source/WTF

Remove the declaration of MemoryObjectInfo from StringImpl
https://bugs.webkit.org/show_bug.cgi?id=114788

Reviewed by Andreas Kling.

  • wtf/text/StringImpl.h: The declaration is an other left over from chromium.
2:10 PM Changeset in webkit [148770] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

StyledMarkupAccumulator::appendText() should not allocate an intermediary StringBuilder
https://bugs.webkit.org/show_bug.cgi?id=114847

Reviewed by Geoffrey Garen.

For some reason StyledMarkupAccumulator::appendText() was allocating a separate buffer
for invoking appendStyleNodeOpenTag. This is a bad idea.

  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
(WebCore::StyledMarkupAccumulator::appendText):

2:06 PM Changeset in webkit [148769] by Joseph Pecoraro
  • 3 edits in trunk/Source/WebCore

Web Inspector: Support the SourceMap header, X-SourceMap was deprecated
https://bugs.webkit.org/show_bug.cgi?id=114888

Check first for SourceMap, then fallback to X-SourceMap. Leaving in
support for the deprecated header because most tools and articles
online mention that version and have not yet updated.

Reviewed by Timothy Hatcher.

  • inspector/InspectorDebuggerAgent.cpp:

(WebCore::InspectorDebuggerAgent::sourceMapURLForScript):

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::sourceMapURLForResource):

2:06 PM Changeset in webkit [148768] by Joseph Pecoraro
  • 9 edits
    5 adds in trunk

Web Inspector: Backend should detect sourceMappingURLs in CSS Resources
https://bugs.webkit.org/show_bug.cgi?id=114854

Source/WebCore:

Reviewed by Timothy Hatcher.

Test: http/tests/inspector/network/css-source-mapping-url.html

  • inspector/Inspector.json:
  • Page.getResourceTree - add sourceMapURL to resource payloads
  • Network.loadingFinished and Network.requestServedFromMemoryCache, include extra resource info object with possible sourceMapURL.
  • inspector/ContentSearchUtils.h:
  • inspector/ContentSearchUtils.cpp:

(WebCore::ContentSearchUtils::scriptCommentPattern):
(WebCore::ContentSearchUtils::stylesheetCommentPattern):
(WebCore::ContentSearchUtils::findMagicComment):
(WebCore::ContentSearchUtils::findScriptSourceURL):
(WebCore::ContentSearchUtils::findScriptSourceMapURL):
(WebCore::ContentSearchUtils::findStylesheetSourceMapURL):
Separate Script and Stylesheet regex pattern creation, but
share the search function using the pattern.

  • inspector/InspectorDebuggerAgent.cpp:

(WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
(WebCore::InspectorDebuggerAgent::didParseSource):
Update function names. Check for the SourceMap header before
checking for a sourceMappingURL comment.

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

(WebCore::InspectorPageAgent::sourceMapURLForResource):
(WebCore::InspectorPageAgent::buildObjectForFrameTree):
Provide the sourceMapURL for Page.getResourceTree.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForExtraResourceInfo):
(WebCore::buildObjectForCachedResource):
(WebCore::InspectorResourceAgent::didFinishLoading):
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
Include ExtraResourceInfo objects in finish loading and
request served from cache.

LayoutTests:

Test a different ways we would expect to see a sourceMapURL for
stylesheet resources.

Reviewed by NOBODY (OOPS!).

  • http/tests/inspector/network/css-source-mapping-url-expected.txt: Added.
  • http/tests/inspector/network/css-source-mapping-url.html: Added.
  • http/tests/inspector/network/resources/source-map-test-style.css: Added.
  • http/tests/inspector/network/resources/source-map-test-style.css.map: Added.
  • http/tests/inspector/network/resources/source-map-test-style.scss: Added.
2:02 PM Changeset in webkit [148767] by benjamin@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Rename JSStringJoiner::build() to join()
https://bugs.webkit.org/show_bug.cgi?id=114845

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-04-19
Reviewed by Geoffrey Garen.

The method name build() came from StringBuilder history. It does not make much
sense on the StringJoiner.

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncToString):
(JSC::arrayProtoFuncToLocaleString):
(JSC::arrayProtoFuncJoin):

  • runtime/JSStringJoiner.cpp:

(JSC::JSStringJoiner::join):

  • runtime/JSStringJoiner.h:

(JSStringJoiner):

1:56 PM Changeset in webkit [148766] by benjamin@webkit.org
  • 2 edits in trunk/Source/WTF

Make StringImpl::cost const
https://bugs.webkit.org/show_bug.cgi?id=114790

Reviewed by Andreas Kling.

  • wtf/text/StringImpl.h:

(WTF::StringImpl::cost):

1:41 PM Changeset in webkit [148765] by shawnsingh@chromium.org
  • 5 edits in trunk/Source/WebCore

Remove non-overlap testing code in RenderLayerCompositor
https://bugs.webkit.org/show_bug.cgi?id=85521

Reviewed by Simon Fraser.

m_compositingConsultsOverlap is always true in the current
code. This patch removes this flag, and removes dead code that is
never executed because it was never false.

No new tests, no change in behavior. The cleanup is covered by
existing tests.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateCompositingLayersAfterScroll):
removed if-statement that is always true.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::shouldClipCompositedBounds):
removed if-statement that would never get triggered.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::updateCompositingLayers):
removed m_compositingConsultsOverlap, and retained the code as if the flag were "true".

  • rendering/RenderLayerCompositor.h:

(RenderLayerCompositor):

1:32 PM Changeset in webkit [148764] by Lucas Forschler
  • 8 edits in tags/Safari-537.38.1/Source

Merged r148760. <rdar://problem/13696616>

1:30 PM Changeset in webkit [148763] by Lucas Forschler
  • 4 edits in tags/Safari-537.38.1/Source

Versioning.

1:29 PM Changeset in webkit [148762] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Find-on-page should do the scoping again when highlight policy changed
https://bugs.webkit.org/show_bug.cgi?id=114885

Patch by Andy Chen <andchen@blackberry.com> on 2013-04-19
Reviewed by Rob Buis.

PR 195773
Internally reviewed by Mike Fenton.
For find on page, we need to treat it as a new search if highlightAllMatches
changes but the text is not changed.

  • WebKitSupport/InPageSearchManager.cpp:

(BlackBerry::WebKit::InPageSearchManager::findNextString):
(BlackBerry::WebKit::InPageSearchManager::findAndMarkText):

1:26 PM Changeset in webkit [148761] by Lucas Forschler
  • 1 copy in tags/Safari-537.38.1

New Tag.

1:14 PM Changeset in webkit [148760] by roger_fong@apple.com
  • 8 edits in trunk/Source

Unreviewed. WebKit_Source is incorrectly set.

  • WTF.vcxproj/WTF.make:
  • JavaScriptCore.vcxproj/JavaScriptCore.make:
  • WebCore.vcxproj/WebCore.make:
  • WebKit.vcxproj/WebKit.make:
12:58 PM Changeset in webkit [148759] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Make loops in RenderObject::containingBlock homogeneous in their forms to simplify
https://bugs.webkit.org/show_bug.cgi?id=114853

Reviewed by David Hyatt.

This patch prepares us to avoid computing containing blocks during a depth-first traversal of the render tree.

Extracted inline functions out of RenderBlock::containingBlock to make the code simpler. Also moved the code
to obtain the nearest containing block out of the loop for a relatively positioned inline.

  • rendering/RenderObject.cpp:

(WebCore::isNonReplacedInlineInFlowPosition): Extracted.
(WebCore::isContainingBlockCandidateForAbsolutelyPositionedObject): Extracted.
(WebCore::isNonRenderBlockInline): Extracted.
(WebCore::RenderObject::containingBlock): Refactored as stated above.

12:45 PM Changeset in webkit [148758] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

WebKit should not decode or support PDF favicons
https://bugs.webkit.org/show_bug.cgi?id=114650
<rdar://problem/10133914>

Reviewed by Dan Bernstein.

Drop the image data on the floor if it begins with the PDF magic number.
No other browser I can find on OS X supports PDF favicons (by experimentation),
and we do not properly display them.

  • loader/icon/IconLoader.cpp:

(WebCore::IconLoader::notifyFinished):

12:00 PM Changeset in webkit [148757] by mrobinson@webkit.org
  • 9 edits
    18 deletes in trunk/Source/WebCore

Remove the OpenVG backend
https://bugs.webkit.org/show_bug.cgi?id=114881

Reviewed by Tim Horton.

  • platform/graphics/FloatRect.h:

(FloatRect): Remove #ifdefs for OpenVG backend.

  • platform/graphics/GraphicsContext.cpp:

(WebCore): Ditto.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/NativeImagePtr.h:

(WebCore): Ditto.

  • platform/graphics/Path.cpp:

(WebCore): Ditto.

  • platform/graphics/Path.h:
  • platform/graphics/openvg/EGLDisplayOpenVG.cpp: Removed.
  • platform/graphics/openvg/EGLDisplayOpenVG.h: Removed.
  • platform/graphics/openvg/EGLUtils.h: Removed.
  • platform/graphics/openvg/GraphicsContextOpenVG.cpp: Removed.
  • platform/graphics/openvg/ImageOpenVG.cpp: Removed.
  • platform/graphics/openvg/PainterOpenVG.cpp: Removed.
  • platform/graphics/openvg/PainterOpenVG.h: Removed.
  • platform/graphics/openvg/PathOpenVG.cpp: Removed.
  • platform/graphics/openvg/PlatformPathOpenVG.h: Removed.
  • platform/graphics/openvg/SharedResourceOpenVG.cpp: Removed.
  • platform/graphics/openvg/SharedResourceOpenVG.h: Removed.
  • platform/graphics/openvg/SurfaceOpenVG.cpp: Removed.
  • platform/graphics/openvg/SurfaceOpenVG.h: Removed.
  • platform/graphics/openvg/TiledImageOpenVG.cpp: Removed.
  • platform/graphics/openvg/TiledImageOpenVG.h: Removed.
  • platform/graphics/openvg/VGUtils.cpp: Removed.
  • platform/graphics/openvg/VGUtils.h: Removed.
  • platform/graphics/transforms/AffineTransform.h:

(AffineTransform): Ditto.

  • platform/graphics/transforms/TransformationMatrix.h:

(TransformationMatrix): Ditto.

  • platform/image-decoders/openvg/ImageDecoderOpenVG.cpp: Removed.
11:12 AM Changeset in webkit [148756] by beidson@apple.com
  • 3 edits in trunk/Source/WebKit2

Add JoinExistingSession to the WebContext XPC.
<rdar://problem/13541540> and https://bugs.webkit.org/show_bug.cgi?id=114882

Reviewed by Sam Weinig.

This fixes <keygen> and maybe other things.

  • WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
10:55 AM Changeset in webkit [148755] by mrobinson@webkit.org
  • 9 edits
    1 add
    1 delete in trunk

[GTK] JSCore.gir.in has a few problems
https://bugs.webkit.org/show_bug.cgi?id=114710

Reviewed by Philippe Normand.

.:

  • GNUmakefile.am: Move common GIR initialization here from WebKit1.
  • configure.ac: Updated to reflect new JSC gir file location.

Source/JavaScriptCore:

  • GNUmakefile.am: Add the gobject introspection steps for JavaScriptCore here,

because they are shared between WebKit1 and WebKit2.

  • JavaScriptCore.gir.in: Added. Moved from the WebKit1 directory. Now written

as foreign interfaces and referencing the javascriptcoregtk library.

Source/WebKit/gtk:

  • GNUmakefile.am: Updated to reflect new name and location of JavaScriptCore-x.0.gir.
  • JSCore.gir.in: Removed.

Source/WebKit2:

  • GNUmakefile.am: Updated to reflect new location of JavaScriptCore gir file. Share the

same autotools data task as the WebKit1 and JavaScriptCore gir installations.

10:25 AM Changeset in webkit [148754] by abucur@adobe.com
  • 2 edits in trunk/Source/WebCore

ContainerNode::removeChildren should first detach the children then remove them
https://bugs.webkit.org/show_bug.cgi?id=113433

Reviewed by Ryosuke Niwa.

Currently, ContainerNode::removeChildren initially removes the nodes from the DOM tree and then
calls detach() on each of them. This is anti-intuitive and can lead to subtle bugs because the
detached renderers are not backed by a valid DOM tree any more. With the patch, the nodes are first
detached and then removed from the DOM.
The patch also lets the tree in a consistent state after each node removal by clearing the previous
sibling pointer of the node following the one removed.
I haven't found any proof the performance will get worse if the detachment happens when the children
are still in the DOM tree.

Tests: No changed visible functionality.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::removeChildren):

10:17 AM Changeset in webkit [148753] by krit@webkit.org
  • 11 edits
    2 adds in trunk/Source/WebCore

Refactor transform code in StyleResolver
https://bugs.webkit.org/show_bug.cgi?id=114874

Reviewed by Andreas Kling.

Move transform code frome StyleResolver into own files.

Refactoring, no changes in functionality.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::parseCustomFilterTransformParameter):

  • css/StyleResolver.h:
  • css/TransformFunctions.cpp: Added.

(WebCore):
(WebCore::transformOperationType):
(WebCore::convertToFloatLength):
(WebCore::transformsForValue):

  • css/TransformFunctions.h: Added.

(WebCore):

  • css/WebKitCSSMatrix.cpp:

(WebCore::WebKitCSSMatrix::setMatrixValue):

10:05 AM May 2013 Meeting edited by krit@webkit.org
(diff)
10:03 AM Changeset in webkit [148752] by arv@chromium.org
  • 7 edits in trunk/Source/WebCore

Rename TextTrackList owner to element for consistency
https://bugs.webkit.org/show_bug.cgi?id=79822

Reviewed by Eric Carlson.

No new tests. Covered by existing tests.

  • bindings/js/JSTextTrackListCustom.cpp:

(WebCore::JSTextTrackListOwner::isReachableFromOpaqueRoots):
(WebCore::JSTextTrackList::visitChildren):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::~HTMLMediaElement):

  • html/track/TextTrackList.cpp:

(TextTrackList::append):
(TextTrackList::remove):

  • html/track/TextTrackList.h:

(WebCore::TextTrackList::create):

  • html/track/TrackListBase.cpp:

(TrackListBase::TrackListBase):
(TrackListBase::remove):

  • html/track/TrackListBase.h:

(WebCore::TrackListBase::clearElement):
(WebCore::TrackListBase::element):
(TrackListBase):

9:40 AM Changeset in webkit [148751] by sudarsana.nagineni@linux.intel.com
  • 2 edits in trunk/LayoutTests

[EFL] Unreviewed Gardening.

  • platform/efl/TestExpectations: Adding failure expectations for two tests

which are failing on EFL bots.

9:17 AM Changeset in webkit [148750] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

[Mac] ComplexTextController is slow with large numbers of text runs.
<http://webkit.org/b/114875>
<rdar://problem/13337036>

Reviewed by Dan Bernstein.

Instead of iterating over the text runs in indexOfCurrentRun() to figure out the leftmost glyph,
create a lookup table of [run# -> distance in glyphs] at ComplexTextController construction time.

This avoids O(n2) behavior in indexOfCurrentRun().

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::ComplexTextController::ComplexTextController):
(WebCore::ComplexTextController::indexOfCurrentRun):

  • platform/graphics/mac/ComplexTextController.h:

(ComplexTextController):

9:03 AM Changeset in webkit [148749] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] Minimize calls to GailTextUtil in AtkText implementation
https://bugs.webkit.org/show_bug.cgi?id=114868

Patch by Mario Sanchez Prada <mario.prada@samsung.com> on 2013-04-19
Reviewed by Martin Robinson.

Create a new helper function to concentrate inside of it the calls to
gail_text_util_get_text(), so we can get rid of it later more easily.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(webkitAccessibleTextGetTextForOffset): New helper function.
(webkitAccessibleTextGetTextAfterOffset): Rely on the new function.
(webkitAccessibleTextGetTextAtOffset): Ditto.
(webkitAccessibleTextGetTextBeforeOffset): Ditto.

9:01 AM Changeset in webkit [148748] by commit-queue@webkit.org
  • 15 edits in trunk/Source

[Texmap] Implementation for pattern compositing
https://bugs.webkit.org/show_bug.cgi?id=109588

Patch by Noam Rosenthal <Noam Rosenthal> on 2013-04-19
Reviewed by Allan Sandfeld Jensen.

Source/WebCore:

Enable pattern compositing (background images) for CoordinatedGraphics/TextureMapperGL.
Use the existing patternTransform shader uniform, multiplying it by a matrix calculated
using the contentsRect, tileSize and tilePhase.

Covered by existing tests in compositing/patterns.

  • platform/graphics/GraphicsLayer.h:

(GraphicsLayer):

Conditionally enable pattern compositing for coordinated graphics.

  • platform/graphics/texmap/TextureMapper.cpp:

(WebCore::TextureMapper::TextureMapper):

  • platform/graphics/texmap/TextureMapper.h:

(WebCore::TextureMapper::setPatternTransform):
(WebCore::TextureMapper::setWrapMode):
(WebCore::TextureMapper::wrapMode):
(WebCore::TextureMapper::patternTransform):

Add wrapMode and patternTransform properties to the TextureMapper state.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawTexturedQuadWithProgram):

Paint with GL_REPEAT and a pattern transform when needed.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::computePatternTransformIfNeeded):
(WebCore):
(WebCore::TextureMapperLayer::paintSelf):
(WebCore::TextureMapperLayer::setContentsRect):
(WebCore::TextureMapperLayer::setContentsTileSize):
(WebCore::TextureMapperLayer::setContentsTilePhase):

Apply the patternTransform from the tile size/phase.

  • platform/graphics/texmap/TextureMapperLayer.h:

(WebCore::TextureMapperLayer::TextureMapperLayer):
(TextureMapperLayer):
(WebCore::TextureMapperLayer::setShouldMapBackingStoreToContentsRect):
(State):
(WebCore::TextureMapperLayer::State::State):

Allow the client to configure whether a layer uses its bounds or its
contents rect to paint the backing store.
This is needed now since layers with background images, unlike layers
with regular images, may have bounds that are greater than the contents
rect.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setContentsTileSize):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::setContentsTilePhase):
(WebCore::CoordinatedGraphicsLayer::setShouldSupportContentsTiling):
(WebCore::GraphicsLayer::supportsContentsTiling):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayer):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::setLayerState):
(WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:

(CoordinatedGraphicsLayerState):

Logic to pass the tileSize/tilePhase from CoordinatedGraphicsLayer
to TextureMapperLayer.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):

Don't reset the layer's image contents when this is a directly composited image.

Source/WebKit2:

Serialize the two new properties from CoordinatedGraphicsLayer to CoordinatedGraphicsScene.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(CoreIPC::::encode):
(CoreIPC::::decode):

Encode/decode the new tiling properties.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):

Enable pattern compositing for coordinated graphics.
This is needed since we don't want to enable pattern compositing for
WebKit1 yet.

8:34 AM Changeset in webkit [148747] by sudarsana.nagineni@linux.intel.com
  • 2 edits
    1 delete in trunk/LayoutTests

[EFL] Unreviewed Gardening.

Marking compositing reftests added in r148172 as ImageOnlyFailure.
Also, skip failing tests on EFL bots.

  • platform/efl/TestExpectations:
  • platform/efl/compositing/geometry/foreground-layer-expected.txt: Removed.
8:21 AM Changeset in webkit [148746] by jberlin@webkit.org
  • 2 edits in trunk/LayoutTests

Fix expectations added in r148720.

  • fast/js/stack-trace-expected.txt:
7:53 AM Changeset in webkit [148745] by kov@webkit.org
  • 3 edits in trunk/Tools

[GTK] Make the 32 bits bot only build and run API tests
https://bugs.webkit.org/show_bug.cgi?id=113532

Reviewed by Martin Robinson.

  • BuildSlaveSupport/build.webkit.org-config/config.json: make the 32 bits bot use the new BuildAndAPITest type
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(BuildAndAPITestFactory): new factory that builds and runs API tests, only used by the GTK+ 32 bits bot at the
moment;
(BuildAndAPITestFactory.init): add API tests step for platforms that have it.

7:32 AM Changeset in webkit [148744] by abecsi@webkit.org
  • 2 edits in trunk/Tools

[Qt] Only use thin archives on Linux

Rubber-stamped by Jocelyn Turcotte.

Since "thin archive" is a feature of GNU's ar
we limit the usage to Linux to avoid problems
with other configurations (eg. macx-g++).

  • qmake/mkspecs/features/default_pre.prf:
6:54 AM Changeset in webkit [148743] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[GTK][AC] Manage actor's children by using clutter's own way.
https://bugs.webkit.org/show_bug.cgi?id=114257

Patch by ChangSeok Oh <ChangSeok Oh> on 2013-04-19
Reviewed by Gustavo Noronha Silva.

I believe we don't need to maintain a children list of GList. We can do it
by using clutter APIs like clutter_actor_get_children, clutter_actor_get_first_child, etc.

No new tests since no functionality changed.

  • platform/graphics/clutter/GraphicsLayerActor.cpp:

(graphics_layer_actor_init):
(graphicsLayerActorAllocate):
(graphicsLayerActorPaint):
(graphicsLayerActorRemoveAll):
(graphicsLayerActorGetnChildren):
(graphicsLayerActorReplaceSublayer):
(graphicsLayerActorInsertSublayer):

  • platform/graphics/clutter/GraphicsLayerActor.h:

(_GraphicsLayerActor):

6:51 AM Changeset in webkit [148742] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[GTK][AC] Support masksToBounds for clutter AC backend.
https://bugs.webkit.org/show_bug.cgi?id=114113

Patch by ChangSeok Oh <ChangSeok Oh> on 2013-04-19
Reviewed by Gustavo Noronha Silva.

We can support the masksToBounds property by using clutter_actor_set_clip simply.

Covered by existing AC tests.

  • platform/graphics/clutter/GraphicsLayerActor.cpp:

(graphicsLayerActorSetMasksToBounds):

  • platform/graphics/clutter/GraphicsLayerActor.h:
  • platform/graphics/clutter/GraphicsLayerClutter.cpp:

(WebCore::GraphicsLayerClutter::setMasksToBounds):
(WebCore):
(WebCore::GraphicsLayerClutter::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerClutter::setupContentsLayer):
(WebCore::GraphicsLayerClutter::updateMasksToBounds):

  • platform/graphics/clutter/GraphicsLayerClutter.h:

(GraphicsLayerClutter):

6:32 AM Changeset in webkit [148741] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

OSAllocatorPosix: fix build warnings about unused parameters in QNX
https://bugs.webkit.org/show_bug.cgi?id=114859

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-04-19
Reviewed by Carlos Garcia Campos.

  • wtf/OSAllocatorPosix.cpp:

(WTF::OSAllocator::reserveUncommitted):

5:43 AM Changeset in webkit [148740] by commit-queue@webkit.org
  • 6 edits
    1 add in trunk/Source/WebKit

[EFL] Add method in ewk_settings for setting the CSS media type
https://bugs.webkit.org/show_bug.cgi?id=113284

Patch by Jose Lejin PJ <jose.lejin@gmail.com> on 2013-04-19
Reviewed by Gyuyoung Kim.

Source/WebKit:

test_ewk_setting is added.

  • PlatformEfl.cmake:

Source/WebKit/efl:

Added APIs to set and get CSS media type.
Added unit tests for these APIs.

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::overrideMediaType):

  • ewk/ewk_settings.cpp:

(ewk_settings_css_media_type_set):
(ewk_settings_css_media_type_get):

  • ewk/ewk_settings.h:
  • tests/test_ewk_setting.cpp: Added.

(TEST_F):

4:47 AM Changeset in webkit [148739] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

fixed debug broken from previous patch
https://bugs.webkit.org/show_bug.cgi?id=114844

Patch by Xuefei Ren <xren@blackberry.com> on 2013-04-19
Reviewed by Rob Buis.

  • WebKitSupport/RenderQueue.cpp:

(BlackBerry::WebKit::RenderQueue::scrollZoomJobsCompleted):

Add the parameter outstandingJobs which is used in ASSERT(),it was
removed in the r148677 by misstake.now I need to fix it.

4:30 AM Changeset in webkit [148738] by kadam@inf.u-szeged.hu
  • 3 edits
    2 adds in trunk/LayoutTests

[Qt] Unreviewed gardening. Added new baseline.

  • platform/qt/editing/selection/select-across-readonly-input-1-expected.txt: Updated after r148594.
  • platform/qt/fast/sub-pixel/inline-block-with-padding-expected.txt: Added after r148604.
  • platform/qt/fast/sub-pixel/selection/selection-gaps-at-fractional-offsets-expected.png: Added after r148604.
  • platform/qt/fast/sub-pixel/selection/selection-gaps-at-fractional-offsets-expected.txt: Added after r148604.
3:37 AM Changeset in webkit [148737] by commit-queue@webkit.org
  • 4 edits in trunk

[GTK][WK2] accessibility/language-attribute.html is failing
https://bugs.webkit.org/show_bug.cgi?id=106342

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-04-19
Reviewed by Gyuyoung Kim.

Tools:

Adds support for getting language information.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::language):

LayoutTests:

Unskipping accessibility/language-attribute.html.

  • platform/gtk-wk2/TestExpectations:
2:59 AM Changeset in webkit [148736] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] EditorClientBlackBerry: Fix parameter name
https://bugs.webkit.org/show_bug.cgi?id=114856

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-04-19
Reviewed by Carlos Garcia Campos.

Build fix due to a typo in a parameter name.

  • WebCoreSupport/EditorClientBlackBerry.cpp:

(WebCore::EditorClientBlackBerry::requestCheckingOfString):

1:48 AM FeatureFlags edited by dbeam@chromium.org
(diff)
1:47 AM Changeset in webkit [148735] by zandobersek@gmail.com
  • 4 edits in trunk/Tools

[Dashboard] Remove the isToTWebKit member variable from the BuilderGroup interface
https://bugs.webkit.org/show_bug.cgi?id=114805

Reviewed by Benjamin Poulain.

Remove the isToTWebKit member variable from the BuilderGroup and all its usages as it now defaults to true for every
builder group. The isTipOfTreeWebKitBuilder method now returns true by default but should be removed in a follow-up patch.
The BuilderGroup constructor does not accept the isToTWebKit parameter anymore so all the callsites are adjusted accordingly.

  • TestResultServer/static-dashboards/builders.js:

(BuilderGroup):
(loadBuildersList):

  • TestResultServer/static-dashboards/dashboard_base.js:

(isTipOfTreeWebKitBuilder):
(expectationsMap):

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(test):

1:43 AM Changeset in webkit [148734] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[Dashboard] htmlForIndividualTests unit test should include its dummy builder under the webkit.org builder master
https://bugs.webkit.org/show_bug.cgi?id=114804

Reviewed by Benjamin Poulain.

The htmlForIndividualTests unit test should include its dummy builder under the sole supported webkit.org builder master
just so the unit tests properly functions.

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
1:42 AM Changeset in webkit [148733] by zandobersek@gmail.com
  • 3 edits in trunk/Tools

[Dashboard] Remove Chromium-specific helper functions that were used in the builder-loading code
https://bugs.webkit.org/show_bug.cgi?id=114803

Reviewed by Benjamin Poulain.

Remove three Chromium-specific helper functions that were used to determine Chromium DEPS, Content Shell and WebKit ToT
test runners. These are not required anymore and thus removed along with a couple of unit tests that were testing these
methods' correct behavior.

  • TestResultServer/static-dashboards/builders.js:
  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
1:41 AM Changeset in webkit [148732] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[Dashboard] Remove the Chromium-specific builder masters
https://bugs.webkit.org/show_bug.cgi?id=114802

Reviewed by Benjamin Poulain.

Remove all the Chromium-specific builder masters, the webkit.org builder master is the only one currently supported.

  • TestResultServer/static-dashboards/builders.js:
1:40 AM Changeset in webkit [148731] by commit-queue@webkit.org
  • 24 edits
    6 deletes in trunk

Remove unmaintained feature REQUEST_AUTOCOMPLETE
https://bugs.webkit.org/show_bug.cgi?id=114846

Patch by Dan Beam <dbeam@chromium.org> on 2013-04-19
Reviewed by Kent Tamura.

Source/WebCore:

  • GNUmakefile.list.am: Remove AutocompleteErrorEvent.h include.
  • bindings/generic/RuntimeEnabledFeatures.cpp:

(WebCore): Remove requestAutocomplete() runtime feature.

  • bindings/generic/RuntimeEnabledFeatures.h:

(RuntimeEnabledFeatures): Remove requestAutocomplete() runtime feature.

  • dom/AutocompleteErrorEvent.h: Removed.
  • dom/AutocompleteErrorEvent.idl: Removed.
  • dom/EventNames.h: Remove autocomplete and autocompleteerror event names.

(WebCore):

  • dom/EventNames.in: Remove autocomplete and autocompleteerror event names.
  • html/HTMLAttributeNames.in: Remove onautocomplete and onautocompleteerror form attributes.
  • html/HTMLFormElement.cpp: Remove requestAutocomplete() related code.

(WebCore::HTMLFormElement::HTMLFormElement): Remove timer and event queue for requestAutocomplete() related events.
(WebCore::HTMLFormElement::parseAttribute): Remove parsing of onautocomplete and onautocompleterror.

  • html/HTMLFormElement.h: Remove requestAutocomplete() related members.

(HTMLFormElement):

  • html/HTMLFormElement.idl: Remove public requestAutocomplete() API method.
  • loader/EmptyClients.cpp: Remove stub implementation.

(WebCore):

  • loader/EmptyClients.h: Remove stub interface.

(EmptyFrameLoaderClient):

  • loader/FrameLoaderClient.h: Remove didRequestAutocomplete() from interface.

(FrameLoaderClient):

  • page/DOMWindow.idl: Remove AutocompleteErrorEvent from window DOM interface.

Source/WTF:

  • wtf/FeatureDefines.h: Remove REQUEST_AUTOCOMPLETE as a feature definition.

LayoutTests:

  • fast/events/constructors/autocomplete-error-event-constructor-expected.txt: Removed.
  • fast/events/constructors/autocomplete-error-event-constructor.html: Removed.
  • fast/events/event-creation.html: Remove AutocompleteErrorEvent test code.
  • fast/forms/form-request-autocomplete-expected.txt: Removed.
  • fast/forms/form-request-autocomplete.html: Removed.
  • fast/js/constructor-length.html: Remove AutocompleteErrorEvent test code.
  • fast/js/script-tests/global-constructors.js: Remove AutocompleteErrorEvent constructor.
  • platform/blackberry/fast/js/constructor-length-expected.txt: Remove test expectations.
  • platform/gtk/fast/js/constructor-length-expected.txt: Remove test expectations.
  • platform/mac/fast/js/constructor-length-expected.txt: Remove test expectations.
  • platform/qt/fast/js/constructor-length-expected.txt: Remove test expectations.
1:40 AM Changeset in webkit [148730] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[Dashboard] Remove all the Chromium-specific builder groups
https://bugs.webkit.org/show_bug.cgi?id=114801

Reviewed by Benjamin Poulain.

Remove all the Chromium-specific builder groups, all of these are not supported anymore.

  • TestResultServer/static-dashboards/builders.js:
1:39 AM Changeset in webkit [148729] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[Dashboard] Only accept the 'group' parameter if present in the layout tests builders group
https://bugs.webkit.org/show_bug.cgi?id=114799

Reviewed by Benjamin Poulain.

The layout tests builder group is the only one supported, all the other Chromium-specific builder groups are
bound to be removed.

  • TestResultServer/static-dashboards/history.js:

(.):

1:37 AM Changeset in webkit [148728] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[Dashboard] Remove Chromium-specific builder loading code from loadBuildersList
https://bugs.webkit.org/show_bug.cgi?id=114797

Reviewed by Benjamin Poulain.

Remove anything Chromium-specific from the builder-loading code, specifically removing support for loading builder data
for anything other that the layout-tests type and removing support for loading builder data from builders connected
to the Chromium-specific builder groups which are no longer supported.

  • TestResultServer/static-dashboards/builders.js:
1:36 AM Changeset in webkit [148727] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[Dashboard] The currentBuilderGroupCategory method should return the layout tests builder groups by default
https://bugs.webkit.org/show_bug.cgi?id=114796

Reviewed by Benjamin Poulain.

With the Chromium builders no longer uploading results and the layout-tests test type the only one supported by the
WebKit's dashboard, the currentBuilderGroupCategory can now return LAYOUT_TESTS_BUILDER_GROUPS as the default builder
group category.

  • TestResultServer/static-dashboards/dashboard_base.js:

(currentBuilderGroupCategory):

1:33 AM Changeset in webkit [148726] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[Dashboard] Narrow down the test types list to only layout-tests
https://bugs.webkit.org/show_bug.cgi?id=114795

Reviewed by Ryosuke Niwa.

Remove all the redundant test types that the webkit.org builders do not upload results for. All of the removed
test types were specific to the Chromium builders.

  • TestResultServer/static-dashboards/dashboard_base.js:
1:28 AM Changeset in webkit [148725] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[Dashboard] The revision rows for aggregate results should no longer include Chromium revisions
https://bugs.webkit.org/show_bug.cgi?id=114760

Reviewed by Benjamin Poulain.

With the Chromium builders no longer present there's no need to display the Chromium revision range under the
aggregate results. Only the first half of the htmlForRevisionRows method (the one returning the table row listing the
WebKit revisions) is now relevant - the method is therefor removed and its callsites updated to directly call the
htmlForTableRow method that returns the table row containing all the relevant WebKit revisions.

  • TestResultServer/static-dashboards/aggregate_results.js:

(htmlForSummaryTable):
(htmlForTestType):

1:25 AM Changeset in webkit [148724] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[Dashboard] Remove Chromium-specific cases from the construction of the chart HTML for aggregate results
https://bugs.webkit.org/show_bug.cgi?id=114759

Reviewed by Benjamin Poulain.

Aggregate results are not viewable for Chromium builders anymore, meaning the WebKit revisions are shown by default.
This means the code in the chartHTML method can be simplified, defaulting the revision key to WEBKIT_REVISIONS_KEY
and the revision label to 'WebKit Revision'.

  • TestResultServer/static-dashboards/aggregate_results.js:

(chartHTML):

12:14 AM EFLWebKitBuildBots edited by gyuyoung.kim@samsung.com
(diff)

Apr 18, 2013:

10:59 PM Changeset in webkit [148723] by timothy@apple.com
  • 9 edits in trunk

Add CSS.setStyleText to the Web Inspector protocol.

This provides a direct path for the Safari Web Inspector to live edit whole style rules.

https://webkit.org/b/109340
rdar://problem/13337211

Reviewed by Joseph Pecoraro.

Source/WebCore:

  • inspector/Inspector.json:

(CSS.setStyleText): Added.

  • inspector/InspectorCSSAgent.cpp:

(InspectorCSSAgent::SetStyleTextAction):
(WebCore::InspectorCSSAgent::SetStyleTextAction::SetStyleTextAction): Added.
(WebCore::InspectorCSSAgent::SetStyleTextAction::perform): Added.
(WebCore::InspectorCSSAgent::SetStyleTextAction::undo): Added.
(WebCore::InspectorCSSAgent::SetStyleTextAction::redo): Added.
(WebCore::InspectorCSSAgent::SetStyleTextAction::mergeId): Added.
(WebCore::InspectorCSSAgent::SetStyleTextAction::merge): Added.
(WebCore::InspectorCSSAgent::SetPropertyTextAction::redo):
(WebCore::InspectorCSSAgent::setStyleText): Added.

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

(WebCore::InspectorStyle::getText): Added.
(WebCore::InspectorStyle::setText): Added.
(WebCore::InspectorStyleSheet::setStyleText):
(WebCore::InspectorStyleSheetForInlineStyle::setStyleText):

  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorStyle::styleText): Added as an alias to getText.
(WebCore::InspectorStyle::applyStyleText): Added as an alias to setText.

LayoutTests:

  • inspector/styles/styles-new-API-expected.txt: Updated.
  • inspector/styles/styles-new-API.html: Test CSSAgent.setStyleText.
8:04 PM May 2013 Meeting edited by vivekg@webkit.org
(diff)
7:33 PM EFLWebKitBuildBots edited by gyuyoung.kim@samsung.com
Add Samsung gardners (diff)
7:31 PM Changeset in webkit [148722] by jberlin@webkit.org
  • 3 edits in trunk/LayoutTests

More cleaning up of skipped tests.

  • platform/mac-wk2/TestExpectations:

Remove tests that now pass.

  • platform/mac/TestExpectations:

Remove an entry for a bug that has been closed and whose test works just fine on both WK1
and WK2.

6:52 PM Changeset in webkit [148721] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Use StringJoiner to create the JSString of arrayProtoFuncToString
https://bugs.webkit.org/show_bug.cgi?id=114779

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-04-18
Reviewed by Geoffrey Garen.

The function arrayProtoFuncToString was just a glorified JSStringJoiner.
This patch replaces it by JSStringJoiner to simplify the code and enjoy any optimization
made on JSStringJoiner.

For some reason, this makes the execution 3.4% faster, despite having almost identical code.

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncToString):

6:34 PM Changeset in webkit [148720] by oliver@apple.com
  • 4 edits in trunk

StackFrame::column() returning bogus value
https://bugs.webkit.org/show_bug.cgi?id=114840

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

Don't add one part of the expression offset to the other part of the expression.
Make StackFrame::toString() include the column info.

  • interpreter/Interpreter.cpp:

(JSC::StackFrame::expressionInfo):
(JSC::StackFrame::toString):

LayoutTests:

Update test result

  • fast/js/stack-trace-expected.txt:
6:23 PM Changeset in webkit [148719] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

PDFPlugin: Update PDFLayerController's scale factors earlier
https://bugs.webkit.org/show_bug.cgi?id=114843

Reviewed by Simon Fraser.

Inform PDFLayerController of the initial page/device scale factors so that
it renders at the correct scale the first time, instead of first rendering
at 1x and then flashing to 2x (on 2x devices).

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::pdfDocumentDidLoad):

5:38 PM Changeset in webkit [148718] by commit-queue@webkit.org
  • 2 edits in trunk

[EFL] Build break when using cmake without CMAKE_BUILD_TYPE
https://bugs.webkit.org/show_bug.cgi?id=114835

Unreviewed build fix.

Patch by Ryuan Choi <ryuan.choi@gmail.com> on 2013-04-18

  • Source/cmake/OptionsEfl.cmake:
5:25 PM Changeset in webkit [148717] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

PDFPlugin: Hook up the search-in-Spotlight menu item
https://bugs.webkit.org/show_bug.cgi?id=114837
<rdar://problem/13583591>

Reviewed by Mark Rowe.

  • WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:

Add performSpotlightSearch: delegate callback.

  • WebProcess/Plugins/PDF/PDFPlugin.h:

(WebKit::PDFPlugin::performSpotlightSearch):
Add performSpotlightSearch() PDFPlugin method.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(-[WKPDFLayerControllerDelegate performSpotlightSearch:]): Hand the search string to PDFPlugin.
(WebKit::PDFPlugin::performSpotlightSearch): Hand the search string to WebPageProxy.

5:23 PM Changeset in webkit [148716] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Dispatch local storage events
https://bugs.webkit.org/show_bug.cgi?id=114838

Reviewed by Beth Dakin.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::StorageArea::dispatchEvents):
Pass 0 as the storage area ID if the event originally comes from another process.

  • WebProcess/Storage/StorageAreaMap.cpp:

(WebKit::StorageAreaMap::dispatchLocalStorageEvent):
Gather all the frames for which we want to dispatch events.

5:13 PM Changeset in webkit [148715] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Use the page group id from the UI process as the local storage namespace ID
https://bugs.webkit.org/show_bug.cgi?id=114836

Reviewed by Beth Dakin.

The WebCore PageGroup identifier is different across processes, so use the one given to us by the UI process.

  • WebProcess/Storage/StorageNamespaceImpl.cpp:

(WebKit::StorageNamespaceImpl::createLocalStorageNamespace):

  • WebProcess/WebPage/WebPageGroupProxy.h:

(WebKit::WebPageGroupProxy::corePageGroup):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::webPageGroup):

  • WebProcess/WebProcess.h:
4:57 PM Changeset in webkit [148714] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed gardening; fix bindings tests after r148700.

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

(WebCore::JSTestEventTargetOwner::isReachableFromOpaqueRoots):

4:40 PM Changeset in webkit [148713] by timothy_horton@apple.com
  • 8 edits in trunk/Source/WebKit2

Add a synchronous version of WKView endDeferringViewInWindowChanges
https://bugs.webkit.org/show_bug.cgi?id=114780
<rdar://problem/12821901>

Reviewed by Simon Fraser.

Add new WKView SPI, endDeferringViewInWindowChangesSync, which synchronously
(though with a 250 ms timeout) does the work required to reparent a WKView
without flashing white.

  • UIProcess/API/mac/WKView.mm:

(-[WKView beginDeferringViewInWindowChanges]):
(-[WKView endDeferringViewInWindowChanges]):
Make begin/endDeferringViewInWindowChanges not allow nested deferrals,
as we don't need them, and they complicate synchronous-end a lot.

(-[WKView endDeferringViewInWindowChangesSync]):
Add a sync version of endDeferringViewInWindowChanges which waits
for DidUpdateInWindowState.

(-[WKView isDeferringViewInWindowChanges]):

  • UIProcess/API/mac/WKViewPrivate.h: Add endDeferringViewInWindowChangesSync.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::waitForDidUpdateInWindowState):
Add waitForDidUpdateInWindowState(), which blocks for
250ms or until the WebProcess reparents all of its layers and spins
the runloop once, to prevent flashing when parenting a WKView.
If we've already timed out waiting for the WebProcess, don't block, as
it's probably quite busy and is likely to time out again.

  • UIProcess/WebPageProxy.h:

(WebKit::WebPageProxy::isInWindow): Added.
(WebKit::WebPageProxy::waitForDidUpdateInWindowState): Added.
(WebKit::WebPageProxy::didUpdateInWindowState): Added.

  • UIProcess/WebPageProxy.messages.in: Add DidUpdateInWindowState()
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didUpdateInWindowStateTimerFired): Send DidUpdateInWindowState to WebPageProxy.
(WebKit::WebPage::setIsInWindow): When setIsInWindow completes, TileController
tiles have been reparented, and the TiledCoreAnimationDrawingArea has
reconnected the layer tree to the context, start a 0-delay runloop timer
to allow painting and layer flushing to finish; when the timer fires,
we'll send the UIProcess a DidUpdateInWindowState so it can stop blocking.

  • WebProcess/WebPage/WebPage.h:

(WebPage): Add didUpdateInWindowStateTimerFired and m_sendDidUpdateInWindowStateTimer.

4:33 PM May 2013 Meeting edited by timothy@apple.com
(diff)
4:32 PM Changeset in webkit [148712] by aestes@apple.com
  • 7 edits in trunk/Source

REGRESSION (r116645): Versions app's UI is munged in HiDPI due to background-size being reset to 'auto' when background short-hand is also specified
https://bugs.webkit.org/show_bug.cgi?id=114833

Reviewed by David Kilzer.

Source/WebCore:

Added applicationIsVersions() to RuntimeApplicationChecks.

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

(WebCore::applicationIsVersions):
(WebCore):

  • platform/RuntimeApplicationChecks.h:

(WebCore):

Source/WebKit/mac:

The Versions app specifies both a background-size and a background
shorthand CSS property, and its UI is broken after r116645 which resets
background-size to 'auto' if the background shorthand property is
specified.

This patch enables the useLegacyBackgroundSizeShorthandBehavior setting
added in r147034 to restore the expected behavior if the embedder is
Versions.app and it was linked against a version of WebKit that had the
legacy behavior.

  • Misc/WebKitVersionChecks.h:
  • WebView/WebView.mm:

(shouldUseLegacyBackgroundSizeShorthandBehavior):
(-[WebView _commonInitializationWithFrameName:groupName:]):

3:52 PM Changeset in webkit [148711] by mhahnenberg@apple.com
  • 3 edits
    3 adds in trunk

Crash beneath JSC::JIT::privateCompileSlowCases @ stephenrdonaldson.com
https://bugs.webkit.org/show_bug.cgi?id=114774

Reviewed by Geoffrey Garen.

We're not linking up all of the slow cases in the baseline JIT when compiling put_to_base.

Source/JavaScriptCore:

  • jit/JITOpcodes.cpp:

(JSC::JIT::emitSlow_op_put_to_base):

LayoutTests:

  • fast/js/put-to-base-global-checked-expected.txt: Added.
  • fast/js/put-to-base-global-checked.html: Added.
  • fast/js/script-tests/put-to-base-global-checked.js: Added.

(globalF):
(warmup):
(foo):

3:45 PM Changeset in webkit [148710] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Invalidate spell checking requests in platform code
https://bugs.webkit.org/show_bug.cgi?id=114830

Patch by Nima Ghanavatian <nghanavatian@blackberry.com> on 2013-04-18
Reviewed by Rob Buis.

Internally reviewed by Mike Fenton.

Cache the value of the last requested sequence id at focus change.
All requests prior to this point will be rejected upon processing.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::InputHandler):
(BlackBerry::WebKit::InputHandler::requestCheckingOfString):
(BlackBerry::WebKit::InputHandler::stopPendingSpellCheckRequests):

  • WebKitSupport/InputHandler.h:

(InputHandler):

3:45 PM Changeset in webkit [148709] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Interpreter entry points should throw the TerminatedExecutionException from the caller frame.
https://bugs.webkit.org/show_bug.cgi?id=114816.

Reviewed by Oliver Hunt.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):

3:34 PM Changeset in webkit [148708] by weinig@apple.com
  • 6 edits
    1 move in trunk/Source

Network Process crashing trying to read in IDNScriptWhiteList.txt
https://bugs.webkit.org/show_bug.cgi?id=114827

Reviewed by Anders Carlsson.

Move IDNScriptWhiteList.txt from WebKit to WebCore, so that the NetworkProcess does not have to link against
WebKit. It was a layering violation for WebCore to be trying to access WebKit resources anyway.

Source/WebCore:

  • Resources/IDNScriptWhiteList.txt: Copied from Source/WebKit/mac/Resources/IDNScriptWhiteList.txt.
  • WebCore.xcodeproj/project.pbxproj:
  • platform/mac/WebCoreNSURLExtras.mm:

(WebCore::readIDNScriptWhiteList):

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/mac:

  • Resources/IDNScriptWhiteList.txt: Removed.
3:29 PM Changeset in webkit [148707] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Remove GraphicsLayerCA::constrainedSize() now that we can manage large layer memory use ourselves in TileController
https://bugs.webkit.org/show_bug.cgi?id=114834

Reviewed by Tim Horton.

GraphicsLayerCA::constrainedSize() was added to handle poor CATiledLayer behavior when layer sizes
got extremely large. Now that we no longer use CATiledLayer, remove this code. We can later add
tile memory bounding to TileController if that becomes necessary.

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateGeometry):

  • platform/graphics/ca/GraphicsLayerCA.h:

(GraphicsLayerCA):

3:13 PM Changeset in webkit [148706] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

StorageManager should keep track of local storage namespaces
https://bugs.webkit.org/show_bug.cgi?id=114831

Reviewed by Beth Dakin.

  • UIProcess/Storage/StorageManager.cpp:

(StorageManager::StorageArea):
Add the local storage namespace, and security origin as member variables.

(StorageManager::LocalStorageNamespace):
New class that represents a local storage namespace.

(WebKit::StorageManager::StorageArea::~StorageArea):
If this storage area belongs to a local storage namespace, notify it that we've been destroyed.

(WebKit::StorageManager::StorageArea::clone):
Assert that we don't have a local storage namespace.

(WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea):
If we already have a storage area for the given security origin, return it. Otherwise, create a new storage area.
Note that LocalStorageNamespace does not hold strong references to its StorageArea objects; they are being kept alive
by a mapping inside the StorageManager.

(WebKit::StorageManager::LocalStorageNamespace::didDestroyStorageArea):
Remove the storage area from the map. If there are no more areas, remove the namespace from the manager.

(WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
StorageArea::create now takes the security origin.

(WebKit::StorageManager::createLocalStorageMap):
Get (or create) the right local storage namespace and then create a storage area.

2:56 PM Changeset in webkit [148705] by rgabor@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

LLInt ARM backend should not use the d8 register as scratch register
https://bugs.webkit.org/show_bug.cgi?id=114811

Reviewed by Filip Pizlo.

The d8 register must preserved across function calls and should
not used as scratch register. Changing it to d6.

  • offlineasm/arm.rb:
2:55 PM Changeset in webkit [148704] by ggaren@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Removed HeapTimer::synchronize
https://bugs.webkit.org/show_bug.cgi?id=114832

Reviewed by Mark Hahnenberg.

HeapTimer::synchronize was a flawed attempt to make HeapTimer thread-safe.
Instead, we use proper locking now.

This is a slight API change, since the GC timer will now only fire in the
run loop that created the JS VM, even if another run loop later executes
some JS.

  • API/APIShims.h:

(JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):

  • heap/HeapTimer.cpp:

(JSC):

  • heap/HeapTimer.h:

(HeapTimer):

2:48 PM Changeset in webkit [148703] by fpizlo@apple.com
  • 15 edits
    1 add in branches/dfgFourthTier/Source

fourthTier: all inline caches should thread-safe enough to allow a concurrent compilation thread to read them safely
https://bugs.webkit.org/show_bug.cgi?id=114762

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

For most inline caches this is easy: the inline cache has a clean temporal
separation between doing the requested action (which may take an unbounded
amount of time, may recurse, and may do arbitrary things) and recording the
relevant information in the cache. So, we just put locks around the
recording bit. That part is always O(1) and does not recurse. The lock we
use is per-CodeBlock to achieve a good balance between locking granularity
and low space overhead. So a concurrent compilation thread will only block
if an inline cache ping-pongs in the code block being compiled (or inlined)
and never when other inline caches do things.

For resolve operations, it's a bit tricky. The global resolve bit works
like any other IC in that it has the clean temporal separation. But the
operations vector itself doesn't have this separation, since we will be
filling it in tandem with actions that may take a long time. This patch
gets around this by having a m_ready bit in the ResolveOperations and
PutToBaseOperation. This is set while holding the CodeBlock's lock. If the
DFG observes the m_ready bit not set (while holding the lock) then it
conservatively assumes that the resolve hasn't happened yet and just
plants a ForceOSRExit.

  • bytecode/CallLinkStatus.cpp:

(JSC::CallLinkStatus::computeFor):

  • bytecode/CodeBlock.h:

(CodeBlock):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFor):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor):

  • bytecode/ResolveGlobalStatus.cpp:

(JSC::ResolveGlobalStatus::computeFor):

  • bytecode/ResolveOperation.h:

(JSC::ResolveOperations::ResolveOperations):
(ResolveOperations):
(JSC::PutToBaseOperation::PutToBaseOperation):

  • dfg/DFGByteCodeParser.cpp:

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

  • jit/JITStubs.cpp:

(JSC::tryCachePutByID):
(JSC::tryCacheGetByID):
(JSC::DEFINE_STUB_FUNCTION):
(JSC::lazyLinkFor):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::setUpCall):

  • runtime/JSScope.cpp:

(JSC::JSScope::resolveContainingScopeInternal):
(JSC::JSScope::resolveContainingScope):
(JSC::JSScope::resolvePut):

Source/WTF:

Reviewed by Mark Hahnenberg.

Implemented a new spinlock that is optimized for compactness, by using just a byte.
This will be useful as we start using fine-grained locking on a bunch of places.

At some point I'll make these byte-sized spinlocks into adaptive mutexes, but for
now I think it's fine to do the evil thing and use spinning particularly since we
only use them for short critical sections.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/Atomics.h:

(WTF):
(WTF::weakCompareAndSwap):

  • wtf/ByteSpinLock.h: Added.

(WTF):
(ByteSpinLock):
(WTF::ByteSpinLock::ByteSpinLock):
(WTF::ByteSpinLock::lock):
(WTF::ByteSpinLock::unlock):
(WTF::ByteSpinLock::isHeld):

  • wtf/ThreadingPrimitives.h:

(WTF::pauseBriefly):
(WTF):

2:48 PM Changeset in webkit [148702] by Patrick Gansterer
  • 3 edits in trunk/Source/WebKit/wince

Unreviewed WinCE build fix after r148545.

  • WebCoreSupport/EditorClientWinCE.cpp:
  • WebView.cpp:
2:20 PM May 2013 Meeting edited by stearns@adobe.com
(diff)
2:19 PM May 2013 Meeting edited by stearns@adobe.com
(diff)
2:12 PM May 2013 Meeting edited by stearns@adobe.com
(diff)
2:01 PM Changeset in webkit [148701] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove obsolete macros from libpng
https://bugs.webkit.org/show_bug.cgi?id=114817

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-04-18
Reviewed by Benjamin Poulain.

libpng 1.4 removes the png_voidp_NULL and png_error_ptr_NULL
macros. Null pointers must be used directly instead.

  • platform/image-encoders/PNGImageEncoder.cpp:

(WebCore::compressRGBABigEndianToPNG):

1:39 PM Changeset in webkit [148700] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

CodeGeneratorJS.pm should generate "isFiringEventListeners()" check in isReachableFromOpaqueRoots()
https://bugs.webkit.org/show_bug.cgi?id=114784

Reviewed by Geoffrey Garen.

EventTarget subclasses shouldn't have to use CustomIsReachable directives
in order to keep their wrappers alive while firing event listeners.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

1:31 PM Changeset in webkit [148699] by Lucas Forschler
  • 4 edits in branches/safari-536.30-branch/Source

Versioning.

1:30 PM Changeset in webkit [148698] by Lucas Forschler
  • 1 copy in tags/Safari-536.30.1

New Tag.

1:13 PM Changeset in webkit [148697] by ggaren@apple.com
  • 555 edits
    3 moves in branches/dfgFourthTier/Source

Cherry-pick merged <http://trac.webkit.org/changeset/148696> to the FTL
branch, to ease merging back later.

NOTE: Please skip this patch when merging from the FTL branch back to
trunk.

JavaScriptCore:

Reviewed by Phil Pizlo.

WebCore:

Reviewed by Phil Pizlo.

WebKit/blackberry:

Reviewed by Phil Pizlo.

WebKit/efl:

Reviewed by Phil Pizlo.

WebKit/gtk:

Reviewed by Phil Pizlo.

WebKit/mac:

Reviewed by Phil Pizlo.

WebKit/qt:

Reviewed by Phil Pizlo.

WebKit/win:

Reviewed by Phil Pizlo.

WebKit2:

Reviewed by Phil Pizlo.

12:32 PM Changeset in webkit [148696] by ggaren@apple.com
  • 550 edits
    3 moves in trunk/Source

Renamed JSGlobalData to VM
https://bugs.webkit.org/show_bug.cgi?id=114777

Reviewed by Phil Pizlo.

../JavaScriptCore:

  • API/APICast.h:

(JSC):
(toJS):
(toRef):

  • API/APIShims.h:

(JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
(APIEntryShimWithoutLock):
(JSC::APIEntryShim::APIEntryShim):
(APIEntryShim):
(JSC::APIEntryShim::~APIEntryShim):
(JSC::APICallbackShim::APICallbackShim):
(JSC::APICallbackShim::~APICallbackShim):
(APICallbackShim):

  • API/JSAPIWrapperObject.h:

(JSAPIWrapperObject):

  • API/JSAPIWrapperObject.mm:

(JSC::::createStructure):
(JSC::JSAPIWrapperObject::JSAPIWrapperObject):
(JSC::JSAPIWrapperObject::finishCreation):
(JSC::JSAPIWrapperObject::visitChildren):

  • API/JSBase.cpp:

(JSGarbageCollect):
(JSReportExtraMemoryCost):
(JSSynchronousGarbageCollectForDebugging):

  • API/JSCallbackConstructor.cpp:

(JSC::JSCallbackConstructor::JSCallbackConstructor):
(JSC::JSCallbackConstructor::finishCreation):

  • API/JSCallbackConstructor.h:

(JSC::JSCallbackConstructor::createStructure):

  • API/JSCallbackFunction.cpp:

(JSC::JSCallbackFunction::finishCreation):
(JSC::JSCallbackFunction::create):

  • API/JSCallbackFunction.h:

(JSCallbackFunction):
(JSC::JSCallbackFunction::createStructure):

  • API/JSCallbackObject.cpp:

(JSC::::create):
(JSC::::createStructure):

  • API/JSCallbackObject.h:

(JSC::JSCallbackObjectData::setPrivateProperty):
(JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
(JSCallbackObject):
(JSC::JSCallbackObject::setPrivateProperty):

  • API/JSCallbackObjectFunctions.h:

(JSC::::JSCallbackObject):
(JSC::::finishCreation):
(JSC::::put):
(JSC::::staticFunctionGetter):

  • API/JSClassRef.cpp:

(OpaqueJSClassContextData::OpaqueJSClassContextData):
(OpaqueJSClass::contextData):
(OpaqueJSClass::prototype):

  • API/JSClassRef.h:

(OpaqueJSClassContextData):

  • API/JSContext.mm:

(-[JSContext setException:]):
(-[JSContext initWithGlobalContextRef:]):
(+[JSContext contextWithGlobalContextRef:]):

  • API/JSContextRef.cpp:

(JSContextGroupCreate):
(JSContextGroupRelease):
(JSGlobalContextCreate):
(JSGlobalContextCreateInGroup):
(JSGlobalContextRetain):
(JSGlobalContextRelease):
(JSContextGetGroup):
(JSContextCreateBacktrace):

  • API/JSObjectRef.cpp:

(JSObjectMake):
(JSObjectMakeConstructor):
(JSObjectMakeFunction):
(JSObjectSetPrototype):
(JSObjectHasProperty):
(JSObjectGetProperty):
(JSObjectSetProperty):
(JSObjectDeleteProperty):
(JSObjectGetPrivateProperty):
(JSObjectSetPrivateProperty):
(JSObjectDeletePrivateProperty):
(OpaqueJSPropertyNameArray::OpaqueJSPropertyNameArray):
(OpaqueJSPropertyNameArray):
(JSObjectCopyPropertyNames):
(JSPropertyNameArrayRelease):
(JSPropertyNameAccumulatorAddName):

  • API/JSScriptRef.cpp:

(OpaqueJSScript::create):
(OpaqueJSScript::vm):
(OpaqueJSScript::OpaqueJSScript):
(OpaqueJSScript):
(parseScript):

  • API/JSVirtualMachine.mm:

(scanExternalObjectGraph):

  • API/JSVirtualMachineInternal.h:

(JSC):

  • API/JSWrapperMap.mm:

(makeWrapper):

  • API/ObjCCallbackFunction.h:

(JSC::ObjCCallbackFunction::createStructure):

  • API/ObjCCallbackFunction.mm:

(JSC::ObjCCallbackFunction::create):

  • API/OpaqueJSString.cpp:

(OpaqueJSString::identifier):

  • API/OpaqueJSString.h:

(JSC):
(OpaqueJSString):

  • GNUmakefile.list.am:
  • JSCTypedArrayStubs.h:

(JSC):

(Trie.printSubTreeAsC):

  • Target.pri:
  • assembler/ARMAssembler.cpp:

(JSC::ARMAssembler::executableCopy):

  • assembler/ARMAssembler.h:

(ARMAssembler):

  • assembler/AssemblerBuffer.h:

(JSC::AssemblerBuffer::executableCopy):

  • assembler/AssemblerBufferWithConstantPool.h:

(JSC::AssemblerBufferWithConstantPool::executableCopy):

  • assembler/LinkBuffer.cpp:

(JSC::LinkBuffer::linkCode):

  • assembler/LinkBuffer.h:

(JSC):
(JSC::LinkBuffer::LinkBuffer):
(LinkBuffer):

  • assembler/MIPSAssembler.h:

(JSC::MIPSAssembler::executableCopy):

  • assembler/SH4Assembler.h:

(JSC::SH4Assembler::executableCopy):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::executableCopy):
(JSC::X86Assembler::X86InstructionFormatter::executableCopy):

  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::unlink):

  • bytecode/CallLinkInfo.h:

(CallLinkInfo):

  • bytecode/CodeBlock.cpp:

(JSC::dumpStructure):
(JSC::CodeBlock::printStructures):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::~CodeBlock):
(JSC::CodeBlock::visitStructures):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::createActivation):
(JSC::CodeBlock::unlinkCalls):
(JSC::CodeBlock::unlinkIncomingCalls):
(JSC::CodeBlock::findClosureCallForReturnPC):
(JSC::ProgramCodeBlock::jettisonImpl):
(JSC::EvalCodeBlock::jettisonImpl):
(JSC::FunctionCodeBlock::jettisonImpl):
(JSC::CodeBlock::predictedMachineCodeSize):
(JSC::CodeBlock::usesOpcode):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::appendWeakReference):
(JSC::CodeBlock::appendWeakReferenceTransition):
(JSC::CodeBlock::setJITCode):
(JSC::CodeBlock::setGlobalData):
(JSC::CodeBlock::vm):
(JSC::CodeBlock::valueProfileForBytecodeOffset):
(JSC::CodeBlock::addConstant):
(JSC::CodeBlock::setConstantRegisters):
(CodeBlock):
(JSC::CodeBlock::WeakReferenceTransition::WeakReferenceTransition):

  • bytecode/EvalCodeCache.h:

(JSC::EvalCodeCache::getSlow):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForChain):
(JSC::GetByIdStatus::computeFor):

  • bytecode/GetByIdStatus.h:

(GetByIdStatus):

  • bytecode/Instruction.h:

(JSC::Instruction::Instruction):

  • bytecode/ObjectAllocationProfile.h:

(JSC::ObjectAllocationProfile::initialize):
(JSC::ObjectAllocationProfile::possibleDefaultPropertyCount):

  • bytecode/PolymorphicAccessStructureList.h:

(JSC::PolymorphicAccessStructureList::PolymorphicStubInfo::set):
(JSC::PolymorphicAccessStructureList::PolymorphicAccessStructureList):

  • bytecode/PolymorphicPutByIdList.h:

(JSC::PutByIdAccess::transition):
(JSC::PutByIdAccess::replace):

  • bytecode/PreciseJumpTargets.cpp:

(JSC::computePreciseJumpTargets):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFromLLInt):
(JSC::PutByIdStatus::computeFor):

  • bytecode/PutByIdStatus.h:

(JSC):
(PutByIdStatus):

  • bytecode/ResolveGlobalStatus.cpp:

(JSC::computeForStructure):

  • bytecode/SamplingTool.cpp:

(JSC::SamplingTool::notifyOfScope):

  • bytecode/SamplingTool.h:

(JSC::ScriptSampleRecord::ScriptSampleRecord):
(SamplingTool):

  • bytecode/StructureStubInfo.h:

(JSC::StructureStubInfo::initGetByIdSelf):
(JSC::StructureStubInfo::initGetByIdProto):
(JSC::StructureStubInfo::initGetByIdChain):
(JSC::StructureStubInfo::initPutByIdTransition):
(JSC::StructureStubInfo::initPutByIdReplace):

  • bytecode/UnlinkedCodeBlock.cpp:

(JSC::generateFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::link):
(JSC::UnlinkedFunctionExecutable::fromGlobalCode):
(JSC::UnlinkedFunctionExecutable::codeBlockFor):
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedFunctionExecutable::create):
(UnlinkedFunctionExecutable):
(JSC::UnlinkedFunctionExecutable::finishCreation):
(JSC::UnlinkedFunctionExecutable::createStructure):
(JSC::UnlinkedCodeBlock::addRegExp):
(JSC::UnlinkedCodeBlock::addConstant):
(JSC::UnlinkedCodeBlock::addFunctionDecl):
(JSC::UnlinkedCodeBlock::addFunctionExpr):
(JSC::UnlinkedCodeBlock::vm):
(UnlinkedCodeBlock):
(JSC::UnlinkedCodeBlock::finishCreation):
(JSC::UnlinkedGlobalCodeBlock::UnlinkedGlobalCodeBlock):
(JSC::UnlinkedProgramCodeBlock::create):
(JSC::UnlinkedProgramCodeBlock::addFunctionDeclaration):
(JSC::UnlinkedProgramCodeBlock::UnlinkedProgramCodeBlock):
(JSC::UnlinkedProgramCodeBlock::createStructure):
(JSC::UnlinkedEvalCodeBlock::create):
(JSC::UnlinkedEvalCodeBlock::UnlinkedEvalCodeBlock):
(JSC::UnlinkedEvalCodeBlock::createStructure):
(JSC::UnlinkedFunctionCodeBlock::create):
(JSC::UnlinkedFunctionCodeBlock::UnlinkedFunctionCodeBlock):
(JSC::UnlinkedFunctionCodeBlock::createStructure):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::addConstant):
(JSC::BytecodeGenerator::emitLoad):
(JSC::BytecodeGenerator::emitDirectPutById):
(JSC::BytecodeGenerator::addStringConstant):
(JSC::BytecodeGenerator::expectedFunctionForIdentifier):
(JSC::BytecodeGenerator::emitThrowReferenceError):
(JSC::BytecodeGenerator::emitReadOnlyExceptionIfNeeded):

  • bytecompiler/BytecodeGenerator.h:

(BytecodeGenerator):
(JSC::BytecodeGenerator::vm):
(JSC::BytecodeGenerator::propertyNames):
(JSC::BytecodeGenerator::makeFunction):

  • bytecompiler/NodesCodegen.cpp:

(JSC::RegExpNode::emitBytecode):
(JSC::ArrayNode::toArgumentList):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::InstanceOfNode::emitBytecode):

  • debugger/Debugger.cpp:

(JSC::Debugger::recompileAllJSFunctions):
(JSC::evaluateInGlobalCallFrame):

  • debugger/Debugger.h:

(JSC):

  • debugger/DebuggerActivation.cpp:

(JSC::DebuggerActivation::DebuggerActivation):
(JSC::DebuggerActivation::finishCreation):

  • debugger/DebuggerActivation.h:

(JSC::DebuggerActivation::create):
(JSC::DebuggerActivation::createStructure):
(DebuggerActivation):

  • debugger/DebuggerCallFrame.cpp:

(JSC::DebuggerCallFrame::evaluate):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::executeEffects):

  • dfg/DFGAssemblyHelpers.h:

(JSC::DFG::AssemblyHelpers::AssemblyHelpers):
(JSC::DFG::AssemblyHelpers::vm):
(JSC::DFG::AssemblyHelpers::debugCall):
(JSC::DFG::AssemblyHelpers::emitExceptionCheck):
(AssemblyHelpers):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::ByteCodeParser):
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::parseCodeBlock):

  • dfg/DFGByteCodeParser.h:

(JSC):

  • dfg/DFGCCallHelpers.h:

(JSC::DFG::CCallHelpers::CCallHelpers):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::canHandleOpcodes):

  • dfg/DFGConstantFoldingPhase.cpp:

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

  • dfg/DFGDisassembler.cpp:

(JSC::DFG::Disassembler::reportToProfiler):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGDriver.h:

(JSC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::isStringPrototypeMethodSane):
(JSC::DFG::FixupPhase::canOptimizeStringObjectAccess):

  • dfg/DFGGraph.cpp:

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

  • dfg/DFGGraph.h:

(Graph):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::JITCompiler):
(JSC::DFG::JITCompiler::linkOSRExits):
(JSC::DFG::JITCompiler::link):
(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):

  • dfg/DFGJITCompiler.h:

(JSC):

  • dfg/DFGOSREntry.cpp:

(JSC::DFG::prepareOSREntry):

  • dfg/DFGOSRExitCompiler.cpp:
  • dfg/DFGOSRExitCompiler32_64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

  • dfg/DFGOperations.cpp:

(JSC::DFG::putByVal):
(JSC::DFG::operationPutByValInternal):
(JSC::getHostCallReturnValueWithExecState):

  • dfg/DFGPhase.h:

(JSC::DFG::Phase::vm):

  • dfg/DFGRepatch.cpp:

(JSC::DFG::generateProtoChainAccessStub):
(JSC::DFG::tryCacheGetByID):
(JSC::DFG::tryBuildGetByIDList):
(JSC::DFG::tryBuildGetByIDProtoList):
(JSC::DFG::emitPutReplaceStub):
(JSC::DFG::emitPutTransitionStub):
(JSC::DFG::tryCachePutByID):
(JSC::DFG::tryBuildPutByIdList):
(JSC::DFG::linkSlowFor):
(JSC::DFG::dfgLinkFor):
(JSC::DFG::dfgLinkSlowFor):
(JSC::DFG::dfgLinkClosureCall):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::typedArrayDescriptor):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compileGetByValOnString):
(JSC::DFG::SpeculativeJIT::compileFromCharCode):
(JSC::DFG::SpeculativeJIT::compileMakeRope):
(JSC::DFG::SpeculativeJIT::compileStringEquality):
(JSC::DFG::SpeculativeJIT::compileToStringOnCell):
(JSC::DFG::SpeculativeJIT::speculateObject):
(JSC::DFG::SpeculativeJIT::speculateObjectOrOther):
(JSC::DFG::SpeculativeJIT::speculateString):
(JSC::DFG::SpeculativeJIT::speculateStringOrStringObject):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::prepareForExternalCall):
(JSC::DFG::SpeculativeJIT::emitAllocateBasicStorage):
(JSC::DFG::SpeculativeJIT::emitAllocateJSObject):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compileObjectEquality):
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compileObjectOrOtherLogicalNot):
(JSC::DFG::SpeculativeJIT::emitObjectOrOtherBranch):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGThunks.cpp:

(JSC::DFG::osrExitGenerationThunkGenerator):
(JSC::DFG::throwExceptionFromCallSlowPathGenerator):
(JSC::DFG::slowPathFor):
(JSC::DFG::linkForThunkGenerator):
(JSC::DFG::linkCallThunkGenerator):
(JSC::DFG::linkConstructThunkGenerator):
(JSC::DFG::linkClosureCallThunkGenerator):
(JSC::DFG::virtualForThunkGenerator):
(JSC::DFG::virtualCallThunkGenerator):
(JSC::DFG::virtualConstructThunkGenerator):

  • dfg/DFGThunks.h:

(JSC):
(DFG):

  • heap/BlockAllocator.h:

(JSC):

  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::tryAllocateSlowCase):
(JSC::CopiedSpace::tryReallocate):

  • heap/CopiedSpaceInlines.h:

(JSC::CopiedSpace::tryAllocate):

  • heap/GCThreadSharedData.cpp:

(JSC::GCThreadSharedData::GCThreadSharedData):
(JSC::GCThreadSharedData::reset):

  • heap/GCThreadSharedData.h:

(JSC):
(GCThreadSharedData):

  • heap/HandleSet.cpp:

(JSC::HandleSet::HandleSet):
(JSC::HandleSet::~HandleSet):
(JSC::HandleSet::grow):

  • heap/HandleSet.h:

(JSC):
(HandleSet):
(JSC::HandleSet::vm):

  • heap/Heap.cpp:

(JSC::Heap::Heap):
(JSC):
(JSC::Heap::lastChanceToFinalize):
(JSC::Heap::protect):
(JSC::Heap::unprotect):
(JSC::Heap::stack):
(JSC::Heap::getConservativeRegisterRoots):
(JSC::Heap::markRoots):
(JSC::Heap::deleteAllCompiledCode):
(JSC::Heap::collect):
(JSC::Heap::isValidAllocation):

  • heap/Heap.h:

(JSC):
(Heap):
(JSC::Heap::vm):

  • heap/HeapTimer.cpp:

(JSC::HeapTimer::HeapTimer):
(JSC::HeapTimer::timerDidFire):
(JSC::HeapTimer::timerEvent):

  • heap/HeapTimer.h:

(JSC):
(HeapTimer):

  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::IncrementalSweeper):
(JSC::IncrementalSweeper::sweepNextBlock):
(JSC::IncrementalSweeper::willFinishSweeping):
(JSC::IncrementalSweeper::create):

  • heap/IncrementalSweeper.h:

(IncrementalSweeper):

  • heap/Local.h:

(Local):
(JSC::::Local):
(JSC::LocalStack::LocalStack):
(JSC::LocalStack::push):
(LocalStack):

  • heap/LocalScope.h:

(JSC):
(LocalScope):
(JSC::LocalScope::LocalScope):

  • heap/MachineStackMarker.cpp:

(JSC::MachineThreads::addCurrentThread):

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::allocateSlowCase):

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::MarkedBlock):

  • heap/MarkedBlock.h:

(JSC::MarkedBlock::vm):

  • heap/SlotVisitor.cpp:

(JSC::SlotVisitor::SlotVisitor):
(JSC::SlotVisitor::setup):

  • heap/Strong.h:

(JSC):
(Strong):
(JSC::Strong::operator=):

  • heap/StrongInlines.h:

(JSC::::Strong):
(JSC::::set):

  • heap/SuperRegion.h:

(JSC):

  • heap/WeakSet.cpp:
  • heap/WeakSet.h:

(WeakSet):
(JSC::WeakSet::WeakSet):
(JSC::WeakSet::vm):

  • interpreter/AbstractPC.cpp:

(JSC::AbstractPC::AbstractPC):

  • interpreter/AbstractPC.h:

(JSC):
(AbstractPC):

  • interpreter/CachedCall.h:

(JSC::CachedCall::CachedCall):

  • interpreter/CallFrame.h:

(ExecState):
(JSC::ExecState::clearException):
(JSC::ExecState::clearSupplementaryExceptionInfo):
(JSC::ExecState::exception):
(JSC::ExecState::hadException):
(JSC::ExecState::propertyNames):
(JSC::ExecState::emptyList):
(JSC::ExecState::interpreter):
(JSC::ExecState::heap):
(JSC::ExecState::arrayConstructorTable):
(JSC::ExecState::arrayPrototypeTable):
(JSC::ExecState::booleanPrototypeTable):
(JSC::ExecState::dateTable):
(JSC::ExecState::dateConstructorTable):
(JSC::ExecState::errorPrototypeTable):
(JSC::ExecState::globalObjectTable):
(JSC::ExecState::jsonTable):
(JSC::ExecState::mathTable):
(JSC::ExecState::numberConstructorTable):
(JSC::ExecState::numberPrototypeTable):
(JSC::ExecState::objectConstructorTable):
(JSC::ExecState::privateNamePrototypeTable):
(JSC::ExecState::regExpTable):
(JSC::ExecState::regExpConstructorTable):
(JSC::ExecState::regExpPrototypeTable):
(JSC::ExecState::stringConstructorTable):
(JSC::ExecState::abstractReturnPC):

  • interpreter/CallFrameClosure.h:

(CallFrameClosure):

  • interpreter/Interpreter.cpp:

(JSC):
(JSC::eval):
(JSC::loadVarargs):
(JSC::Interpreter::Interpreter):
(JSC::Interpreter::dumpRegisters):
(JSC::Interpreter::unwindCallFrame):
(JSC::appendSourceToError):
(JSC::getCallerInfo):
(JSC::Interpreter::getStackTrace):
(JSC::Interpreter::addStackTraceIfNecessary):
(JSC::Interpreter::throwException):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
(JSC::Interpreter::retrieveArgumentsFromVMCode):
(JSC::Interpreter::retrieveCallerFromVMCode):

  • interpreter/Interpreter.h:

(JSC):
(JSC::TopCallFrameSetter::TopCallFrameSetter):
(JSC::TopCallFrameSetter::~TopCallFrameSetter):
(TopCallFrameSetter):
(JSC::NativeCallFrameTracer::NativeCallFrameTracer):
(Interpreter):

  • interpreter/JSStack.cpp:

(JSC::JSStack::JSStack):

  • interpreter/JSStack.h:

(JSC):

  • jit/ClosureCallStubRoutine.cpp:

(JSC::ClosureCallStubRoutine::ClosureCallStubRoutine):

  • jit/ClosureCallStubRoutine.h:

(ClosureCallStubRoutine):

  • jit/ExecutableAllocator.cpp:

(JSC::ExecutableAllocator::ExecutableAllocator):
(JSC::ExecutableAllocator::allocate):

  • jit/ExecutableAllocator.h:

(JSC):
(ExecutableAllocator):

  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::ExecutableAllocator::ExecutableAllocator):
(JSC::ExecutableAllocator::allocate):

  • jit/GCAwareJITStubRoutine.cpp:

(JSC::GCAwareJITStubRoutine::GCAwareJITStubRoutine):
(JSC::MarkingGCAwareJITStubRoutineWithOneObject::MarkingGCAwareJITStubRoutineWithOneObject):
(JSC::createJITStubRoutine):

  • jit/GCAwareJITStubRoutine.h:

(GCAwareJITStubRoutine):
(MarkingGCAwareJITStubRoutineWithOneObject):
(JSC):

  • jit/JIT.cpp:

(JSC::JIT::JIT):
(JSC::JIT::privateCompile):
(JSC::JIT::linkFor):
(JSC::JIT::linkSlowCall):

  • jit/JIT.h:

(JSC::JIT::compile):
(JSC::JIT::compileClosureCall):
(JSC::JIT::compileGetByIdProto):
(JSC::JIT::compileGetByIdSelfList):
(JSC::JIT::compileGetByIdProtoList):
(JSC::JIT::compileGetByIdChainList):
(JSC::JIT::compileGetByIdChain):
(JSC::JIT::compilePutByIdTransition):
(JSC::JIT::compileGetByVal):
(JSC::JIT::compilePutByVal):
(JSC::JIT::compileCTINativeCall):
(JSC::JIT::compilePatchGetArrayLength):
(JIT):

  • jit/JITCall.cpp:

(JSC::JIT::compileLoadVarargs):
(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCallSlowCase):
(JSC::JIT::privateCompileClosureCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileLoadVarargs):
(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCallSlowCase):
(JSC::JIT::privateCompileClosureCall):

  • jit/JITCode.h:

(JSC):
(JSC::JITCode::execute):

  • jit/JITDriver.h:

(JSC::jitCompileIfAppropriate):
(JSC::jitCompileFunctionIfAppropriate):

  • jit/JITExceptions.cpp:

(JSC::genericThrow):
(JSC::jitThrow):

  • jit/JITExceptions.h:

(JSC):

  • jit/JITInlines.h:

(JSC::JIT::emitLoadCharacterString):
(JSC::JIT::updateTopCallFrame):

  • jit/JITOpcodes.cpp:

(JSC::JIT::privateCompileCTINativeCall):
(JSC::JIT::emit_op_new_object):
(JSC::JIT::emit_op_to_primitive):
(JSC::JIT::emit_op_catch):
(JSC::JIT::emit_op_convert_this):
(JSC::JIT::emitSlow_op_convert_this):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::privateCompileCTINativeCall):
(JSC::JIT::emit_op_new_object):
(JSC::JIT::emit_op_to_primitive):
(JSC::JIT::emitSlow_op_eq):
(JSC::JIT::emitSlow_op_neq):
(JSC::JIT::compileOpStrictEq):
(JSC::JIT::emit_op_catch):
(JSC::JIT::emit_op_convert_this):
(JSC::JIT::emitSlow_op_convert_this):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::compileGetByIdHotPath):
(JSC::JIT::privateCompilePutByIdTransition):
(JSC::JIT::privateCompilePatchGetArrayLength):
(JSC::JIT::privateCompileGetByIdProto):
(JSC::JIT::privateCompileGetByIdSelfList):
(JSC::JIT::privateCompileGetByIdProtoList):
(JSC::JIT::privateCompileGetByIdChainList):
(JSC::JIT::privateCompileGetByIdChain):
(JSC::JIT::privateCompileGetByVal):
(JSC::JIT::privateCompilePutByVal):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::stringGetByValStubGenerator):
(JSC::JIT::emitSlow_op_get_by_val):
(JSC::JIT::compileGetByIdHotPath):
(JSC::JIT::privateCompilePutByIdTransition):
(JSC::JIT::privateCompilePatchGetArrayLength):
(JSC::JIT::privateCompileGetByIdProto):
(JSC::JIT::privateCompileGetByIdSelfList):
(JSC::JIT::privateCompileGetByIdProtoList):
(JSC::JIT::privateCompileGetByIdChainList):
(JSC::JIT::privateCompileGetByIdChain):

  • jit/JITStubs.cpp:

(JSC::ctiTrampoline):
(JSC):
(JSC::performPlatformSpecificJITAssertions):
(JSC::tryCachePutByID):
(JSC::tryCacheGetByID):
(JSC::returnToThrowTrampoline):
(JSC::throwExceptionFromOpCall):
(JSC::DEFINE_STUB_FUNCTION):
(JSC::getPolymorphicAccessStructureListSlot):
(JSC::jitCompileFor):
(JSC::lazyLinkFor):
(JSC::putByVal):

  • jit/JITStubs.h:

(JSC):
(JITStackFrame):

  • jit/JITThunks.cpp:

(JSC::JITThunks::ctiNativeCall):
(JSC::JITThunks::ctiNativeConstruct):
(JSC::JITThunks::ctiStub):
(JSC::JITThunks::hostFunctionStub):

  • jit/JITThunks.h:

(JSC):
(JITThunks):

  • jit/JITWriteBarrier.h:

(JSC):
(JSC::JITWriteBarrierBase::set):
(JSC::JITWriteBarrier::set):

  • jit/SpecializedThunkJIT.h:

(JSC::SpecializedThunkJIT::loadJSStringArgument):
(JSC::SpecializedThunkJIT::finalize):

  • jit/ThunkGenerator.h:

(JSC):

  • jit/ThunkGenerators.cpp:

(JSC::generateSlowCaseFor):
(JSC::linkForGenerator):
(JSC::linkCallGenerator):
(JSC::linkConstructGenerator):
(JSC::linkClosureCallGenerator):
(JSC::virtualForGenerator):
(JSC::virtualCallGenerator):
(JSC::virtualConstructGenerator):
(JSC::stringLengthTrampolineGenerator):
(JSC::nativeForGenerator):
(JSC::nativeCallGenerator):
(JSC::nativeConstructGenerator):
(JSC::stringCharLoad):
(JSC::charToString):
(JSC::charCodeAtThunkGenerator):
(JSC::charAtThunkGenerator):
(JSC::fromCharCodeThunkGenerator):
(JSC::sqrtThunkGenerator):
(JSC::floorThunkGenerator):
(JSC::ceilThunkGenerator):
(JSC::roundThunkGenerator):
(JSC::expThunkGenerator):
(JSC::logThunkGenerator):
(JSC::absThunkGenerator):
(JSC::powThunkGenerator):

  • jit/ThunkGenerators.h:

(JSC):

  • jsc.cpp:

(GlobalObject):
(GlobalObject::create):
(GlobalObject::createStructure):
(GlobalObject::finishCreation):
(GlobalObject::addFunction):
(GlobalObject::addConstructableFunction):
(functionDumpCallFrame):
(functionJSCStack):
(functionReleaseExecutableMemory):
(functionRun):
(main):
(runWithScripts):
(jscmain):

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

  • llint/LLIntData.h:

(JSC):
(Data):
(JSC::LLInt::Data::performAssertions):

  • llint/LLIntEntrypoints.cpp:

(JSC::LLInt::getFunctionEntrypoint):
(JSC::LLInt::getEvalEntrypoint):
(JSC::LLInt::getProgramEntrypoint):

  • llint/LLIntEntrypoints.h:

(JSC):
(LLInt):
(JSC::LLInt::getEntrypoint):

  • llint/LLIntExceptions.cpp:

(JSC::LLInt::interpreterThrowInCaller):
(JSC::LLInt::returnToThrow):
(JSC::LLInt::callToThrow):

  • llint/LLIntOffsetsExtractor.cpp:
  • llint/LLIntSlowPaths.cpp:

(LLInt):
(JSC::LLInt::llint_trace_operand):
(JSC::LLInt::llint_trace_value):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::shouldJIT):
(JSC::LLInt::handleHostCall):
(JSC::LLInt::setUpCall):

  • llint/LLIntThunks.cpp:

(JSC::LLInt::generateThunkWithJumpTo):
(JSC::LLInt::functionForCallEntryThunkGenerator):
(JSC::LLInt::functionForConstructEntryThunkGenerator):
(JSC::LLInt::functionForCallArityCheckThunkGenerator):
(JSC::LLInt::functionForConstructArityCheckThunkGenerator):
(JSC::LLInt::evalEntryThunkGenerator):
(JSC::LLInt::programEntryThunkGenerator):

  • llint/LLIntThunks.h:

(JSC):
(LLInt):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter.cpp:

(JSC::CLoop::execute):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • offlineasm/cloop.rb:
  • parser/ASTBuilder.h:

(JSC::ASTBuilder::ASTBuilder):
(JSC::ASTBuilder::createSourceElements):
(JSC::ASTBuilder::createCommaExpr):
(JSC::ASTBuilder::createLogicalNot):
(JSC::ASTBuilder::createUnaryPlus):
(JSC::ASTBuilder::createVoid):
(JSC::ASTBuilder::thisExpr):
(JSC::ASTBuilder::createResolve):
(JSC::ASTBuilder::createObjectLiteral):
(JSC::ASTBuilder::createArray):
(JSC::ASTBuilder::createNumberExpr):
(JSC::ASTBuilder::createString):
(JSC::ASTBuilder::createBoolean):
(JSC::ASTBuilder::createNull):
(JSC::ASTBuilder::createBracketAccess):
(JSC::ASTBuilder::createDotAccess):
(JSC::ASTBuilder::createRegExp):
(JSC::ASTBuilder::createNewExpr):
(JSC::ASTBuilder::createConditionalExpr):
(JSC::ASTBuilder::createAssignResolve):
(JSC::ASTBuilder::createFunctionExpr):
(JSC::ASTBuilder::createFunctionBody):
(JSC::ASTBuilder::createGetterOrSetterProperty):
(JSC::ASTBuilder::createArguments):
(JSC::ASTBuilder::createArgumentsList):
(JSC::ASTBuilder::createProperty):
(JSC::ASTBuilder::createPropertyList):
(JSC::ASTBuilder::createElementList):
(JSC::ASTBuilder::createFormalParameterList):
(JSC::ASTBuilder::createClause):
(JSC::ASTBuilder::createClauseList):
(JSC::ASTBuilder::createFuncDeclStatement):
(JSC::ASTBuilder::createBlockStatement):
(JSC::ASTBuilder::createExprStatement):
(JSC::ASTBuilder::createIfStatement):
(JSC::ASTBuilder::createForLoop):
(JSC::ASTBuilder::createForInLoop):
(JSC::ASTBuilder::createEmptyStatement):
(JSC::ASTBuilder::createVarStatement):
(JSC::ASTBuilder::createReturnStatement):
(JSC::ASTBuilder::createBreakStatement):
(JSC::ASTBuilder::createContinueStatement):
(JSC::ASTBuilder::createTryStatement):
(JSC::ASTBuilder::createSwitchStatement):
(JSC::ASTBuilder::createWhileStatement):
(JSC::ASTBuilder::createDoWhileStatement):
(JSC::ASTBuilder::createLabelStatement):
(JSC::ASTBuilder::createWithStatement):
(JSC::ASTBuilder::createThrowStatement):
(JSC::ASTBuilder::createDebugger):
(JSC::ASTBuilder::createConstStatement):
(JSC::ASTBuilder::appendConstDecl):
(JSC::ASTBuilder::addVar):
(JSC::ASTBuilder::combineCommaNodes):
(JSC::ASTBuilder::Scope::Scope):
(JSC::ASTBuilder::createNumber):
(ASTBuilder):
(JSC::ASTBuilder::makeTypeOfNode):
(JSC::ASTBuilder::makeDeleteNode):
(JSC::ASTBuilder::makeNegateNode):
(JSC::ASTBuilder::makeBitwiseNotNode):
(JSC::ASTBuilder::makeMultNode):
(JSC::ASTBuilder::makeDivNode):
(JSC::ASTBuilder::makeModNode):
(JSC::ASTBuilder::makeAddNode):
(JSC::ASTBuilder::makeSubNode):
(JSC::ASTBuilder::makeLeftShiftNode):
(JSC::ASTBuilder::makeRightShiftNode):
(JSC::ASTBuilder::makeURightShiftNode):
(JSC::ASTBuilder::makeBitOrNode):
(JSC::ASTBuilder::makeBitAndNode):
(JSC::ASTBuilder::makeBitXOrNode):
(JSC::ASTBuilder::makeFunctionCallNode):
(JSC::ASTBuilder::makeBinaryNode):
(JSC::ASTBuilder::makeAssignNode):
(JSC::ASTBuilder::makePrefixNode):
(JSC::ASTBuilder::makePostfixNode):

  • parser/Lexer.cpp:

(JSC::Keywords::Keywords):
(JSC::::Lexer):
(JSC::::parseIdentifier):
(JSC::::parseIdentifierSlowCase):

  • parser/Lexer.h:

(JSC::Keywords::isKeyword):
(JSC::Keywords::getKeyword):
(Keywords):
(Lexer):
(JSC::::makeIdentifier):
(JSC::::makeRightSizedIdentifier):
(JSC::::makeIdentifierLCharFromUChar):
(JSC::::makeLCharIdentifier):

  • parser/NodeConstructors.h:

(JSC::ParserArenaFreeable::operator new):
(JSC::ParserArenaDeletable::operator new):
(JSC::ParserArenaRefCounted::ParserArenaRefCounted):
(JSC::PropertyNode::PropertyNode):
(JSC::ContinueNode::ContinueNode):
(JSC::BreakNode::BreakNode):
(JSC::ForInNode::ForInNode):

  • parser/Nodes.cpp:

(JSC::ScopeNode::ScopeNode):
(JSC::ProgramNode::ProgramNode):
(JSC::ProgramNode::create):
(JSC::EvalNode::EvalNode):
(JSC::EvalNode::create):
(JSC::FunctionBodyNode::FunctionBodyNode):
(JSC::FunctionBodyNode::create):

  • parser/Nodes.h:

(ParserArenaFreeable):
(ParserArenaDeletable):
(ParserArenaRefCounted):
(ArrayNode):
(ForInNode):
(ContinueNode):
(BreakNode):
(ScopeNode):
(ProgramNode):
(EvalNode):
(FunctionBodyNode):

  • parser/Parser.cpp:

(JSC::::Parser):
(JSC::::parseInner):
(JSC::::parseSourceElements):
(JSC::::parseTryStatement):
(JSC::::parseFunctionBody):
(JSC::::parseFunctionInfo):
(JSC::::parseAssignmentExpression):
(JSC::::parseProperty):
(JSC::::parsePrimaryExpression):
(JSC::::parseMemberExpression):
(JSC::::parseUnaryExpression):

  • parser/Parser.h:

(JSC):
(JSC::Scope::Scope):
(JSC::Scope::declareVariable):
(JSC::Scope::declareParameter):
(Scope):
(Parser):
(JSC::Parser::pushScope):
(JSC::::parse):
(JSC::parse):

  • parser/ParserArena.h:

(IdentifierArena):
(JSC::IdentifierArena::makeIdentifier):
(JSC::IdentifierArena::makeIdentifierLCharFromUChar):
(JSC::IdentifierArena::makeNumericIdentifier):

  • parser/SyntaxChecker.h:

(JSC::SyntaxChecker::SyntaxChecker):
(JSC::SyntaxChecker::createProperty):
(JSC::SyntaxChecker::createGetterOrSetterProperty):

  • profiler/LegacyProfiler.cpp:

(JSC::LegacyProfiler::startProfiling):
(JSC::LegacyProfiler::stopProfiling):

  • profiler/LegacyProfiler.h:

(JSC):

  • profiler/ProfilerBytecode.cpp:

(JSC::Profiler::Bytecode::toJS):

  • profiler/ProfilerBytecodeSequence.cpp:

(JSC::Profiler::BytecodeSequence::BytecodeSequence):
(JSC::Profiler::BytecodeSequence::addSequenceProperties):

  • profiler/ProfilerBytecodes.cpp:

(JSC::Profiler::Bytecodes::toJS):

  • profiler/ProfilerCompilation.cpp:

(JSC::Profiler::Compilation::toJS):

  • profiler/ProfilerCompiledBytecode.cpp:

(JSC::Profiler::CompiledBytecode::toJS):

  • profiler/ProfilerDatabase.cpp:

(JSC::Profiler::Database::Database):
(JSC::Profiler::Database::toJS):
(JSC::Profiler::Database::toJSON):

  • profiler/ProfilerDatabase.h:

(Database):

  • profiler/ProfilerOSRExit.cpp:

(JSC::Profiler::OSRExit::toJS):

  • profiler/ProfilerOrigin.cpp:

(JSC::Profiler::Origin::toJS):

  • profiler/ProfilerProfiledBytecodes.cpp:

(JSC::Profiler::ProfiledBytecodes::toJS):

  • runtime/ArgList.h:

(MarkedArgumentBuffer):

  • runtime/Arguments.cpp:

(JSC::Arguments::putByIndex):
(JSC::Arguments::put):
(JSC::Arguments::deleteProperty):
(JSC::Arguments::defineOwnProperty):
(JSC::Arguments::tearOff):
(JSC::Arguments::didTearOffActivation):
(JSC::Arguments::tearOffForInlineCallFrame):

  • runtime/Arguments.h:

(JSC::Arguments::create):
(JSC::Arguments::createStructure):
(Arguments):
(JSC::Arguments::Arguments):
(JSC::Arguments::trySetArgument):
(JSC::Arguments::finishCreation):

  • runtime/ArrayConstructor.cpp:

(JSC::ArrayConstructor::finishCreation):

  • runtime/ArrayConstructor.h:

(JSC::ArrayConstructor::createStructure):

  • runtime/ArrayPrototype.cpp:

(JSC::ArrayPrototype::ArrayPrototype):
(JSC::ArrayPrototype::finishCreation):
(JSC::arrayProtoFuncSort):
(JSC::arrayProtoFuncSplice):

  • runtime/ArrayPrototype.h:

(JSC::ArrayPrototype::createStructure):

  • runtime/BatchedTransitionOptimizer.h:

(JSC::BatchedTransitionOptimizer::BatchedTransitionOptimizer):
(JSC::BatchedTransitionOptimizer::~BatchedTransitionOptimizer):
(BatchedTransitionOptimizer):

  • runtime/BooleanConstructor.cpp:

(JSC::BooleanConstructor::finishCreation):
(JSC::constructBoolean):
(JSC::constructBooleanFromImmediateBoolean):

  • runtime/BooleanConstructor.h:

(JSC::BooleanConstructor::createStructure):

  • runtime/BooleanObject.cpp:

(JSC::BooleanObject::BooleanObject):
(JSC::BooleanObject::finishCreation):

  • runtime/BooleanObject.h:

(BooleanObject):
(JSC::BooleanObject::create):
(JSC::BooleanObject::createStructure):

  • runtime/BooleanPrototype.cpp:

(JSC::BooleanPrototype::BooleanPrototype):
(JSC::BooleanPrototype::finishCreation):
(JSC::booleanProtoFuncToString):

  • runtime/BooleanPrototype.h:

(JSC::BooleanPrototype::createStructure):

  • runtime/Butterfly.h:

(JSC):
(Butterfly):

  • runtime/ButterflyInlines.h:

(JSC::Butterfly::createUninitialized):
(JSC::Butterfly::create):
(JSC::Butterfly::growPropertyStorage):
(JSC::Butterfly::createOrGrowArrayRight):
(JSC::Butterfly::growArrayRight):
(JSC::Butterfly::resizeArray):

  • runtime/CodeCache.cpp:

(JSC::CodeCache::getCodeBlock):
(JSC::CodeCache::getProgramCodeBlock):
(JSC::CodeCache::getEvalCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):

  • runtime/CodeCache.h:

(JSC):
(JSC::SourceCodeValue::SourceCodeValue):
(CodeCache):

  • runtime/CommonIdentifiers.cpp:

(JSC):
(JSC::CommonIdentifiers::CommonIdentifiers):

  • runtime/CommonIdentifiers.h:

(CommonIdentifiers):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::opIn):

  • runtime/Completion.cpp:

(JSC::checkSyntax):
(JSC::evaluate):

  • runtime/DateConstructor.cpp:

(JSC::DateConstructor::finishCreation):

  • runtime/DateConstructor.h:

(JSC::DateConstructor::createStructure):

  • runtime/DateInstance.cpp:

(JSC::DateInstance::DateInstance):
(JSC::DateInstance::finishCreation):
(JSC::DateInstance::calculateGregorianDateTime):
(JSC::DateInstance::calculateGregorianDateTimeUTC):

  • runtime/DateInstance.h:

(DateInstance):
(JSC::DateInstance::create):
(JSC::DateInstance::createStructure):

  • runtime/DatePrototype.cpp:

(JSC::DatePrototype::finishCreation):
(JSC::dateProtoFuncSetTime):
(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetYear):
(JSC::dateProtoFuncToJSON):

  • runtime/DatePrototype.h:

(JSC::DatePrototype::createStructure):

  • runtime/Error.cpp:

(JSC::createError):
(JSC::createEvalError):
(JSC::createRangeError):
(JSC::createReferenceError):
(JSC::createSyntaxError):
(JSC::createTypeError):
(JSC::createURIError):
(JSC::addErrorInfo):
(JSC::throwError):

  • runtime/Error.h:

(JSC):
(JSC::StrictModeTypeErrorFunction::create):
(JSC::StrictModeTypeErrorFunction::createStructure):

  • runtime/ErrorConstructor.cpp:

(JSC::ErrorConstructor::finishCreation):

  • runtime/ErrorConstructor.h:

(JSC::ErrorConstructor::createStructure):

  • runtime/ErrorInstance.cpp:

(JSC::ErrorInstance::ErrorInstance):

  • runtime/ErrorInstance.h:

(JSC::ErrorInstance::createStructure):
(JSC::ErrorInstance::create):
(ErrorInstance):
(JSC::ErrorInstance::finishCreation):

  • runtime/ErrorPrototype.cpp:

(JSC::ErrorPrototype::ErrorPrototype):
(JSC::ErrorPrototype::finishCreation):

  • runtime/ErrorPrototype.h:

(JSC::ErrorPrototype::createStructure):

  • runtime/ExceptionHelpers.cpp:

(JSC::createInterruptedExecutionException):
(JSC::createTerminatedExecutionException):

  • runtime/ExceptionHelpers.h:

(JSC):
(JSC::InterruptedExecutionError::InterruptedExecutionError):
(JSC::InterruptedExecutionError::create):
(JSC::InterruptedExecutionError::createStructure):
(JSC::TerminatedExecutionError::TerminatedExecutionError):
(JSC::TerminatedExecutionError::create):
(JSC::TerminatedExecutionError::createStructure):

  • runtime/Executable.cpp:

(JSC::jettisonCodeBlock):
(JSC::EvalExecutable::EvalExecutable):
(JSC::ProgramExecutable::ProgramExecutable):
(JSC::FunctionExecutable::FunctionExecutable):
(JSC::EvalExecutable::compileOptimized):
(JSC::EvalExecutable::compileInternal):
(JSC::EvalExecutable::jettisonOptimizedCode):
(JSC::ProgramExecutable::checkSyntax):
(JSC::ProgramExecutable::compileOptimized):
(JSC::ProgramExecutable::jettisonOptimizedCode):
(JSC::ProgramExecutable::initializeGlobalProperties):
(JSC::FunctionExecutable::compileOptimizedForCall):
(JSC::FunctionExecutable::compileOptimizedForConstruct):
(JSC::FunctionExecutable::produceCodeBlockFor):
(JSC::FunctionExecutable::jettisonOptimizedCodeForCall):
(JSC::FunctionExecutable::jettisonOptimizedCodeForConstruct):
(JSC::FunctionExecutable::fromGlobalCode):

  • runtime/Executable.h:

(JSC::ExecutableBase::ExecutableBase):
(JSC::ExecutableBase::finishCreation):
(JSC::ExecutableBase::createStructure):
(JSC::NativeExecutable::create):
(JSC::NativeExecutable::createStructure):
(JSC::NativeExecutable::finishCreation):
(JSC::NativeExecutable::NativeExecutable):
(JSC::ScriptExecutable::ScriptExecutable):
(JSC::ScriptExecutable::finishCreation):
(JSC::EvalExecutable::compile):
(EvalExecutable):
(JSC::EvalExecutable::create):
(JSC::EvalExecutable::createStructure):
(JSC::ProgramExecutable::create):
(ProgramExecutable):
(JSC::ProgramExecutable::compile):
(JSC::ProgramExecutable::createStructure):
(JSC::FunctionExecutable::create):
(JSC::FunctionExecutable::compileForCall):
(FunctionExecutable):
(JSC::FunctionExecutable::compileForConstruct):
(JSC::FunctionExecutable::jettisonOptimizedCodeFor):
(JSC::FunctionExecutable::createStructure):
(JSC::JSFunction::JSFunction):

  • runtime/ExecutionHarness.h:

(JSC::prepareForExecution):
(JSC::prepareFunctionForExecution):

  • runtime/FunctionConstructor.cpp:

(JSC::FunctionConstructor::finishCreation):

  • runtime/FunctionConstructor.h:

(JSC::FunctionConstructor::createStructure):

  • runtime/FunctionPrototype.cpp:

(JSC::FunctionPrototype::finishCreation):
(JSC::FunctionPrototype::addFunctionProperties):
(JSC::functionProtoFuncBind):

  • runtime/FunctionPrototype.h:

(JSC::FunctionPrototype::createStructure):

  • runtime/GCActivityCallback.cpp:

(JSC::DefaultGCActivityCallback::DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::doWork):
(JSC::DefaultGCActivityCallback::didAllocate):

  • runtime/GCActivityCallback.h:

(JSC::GCActivityCallback::GCActivityCallback):

  • runtime/GCActivityCallbackBlackBerry.cpp:

(JSC::DefaultGCActivityCallback::DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::doWork):
(JSC::DefaultGCActivityCallback::didAllocate):

  • runtime/GetterSetter.h:

(JSC::GetterSetter::GetterSetter):
(JSC::GetterSetter::create):
(JSC::GetterSetter::setGetter):
(JSC::GetterSetter::setSetter):
(JSC::GetterSetter::createStructure):

  • runtime/Identifier.cpp:

(JSC::Identifier::add):
(JSC::Identifier::add8):
(JSC::Identifier::addSlowCase):
(JSC::Identifier::from):
(JSC::Identifier::checkCurrentIdentifierTable):

  • runtime/Identifier.h:

(JSC::Identifier::Identifier):
(JSC::Identifier::createLCharFromUChar):
(Identifier):
(JSC::Identifier::add):

  • runtime/InternalFunction.cpp:

(JSC::InternalFunction::InternalFunction):
(JSC::InternalFunction::finishCreation):
(JSC::InternalFunction::name):
(JSC::InternalFunction::displayName):

  • runtime/InternalFunction.h:

(JSC::InternalFunction::createStructure):
(InternalFunction):

  • runtime/JSAPIValueWrapper.h:

(JSC::JSAPIValueWrapper::createStructure):
(JSC::JSAPIValueWrapper::finishCreation):
(JSC::JSAPIValueWrapper::JSAPIValueWrapper):

  • runtime/JSActivation.cpp:

(JSC::JSActivation::symbolTablePut):
(JSC::JSActivation::symbolTablePutWithAttributes):
(JSC::JSActivation::getOwnPropertySlot):
(JSC::JSActivation::put):
(JSC::JSActivation::putDirectVirtual):
(JSC::JSActivation::argumentsGetter):

  • runtime/JSActivation.h:

(JSActivation):
(JSC::JSActivation::create):
(JSC::JSActivation::createStructure):
(JSC::JSActivation::JSActivation):
(JSC::JSActivation::tearOff):

  • runtime/JSArray.cpp:

(JSC::createArrayButterflyInDictionaryIndexingMode):
(JSC::JSArray::setLengthWritable):
(JSC::JSArray::unshiftCountSlowCase):
(JSC::JSArray::setLength):
(JSC::JSArray::push):
(JSC::JSArray::shiftCountWithAnyIndexingType):
(JSC::JSArray::unshiftCountWithArrayStorage):
(JSC::JSArray::unshiftCountWithAnyIndexingType):
(JSC::ContiguousTypeAccessor::setWithValue):
(JSC::JSArray::sortCompactedVector):
(JSC::JSArray::sortVector):

  • runtime/JSArray.h:

(JSC::JSArray::JSArray):
(JSArray):
(JSC::JSArray::shiftCountForShift):
(JSC::JSArray::unshiftCountForShift):
(JSC::JSArray::createStructure):
(JSC::createContiguousArrayButterfly):
(JSC::createArrayButterfly):
(JSC):
(JSC::JSArray::create):
(JSC::JSArray::tryCreateUninitialized):
(JSC::constructArray):

  • runtime/JSBoundFunction.cpp:

(JSC::JSBoundFunction::create):
(JSC::JSBoundFunction::JSBoundFunction):

  • runtime/JSBoundFunction.h:

(JSC::JSBoundFunction::createStructure):

  • runtime/JSCJSValue.cpp:

(JSC::JSValue::putToPrimitive):
(JSC::JSValue::toStringSlowCase):

  • runtime/JSCJSValue.h:

(JSC):

  • runtime/JSCell.h:

(JSCell):

  • runtime/JSCellInlines.h:

(JSC::JSCell::JSCell):
(JSC::JSCell::finishCreation):
(JSC::allocateCell):
(JSC::JSCell::setStructure):
(JSC::JSCell::fastGetOwnProperty):

  • runtime/JSDateMath.cpp:

(JSC::getDSTOffset):
(JSC::getUTCOffset):
(JSC::parseDate):

  • runtime/JSDestructibleObject.h:

(JSC::JSDestructibleObject::JSDestructibleObject):

  • runtime/JSFunction.cpp:

(JSC::JSFunction::create):
(JSC::JSFunction::JSFunction):
(JSC::JSFunction::finishCreation):
(JSC::JSFunction::createAllocationProfile):
(JSC::JSFunction::name):
(JSC::JSFunction::displayName):
(JSC::JSFunction::getOwnPropertySlot):
(JSC::JSFunction::deleteProperty):

  • runtime/JSFunction.h:

(JSFunction):
(JSC::JSFunction::create):
(JSC::JSFunction::setScope):
(JSC::JSFunction::createStructure):

  • runtime/JSGlobalData.cpp: Removed.
  • runtime/JSGlobalData.h: Removed.
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::~JSGlobalObject):
(JSC::JSGlobalObject::setGlobalThis):
(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::putDirectVirtual):
(JSC::JSGlobalObject::reset):
(JSC):
(JSC::JSGlobalObject::haveABadTime):
(JSC::JSGlobalObject::createThrowTypeError):
(JSC::JSGlobalObject::resetPrototype):
(JSC::JSGlobalObject::addStaticGlobals):
(JSC::DynamicGlobalObjectScope::DynamicGlobalObjectScope):
(JSC::JSGlobalObject::createProgramCodeBlock):
(JSC::JSGlobalObject::createEvalCodeBlock):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::create):
(JSGlobalObject):
(JSC::JSGlobalObject::finishCreation):
(JSC::JSGlobalObject::vm):
(JSC::JSGlobalObject::createStructure):
(JSC::ExecState::dynamicGlobalObject):
(JSC::constructEmptyArray):
(DynamicGlobalObjectScope):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncProtoSetter):

  • runtime/JSLock.cpp:

(JSC::JSLockHolder::JSLockHolder):
(JSC::JSLockHolder::init):
(JSC::JSLockHolder::~JSLockHolder):
(JSC::JSLock::JSLock):
(JSC::JSLock::willDestroyGlobalData):
(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):

  • runtime/JSLock.h:

(JSC):
(JSLockHolder):
(JSLock):
(JSC::JSLock::vm):
(DropAllLocks):

  • runtime/JSNameScope.h:

(JSC::JSNameScope::createStructure):
(JSC::JSNameScope::finishCreation):
(JSC::JSNameScope::JSNameScope):

  • runtime/JSNotAnObject.h:

(JSC::JSNotAnObject::JSNotAnObject):
(JSC::JSNotAnObject::create):
(JSC::JSNotAnObject::createStructure):

  • runtime/JSONObject.cpp:

(JSC::JSONObject::JSONObject):
(JSC::JSONObject::finishCreation):
(Holder):
(JSC::Stringifier::Stringifier):
(JSC::Stringifier::stringify):
(JSC::Stringifier::toJSON):
(JSC::Stringifier::appendStringifiedValue):
(JSC::Stringifier::Holder::Holder):
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::Walker):
(JSC::Walker::walk):
(JSC::JSONProtoFuncParse):
(JSC::JSONProtoFuncStringify):
(JSC::JSONStringify):

  • runtime/JSONObject.h:

(JSC::JSONObject::createStructure):

  • runtime/JSObject.cpp:

(JSC::JSObject::put):
(JSC::JSObject::putByIndex):
(JSC::JSObject::enterDictionaryIndexingModeWhenArrayStorageAlreadyExists):
(JSC::JSObject::enterDictionaryIndexingMode):
(JSC::JSObject::notifyPresenceOfIndexedAccessors):
(JSC::JSObject::createInitialIndexedStorage):
(JSC::JSObject::createInitialUndecided):
(JSC::JSObject::createInitialInt32):
(JSC::JSObject::createInitialDouble):
(JSC::JSObject::createInitialContiguous):
(JSC::JSObject::createArrayStorage):
(JSC::JSObject::createInitialArrayStorage):
(JSC::JSObject::convertUndecidedToInt32):
(JSC::JSObject::convertUndecidedToDouble):
(JSC::JSObject::convertUndecidedToContiguous):
(JSC::JSObject::constructConvertedArrayStorageWithoutCopyingElements):
(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToDouble):
(JSC::JSObject::convertInt32ToContiguous):
(JSC::JSObject::convertInt32ToArrayStorage):
(JSC::JSObject::genericConvertDoubleToContiguous):
(JSC::JSObject::convertDoubleToContiguous):
(JSC::JSObject::rageConvertDoubleToContiguous):
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):
(JSC::JSObject::convertUndecidedForValue):
(JSC::JSObject::convertInt32ForValue):
(JSC::JSObject::setIndexQuicklyToUndecided):
(JSC::JSObject::convertInt32ToDoubleOrContiguousWhilePerformingSetIndex):
(JSC::JSObject::convertDoubleToContiguousWhilePerformingSetIndex):
(JSC::JSObject::ensureInt32Slow):
(JSC::JSObject::ensureDoubleSlow):
(JSC::JSObject::ensureContiguousSlow):
(JSC::JSObject::rageEnsureContiguousSlow):
(JSC::JSObject::ensureArrayStorageSlow):
(JSC::JSObject::ensureArrayStorageExistsAndEnterDictionaryIndexingMode):
(JSC::JSObject::switchToSlowPutArrayStorage):
(JSC::JSObject::putDirectVirtual):
(JSC::JSObject::setPrototype):
(JSC::JSObject::setPrototypeWithCycleCheck):
(JSC::JSObject::putDirectAccessor):
(JSC::JSObject::deleteProperty):
(JSC::JSObject::getPropertySpecificValue):
(JSC::JSObject::getOwnNonIndexPropertyNames):
(JSC::JSObject::seal):
(JSC::JSObject::freeze):
(JSC::JSObject::preventExtensions):
(JSC::JSObject::reifyStaticFunctionsForDelete):
(JSC::JSObject::removeDirect):
(JSC::JSObject::putIndexedDescriptor):
(JSC::JSObject::defineOwnIndexedProperty):
(JSC::JSObject::allocateSparseIndexMap):
(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):
(JSC::JSObject::putByIndexBeyondVectorLengthWithArrayStorage):
(JSC::JSObject::putByIndexBeyondVectorLength):
(JSC::JSObject::putDirectIndexBeyondVectorLengthWithArrayStorage):
(JSC::JSObject::putDirectIndexBeyondVectorLength):
(JSC::JSObject::putDirectNativeFunction):
(JSC::JSObject::increaseVectorLength):
(JSC::JSObject::ensureLengthSlow):
(JSC::JSObject::growOutOfLineStorage):
(JSC::JSObject::getOwnPropertyDescriptor):
(JSC::putDescriptor):
(JSC::JSObject::putDirectMayBeIndex):
(JSC::DefineOwnPropertyScope::DefineOwnPropertyScope):
(JSC::DefineOwnPropertyScope::~DefineOwnPropertyScope):
(DefineOwnPropertyScope):
(JSC::JSObject::defineOwnNonIndexProperty):

  • runtime/JSObject.h:

(JSObject):
(JSC::JSObject::putByIndexInline):
(JSC::JSObject::putDirectIndex):
(JSC::JSObject::setIndexQuickly):
(JSC::JSObject::initializeIndex):
(JSC::JSObject::getDirect):
(JSC::JSObject::getDirectOffset):
(JSC::JSObject::putDirect):
(JSC::JSObject::isSealed):
(JSC::JSObject::isFrozen):
(JSC::JSObject::flattenDictionaryObject):
(JSC::JSObject::ensureInt32):
(JSC::JSObject::ensureDouble):
(JSC::JSObject::ensureContiguous):
(JSC::JSObject::rageEnsureContiguous):
(JSC::JSObject::ensureArrayStorage):
(JSC::JSObject::finishCreation):
(JSC::JSObject::createStructure):
(JSC::JSObject::ensureLength):
(JSC::JSNonFinalObject::createStructure):
(JSC::JSNonFinalObject::JSNonFinalObject):
(JSC::JSNonFinalObject::finishCreation):
(JSC::JSFinalObject::createStructure):
(JSC::JSFinalObject::finishCreation):
(JSC::JSFinalObject::JSFinalObject):
(JSC::JSFinalObject::create):
(JSC::JSObject::setButterfly):
(JSC::JSObject::JSObject):
(JSC::JSObject::inlineGetOwnPropertySlot):
(JSC::JSObject::putDirectInternal):
(JSC::JSObject::setStructureAndReallocateStorageIfNecessary):
(JSC::JSObject::putOwnDataProperty):
(JSC::JSObject::putDirectWithoutTransition):
(JSC):

  • runtime/JSPropertyNameIterator.cpp:

(JSC::JSPropertyNameIterator::JSPropertyNameIterator):
(JSC::JSPropertyNameIterator::create):

  • runtime/JSPropertyNameIterator.h:

(JSC::JSPropertyNameIterator::createStructure):
(JSC::JSPropertyNameIterator::setCachedStructure):
(JSC::JSPropertyNameIterator::setCachedPrototypeChain):
(JSC::JSPropertyNameIterator::finishCreation):
(JSC::StructureRareData::setEnumerationCache):

  • runtime/JSProxy.cpp:

(JSC::JSProxy::setTarget):

  • runtime/JSProxy.h:

(JSC::JSProxy::create):
(JSC::JSProxy::createStructure):
(JSC::JSProxy::JSProxy):
(JSC::JSProxy::finishCreation):
(JSProxy):

  • runtime/JSScope.cpp:

(JSC::executeResolveOperations):
(JSC::JSScope::resolveContainingScopeInternal):
(JSC::JSScope::resolveWithBase):
(JSC::JSScope::resolveWithThis):
(JSC::JSScope::resolvePut):

  • runtime/JSScope.h:

(JSScope):
(JSC::JSScope::JSScope):
(JSC::JSScope::vm):
(JSC::ExecState::vm):

  • runtime/JSSegmentedVariableObject.h:

(JSC::JSSegmentedVariableObject::JSSegmentedVariableObject):
(JSC::JSSegmentedVariableObject::finishCreation):

  • runtime/JSString.cpp:

(JSC::JSRopeString::RopeBuilder::expand):
(JSC::StringObject::create):

  • runtime/JSString.h:

(JSC):
(JSString):
(JSC::JSString::JSString):
(JSC::JSString::finishCreation):
(JSC::JSString::create):
(JSC::JSString::createHasOtherOwner):
(JSC::JSString::createStructure):
(JSRopeString):
(JSC::JSRopeString::RopeBuilder::RopeBuilder):
(JSC::JSRopeString::RopeBuilder::append):
(RopeBuilder):
(JSC::JSRopeString::JSRopeString):
(JSC::JSRopeString::finishCreation):
(JSC::JSRopeString::append):
(JSC::JSRopeString::createNull):
(JSC::JSRopeString::create):
(JSC::jsEmptyString):
(JSC::jsSingleCharacterString):
(JSC::jsSingleCharacterSubstring):
(JSC::jsNontrivialString):
(JSC::jsString):
(JSC::jsSubstring):
(JSC::jsSubstring8):
(JSC::jsOwnedString):
(JSC::jsStringBuilder):
(JSC::inlineJSValueNotStringtoString):

  • runtime/JSStringJoiner.cpp:

(JSC::JSStringJoiner::build):

  • runtime/JSSymbolTableObject.h:

(JSC::JSSymbolTableObject::JSSymbolTableObject):
(JSC::JSSymbolTableObject::finishCreation):
(JSC::symbolTablePut):
(JSC::symbolTablePutWithAttributes):

  • runtime/JSVariableObject.h:

(JSC::JSVariableObject::JSVariableObject):

  • runtime/JSWithScope.h:

(JSC::JSWithScope::create):
(JSC::JSWithScope::createStructure):
(JSC::JSWithScope::JSWithScope):

  • runtime/JSWrapperObject.h:

(JSWrapperObject):
(JSC::JSWrapperObject::createStructure):
(JSC::JSWrapperObject::JSWrapperObject):
(JSC::JSWrapperObject::setInternalValue):

  • runtime/LiteralParser.cpp:

(JSC::::tryJSONPParse):
(JSC::::makeIdentifier):
(JSC::::parse):

  • runtime/Lookup.cpp:

(JSC::HashTable::createTable):
(JSC::setUpStaticFunctionSlot):

  • runtime/Lookup.h:

(JSC::HashTable::initializeIfNeeded):
(JSC::HashTable::entry):
(JSC::HashTable::begin):
(JSC::HashTable::end):
(HashTable):
(JSC::lookupPut):

  • runtime/MathObject.cpp:

(JSC::MathObject::MathObject):
(JSC::MathObject::finishCreation):
(JSC::mathProtoFuncSin):

  • runtime/MathObject.h:

(JSC::MathObject::createStructure):

  • runtime/MemoryStatistics.cpp:
  • runtime/MemoryStatistics.h:
  • runtime/NameConstructor.cpp:

(JSC::NameConstructor::finishCreation):
(JSC::constructPrivateName):

  • runtime/NameConstructor.h:

(JSC::NameConstructor::createStructure):

  • runtime/NameInstance.cpp:

(JSC::NameInstance::NameInstance):

  • runtime/NameInstance.h:

(JSC::NameInstance::createStructure):
(JSC::NameInstance::create):
(NameInstance):
(JSC::NameInstance::finishCreation):

  • runtime/NamePrototype.cpp:

(JSC::NamePrototype::NamePrototype):
(JSC::NamePrototype::finishCreation):

  • runtime/NamePrototype.h:

(JSC::NamePrototype::createStructure):

  • runtime/NativeErrorConstructor.h:

(JSC::NativeErrorConstructor::createStructure):
(JSC::NativeErrorConstructor::finishCreation):

  • runtime/NativeErrorPrototype.cpp:

(JSC::NativeErrorPrototype::finishCreation):

  • runtime/NumberConstructor.cpp:

(JSC::NumberConstructor::finishCreation):
(JSC::constructWithNumberConstructor):

  • runtime/NumberConstructor.h:

(JSC::NumberConstructor::createStructure):

  • runtime/NumberObject.cpp:

(JSC::NumberObject::NumberObject):
(JSC::NumberObject::finishCreation):
(JSC::constructNumber):

  • runtime/NumberObject.h:

(NumberObject):
(JSC::NumberObject::create):
(JSC::NumberObject::createStructure):

  • runtime/NumberPrototype.cpp:

(JSC::NumberPrototype::NumberPrototype):
(JSC::NumberPrototype::finishCreation):
(JSC::integerValueToString):
(JSC::numberProtoFuncToString):

  • runtime/NumberPrototype.h:

(JSC::NumberPrototype::createStructure):

  • runtime/ObjectConstructor.cpp:

(JSC::ObjectConstructor::finishCreation):
(JSC::objectConstructorGetOwnPropertyDescriptor):
(JSC::objectConstructorSeal):
(JSC::objectConstructorFreeze):
(JSC::objectConstructorPreventExtensions):
(JSC::objectConstructorIsSealed):
(JSC::objectConstructorIsFrozen):

  • runtime/ObjectConstructor.h:

(JSC::ObjectConstructor::createStructure):
(JSC::constructEmptyObject):

  • runtime/ObjectPrototype.cpp:

(JSC::ObjectPrototype::ObjectPrototype):
(JSC::ObjectPrototype::finishCreation):
(JSC::objectProtoFuncToString):

  • runtime/ObjectPrototype.h:

(JSC::ObjectPrototype::createStructure):

  • runtime/Operations.cpp:

(JSC::jsTypeStringForValue):

  • runtime/Operations.h:

(JSC):
(JSC::jsString):
(JSC::jsStringFromArguments):
(JSC::normalizePrototypeChainForChainAccess):
(JSC::normalizePrototypeChain):

  • runtime/PropertyMapHashTable.h:

(JSC::PropertyMapEntry::PropertyMapEntry):
(JSC::PropertyTable::createStructure):
(PropertyTable):
(JSC::PropertyTable::copy):

  • runtime/PropertyNameArray.h:

(JSC::PropertyNameArray::PropertyNameArray):
(JSC::PropertyNameArray::vm):
(JSC::PropertyNameArray::addKnownUnique):
(PropertyNameArray):

  • runtime/PropertyTable.cpp:

(JSC::PropertyTable::create):
(JSC::PropertyTable::clone):
(JSC::PropertyTable::PropertyTable):

  • runtime/PrototypeMap.cpp:

(JSC::PrototypeMap::emptyObjectStructureForPrototype):

  • runtime/RegExp.cpp:

(JSC::RegExp::RegExp):
(JSC::RegExp::finishCreation):
(JSC::RegExp::createWithoutCaching):
(JSC::RegExp::create):
(JSC::RegExp::compile):
(JSC::RegExp::compileIfNecessary):
(JSC::RegExp::match):
(JSC::RegExp::compileMatchOnly):
(JSC::RegExp::compileIfNecessaryMatchOnly):

  • runtime/RegExp.h:

(JSC):
(RegExp):
(JSC::RegExp::createStructure):

  • runtime/RegExpCache.cpp:

(JSC::RegExpCache::lookupOrCreate):
(JSC::RegExpCache::RegExpCache):
(JSC::RegExpCache::addToStrongCache):

  • runtime/RegExpCache.h:

(RegExpCache):

  • runtime/RegExpCachedResult.cpp:

(JSC::RegExpCachedResult::lastResult):
(JSC::RegExpCachedResult::setInput):

  • runtime/RegExpCachedResult.h:

(JSC::RegExpCachedResult::RegExpCachedResult):
(JSC::RegExpCachedResult::record):

  • runtime/RegExpConstructor.cpp:

(JSC::RegExpConstructor::RegExpConstructor):
(JSC::RegExpConstructor::finishCreation):
(JSC::constructRegExp):

  • runtime/RegExpConstructor.h:

(JSC::RegExpConstructor::createStructure):
(RegExpConstructor):
(JSC::RegExpConstructor::performMatch):

  • runtime/RegExpMatchesArray.cpp:

(JSC::RegExpMatchesArray::RegExpMatchesArray):
(JSC::RegExpMatchesArray::create):
(JSC::RegExpMatchesArray::finishCreation):
(JSC::RegExpMatchesArray::reifyAllProperties):

  • runtime/RegExpMatchesArray.h:

(RegExpMatchesArray):
(JSC::RegExpMatchesArray::createStructure):

  • runtime/RegExpObject.cpp:

(JSC::RegExpObject::RegExpObject):
(JSC::RegExpObject::finishCreation):
(JSC::RegExpObject::match):

  • runtime/RegExpObject.h:

(JSC::RegExpObject::create):
(JSC::RegExpObject::setRegExp):
(JSC::RegExpObject::setLastIndex):
(JSC::RegExpObject::createStructure):

  • runtime/RegExpPrototype.cpp:

(JSC::regExpProtoFuncCompile):

  • runtime/RegExpPrototype.h:

(JSC::RegExpPrototype::createStructure):

  • runtime/SmallStrings.cpp:

(JSC::SmallStrings::initializeCommonStrings):
(JSC::SmallStrings::createEmptyString):
(JSC::SmallStrings::createSingleCharacterString):
(JSC::SmallStrings::initialize):

  • runtime/SmallStrings.h:

(JSC):
(JSC::SmallStrings::singleCharacterString):
(SmallStrings):

  • runtime/SparseArrayValueMap.cpp:

(JSC::SparseArrayValueMap::SparseArrayValueMap):
(JSC::SparseArrayValueMap::finishCreation):
(JSC::SparseArrayValueMap::create):
(JSC::SparseArrayValueMap::createStructure):
(JSC::SparseArrayValueMap::putDirect):
(JSC::SparseArrayEntry::put):

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

(JSC::StrictEvalActivation::StrictEvalActivation):

  • runtime/StrictEvalActivation.h:

(JSC::StrictEvalActivation::create):
(JSC::StrictEvalActivation::createStructure):

  • runtime/StringConstructor.cpp:

(JSC::StringConstructor::finishCreation):

  • runtime/StringConstructor.h:

(JSC::StringConstructor::createStructure):

  • runtime/StringObject.cpp:

(JSC::StringObject::StringObject):
(JSC::StringObject::finishCreation):
(JSC::constructString):

  • runtime/StringObject.h:

(JSC::StringObject::create):
(JSC::StringObject::createStructure):
(StringObject):

  • runtime/StringPrototype.cpp:

(JSC::StringPrototype::StringPrototype):
(JSC::StringPrototype::finishCreation):
(JSC::removeUsingRegExpSearch):
(JSC::replaceUsingRegExpSearch):
(JSC::stringProtoFuncMatch):
(JSC::stringProtoFuncSearch):
(JSC::stringProtoFuncSplit):

  • runtime/StringPrototype.h:

(JSC::StringPrototype::createStructure):

  • runtime/StringRecursionChecker.h:

(JSC::StringRecursionChecker::performCheck):
(JSC::StringRecursionChecker::~StringRecursionChecker):

  • runtime/Structure.cpp:

(JSC::StructureTransitionTable::add):
(JSC::Structure::Structure):
(JSC::Structure::materializePropertyMap):
(JSC::Structure::despecifyDictionaryFunction):
(JSC::Structure::addPropertyTransition):
(JSC::Structure::removePropertyTransition):
(JSC::Structure::changePrototypeTransition):
(JSC::Structure::despecifyFunctionTransition):
(JSC::Structure::attributeChangeTransition):
(JSC::Structure::toDictionaryTransition):
(JSC::Structure::toCacheableDictionaryTransition):
(JSC::Structure::toUncacheableDictionaryTransition):
(JSC::Structure::sealTransition):
(JSC::Structure::freezeTransition):
(JSC::Structure::preventExtensionsTransition):
(JSC::Structure::takePropertyTableOrCloneIfPinned):
(JSC::Structure::nonPropertyTransition):
(JSC::Structure::isSealed):
(JSC::Structure::isFrozen):
(JSC::Structure::flattenDictionaryStructure):
(JSC::Structure::addPropertyWithoutTransition):
(JSC::Structure::removePropertyWithoutTransition):
(JSC::Structure::allocateRareData):
(JSC::Structure::cloneRareDataFrom):
(JSC::Structure::copyPropertyTable):
(JSC::Structure::copyPropertyTableForPinning):
(JSC::Structure::get):
(JSC::Structure::despecifyFunction):
(JSC::Structure::despecifyAllFunctions):
(JSC::Structure::putSpecificValue):
(JSC::Structure::createPropertyMap):
(JSC::Structure::getPropertyNamesFromStructure):
(JSC::Structure::prototypeChainMayInterceptStoreTo):

  • runtime/Structure.h:

(Structure):
(JSC::Structure::finishCreation):
(JSC::Structure::setPrototypeWithoutTransition):
(JSC::Structure::setGlobalObject):
(JSC::Structure::setObjectToStringValue):
(JSC::Structure::materializePropertyMapIfNecessary):
(JSC::Structure::materializePropertyMapIfNecessaryForPinning):
(JSC::Structure::setPreviousID):

  • runtime/StructureChain.cpp:

(JSC::StructureChain::StructureChain):

  • runtime/StructureChain.h:

(JSC::StructureChain::create):
(JSC::StructureChain::createStructure):
(JSC::StructureChain::finishCreation):
(StructureChain):

  • runtime/StructureInlines.h:

(JSC::Structure::create):
(JSC::Structure::createStructure):
(JSC::Structure::get):
(JSC::Structure::setEnumerationCache):
(JSC::Structure::prototypeChain):
(JSC::Structure::propertyTable):

  • runtime/StructureRareData.cpp:

(JSC::StructureRareData::createStructure):
(JSC::StructureRareData::create):
(JSC::StructureRareData::clone):
(JSC::StructureRareData::StructureRareData):

  • runtime/StructureRareData.h:

(StructureRareData):

  • runtime/StructureRareDataInlines.h:

(JSC::StructureRareData::setPreviousID):
(JSC::StructureRareData::setObjectToStringValue):

  • runtime/StructureTransitionTable.h:

(StructureTransitionTable):
(JSC::StructureTransitionTable::setSingleTransition):

  • runtime/SymbolTable.h:

(JSC::SharedSymbolTable::create):
(JSC::SharedSymbolTable::createStructure):
(JSC::SharedSymbolTable::SharedSymbolTable):

  • runtime/VM.cpp: Copied from Source/JavaScriptCore/runtime/JSGlobalData.cpp.

(JSC::VM::VM):
(JSC::VM::~VM):
(JSC::VM::createContextGroup):
(JSC::VM::create):
(JSC::VM::createLeaked):
(JSC::VM::sharedInstanceExists):
(JSC::VM::sharedInstance):
(JSC::VM::sharedInstanceInternal):
(JSC::VM::getHostFunction):
(JSC::VM::ClientData::~ClientData):
(JSC::VM::resetDateCache):
(JSC::VM::startSampling):
(JSC::VM::stopSampling):
(JSC::VM::discardAllCode):
(JSC::VM::dumpSampleData):
(JSC::VM::addSourceProviderCache):
(JSC::VM::clearSourceProviderCaches):
(JSC::VM::releaseExecutableMemory):
(JSC::releaseExecutableMemory):
(JSC::VM::gatherConservativeRoots):
(JSC::VM::addRegExpToTrace):
(JSC::VM::dumpRegExpTrace):

  • runtime/VM.h: Copied from Source/JavaScriptCore/runtime/JSGlobalData.h.

(VM):
(JSC::VM::isSharedInstance):
(JSC::VM::usingAPI):
(JSC::VM::isInitializingObject):
(JSC::VM::setInitializingObjectClass):
(JSC::WeakSet::heap):

  • runtime/WriteBarrier.h:

(JSC):
(JSC::WriteBarrierBase::set):
(JSC::WriteBarrierBase::setMayBeNull):
(JSC::WriteBarrierBase::setEarlyValue):
(JSC::WriteBarrier::WriteBarrier):

  • testRegExp.cpp:

(GlobalObject):
(GlobalObject::create):
(GlobalObject::createStructure):
(GlobalObject::finishCreation):
(main):
(testOneRegExp):
(parseRegExpLine):
(runFromFiles):
(realMain):

  • yarr/YarrInterpreter.h:

(BytecodePattern):

  • yarr/YarrJIT.cpp:

(YarrGenerator):
(JSC::Yarr::YarrGenerator::compile):
(JSC::Yarr::jitCompile):

  • yarr/YarrJIT.h:

(JSC):

../WebCore:

  • ForwardingHeaders/runtime/JSGlobalData.h: Removed.
  • ForwardingHeaders/runtime/VM.h: Copied from Source/WebCore/ForwardingHeaders/runtime/JSGlobalData.h.
  • WebCore.exp.in:
  • WebCore.order:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • bindings/js/DOMObjectHashTableMap.cpp:

(WebCore::DOMObjectHashTableMap::mapFor):

  • bindings/js/DOMObjectHashTableMap.h:

(JSC):
(DOMObjectHashTableMap):

  • bindings/js/DOMWrapperWorld.cpp:

(WebCore::DOMWrapperWorld::DOMWrapperWorld):
(WebCore::DOMWrapperWorld::~DOMWrapperWorld):
(WebCore::normalWorld):
(WebCore::mainThreadNormalWorld):

  • bindings/js/DOMWrapperWorld.h:

(WebCore::DOMWrapperWorld::create):
(WebCore::DOMWrapperWorld::vm):
(DOMWrapperWorld):
(WebCore):

  • bindings/js/GCController.cpp:

(WebCore::collect):
(WebCore::GCController::garbageCollectSoon):
(WebCore::GCController::garbageCollectNow):
(WebCore::GCController::setJavaScriptGarbageCollectorTimerEnabled):
(WebCore::GCController::discardAllCompiledCode):

  • bindings/js/IDBBindingUtilities.cpp:

(WebCore::get):
(WebCore::set):
(WebCore::deserializeIDBValue):
(WebCore::deserializeIDBValueBuffer):
(WebCore::idbKeyToScriptValue):

  • bindings/js/JSCallbackData.h:

(WebCore::JSCallbackData::JSCallbackData):

  • bindings/js/JSCustomSQLStatementErrorCallback.cpp:

(WebCore::JSSQLStatementErrorCallback::handleEvent):

  • bindings/js/JSCustomXPathNSResolver.cpp:

(WebCore::JSCustomXPathNSResolver::JSCustomXPathNSResolver):
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):

  • bindings/js/JSDOMBinding.cpp:

(WebCore::getHashTableForGlobalData):
(WebCore::reportException):
(WebCore::cacheDOMStructure):

  • bindings/js/JSDOMBinding.h:

(WebCore::DOMConstructorObject::createStructure):
(WebCore::DOMConstructorWithDocument::finishCreation):
(WebCore::getDOMStructure):
(WebCore::setInlineCachedWrapper):
(WebCore):
(WebCore::jsStringWithCache):

  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
(WebCore::JSDOMGlobalObject::finishCreation):

  • bindings/js/JSDOMGlobalObject.h:

(JSDOMGlobalObject):
(WebCore::JSDOMGlobalObject::createStructure):
(WebCore::getDOMConstructor):

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::JSDOMWindowBase):
(WebCore::JSDOMWindowBase::finishCreation):
(WebCore::JSDOMWindowBase::updateDocument):
(WebCore::JSDOMWindowBase::commonVM):

  • bindings/js/JSDOMWindowBase.h:

(JSDOMWindowBase):
(WebCore::JSDOMWindowBase::createStructure):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::setLocation):
(WebCore::DialogHandler::dialogCreated):
(WebCore::DialogHandler::returnValue):

  • bindings/js/JSDOMWindowShell.cpp:

(WebCore::JSDOMWindowShell::JSDOMWindowShell):
(WebCore::JSDOMWindowShell::finishCreation):
(WebCore::JSDOMWindowShell::setWindow):

  • bindings/js/JSDOMWindowShell.h:

(JSDOMWindowShell):
(WebCore::JSDOMWindowShell::create):
(WebCore::JSDOMWindowShell::createStructure):

  • bindings/js/JSDOMWrapper.h:

(WebCore::JSDOMWrapper::JSDOMWrapper):

  • bindings/js/JSDeviceMotionEventCustom.cpp:

(WebCore::createAccelerationObject):
(WebCore::createRotationRateObject):

  • bindings/js/JSDictionary.cpp:

(WebCore::JSDictionary::convertValue):

  • bindings/js/JSDictionary.h:

(WebCore::JSDictionary::JSDictionary):

  • bindings/js/JSErrorHandler.cpp:

(WebCore::JSErrorHandler::handleEvent):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/JSEventListener.h:

(WebCore::JSEventListener::setWrapper):
(WebCore::JSEventListener::jsFunction):

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::all):
(WebCore::JSHTMLDocument::setAll):

  • bindings/js/JSHTMLTemplateElementCustom.cpp:

(WebCore::JSHTMLTemplateElement::content):

  • bindings/js/JSHistoryCustom.cpp:

(WebCore::JSHistory::state):

  • bindings/js/JSImageConstructor.cpp:

(WebCore::JSImageConstructor::finishCreation):

  • bindings/js/JSImageConstructor.h:

(WebCore::JSImageConstructor::createStructure):

  • bindings/js/JSImageDataCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSInjectedScriptHostCustom.cpp:

(WebCore::InjectedScriptHost::nodeAsScriptValue):
(WebCore::JSInjectedScriptHost::functionDetails):
(WebCore::getJSListenerFunctions):
(WebCore::JSInjectedScriptHost::getEventListeners):
(WebCore::JSInjectedScriptHost::inspect):

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction):

  • bindings/js/JSMessageEventCustom.cpp:

(WebCore::JSMessageEvent::data):
(WebCore::handleInitMessageEvent):

  • bindings/js/JSMutationCallback.cpp:

(WebCore::JSMutationCallback::call):

  • bindings/js/JSMutationObserverCustom.cpp:

(WebCore::JSMutationObserverConstructor::constructJSMutationObserver):

  • bindings/js/JSNodeFilterCondition.cpp:

(WebCore::JSNodeFilterCondition::JSNodeFilterCondition):

  • bindings/js/JSNodeFilterCondition.h:

(WebCore::JSNodeFilterCondition::create):
(JSNodeFilterCondition):

  • bindings/js/JSNodeFilterCustom.cpp:

(WebCore::toNodeFilter):

  • bindings/js/JSPopStateEventCustom.cpp:

(WebCore::cacheState):

  • bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:

(WebCore::JSRequestAnimationFrameCallback::handleEvent):

  • bindings/js/JSSQLResultSetRowListCustom.cpp:

(WebCore::JSSQLResultSetRowList::item):

  • bindings/js/JSWorkerContextBase.cpp:

(WebCore::JSWorkerContextBase::JSWorkerContextBase):
(WebCore::JSWorkerContextBase::finishCreation):

  • bindings/js/JSWorkerContextBase.h:

(WebCore::JSWorkerContextBase::createStructure):
(JSWorkerContextBase):

  • bindings/js/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::recompileAllJSFunctions):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::ScheduledAction):
(WebCore::ScheduledAction::executeFunctionInContext):

  • bindings/js/ScheduledAction.h:

(WebCore::ScheduledAction::ScheduledAction):

  • bindings/js/ScriptCachedFrameData.cpp:

(WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
(WebCore::ScriptCachedFrameData::restore):
(WebCore::ScriptCachedFrameData::clear):

  • bindings/js/ScriptCallStackFactory.cpp:

(WebCore::createScriptCallStack):
(WebCore::createScriptArguments):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::createWindowShell):
(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::createWorld):
(WebCore::ScriptController::getAllWorlds):
(WebCore::ScriptController::clearWindowShell):
(WebCore::ScriptController::initScript):
(WebCore::ScriptController::updateDocument):
(WebCore::ScriptController::cacheableBindingRootObject):
(WebCore::ScriptController::bindingRootObject):
(WebCore::ScriptController::clearScriptObjects):
(WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):

  • bindings/js/ScriptControllerMac.mm:

(WebCore::ScriptController::windowScriptObject):

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::dispatchDidPause):

  • bindings/js/ScriptEventListener.cpp:

(WebCore::eventListenerHandlerBody):
(WebCore::eventListenerHandler):
(WebCore::eventListenerHandlerLocation):

  • bindings/js/ScriptFunctionCall.cpp:

(WebCore::ScriptFunctionCall::call):
(WebCore::ScriptCallback::call):

  • bindings/js/ScriptGCEvent.cpp:

(WebCore::ScriptGCEvent::getHeapSize):

  • bindings/js/ScriptObject.cpp:

(WebCore::ScriptObject::ScriptObject):
(WebCore::ScriptGlobalObject::set):

  • bindings/js/ScriptState.h:

(WebCore):

  • bindings/js/ScriptValue.cpp:

(WebCore::ScriptValue::deserialize):

  • bindings/js/ScriptValue.h:

(WebCore::ScriptValue::ScriptValue):

  • bindings/js/ScriptWrappable.h:

(JSC):
(ScriptWrappable):

  • bindings/js/ScriptWrappableInlines.h:

(WebCore::ScriptWrappable::setWrapper):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneDeserializer::readTerminal):
(WebCore::SerializedScriptValue::deserializeForInspector):
(WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):

  • bindings/js/WebCoreJSClientData.h:

(WebCoreJSClientData):
(WebCore::initNormalWorldClientData):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::WorkerScriptController):
(WebCore::WorkerScriptController::~WorkerScriptController):
(WebCore::WorkerScriptController::initScript):
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::scheduleExecutionTermination):
(WebCore::WorkerScriptController::isExecutionTerminating):
(WebCore::WorkerScriptController::disableEval):

  • bindings/js/WorkerScriptController.h:

(JSC):
(WebCore::WorkerScriptController::vm):
(WorkerScriptController):

  • bindings/js/WorkerScriptDebugServer.cpp:

(WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):

  • bindings/objc/WebScriptObject.mm:

(+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):
(GenerateCallbackImplementation):
(JSValueToNative):
(GenerateConstructorDeclaration):
(GenerateConstructorHelperMethods):

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

(WebCore::getJSFloat64ArrayConstructorTable):
(WebCore::JSFloat64ArrayConstructor::finishCreation):
(WebCore::getJSFloat64ArrayPrototypeTable):
(WebCore::getJSFloat64ArrayTable):
(WebCore::JSFloat64Array::finishCreation):
(WebCore::JSFloat64Array::createPrototype):

  • bindings/scripts/test/JS/JSFloat64Array.h:

(WebCore::JSFloat64Array::create):
(WebCore::JSFloat64Array::createStructure):
(JSFloat64Array):
(WebCore::JSFloat64ArrayPrototype::create):
(WebCore::JSFloat64ArrayPrototype::createStructure):
(WebCore::JSFloat64ArrayPrototype::JSFloat64ArrayPrototype):
(WebCore::JSFloat64ArrayConstructor::createStructure):

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

(WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
(WebCore::JSTestActiveDOMObject::finishCreation):
(WebCore::JSTestActiveDOMObject::createPrototype):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.h:

(WebCore::JSTestActiveDOMObject::create):
(WebCore::JSTestActiveDOMObject::createStructure):
(JSTestActiveDOMObject):
(WebCore::JSTestActiveDOMObjectPrototype::create):
(WebCore::JSTestActiveDOMObjectPrototype::createStructure):
(WebCore::JSTestActiveDOMObjectPrototype::JSTestActiveDOMObjectPrototype):
(WebCore::JSTestActiveDOMObjectConstructor::createStructure):

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

(WebCore::JSTestCallback::callbackWithNoParam):
(WebCore::JSTestCallback::callbackWithClass1Param):
(WebCore::JSTestCallback::callbackWithClass2Param):
(WebCore::JSTestCallback::callbackWithStringList):
(WebCore::JSTestCallback::callbackWithBoolean):
(WebCore::JSTestCallback::callbackRequiresThisToPass):

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

(WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
(WebCore::JSTestCustomNamedGetter::finishCreation):
(WebCore::JSTestCustomNamedGetter::createPrototype):

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h:

(WebCore::JSTestCustomNamedGetter::create):
(WebCore::JSTestCustomNamedGetter::createStructure):
(JSTestCustomNamedGetter):
(WebCore::JSTestCustomNamedGetterPrototype::create):
(WebCore::JSTestCustomNamedGetterPrototype::createStructure):
(WebCore::JSTestCustomNamedGetterPrototype::JSTestCustomNamedGetterPrototype):
(WebCore::JSTestCustomNamedGetterConstructor::createStructure):

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

(WebCore::JSTestEventConstructorConstructor::finishCreation):
(WebCore::JSTestEventConstructor::finishCreation):
(WebCore::JSTestEventConstructor::createPrototype):

  • bindings/scripts/test/JS/JSTestEventConstructor.h:

(WebCore::JSTestEventConstructor::create):
(WebCore::JSTestEventConstructor::createStructure):
(JSTestEventConstructor):
(WebCore::JSTestEventConstructorPrototype::create):
(WebCore::JSTestEventConstructorPrototype::createStructure):
(WebCore::JSTestEventConstructorPrototype::JSTestEventConstructorPrototype):
(WebCore::JSTestEventConstructorConstructor::createStructure):

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

(WebCore::JSTestEventTargetConstructor::finishCreation):
(WebCore::JSTestEventTarget::finishCreation):
(WebCore::JSTestEventTarget::createPrototype):

  • bindings/scripts/test/JS/JSTestEventTarget.h:

(WebCore::JSTestEventTarget::create):
(WebCore::JSTestEventTarget::createStructure):
(JSTestEventTarget):
(WebCore::JSTestEventTargetPrototype::create):
(WebCore::JSTestEventTargetPrototype::createStructure):
(WebCore::JSTestEventTargetPrototype::JSTestEventTargetPrototype):
(WebCore::JSTestEventTargetConstructor::createStructure):

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

(WebCore::JSTestExceptionConstructor::finishCreation):
(WebCore::JSTestException::finishCreation):
(WebCore::JSTestException::createPrototype):

  • bindings/scripts/test/JS/JSTestException.h:

(WebCore::JSTestException::create):
(WebCore::JSTestException::createStructure):
(JSTestException):
(WebCore::JSTestExceptionPrototype::create):
(WebCore::JSTestExceptionPrototype::createStructure):
(WebCore::JSTestExceptionPrototype::JSTestExceptionPrototype):
(WebCore::JSTestExceptionConstructor::createStructure):

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

(WebCore::JSTestInterfaceConstructor::finishCreation):
(WebCore::JSTestInterface::finishCreation):
(WebCore::JSTestInterface::createPrototype):

  • bindings/scripts/test/JS/JSTestInterface.h:

(WebCore::JSTestInterface::create):
(WebCore::JSTestInterface::createStructure):
(JSTestInterface):
(WebCore::JSTestInterfacePrototype::create):
(WebCore::JSTestInterfacePrototype::createStructure):
(WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype):
(WebCore::JSTestInterfaceConstructor::createStructure):

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

(WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
(WebCore::JSTestMediaQueryListListener::finishCreation):
(WebCore::JSTestMediaQueryListListener::createPrototype):
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:

(WebCore::JSTestMediaQueryListListener::create):
(WebCore::JSTestMediaQueryListListener::createStructure):
(JSTestMediaQueryListListener):
(WebCore::JSTestMediaQueryListListenerPrototype::create):
(WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
(WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype):
(WebCore::JSTestMediaQueryListListenerConstructor::createStructure):

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

(WebCore::JSTestNamedConstructorConstructor::finishCreation):
(WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
(WebCore::JSTestNamedConstructor::finishCreation):
(WebCore::JSTestNamedConstructor::createPrototype):

  • bindings/scripts/test/JS/JSTestNamedConstructor.h:

(WebCore::JSTestNamedConstructor::create):
(WebCore::JSTestNamedConstructor::createStructure):
(JSTestNamedConstructor):
(WebCore::JSTestNamedConstructorPrototype::create):
(WebCore::JSTestNamedConstructorPrototype::createStructure):
(WebCore::JSTestNamedConstructorPrototype::JSTestNamedConstructorPrototype):
(WebCore::JSTestNamedConstructorConstructor::createStructure):
(WebCore::JSTestNamedConstructorNamedConstructor::createStructure):

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

(WebCore::JSTestNodeConstructor::finishCreation):
(WebCore::JSTestNode::finishCreation):
(WebCore::JSTestNode::createPrototype):

  • bindings/scripts/test/JS/JSTestNode.h:

(WebCore::JSTestNode::create):
(WebCore::JSTestNode::createStructure):
(JSTestNode):
(WebCore::JSTestNodePrototype::create):
(WebCore::JSTestNodePrototype::createStructure):
(WebCore::JSTestNodePrototype::JSTestNodePrototype):
(WebCore::JSTestNodeConstructor::createStructure):

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

(WebCore::JSTestObjConstructor::finishCreation):
(WebCore::JSTestObj::finishCreation):
(WebCore::JSTestObj::createPrototype):
(WebCore::jsTestObjCachedAttribute1):
(WebCore::jsTestObjCachedAttribute2):
(WebCore::setJSTestObjConditionalAttr4Constructor):
(WebCore::setJSTestObjConditionalAttr5Constructor):
(WebCore::setJSTestObjConditionalAttr6Constructor):
(WebCore::setJSTestObjAnyAttribute):
(WebCore::setJSTestObjReplaceableAttribute):

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

(WebCore::JSTestObj::create):
(WebCore::JSTestObj::createStructure):
(JSTestObj):
(WebCore::JSTestObjPrototype::create):
(WebCore::JSTestObjPrototype::createStructure):
(WebCore::JSTestObjPrototype::JSTestObjPrototype):
(WebCore::JSTestObjConstructor::createStructure):

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

(WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
(WebCore::JSTestOverloadedConstructors::finishCreation):
(WebCore::JSTestOverloadedConstructors::createPrototype):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:

(WebCore::JSTestOverloadedConstructors::create):
(WebCore::JSTestOverloadedConstructors::createStructure):
(JSTestOverloadedConstructors):
(WebCore::JSTestOverloadedConstructorsPrototype::create):
(WebCore::JSTestOverloadedConstructorsPrototype::createStructure):
(WebCore::JSTestOverloadedConstructorsPrototype::JSTestOverloadedConstructorsPrototype):
(WebCore::JSTestOverloadedConstructorsConstructor::createStructure):

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

(WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
(WebCore::JSTestSerializedScriptValueInterface::finishCreation):
(WebCore::JSTestSerializedScriptValueInterface::createPrototype):
(WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
(WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:

(WebCore::JSTestSerializedScriptValueInterface::create):
(WebCore::JSTestSerializedScriptValueInterface::createStructure):
(JSTestSerializedScriptValueInterface):
(WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
(WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
(WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):

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

(WebCore::JSTestTypedefsConstructor::finishCreation):
(WebCore::JSTestTypedefs::finishCreation):
(WebCore::JSTestTypedefs::createPrototype):

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

(WebCore::JSTestTypedefs::create):
(WebCore::JSTestTypedefs::createStructure):
(JSTestTypedefs):
(WebCore::JSTestTypedefsPrototype::create):
(WebCore::JSTestTypedefsPrototype::createStructure):
(WebCore::JSTestTypedefsPrototype::JSTestTypedefsPrototype):
(WebCore::JSTestTypedefsConstructor::createStructure):

  • bridge/c/CRuntimeObject.h:

(JSC::Bindings::CRuntimeObject::createStructure):

  • bridge/c/c_instance.cpp:

(JSC::Bindings::CRuntimeMethod::create):
(JSC::Bindings::CRuntimeMethod::createStructure):
(JSC::Bindings::CRuntimeMethod::finishCreation):

  • bridge/jsc/BridgeJSC.cpp:

(JSC::Bindings::Instance::createRuntimeObject):

  • bridge/objc/ObjCRuntimeObject.h:

(JSC::Bindings::ObjCRuntimeObject::createStructure):

  • bridge/objc/objc_instance.mm:

(ObjCRuntimeMethod::create):
(ObjCRuntimeMethod::createStructure):
(ObjCRuntimeMethod::finishCreation):

  • bridge/objc/objc_runtime.h:

(JSC::Bindings::ObjcFallbackObjectImp::createStructure):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
(JSC::Bindings::ObjcFallbackObjectImp::finishCreation):

  • bridge/qt/qt_instance.cpp:

(JSC::Bindings::QtRuntimeObject::createStructure):
(JSC::Bindings::QtInstance::~QtInstance):
(JSC::Bindings::QtInstance::getQtInstance):

  • bridge/runtime_array.cpp:

(JSC::RuntimeArray::RuntimeArray):
(JSC::RuntimeArray::finishCreation):

  • bridge/runtime_array.h:

(JSC::RuntimeArray::create):
(JSC::RuntimeArray::createStructure):
(RuntimeArray):

  • bridge/runtime_method.cpp:

(JSC::RuntimeMethod::finishCreation):

  • bridge/runtime_method.h:

(JSC::RuntimeMethod::create):
(JSC::RuntimeMethod::createStructure):
(RuntimeMethod):

  • bridge/runtime_object.cpp:

(JSC::Bindings::RuntimeObject::RuntimeObject):
(JSC::Bindings::RuntimeObject::finishCreation):

  • bridge/runtime_object.h:

(JSC::Bindings::RuntimeObject::createStructure):

  • bridge/runtime_root.cpp:

(JSC::Bindings::RootObject::RootObject):
(JSC::Bindings::RootObject::gcProtect):
(JSC::Bindings::RootObject::gcUnprotect):
(JSC::Bindings::RootObject::updateGlobalObject):
(JSC::Bindings::RootObject::addRuntimeObject):

  • bridge/runtime_root.h:

(RootObject):

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

(JSC):

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::vm):

  • dom/ScriptExecutionContext.h:

(JSC):
(ScriptExecutionContext):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createImageBuffer):

  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::notifyFinished):

  • inspector/ScriptArguments.cpp:

(WebCore::ScriptArguments::ScriptArguments):

  • loader/icon/IconDatabaseBase.cpp:

(WebCore):
(WebCore::iconDatabase):
(WebCore::setGlobalIconDatabase):

  • platform/qt/MemoryUsageSupportQt.cpp:

(WebCore::memoryUsageKB):
(WebCore::actualMemoryUsageKB):

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::createGlobalData):

  • plugins/PluginView.cpp:

(WebCore::PluginView::start):
(WebCore::PluginView::stop):
(WebCore::PluginView::performRequest):
(WebCore::PluginView::npObject):
(WebCore::PluginView::privateBrowsingStateChanged):

  • plugins/blackberry/PluginViewBlackBerry.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):
(WebCore::PluginView::getWindowInfo):

  • plugins/efl/PluginViewEfl.cpp:

(WebCore::PluginView::dispatchNPEvent):

  • plugins/gtk/PluginViewGtk.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):

  • plugins/mac/PluginViewMac.mm:

(WebCore::PluginView::platformStart):

  • plugins/qt/PluginViewQt.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::setNPWindowIfNeeded):

  • plugins/win/PluginViewWin.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowRect):

  • testing/js/WebCoreTestSupport.cpp:

(WebCoreTestSupport::injectInternalsObject):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::dropProtection):

../WebKit/blackberry:

  • Api/BlackBerryGlobal.cpp:

(BlackBerry::WebKit::clearMemoryCaches):

  • WebKitSupport/AboutData.cpp:
  • WebKitSupport/DumpRenderTreeSupport.cpp:

(DumpRenderTreeSupport::javaScriptObjectsCount):

../WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::javaScriptObjectsCount):

../WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::gcCountJavascriptObjects):

../WebKit/mac:

  • Misc/WebCoreStatistics.mm:

(+[WebCoreStatistics javaScriptObjectsCount]):
(+[WebCoreStatistics javaScriptGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
(+[WebCoreStatistics javaScriptObjectTypeCounts]):
(+[WebCoreStatistics shouldPrintExceptions]):
(+[WebCoreStatistics setShouldPrintExceptions:]):
(+[WebCoreStatistics memoryStatistics]):
(+[WebCoreStatistics javaScriptReferencedObjectsCount]):

  • Plugins/Hosted/NetscapePluginHostProxy.mm:

(identifierFromIdentifierRep):

  • Plugins/Hosted/NetscapePluginInstanceProxy.h:

(LocalObjectMap):

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
(WebKit::NetscapePluginInstanceProxy::getWindowNPObject):
(WebKit::NetscapePluginInstanceProxy::getPluginElementNPObject):
(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::addValueToArray):

  • Plugins/Hosted/ProxyInstance.mm:

(WebKit::ProxyRuntimeMethod::create):
(WebKit::ProxyRuntimeMethod::createStructure):
(WebKit::ProxyRuntimeMethod::finishCreation):
(WebKit::ProxyInstance::getPropertyNames):

  • Plugins/Hosted/ProxyRuntimeObject.h:

(WebKit::ProxyRuntimeObject::create):
(WebKit::ProxyRuntimeObject::createStructure):

  • Plugins/WebNetscapePluginStream.mm:

(WebNetscapePluginStream::wantsAllStreams):

  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView sendEvent:isDrawRect:]):
(-[WebNetscapePluginView privateBrowsingModeDidChange]):
(-[WebNetscapePluginView setWindowIfNecessary]):
(-[WebNetscapePluginView createPluginScriptableObject]):
(-[WebNetscapePluginView getFormValue:]):
(-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
(-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebNetscapePluginView loadPluginRequest:]):
(-[WebNetscapePluginView _printedPluginBitmap]):

  • Plugins/WebPluginController.mm:

(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController stopOnePlugin:]):
(-[WebPluginController destroyOnePlugin:]):
(-[WebPluginController startAllPlugins]):
(-[WebPluginController addPlugin:]):

  • WebKit.order:
  • WebView/WebScriptDebugDelegate.mm:

(-[WebScriptCallFrame scopeChain]):
(-[WebScriptCallFrame evaluateWebScript:]):

  • WebView/WebScriptDebugger.mm:

(WebScriptDebugger::WebScriptDebugger):

../WebKit/qt:

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::javaScriptObjectsCount):

  • WebCoreSupport/QWebFrameAdapter.cpp:

(QWebFrameAdapter::addToJavaScriptWindowObject):

../WebKit/win:

  • WebCoreStatistics.cpp:

(WebCoreStatistics::javaScriptObjectsCount):
(WebCoreStatistics::javaScriptGlobalObjectsCount):
(WebCoreStatistics::javaScriptProtectedObjectsCount):
(WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
(WebCoreStatistics::javaScriptProtectedObjectTypeCounts):

  • WebJavaScriptCollector.cpp:

(WebJavaScriptCollector::objectCount):

../WebKit2:

  • Shared/linux/WebMemorySamplerLinux.cpp:

(WebKit::WebMemorySampler::sampleWebKit):

  • Shared/mac/WebMemorySampler.mac.mm:

(WebKit::WebMemorySampler::sampleWebKit):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::javaScriptObjectsCount):

  • WebProcess/Plugins/Netscape/JSNPMethod.cpp:

(WebKit::JSNPMethod::finishCreation):

  • WebProcess/Plugins/Netscape/JSNPMethod.h:

(WebKit::JSNPMethod::create):
(JSNPMethod):
(WebKit::JSNPMethod::createStructure):

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::JSNPObject::JSNPObject):
(WebKit::JSNPObject::finishCreation):
(WebKit::JSNPObject::callMethod):
(WebKit::JSNPObject::callObject):
(WebKit::JSNPObject::callConstructor):
(WebKit::JSNPObject::put):
(WebKit::JSNPObject::deleteProperty):
(WebKit::JSNPObject::getOwnPropertyNames):
(WebKit::JSNPObject::propertyGetter):

  • WebProcess/Plugins/Netscape/JSNPObject.h:

(WebKit::JSNPObject::create):
(WebKit::JSNPObject::createStructure):

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

(WebKit::NPJSObject::create):
(WebKit::NPJSObject::initialize):

  • WebProcess/Plugins/Netscape/NPJSObject.h:

(JSC):
(NPJSObject):

  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
(WebKit::NPRuntimeObjectMap::evaluate):

  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:

(JSC):
(NPRuntimeObjectMap):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::windowScriptNPObject):
(WebKit::PluginView::pluginElementNPObject):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScriptInMainFrame):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::getWebCoreStatistics):

12:26 PM Changeset in webkit [148695] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Differentiate between creating local storage maps and session storage maps
https://bugs.webkit.org/show_bug.cgi?id=114823

Reviewed by Beth Dakin.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::createLocalStorageMap):
(WebKit::StorageManager::createSessionStorageMap):

  • UIProcess/Storage/StorageManager.h:
  • UIProcess/Storage/StorageManager.messages.in:
  • WebProcess/Storage/StorageAreaMap.cpp:

(WebKit::StorageAreaMap::StorageAreaMap):

12:18 PM Changeset in webkit [148694] by Lucas Forschler
  • 2 edits in branches/safari-536.30-branch/LayoutTests

Fix skip format on svg/custom/use-href-update-crash.svg
https://bugs.webkit.org/show_bug.cgi?id=104054
<rdar://problem/13680081>

Patch by David Farler <dfarler@apple.com> on 2013-04-18

  • platform/mac/Skipped:

Remove [ Failure Pass ] for svg/custom/use-href-update-crash.svg

11:39 AM Changeset in webkit [148693] by jberlin@webkit.org
  • 3 edits in trunk/LayoutTests

More cleaning up of skipped WK2 tests.

  • platform/mac-wk2/TestExpectations:
  • platform/wk2/TestExpectations:
11:34 AM Changeset in webkit [148692] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

StorageAreaMaps should not assume that a zero storage namespace ID is used for local storage
https://bugs.webkit.org/show_bug.cgi?id=114822

Reviewed by Beth Dakin.

Store the storage type directly in the storage area map.

  • WebProcess/Storage/StorageAreaMap.cpp:

(WebKit::StorageAreaMap::StorageAreaMap):

  • WebProcess/Storage/StorageAreaMap.h:

(WebKit::StorageAreaMap::storageType):

11:18 AM Changeset in webkit [148691] by andersca@apple.com
  • 4 edits in trunk/Source/WebKit2

Begin fleshing out UI side local storage
https://bugs.webkit.org/show_bug.cgi?id=114820

Reviewed by Beth Dakin.

  • WebProcess/Storage/StorageNamespaceImpl.cpp:

(WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
(WebKit::StorageNamespaceImpl::createSessionStorageNamespace):
(WebKit::StorageNamespaceImpl::StorageNamespaceImpl):
(WebKit::StorageNamespaceImpl::~StorageNamespaceImpl):

  • WebProcess/Storage/StorageNamespaceImpl.h:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::localStorageNamespace):

11:14 AM Changeset in webkit [148690] by oliver@apple.com
  • 15 edits in trunk/Source/WebCore

Fix windows build by moving template definition to JSDOMBinding.h

11:08 AM Changeset in webkit [148689] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix spelling I thought I had fixed.

  • UIProcess/API/mac/WKBrowsingContextGroup.mm:

(-[WKBrowsingContextGroup initWithIdentifier:]):

11:03 AM Changeset in webkit [148688] by eric.carlson@apple.com
  • 5 edits in trunk

Forced subtitles never rendered
https://bugs.webkit.org/show_bug.cgi?id=114818

Source/WebCore:

Reviewed by Jer Noble.

No new tests, media/track/track-forced-subtitles-in-band.html was updated to test this change.

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::isRendered): "forced" tracks are rendered.

LayoutTests:

Update test to check that a forced cue is rendered.

Reviewed by Jer Noble.

  • media/track/track-forced-subtitles-in-band-expected.txt:
  • media/track/track-forced-subtitles-in-band.html:
11:03 AM Changeset in webkit [148687] by Lucas Forschler
  • 2 edits in branches/safari-536.30-branch/LayoutTests

svg/custom/use-href-update-crash.svg is skipped on trunk
https://bugs.webkit.org/show_bug.cgi?id=104054
<rdar://problem/13680081>

Patch by David Farler <dfarler@apple.com> on 2013-04-18

  • platform/mac/Skipped:

Skip svg/custom/use-href-update-crash.svg

11:00 AM Changeset in webkit [148686] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

WebKit should not write WKPreferences to app user defaults when using the ObjC API
<rdar://problem/13593578>
https://bugs.webkit.org/show_bug.cgi?id=114821

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKBrowsingContextGroup.mm:

(-[WKBrowsingContextGroup initWithIdentifier:]):
Use a identifier-less preferences for the ObjC-API. I think we will probably want this
to be the default for the C-API at some point as well, but Safari currently uses this
behavior.

10:55 AM Changeset in webkit [148685] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Should pass through an actual error code when calling notifyLoadFinished
https://bugs.webkit.org/show_bug.cgi?id=114815

Patch by Ed Baker <edbaker@blackberry.com> on 2013-04-18
Reviewed by Rob Buis.

PR #318079

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::postProgressFinishedNotification):

10:50 AM Changeset in webkit [148684] by zarvai@inf.u-szeged.hu
  • 2 edits in trunk/Source/WTF

Speculative build fix for Qt Mountain Lion Release after r148639.
https://bugs.webkit.org/show_bug.cgi?id=114793

Reviewed by Michael Saboff.

  • wtf/CurrentTime.cpp:
10:14 AM Changeset in webkit [148683] by andersca@apple.com
  • 13 edits in trunk/Source

Change storage factory functions to take a PageGroup and Page respectively
https://bugs.webkit.org/show_bug.cgi?id=114776

Reviewed by Beth Dakin.

Source/WebCore:

Change StorageNamespace::localStorageNamespace to take a PageGroup since WebKit2 needs
to know which local storage namespace belongs to which page group. Also remove the quota parameter from
the sessionStorageNamespace function since that's trivial to get from the Page.

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

(WebCore::Page::sessionStorage):

  • page/PageGroup.cpp:

(WebCore::PageGroup::localStorage):

  • storage/StorageNamespace.cpp:

(WebCore::StorageNamespace::localStorageNamespace):
(WebCore::StorageNamespace::sessionStorageNamespace):

  • storage/StorageNamespace.h:
  • storage/StorageNamespaceImpl.cpp:

(WebCore::StorageNamespaceImpl::localStorageNamespace):
(WebCore::StorageNamespaceImpl::sessionStorageNamespace):

  • storage/StorageNamespaceImpl.h:
  • storage/StorageStrategy.cpp:

(WebCore::StorageStrategy::localStorageNamespace):
(WebCore::StorageStrategy::sessionStorageNamespace):

  • storage/StorageStrategy.h:

Source/WebKit2:

Update for WebCore changes.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::localStorageNamespace):
(WebKit::WebPlatformStrategies::sessionStorageNamespace):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:

(WebPlatformStrategies):

9:34 AM Changeset in webkit [148682] by timothy@apple.com
  • 2 edits in trunk/Source/WebKit2

Remove an ASSERT that is causing flakeyness in Debug builds.

https://webkit.org/b/113020

Reviewed by Jessie Berlin.

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::open): Removed ASSERT(m_createdInspectorPage).

9:20 AM Changeset in webkit [148681] by mrobinson@webkit.org
  • 4 edits in trunk

[GTK] fast/canvas/DrawImageSinglePixelStretch.html fails
https://bugs.webkit.org/show_bug.cgi?id=58309

Reviewed by Alejandro G. Castro.

Source/WebCore:

No new tests. This patch unskips a test.

Prevent sampling outside source boundaries, by creating subsurfaces from source surfaces.
This also requires careful handling of negative and floating source rectangles.

  • platform/graphics/cairo/PlatformContextCairo.cpp:

(WebCore::PlatformContextCairo::drawSurfaceToContext): Use a subsurface to prevent sampling
outside rectangle boundaries.

LayoutTests:

  • platform/gtk/TestExpectations: Unskip a test which is now passing.
9:14 AM Changeset in webkit [148680] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Improper initialization of ANGLEResources (resubmission)
https://bugs.webkit.org/show_bug.cgi?id=114814

Patch by Jonathan Feldstein <jfeldstein@blackberry.com> on 2013-04-18
Reviewed by Yong Li, Rob Buis
Internally reviewed by Maxim Mogilnitsky

MaxDrawBuffers, OES_standard_derivatives, OES_EGL_image_external and ARB_texture_rectangle
are initialized through the ShBuiltInResources function so these fields do not need to be
set again in GraphicsContext3DBlackBerry.cpp. In addition, the extension flags should not
be set to true without getExtension being called (Khronos WebGL specs, section 5.14.14.).
In fact, as a direct result of these extensions being enabled prior to calling
getExtension, a WebGL conformance suite test for GL_OES_standard_derivatives was failing.

  • platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:

(WebCore::GraphicsContext3D::GraphicsContext3D):

9:12 AM Changeset in webkit [148679] by Carlos Garcia Campos
  • 21 edits
    1 move in trunk/Source/WebKit2

[GTK] Add WebKitWebPage::send-request signal to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=83681

Reviewed by Anders Carlsson.

Add WebKitWebPage::send-request signal emitted in willSendRequest
callback to allow web process extensions to modify requests before
they are sent or cancel the resource load.
This patch makes WebKitURIRequest and WebKitURIResponse objects
shareable between UI process and web extensions APIs. Since both
APIs force single header includes, the WebKitDefines.h header has
been split moving the forward declarations specific to the UI
process API to a new file WebKitForwardDeclarations.h. This way we
can also share the WebKitDefines.h header and remove the
WebKitWebExtensionDefines.h header used in the web extensions API.

  • GNUmakefile.list.am: Add new files to compilation.
  • UIProcess/API/gtk/WebKitContextMenu.h: Include WebKitForward.h.
  • UIProcess/API/gtk/WebKitContextMenuItem.h: Ditto.
  • UIProcess/API/gtk/WebKitDefines.h: Remove forward declarations.
  • UIProcess/API/gtk/WebKitDownload.h: Include WebKitForward.h.
  • UIProcess/API/gtk/WebKitFindController.h: Ditto.
  • UIProcess/API/gtk/WebKitForwardDeclarations.h: Added. Contains

the forward declarations moved from WebKitDefines.h.

  • UIProcess/API/gtk/WebKitPrintOperation.h: Include WebKitForward.h.
  • UIProcess/API/gtk/WebKitURIRequest.cpp:

(webkitURIRequestSetProperty): Use webkit_uri_request_set_uri() to
set the new URI.
(webkit_uri_request_class_init): Make URI property construct
instead of construct-only, since it can be updated once
constructed. It should never be NULL, so set default value to
about:blank instad of NULL.
(webkit_uri_request_set_uri): New public method to set the URI of
the WebKitURIRequest.

  • UIProcess/API/gtk/WebKitURIRequest.h: Allow to include this file

from webkit-web-extension.h.

  • UIProcess/API/gtk/WebKitURIResponse.h: Ditto.
  • UIProcess/API/gtk/WebKitURISchemeRequest.h: Include

WebKitForward.h.

  • UIProcess/API/gtk/WebKitWebView.h: Ditto.
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add

webkit_uri_request_set_uri.

  • UIProcess/API/gtk/tests/TestResources.cpp:

(testWebResourceSendRequest):
(serverCallback):
(beforeAll):

  • UIProcess/API/gtk/tests/WebExtensionTest.cpp:

(sendRequestCallback):
(pageCreatedCallback):

  • UIProcess/API/gtk/webkit2marshal.list:
  • WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.h: Include

WebKitDefines.h instead of WebKitWebExtensionDefines.h.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(willSendRequestForFrame): Emit WebKitWebPage::send-request and
return early if the load is cancelled.
(webkit_web_page_class_init): Add WebKitWebPage::send-request
signal.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h: Include

WebKitDefines.h instead of WebKitWebExtensionDefines.h.

  • WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
8:01 AM Changeset in webkit [148678] by commit-queue@webkit.org
  • 10 edits in trunk/Source

remove build warning(unused parameter)
https://bugs.webkit.org/show_bug.cgi?id=114670

Patch by Xuefei Ren <xren@blackberry.com> on 2013-04-18
Reviewed by Rob Buis.

Source/JavaScriptCore:

remove warning in Source/JavaScriptCore/runtime/GCActivityCallbackBlackBerry.cpp

  • runtime/GCActivityCallbackBlackBerry.cpp:

(JSC::DefaultGCActivityCallback::didAllocate):

Source/WebCore:

remove warning(unused parameter) in
Source/WebCore/html/shadow/MediaControlsBlackBerry.cpp
Source/WebCore/loader/blackberry/CookieJarBlackBerry.cpp
Source/WebCore/platform/blackberry/AuthenticationChallengeManager.cpp
Source/WebCore/platform/blackberry/RenderThemeBlackBerry.cpp
Source/WebCore/platform/network/blackberry/ResourceResponseBlackBerry.cpp
Source/WebCore/platform/network/blackberry/SocketStreamHandleBlackBerry.cpp
Source/WebCore/plugins/blackberry/PluginViewBlackBerry.cpp

  • html/shadow/MediaControlsBlackBerry.cpp:

(WebCore::MediaControlFullscreenFullscreenButtonElement::setIsFullscreen):

  • loader/blackberry/CookieJarBlackBerry.cpp:

(WebCore::getRawCookies):
(WebCore::deleteCookie):

  • platform/blackberry/AuthenticationChallengeManager.cpp:

(WebCore::AuthenticationChallengeManager::notifyChallengeResult):

  • platform/blackberry/RenderThemeBlackBerry.cpp:

(WebCore::RenderTheme::themeForPage):

  • platform/network/blackberry/ResourceResponseBlackBerry.cpp:

(WebCore::ResourceResponse::doPlatformAdopt):

  • platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:

(WebCore::SocketStreamHandle::notifyStatusReceived):

  • plugins/blackberry/PluginViewBlackBerry.cpp:

(WebCore::PluginView::invalidateRegion):

7:55 AM Changeset in webkit [148677] by commit-queue@webkit.org
  • 11 edits in trunk

remove build warning(unused parameter)
https://bugs.webkit.org/show_bug.cgi?id=114670

Patch by Xuefei Ren <xren@blackberry.com> on 2013-04-18
Reviewed by Rob Buis.

Source/WebCore:

remove builde warning (unused parameter) in
Source/WebCore/platform/blackberry/CursorBlackBerry.cpp

  • platform/blackberry/CursorBlackBerry.cpp:

(WebCore::Cursor::Cursor):

Source/WebKit/blackberry:

remove builde warning (unused parameter) in
Source/WebKit/blackberry

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::spellCheckingRequestCancelled):
(BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):
(BlackBerry::WebKit::InputHandler::spannableTextInRange):

  • WebKitSupport/RenderQueue.cpp:

(BlackBerry::WebKit::RenderQueue::backingStoreRectChanging):
(BlackBerry::WebKit::RenderQueue::scrollZoomJobsCompleted):

  • WebKitSupport/SurfacePool.cpp:

(BlackBerry::WebKit::SurfacePool::destroyPlatformGraphicsContext):
(BlackBerry::WebKit::SurfacePool::waitForBuffer):
(BlackBerry::WebKit::SurfacePool::notifyBuffersComposited):
(BlackBerry::WebKit::SurfacePool::destroyPlatformSync):

Tools:

remove builde warning (unused parameter) in
Tools/DumpRenderTree/blackberry

  • DumpRenderTree/blackberry/AccessibilityUIElementBlackBerry.cpp:

(AccessibilityUIElement::scrollToMakeVisibleWithSubFocus):
(AccessibilityUIElement::scrollToGlobalPoint):

  • DumpRenderTree/blackberry/DumpRenderTree.cpp:

(BlackBerry::WebKit::DumpRenderTree::addMessageToConsole):
(BlackBerry::WebKit::DumpRenderTree::didReceiveResponseForFrame):

  • DumpRenderTree/blackberry/EventSender.cpp:

(getDragModeCallback):
(setDragModeCallback):
(mouseWheelToCallback):
(contextClickCallback):
(mouseDownCallback):
(mouseUpCallback):
(mouseMoveToCallback):
(beginDragWithFilesCallback):
(leapForwardCallback):
(keyDownCallback):
(textZoomInCallback):
(textZoomOutCallback):
(zoomPageInCallback):
(zoomPageOutCallback):
(addTouchPointCallback):
(updateTouchPointCallback):
(setTouchModifierCallback):
(touchStartCallback):
(touchCancelCallback):
(touchMoveCallback):
(touchEndCallback):
(clearTouchPointsCallback):
(cancelTouchPointCallback):
(releaseTouchPointCallback):
(scalePageByCallback):

  • DumpRenderTree/blackberry/TestRunnerBlackBerry.cpp:

(TestRunner::authenticateSession):
(TestRunner::setSpatialNavigationEnabled):
(TestRunner::apiTestNewWindowDataLoadBaseURL):
(TestRunner::setPluginsEnabled):
(TestRunner::setApplicationCacheOriginQuota):
(TestRunner::addMockSpeechInputResult):
(TestRunner::setViewModeMediaFeature):
(TestRunner::deleteLocalStorageForOrigin):
(TestRunner::applicationCacheDiskUsageForOrigin):
(TestRunner::grantWebNotificationPermission):
(TestRunner::denyWebNotificationPermission):
(TestRunner::simulateWebNotificationClick):
(TestRunner::simulateLegacyWebNotificationClick):

7:30 AM Changeset in webkit [148676] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit/blackberry

remove build warning(unused parameter)
https://bugs.webkit.org/show_bug.cgi?id=114670

Patch by Xuefei Ren <xren@blackberry.com> on 2013-04-18
Reviewed by Rob Buis.

remove build warning in Source/WebKit/blackberry/Api

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::scroll):
(BlackBerry::WebKit::BackingStorePrivate::clearAndUpdateTileOfNotRenderedRegion):
(BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):
(BlackBerry::WebKit::BackingStorePrivate::blitTileRect):
(BlackBerry::WebKit::BackingStorePrivate::actualVisibleSizeChanged):

  • Api/BlackBerryGlobal.cpp:

(BlackBerry::WebKit::clearAppCache):
(BlackBerry::WebKit::clearDatabase):

  • Api/WebOverlay.cpp:

(BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setContentsToImage):
(BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::layerVisibilityChanged):
(BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::drawTextures):
(BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setContentsToImage):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::setCaretHighlightStyle):

  • Api/WebPageCompositor.cpp:

(BlackBerry::WebKit::WebPageCompositor::cleanup):

7:24 AM Changeset in webkit [148675] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

EditingStyle: Avoid some unnecessary CSSStyleDeclaration wrappers.
<http://webkit.org/b/114763>

Reviewed by Antti Koivisto.

removeEquivalentProperties(CSSStyleDeclaration) and removeEquivalentProperties(StylePropertySet)
only have different behavior if the CSSStyleDeclaration is computed style (they differ in handling
of the 'font-size' property.)

Avoid creating a CSSStyleDeclaration for StylePropertySets where we can just pass them in directly.

  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::removeStyleAddedByNode):
(WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):

7:08 AM Changeset in webkit [148674] by Bruno de Oliveira Abinader
  • 2 edits in trunk/Source/WebKit2

[WK2] CoordinatedGraphicsLayerState is a struct, not a class
https://bugs.webkit.org/show_bug.cgi?id=108855

Reviewed by Andreas Kling.

Fixes the forward declaration which takes CoordinatedGraphicsLayerState
as a class.

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:

(WebCore):

6:54 AM Changeset in webkit [148673] by eric.carlson@apple.com
  • 2 edits in trunk/LayoutTests

Flaky Test: media/track/track-mode.html
https://bugs.webkit.org/show_bug.cgi?id=114361

Unreviewed, fix a flaky test.

  • media/track/track-mode.html:
6:37 AM Changeset in webkit [148672] by allan.jensen@digia.com
  • 4 edits
    2 adds in trunk

Unset :hover in inner documents
https://bugs.webkit.org/show_bug.cgi?id=114446

Reviewed by Antonio Gomes.

Source/WebCore:

Fixes a regression from r145126 where hover nodes in inner documents was sometimes
not unset. Additionally it uses the new api from r145126 to avoid an unnecessary
hit test in touch-event handling.

Test: fast/events/touch/frame-hover-update.html

  • dom/Document.cpp:

(WebCore::Document::updateHoverActiveState):

  • page/EventHandler.cpp:

(WebCore::shouldGesturesTriggerActive):
(WebCore::EventHandler::handleTouchEvent):

LayoutTests:

Test expected effect of touch events on hover state.

  • fast/events/touch/frame-hover-update-expected.txt: Added.
  • fast/events/touch/frame-hover-update.html: Added.
6:08 AM Changeset in webkit [148671] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Change inadequate return value in method setDone().
https://bugs.webkit.org/show_bug.cgi?id=114806

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2013-04-18
Reviewed by Andreas Kling.

Fix possible warning in EFL port: no return statement in function returning non-void.
Change return value from bool to void in method setDone().

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

(EWK2UnitTest::CallbackDataTimer::setDone):

6:04 AM Changeset in webkit [148670] by g.czajkowski@samsung.com
  • 12 edits
    2 adds in trunk

[WK2][EFL] Text Checker's settings refactor
https://bugs.webkit.org/show_bug.cgi?id=111713

Reviewed by Andreas Kling.

Source/WebKit2:

Use WK2's TextCheckerState object as the store for the text checker settings.
It's shared between the client (Ewk API part) and WebProcess (read only).
Thanks to it, we don't have to keep any additional structure with
the settings on ewk side.

In the consistency with WKTextChecker C API, move the Ewk's text checker settings APIs
to the ewk_text_checker.h/cpp. They're not connected to Ewk_View/Ewk_Settings object to
keep them in ewk_setting.h/cpp.

Introduce a new class to implement WKTextCheckerClient callbacks to call spelling
methods through WK2 C API.
The main purpose of this change is to detach text checker initialization from ewk_context.

  • PlatformEfl.cmake:

Add a new files to the build.

  • UIProcess/API/efl/ewk_context.cpp:

(EwkContext::EwkContext):
Detach the text checker initialization from context.
There might be more than default context.
There is one text checker object per application.

  • UIProcess/API/efl/ewk_settings.cpp:
  • UIProcess/API/efl/ewk_settings.h:

Remove the text checker settings.

  • UIProcess/API/efl/ewk_text_checker.cpp:

Add the text checker settings to the ewk_text_checker.h/cpp

(convertLanguagesToEinaList):
Add helper function to convert Vector's values to Eina_List.

(clientCallbacks):
Add the client callback responsible for the continuous spell checking
setting change to the struct.

(ewk_text_checker_continuous_spell_checking_enabled_set):
Do not call the client's callback responsible for the setting
change unless WebKit changes the setting (trough the context
'Check Spelling While Typing' option).

  • UIProcess/API/efl/ewk_text_checker.h:

Adjust APIs name to the ewk_text_checker syntax.
Update the documentation according to the changes.

  • UIProcess/API/efl/ewk_text_checker_private.h:

(ClientCallbacks):
Move ClientCallbacks structure to TextCheckerClientEfl.
The client callbacks (Ewk API) have to be accessible in WKTextCheckerClient callbacks
to choose what implementation will be used - the client's (if definied) or Enchant impl.

  • UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:

Update the unit tests according to the APIs change.
Update the test responsible for the notification about the setting change
according to changes in 'ewk_text_checker_continuous_spell_checking_enabled_set'.

  • UIProcess/efl/TextCheckerClientEfl.cpp: Added.

Implement WKTextCheckerClient callbacks.

(TextCheckerClientEfl::TextCheckerClientEfl):
(TextCheckerClientEfl::instance):
Allow to get and create TextCheckerClientEfl object.

(TextCheckerClientEfl::isContinuousSpellCheckingEnabled):
Get the setting value based on WK2 C API.

(TextCheckerClientEfl::ensureSpellCheckingLanguage):
Load the default languages if user didn't specify any.

(TextCheckerClientEfl::updateSpellCheckingLanguages):
(TextCheckerClientEfl::languagesUpdateTimerFired):
(TextCheckerClientEfl::availableSpellCheckingLanguages):
(TextCheckerClientEfl::loadedSpellCheckingLanguages):
(TextCheckerClientEfl::availableSpellCheckingLanguages):
(TextCheckerClientEfl::loadedSpellCheckingLanguages):
Provide support for languages.

(TextCheckerClientEfl::spellCheckingSettingChangeTimerFired):
(TextCheckerClientEfl::callContinuousSpellCheckingChangeCallbackAsync):
Notify the client about the setting change.

(TextCheckerClientEfl::isContinuousSpellCheckingEnabledCallback):
(TextCheckerClientEfl::setContinuousSpellCheckingEnabledCallback):
(TextCheckerClientEfl::uniqueSpellDocumentTagCallback):
(TextCheckerClientEfl::closeSpellDocumentWithTagCallback):
(TextCheckerClientEfl::checkSpellingOfStringCallback):
(TextCheckerClientEfl::guessesForWordCallback):
(TextCheckerClientEfl::learnWordCallback):
(TextCheckerClientEfl::ignoreWordCallback):
WKTextCheckerClient callbacks implementation.

  • UIProcess/efl/TextCheckerClientEfl.h: Added.

(TextCheckerClientEfl):
(TextCheckerClientEfl::clientCallbacks):
Return the client callbacks to be used in ewk_text_checker.cpp.

  • UIProcess/efl/TextCheckerEfl.cpp:

(WebKit::TextChecker::state):
Initialize the TextCheckerState's members to false.

(WebKit::TextChecker::setContinuousSpellCheckingEnabled):
Set the default language if user didn't specify any.
Notify the client about the setting change.
This method is called when context menu 'Check Spelling While Typing'
option has been toggled.

(WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
Set the default language if user didn't specify any.
Called by WKTextChecker's API.

Tools:

  • MiniBrowser/efl/main.c:

(window_create):
Use a new text checker API to enable spell checking.

5:56 AM Changeset in webkit [148669] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Add checking whether the compiler allows to use #pragma directive.
https://bugs.webkit.org/show_bug.cgi?id=114740

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2013-04-18
Reviewed by Andreas Kling.

Some compilers may complain that #pragma warning is an undefined macro.

  • src/compiler/depgraph/DependencyGraph.cpp:
5:54 AM Changeset in webkit [148668] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Toolbar icons are displayed incorrectly
https://bugs.webkit.org/show_bug.cgi?id=114792

Patch by Seokju Kwon <Seokju Kwon> on 2013-04-18
Reviewed by Timothy Hatcher.

Inspector uses small toolbar icons when docking the inspector.
So icons should have different x position.

No tests because no behavior change is expected.

  • inspector/front-end/inspector.css: Add missing 'background-position-x' values.

(body.dock-to-bottom .toolbar-item.profiles .toolbar-icon):
(body.dock-to-bottom .toolbar-item.cpu-profiler .toolbar-icon):
(body.dock-to-bottom .toolbar-item.css-profiler .toolbar-icon):
(body.dock-to-bottom .toolbar-item.heap-profiler .toolbar-icon):
(body.dock-to-bottom .toolbar-item.canvas-profiler .toolbar-icon):
(body.dock-to-bottom .toolbar-item.memory-chart-profiler .toolbar-icon):
(body.dock-to-bottom .toolbar-item.memory-snapshot-profiler .toolbar-icon):

5:43 AM Changeset in webkit [148667] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebKit/blackberry

removei build warning (unused parameter )
https://bugs.webkit.org/show_bug.cgi?id=114670

Patch by Xuefei Ren <xren@blackberry.com> on 2013-04-18
Reviewed by Rob Buis.

remove warning (unused parameter ) in
Source/WebKit/blackberry/WebCoreSupport

  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore::ChromeClientBlackBerry::mouseDidMoveOverElement):
(WebCore::ChromeClientBlackBerry::needTouchEvents):
(WebCore::ChromeClientBlackBerry::reachedMaxAppCacheSize):

  • WebCoreSupport/DatePickerClient.cpp:

(WebCore::DatePickerClient::setValue):

  • WebCoreSupport/EditorClientBlackBerry.cpp:

(WebCore::EditorClientBlackBerry::checkSpellingOfString):
(WebCore::EditorClientBlackBerry::getAutoCorrectSuggestionForMisspelledWord):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNewWindowAction):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidReceiveResponse):
(WebCore::FrameLoaderClientBlackBerry::shouldUseCredentialStorage):

  • WebCoreSupport/InspectorClientBlackBerry.cpp:

(WebCore::InspectorClientBlackBerry::updateInspectorStateCookie):

  • WebCoreSupport/NetworkInfoClientBlackBerry.cpp:

(WebCore::NetworkInfoClientBlackBerry::onCurrentNetworkTypeChange):
(WebCore::NetworkInfoClientBlackBerry::onCurrentCellularTypeChange):

  • WebCoreSupport/SelectPopupClient.cpp:

(WebCore::SelectPopupClient::generateHTML):

  • WebCoreSupport/UserMediaClientImpl.cpp:

(WebCore::UserMediaClientImpl::requestUserMedia):

5:02 AM Changeset in webkit [148666] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebKit2

[GTK][WK2] Add WebKitWebPage::webkit_web_page_get_uri to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=111288

Patch by Manuel Rego Casasnovas <Manuel Rego Casasnovas> on 2013-04-18
Reviewed by Anders Carlsson.

Add new property URI to WebKitWebPage providing a method
webkit_web_page_get_uri to get it and the signal "notify::uri" to
monitor changes in the URI.

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include new method in

GTK+ doc.

  • UIProcess/API/gtk/tests/TestLoaderClient.cpp:

(testWebPageURI):
(beforeAll):
(afterAll): Add test to check that WebKitWebPage URI matches with
WebKitWebView value. The tests is listening for changes in WebKitWebPage
URI via D-Bus and checks that value is the same than WebKitWebView URI.
It also checks that the order of the URIs in a redirection is right.
When the test finishes the signals are disconnected properly.

  • UIProcess/API/gtk/tests/WebExtensionTest.cpp:

(uriChangedCallback):
(pageCreatedCallback): Add new D-Bus signal "URIChanged" connected to
"notify::uri" signal of WebKitWebPage.

  • UIProcess/API/gtk/tests/WebKitTestBus.cpp:

(WebKitTestBus::getOrCreateConnection): Rename method connection() to
getOrCreateConnection().
(WebKitTestBus::createProxy): Use the new method name.

  • UIProcess/API/gtk/tests/WebKitTestBus.h:

(WebKitTestBus::connection): Add public getter for m_connection.
(WebKitTestBus): Add private method header getOrCreateConnection().

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:

(_WebKitWebPagePrivate): Add new URI attribute.
(webkitWebPageSetURI): Method to set the URI and emit the "notify:uri"
signal if it has changed.
(didStartProvisionalLoadForFrame): At this point it use the unreachable
URL from provisional document loader if any. Otherwise, it uses the URL
from provisional document loader.
(didReceiveServerRedirectForProvisionalLoadForFrame): In the case of
redirections it works like for didStartProvisionalLoadForFrame getting
the unreachable URL if any.
(didSameDocumentNavigationForFrame): In this case it gets the URL from
the document loader.
(webkitWebPageGetProperty): Add code related to URI property.
(webkit_web_page_class_init): Add bits related to URI property.
(webkitWebPageCreate): Implement callbacks to monitor URI changes.
(webkit_web_page_get_uri): Return URI attribute.

  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h: Add new method

header.

3:35 AM Changeset in webkit [148665] by xan@webkit.org
  • 7 edits in trunk/Source/WebKit2

[GTK] When the WebProcess crashes, a signal should be emitted
https://bugs.webkit.org/show_bug.cgi?id=105180

Reviewed Carlos Garcia Campos.

Emit a "web-process-crashed" signal when the WebProcess crashes. This
is useful, for example, to show an error page in a web browser
like Chrome does.

  • UIProcess/API/gtk/WebKitLoaderClient.cpp:

(processDidCrash):
(attachLoaderClientToView):

  • UIProcess/API/gtk/WebKitWebContextPrivate.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_class_init):
(webkitWebViewWebProcessCrashed):

  • UIProcess/API/gtk/tests/TestWebExtensions.cpp:

(testWebExtensionGetTitle):
(webProcessCrashedCallback):
(testWebKitWebViewProcessCrashed):
(beforeAll):

  • UIProcess/API/gtk/tests/WebExtensionTest.cpp:

(methodCallCallback):

3:27 AM Changeset in webkit [148664] by allan.jensen@digia.com
  • 3 edits in trunk/LayoutTests

fast/sub-pixel/float-wrap-zoom.html fails
https://bugs.webkit.org/show_bug.cgi?id=114800

Unreviewed gardending.

The test depends on pixel rounding in text painting.

  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
3:11 AM Changeset in webkit [148663] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Implement JIT for MinGW-w64 64-bit
https://bugs.webkit.org/show_bug.cgi?id=114580

Patch by Jonathan Liu <net147@gmail.com> on 2013-04-18
Reviewed by Jocelyn Turcotte.

  • jit/JITStubs.cpp:

(JSC):

2:47 AM Changeset in webkit [148662] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[EFL] Add a newline to the end of log message
https://bugs.webkit.org/show_bug.cgi?id=114659

Patch by Seokju Kwon <Seokju Kwon> on 2013-04-18
Reviewed by Gyuyoung Kim.

Move a newline to info() definition.

  • EWebLauncher/main.c:

(on_load_finished):
(on_tooltip_text_set):
(on_tooltip_text_unset):
(on_inputmethod_changed):
(on_focus_out):
(on_focus_in):
(on_key_down):
(windowCreate):

  • MiniBrowser/efl/main.c:

(on_key_down):
(on_download_request):
(on_download_finished):
(on_download_failed):
(on_refresh_button_clicked):
(on_popup_menu_discarded):
(on_popup_menu_item_clicked):
(popup_menu_populate):
(on_popup_menu_show):
(on_window_create):
(context_popup_item_selected_cb):
(on_context_menu_show):
(on_context_menu_hide):
(window_create):

2:24 AM Changeset in webkit [148661] by zarvai@inf.u-szeged.hu
  • 21 edits
    1 copy
    27 adds in trunk/LayoutTests

[Qt] Unreviewed gardening. Updating png expected results after r148594.

  • platform/qt-5.0-wk2/compositing/direct-image-compositing-expected.png: Added.
  • platform/qt-5.0-wk2/compositing/geometry/video-fixed-scrolling-expected.png:
  • platform/qt-5.0-wk2/compositing/overflow/overflow-compositing-descendant-expected.png:
  • platform/qt-5.0-wk2/compositing/overflow/scroll-ancestor-update-expected.png: Added.
  • platform/qt-5.0-wk2/compositing/reflections/nested-reflection-transformed-expected.png:
  • platform/qt-5.0-wk2/compositing/self-painting-layers-expected.png: Added.
  • platform/qt-5.0-wk2/compositing/shadows/shadow-drawing-expected.png: Added.
  • platform/qt-5.0-wk2/editing/selection/replaced-boundaries-3-expected.png: Added.
  • platform/qt-5.0-wk2/editing/selection/select-box-expected.png: Added.
  • platform/qt-5.0-wk2/editing/selection/select-element-paragraph-boundary-expected.png: Added.
  • platform/qt-5.0-wk2/fast/backgrounds/background-position-parsing-expected.png: Added.
  • platform/qt-5.0-wk2/fast/backgrounds/size/contain-and-cover-zoomed-expected.png: Added.
  • platform/qt-5.0-wk2/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/qt-5.0-wk2/fast/clip/overflow-border-radius-composited-expected.png: Added.
  • platform/qt-5.0-wk2/fast/css-generated-content/014-expected.png:
  • platform/qt-5.0-wk2/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.png:
  • platform/qt-5.0-wk2/fast/events/pointer-events-2-expected.png: Added.
  • platform/qt-5.0-wk2/fast/forms/form-element-geometry-expected.png: Added.
  • platform/qt-5.0-wk2/fast/forms/menulist-separator-painting-expected.txt:
  • platform/qt-5.0-wk2/fast/forms/select-baseline-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/forms/selectlist-minsize-expected.txt: Added.
  • platform/qt-5.0-wk2/fast/gradients/border-image-gradient-sides-and-corners-expected.png: Added.
  • platform/qt-5.0-wk2/fast/inline/continuation-outlines-expected.png: Added.
  • platform/qt-5.0-wk2/fast/lists/ordered-list-with-no-ol-tag-expected.png: Added.
  • platform/qt-5.0-wk2/fast/text/whitespace/013-expected.png:
  • platform/qt-5.0-wk2/fast/text/whitespace/014-expected.png:
  • platform/qt-5.0-wk2/svg/as-border-image/svg-as-border-image-expected.png:
  • platform/qt-5.0-wk2/svg/custom/image-parent-translation-expected.png:
  • platform/qt-5.0-wk2/svg/custom/inline-svg-in-xhtml-expected.png:
  • platform/qt-5.0-wk2/svg/custom/js-update-image-and-display-expected.png: Copied from LayoutTests/platform/qt-5.0-wk2/fast/text/whitespace/013-expected.png.
  • platform/qt-5.0-wk2/svg/dynamic-updates/SVG-dynamic-css-transform-expected.png:
  • platform/qt-5.0-wk2/svg/text/remove-text-node-from-tspan-expected.png:
  • platform/qt-5.0-wk2/svg/text/remove-tspan-from-text-expected.png:
  • platform/qt-5.0-wk2/svg/text/text-deco-01-b-expected.png: Added.
  • platform/qt-5.0-wk2/svg/wicd/test-rightsizing-b-expected.png:
  • platform/qt-5.0-wk2/svg/wicd/test-scalable-background-image2-expected.png:
  • platform/qt-5.0-wk2/svg/zoom/page/zoom-background-images-expected.png:
  • platform/qt-5.0-wk2/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
  • platform/qt-5.0-wk2/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
  • platform/qt-5.0-wk2/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png: Added.
  • platform/qt-5.0-wk2/tables/mozilla/bugs/bug56563-expected.png: Added.
  • platform/qt-5.0-wk2/tables/mozilla/marvin/backgr_layers-opacity-expected.png: Added.
  • platform/qt-5.0-wk2/tables/mozilla_expected_failures/marvin/backgr_position-table-column-expected.png: Added.
  • platform/qt-5.0-wk2/tables/mozilla_expected_failures/marvin/backgr_position-table-row-expected.png: Added.
1:50 AM EFLWebKit edited by ryuan.choi@samsung.com
libsoup was bumped after r148506 (diff)
1:05 AM Changeset in webkit [148660] by mikhail.pozdnyakov@intel.com
  • 7 edits in trunk/Source/WebKit2

[EFL][WK2] Add tooltip API to the WKView client
https://bugs.webkit.org/show_bug.cgi?id=111563

Patch by Kenneth Rohde Christiansen <kenneth@webkit.org> on 2013-04-18
Reviewed by Andreas Kling.

Add tooltip to the barebone Tizen C API, and implement
the method so that the EFL API keeps working.

  • UIProcess/API/C/efl/WKView.h:
  • UIProcess/efl/ViewClientEfl.cpp:

(WebKit::ViewClientEfl::didChangeTooltip):
(WebKit):
(WebKit::ViewClientEfl::ViewClientEfl):

  • UIProcess/efl/ViewClientEfl.h:

(ViewClientEfl):

  • UIProcess/efl/WebView.cpp:

(WebKit::WebView::toolTipChanged):

  • UIProcess/efl/WebViewClient.cpp:

(WebKit::WebViewClient::didChangeTooltip):
(WebKit):

  • UIProcess/efl/WebViewClient.h:
12:26 AM Changeset in webkit [148659] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations: Fix expectations for a couple of flaky tests.

Adding aditional flaky and timeout expectations for the currently failing tests.

Note: See TracTimeline for information about the timeline view.