Michael Catanzaro | 7 Feb 05:23 2016

Web inspector images

Hi,

I'd like to address the problem with the license for the web inspector
images. The background on this is that a WebKitGTK+ release was
rejected by the legal department of one of our distributors after it
discovered the file Source/WebInspectorUI/APPLE_IMAGES_LICENSE.rtf,
which covers the images under
Source/WebInspectorUI/UserInterface/Images. From a cursory glance at
the license, it's clear that not only is this license not open source
compatible (and therefore not compatible with the acceptable content
policies of major WebKitGTK+ distributors), the images are also not
distributable. I don't believe this is consistent with the values of
the WebKit open source project.

In response to this issue, we created similar but freely-licensed
replacement images under
Source/WebInspectorUI/UserInterface/Images/gtk, took down our hosted
tarballs for several previous WebKitGTK+ releases, reissued those
tarballs with the images replaced, and posted a notice to alert some of
our distributors to the issue. This was sufficient for our port, so we
just... stopped at that. But it would be good if other ports did not
have to address this problem individually, especially since there is no
obvious warning when downloading WebKit as to the legal status of this
content.

Since the images are not usable except by Apple, it would be nice to
remove these images from the public repository to reduce the risk of
other ports accidentally including these image files. Therefore, I
propose to simply overwrite the images under Images with the images
under Images/gtk. As part of this, we would need to create a few new
(Continue reading)

Filip Pizlo | 3 Feb 01:59 2016
Picon

Re: Some text about the B3 compiler


> On Feb 2, 2016, at 4:56 PM, Carlos Alberto Lopez Perez <clopez <at> igalia.com> wrote:
> 
> On 02/02/16 19:58, Ryosuke Niwa wrote:
>> On Tue, Feb 2, 2016 at 10:42 AM, Carlos Alberto Lopez Perez
>>> But this script seems focused on comparing the performance between
>>> different browsers (safari vs chrome vs firefox) rather than in testing
>>> and comparing the performance between different revisions of WebKit.
>> 
>> Not at all.  It simply supports running benchmark in other browsers.
>> 
>>> Do you think it makes any difference (from the point of view of
>>> detecting failures, not from the performance PoV) to run this tests in a
>>> full-fledged browser like Safari rather than in WebKitTestRunner ?
>> 
>> Yes. There are many browser features that can significantly impact the
>> real world performance.
>> 
> 
> I'm specifically not asking about performance, but about correctness.
> 
> This discussion was started because Filip said that running JS tests on
> a browser catches many failures that are not cached when running the
> tests from the terminal.
> 
> So, I'm wondering if running the JS tests on WTR or Safari makes any
> difference when catching failures.

I suspect that the browser will catch more failures.

(Continue reading)

Dan Bernstein | 29 Jan 03:08 2016
Picon

A recent change to how WebKit XPC services work for development

The recent r195795 changed how WebKit XPC services work for development.

I expect this change to not have any impact on most of your workflows, but read on for the details, and be on the lookout for any things that might have broken anyway.

The most noticeable effect of this change is that XPC services will no longer inherit all of the UI process’s environment variables automatically. To set an environment variable EXAMPLE to VALUE in the XPC services, you’ll need to set __XPC_EXAMPLE to VALUE in the UI process’s environment. In cases where our tools need to control the XPC services’ environment, the tools have been updated to do use the __XPC_ prefix. And setting __XPC_DYLD_FRAMEWORK_PATH or __XPC_DYLD_LIBRARY_PATH for the services isn’t necessary, since they know to look for frameworks and libraries relative to where they are.

Engineering builds will no longer contain both a normal variant and a .Development variant of each of the WebKit XPC services. Instead, they will contain only a normal variant of each service. However, the service name and bundle identifier will continue to have the .Development suffix.
_______________________________________________
webkit-dev mailing list
webkit-dev <at> lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev
Filip Pizlo | 29 Jan 01:23 2016
Picon

Some text about the B3 compiler

Hi everyone,

We’ve been working on a new compiler backend for the FTL JIT, which we call B3.  It stands for “Bare Bones Backend”.  We recently enabled it on X86/Mac, and we’re working hard to enable it on other platforms.

If you’re interested in how it works, I’ve started writing documentation.  I’ll be adding more to it soon!

-Filip

_______________________________________________
webkit-dev mailing list
webkit-dev <at> lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev
Michael Catanzaro | 25 Jan 16:53 2016

Unprefixing hyphens property?

Hi,

Mozilla has unprefixed the CSS hyphens property as of Firefox 43. Is
there any interest in unprefixing it for WebKit?

Michael
Morten Stenshorne | 19 Jan 20:12 2016
Picon

Intent to implement in Blink: CSS properties break-{after, before, inside}

Hello WebKit! :)

I'm planning to implement the CSS properties break-after, break-before
and break-inside [1] in Blink. As part of that process, I need to ask
other browser vendors about their views / plans regarding this web
platform feature. I'd especially like to know if you have anything
against implementing these properties (apart from priorities).

Thanks in advance!

[1] https://www.chromestatus.com/feature/5630943616303104

--

-- 
---- Morten Stenshorne, developer, Opera Software ASA ----
------------------ http://www.opera.com/ -----------------
Konstantin Tokarev | 10 Jan 19:44 2016
Picon

Simplifying conditions in webkitdirs.pm

Hello WebKittens,

There are a lot of strange conditions in webkitdirs.pm which work only because of several coincidences
happening in current trunk. As a result, addition of new ports (both in trunk or outside of trunk) require
more line changes than it could be.

To be more concrete, I'm have these ports in mind:
1. Nix JSC port proposed by Yusuke Suzuki recently
2. Qt port which I'm restoring now (don't worry, I have no plans to upstream it in foreseeable future)

I've submitted a couple of patches in order to improve situation:

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

Other examples of such conditions:

1)

sub isAppleMacWebKit()
{
    return isDarwin() && !isGtk(); 
}

If EFL is built on Darwin at some point it becomes AppleMac

2)

sub isAppleWinWebKit()
{
    return (isCygwin() || isWindows()) && !isWinCairo() && !isGtk();
}

3)

sub checkRequiredSystemConfig
{
    #...
    } elsif (isGtk() or isEfl() or isWindows() or isCygwin()) {
        my  <at> cmds = qw(bison gperf flex);
    # following code check if these tools are present

Looks like that building any possible port requires these tools

4)

sub isCMakeBuild()
{
    if (isEfl() || isGtk() || isAnyWindows()) {
        return 1;
    # ...

Do I understand correctly that CMake is a highly preferred (or even required) build system for any new port?
If so that should be written as

  return 1 unless isAppleMacWebKit();

--

-- 
Regards,
Konstantin
Michael Catanzaro | 7 Jan 21:48 2016

CC on reviewed bugs

Hi,

I notice that when my only comment on a bug is the comment added using
the WebKit review feature, I do not get CCed on the bug and so do not
notice follow-up responses to my review.

It would be awesome if auto-CC could be implemented. I always want to
be CCed on bugs with patches I have reviewed.

Please be careful to CC yourself manually in the meantime.

Michael
Saam barati | 6 Jan 23:45 2016
Picon

Getting the frame pointer and program counter of a thread on gtk and efl ports

Hi all,
I’m writing some platform dependent code for a sampling profiler I’m adding to JSC.
I’m looking for a way to get a thread’s frame pointer and program counter in the gtk and efl ports while that thread is paused.
We already have a way to grab the stack pointer of a thread on all ports. If you look inside JavaScriptCore/heap/MachineStackMarker.h/cpp you
will see the code that does this. I’ve also written code that grabs PC and FP for other platforms. If you look at my WIP patch
you can see that code: https://bugs.webkit.org/show_bug.cgi?id=151713.

I’d like to get this working on all ports before landing. Do people who maintain the gtk and efl ports
have an idea on how to do this? Or could you help me figure out a solution?

Thanks,
Saam
_______________________________________________
webkit-dev mailing list
webkit-dev <at> lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev
Vienneau, Christopher | 5 Jan 21:03 2016

Re: Memory leak tracking in WebKit

Hi,

 

I’ve resumed the memory leak tracking I was doing last year, I have some more details to share, hopefully you’ll be able to suggest how I might fix it.  The source of the leak appears to come from the below callstack.  A cache of animation points is being created in SVGAnimatedProperty(SVGElement* contextElement, const QualifiedName& attributeName, AnimatedPropertyType animatedPropertyType), however the destructor for SVGAnimatedProperty is never called.  The passed in contextElement gains a ref when the SVGAnimatedProperty is created, however I’m not seeing a code path where the animation points should be destroyed.  This effects both svg polyline and polygon, and results in leaking the whole page.

 

Thanks for any help you can provide,

 

Chris Vienneau

 

 

\WebCore\svg\properties\SVGAnimatedProperty.cpp

SVGAnimatedProperty::SVGAnimatedProperty(SVGElement* contextElement, const QualifiedName& attributeName, AnimatedPropertyType animatedPropertyType)

    : m_contextElement(contextElement)

    , m_attributeName(attributeName)

    , m_animatedPropertyType(animatedPropertyType)

    , m_isAnimating(false)

    , m_isReadOnly(false)

{

}

 

>             EAWebKitd.dll!WebCore::SVGAnimatedProperty::SVGAnimatedProperty(WebCore::SVGElement * contextElement, const WebCore::QualifiedName & attributeName, WebCore::AnimatedPropertyType animatedPropertyType) Line 29                C++

                EAWebKitd.dll!WebCore::SVGAnimatedListPropertyTearOff<WebCore::SVGPointList>::SVGAnimatedListPropertyTearOff<WebCore::SVGPointList>(WebCore::SVGElement * contextElement, const WebCore::QualifiedName & attributeName, WebCore::AnimatedPropertyType animatedPropertyType, WebCore::SVGPointList & values) Line 166         C++

                EAWebKitd.dll!WebCore::SVGAnimatedListPropertyTearOff<WebCore::SVGPointList>::create(WebCore::SVGElement * contextElement, const WebCore::QualifiedName & attributeName, WebCore::AnimatedPropertyType animatedPropertyType, WebCore::SVGPointList & values) Line 159         C++

                EAWebKitd.dll!WebCore::SVGAnimatedProperty::lookupOrCreateWrapper<WebCore::SVGPolyElement,WebCore::SVGAnimatedListPropertyTearOff<WebCore::SVGPointList>,WebCore::SVGPointList>(WebCore::SVGPolyElement * element, const WebCore::SVGPropertyInfo * info, WebCore::SVGPointList & property) Line 57             C++

               EAWebKitd.dll!WebCore::SVGPolyElement::lookupOrCreatePointsWrapper(WebCore::SVGElement * contextElement) Line 117            C++

               EAWebKitd.dll!WebCore::SVGPolyElement::animatedPoints() Line 130  C++

               EAWebKitd.dll!WebCore::updatePathFromPolylineElement(WebCore::SVGElement * element, WebCore::Path & path) Line 106               C++

               EAWebKitd.dll!WebCore::updatePathFromGraphicsElement(WebCore::SVGElement * element, WebCore::Path & path) Line 172               C++

               EAWebKitd.dll!WebCore::RenderSVGShape::updateShapeFromElement() Line 84           C++

               EAWebKitd.dll!WebCore::RenderSVGPath::updateShapeFromElement() Line 48              C++

               EAWebKitd.dll!WebCore::RenderSVGShape::layout() Line 164   C++

               EAWebKitd.dll!WebCore::SVGRenderSupport::layoutChildren(WebCore::RenderElement & start, bool selfNeedsLayout) Line 281           C++

               EAWebKitd.dll!WebCore::RenderSVGRoot::layout() Line 181      C++

               EAWebKitd.dll!WebCore::RenderElement::layoutIfNeeded() Line 135    C++

               EAWebKitd.dll!WebCore::RenderBlockFlow::layoutLineBoxes(bool relayoutChildren, WebCore::LayoutUnit & repaintLogicalTop, WebCore::LayoutUnit & repaintLogicalBottom) Line 1621   C++

               EAWebKitd.dll!WebCore::RenderBlockFlow::layoutInlineChildren(bool relayoutChildren, WebCore::LayoutUnit & repaintLogicalTop, WebCore::LayoutUnit & repaintLogicalBottom) Line 652        C++

               EAWebKitd.dll!WebCore::RenderBlockFlow::layoutBlock(bool relayoutChildren, WebCore::LayoutUnit pageLogicalHeight) Line 484        C++

               EAWebKitd.dll!WebCore::RenderBlock::layout() Line 930              C++

               EAWebKitd.dll!WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox & child, WebCore::RenderBlockFlow::MarginInfo & marginInfo, WebCore::LayoutUnit & previousFloatLogicalBottom, WebCore::LayoutUnit & maxFloatLogicalBottom) Line 712            C++

               EAWebKitd.dll!WebCore::RenderBlockFlow::layoutBlockChildren(bool relayoutChildren, WebCore::LayoutUnit & maxFloatLogicalBottom) Line 633            C++

               EAWebKitd.dll!WebCore::RenderBlockFlow::layoutBlock(bool relayoutChildren, WebCore::LayoutUnit pageLogicalHeight) Line 488        C++

               EAWebKitd.dll!WebCore::RenderBlock::layout() Line 930              C++

               EAWebKitd.dll!WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox & child, WebCore::RenderBlockFlow::MarginInfo & marginInfo, WebCore::LayoutUnit & previousFloatLogicalBottom, WebCore::LayoutUnit & maxFloatLogicalBottom) Line 712            C++

               EAWebKitd.dll!WebCore::RenderBlockFlow::layoutBlockChildren(bool relayoutChildren, WebCore::LayoutUnit & maxFloatLogicalBottom) Line 633            C++

               EAWebKitd.dll!WebCore::RenderBlockFlow::layoutBlock(bool relayoutChildren, WebCore::LayoutUnit pageLogicalHeight) Line 488        C++

               EAWebKitd.dll!WebCore::RenderBlock::layout() Line 930              C++

               EAWebKitd.dll!WebCore::RenderBlockFlow::layoutBlockChild(WebCore::RenderBox & child, WebCore::RenderBlockFlow::MarginInfo & marginInfo, WebCore::LayoutUnit & previousFloatLogicalBottom, WebCore::LayoutUnit & maxFloatLogicalBottom) Line 712            C++

               EAWebKitd.dll!WebCore::RenderBlockFlow::layoutBlockChildren(bool relayoutChildren, WebCore::LayoutUnit & maxFloatLogicalBottom) Line 633            C++

               EAWebKitd.dll!WebCore::RenderBlockFlow::layoutBlock(bool relayoutChildren, WebCore::LayoutUnit pageLogicalHeight) Line 488        C++

               EAWebKitd.dll!WebCore::RenderBlock::layout() Line 930              C++

               EAWebKitd.dll!WebCore::RenderView::layoutContent(const WebCore::LayoutState & state) Line 256   C++

               EAWebKitd.dll!WebCore::RenderView::layout() Line 382              C++

               EAWebKitd.dll!WebCore::FrameView::layout(bool allowSubtree) Line 1426         C++

               EAWebKitd.dll!WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive() Line 4153    C++

               EAWebKitd.dll!EA::WebKit::View::Paint() Line 278            C++

               EAWebKitDemoUTFWin.exe!EA::Browser::BrowserWinView::OnTick() Line 1039              C++

               EAWebKitDemoUTFWin.exe!EA::UTFWin::CustomWindow::DoMessage(const EA::UTFWin::Message & msg) Line 46  C++

               EAWebKitDemoUTFWin.exe!EA::Browser::BrowserWinView::DoMessage(const EA::UTFWin::Message & msg) Line 649     C++

               EAWebKitDemoUTFWin.exe!EA::UTFWin::WindowMgr::DispatchMsgToWindow(EA::UTFWin::Window * target, const EA::UTFWin::Message & msg, bool outbound) Line 2120     C++

               EAWebKitDemoUTFWin.exe!EA::UTFWin::WindowMgr::SendMsg(EA::UTFWin::IWindow * src, EA::UTFWin::IWindow * dst0, const EA::UTFWin::Message & msg, bool inheritable, bool reversePriority) Line 249                C++

               EAWebKitDemoUTFWin.exe!EA::UTFWin::WindowMgr::ProcessMessages() Line 451     C++

               EAWebKitDemoUTFWin.exe!EA::Browser::BrowserApp::TickEAWebKitThread() Line 781              C++

               EAWebKitDemoUTFWin.exe!EA::Browser::BrowserApp::RunEAWebKit(void * instance) Line 838              C++

                EAWebKitDemoUTFWin.exe!EA::Debug::ExceptionHandler::ExecuteUserFunction(EA::Debug::ExceptionHandler::UserFunctionUnion userFunctionUnion, EA::Debug::ExceptionHandler::UserFunctionType userFunctionType, void * pContext) Line 900                C++

                EAWebKitDemoUTFWin.exe!EA::Debug::ExceptionHandlerWin32::RunTrapped(EA::Debug::ExceptionHandler::UserFunctionUnion userFunctionUnion, EA::Debug::ExceptionHandler::UserFunctionType userFunctionType, void * pContext, bool & exceptionCaught) Line 529          C++

                EAWebKitDemoUTFWin.exe!EA::Debug::ExceptionHandler::RunTrappedInternal(EA::Debug::ExceptionHandler::UserFunctionUnion userFunctionUnion, EA::Debug::ExceptionHandler::UserFunctionType userFunctionType, void * pContext, bool & exceptionCaught) Line 881          C++

               EAWebKitDemoUTFWin.exe!EA::Debug::ExceptionHandler::RunTrapped(void (void *) * userFunction, void * pContext) Line 925          C++

               EAWebKitDemoUTFWin.exe!EA::Browser::BrowserApp::Run(void * __formal) Line 855 C++

               EAWebKitDemoUTFWin.exe!RunnableObjectInternal(void * pContext) Line 608               C++

               EAWebKitDemoUTFWin.exe!invoke_thread_procedure(unsigned int (void *) * const procedure, void * const context) Line 92    C++

               EAWebKitDemoUTFWin.exe!thread_start<unsigned int (__cdecl*)(void * __ptr64)>(void * const parameter) Line 115       C++

               [External Code]

_______________________________________________
webkit-dev mailing list
webkit-dev <at> lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev
Claudio Saavedra | 5 Jan 15:48 2016

Clipboard API and events

Hi,

It seems to me that this API is missing from WK. Is there a reason for
this other than "nobody has stepped up yet"?

Claudio

Gmane