Re: [webkit-dev] Experimental features in Safari Web Inspector

2012-09-26 Thread Pavel Feldman
On Sep 27, 2012 1:56 AM, Dean Jackson dino d...@apple.com@d...@apple.com
apple.com d...@apple.com wrote:


 On 26/09/2012, at 6:15 PM, Mihai Balan mibalan 
 miba...@adobe.com@miba...@adobe.com
adobe.com miba...@adobe.com wrote:

 We have recently been working on some WebInspector features related to
CSS Regions. Most of the work was done using Chromium's Developer Tools, as
this allowed us to have this work under a DevTools experiment flag.
 Now that this work has reached a more stable state, it would be useful
to test it under Webkit/Safari, too.

 So, my question for you is this (ok, that's actually two questions):

 1. Is there a way to enable / disable features in Safari DevTools
the way it is in Chromium's? It doesn't have to be a GUI, though


 No.

We should probably enable experiments in WebKit nightly (i.e. Experiments
tab will be enabled in WebKit Web Inspector's settings at all times). I can
do that for you or r+ such a patch.


 2. What is the general policy for WebInspector features? How and
when do they get enabled by default, at least in the nightlies? (Since
regions are already enabled by default in the nightlies, IMO it would make
sense to have the web inspector regions features, too)


The process of adding features into WebKit Web Inspector is very
lightweight. When you think the feature is ready for the prime time, make a
patch moving it out of experimental. We will review it and suggest if
something is missing.

Regards
Pavel


 Safari's Web Inspector lives in the Safari.app, so nightlies do not
automatically get new features. The best thing to do is implement it in the
Open Source inspector (as you've done) and Apple will (hopefully) merge it
in. You can also file a bug at bugreporter.apple.com explicitly requesting
it.

 Dean


 ___
 webkit-dev mailing list
 webkit webkit-dev@lists.webkit.org-dev@ webkit-dev@lists.webkit.org
lists.webkit.org webkit-dev@lists.webkit.org
 http:// http://lists.webkit.org/mailman/listinfo/webkit-dev
lists.webkit.org http://lists.webkit.org/mailman/listinfo/webkit-dev
/mailman/ 
http://lists.webkit.org/mailman/listinfo/webkit-devlistinfohttp://lists.webkit.org/mailman/listinfo/webkit-dev
/ 
http://lists.webkit.org/mailman/listinfo/webkit-devwebkithttp://lists.webkit.org/mailman/listinfo/webkit-dev
-dev http://lists.webkit.org/mailman/listinfo/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Removing webkitSlice (was Re: Existing metrics for deprecated features)

2012-09-14 Thread Pavel Feldman


 By the way, in preparing the patch, I noticed that webkitSlice was
 used by the web inspector.  Note that the data above includes the use
 by the web inspector.


The usage was in the heap profiler's load snapshot routines, so I can
imagine it not being invoked a lot. That matches the stats fine. We'll
follow up on it.

Regards
Pavel


 Adam
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Existing metrics for deprecated features

2012-09-13 Thread Pavel Feldman
On Fri, Sep 14, 2012 at 4:13 AM, Adam Barth aba...@webkit.org wrote:

 In connection with the thread on webkitPostMessage, I took a look at
 what sorts of metrics we have currently for depreciated features.  We
 have high quality data for two groups of APIs:

 For mutation events, we measure what percent of Documents have
 listeners for various kinds of mutation events:

 DOMAPI.PerDocumentMutationEventUsage.DOMCharacterDataModified: 2.85%
 of all Documents
 DOMAPI.PerDocumentMutationEventUsage.DOMNodeInserted: 4.78% of all
 Documents
 DOMAPI.PerDocumentMutationEventUsage.DOMNodeInsertedIntoDocument:
 0.21% of all Documents
 DOMAPI.PerDocumentMutationEventUsage.DOMNodeRemoved: 0.07% of all Documents
 DOMAPI.PerDocumentMutationEventUsage.DOMNodeRemovedFromDocument:
 0.0003% of all Documents
 DOMAPI.PerDocumentMutationEventUsage.DOMSubtreeModified: 2.30% of all
 Documents

 From this data, it's tempting to remove support for DOMNodeRemoved and
 DOMNodeRemovedFromDocument as those are used extremely rarely.  We
 don't have any data for how much of this usage is attributable to
 extensions.  It will be interesting to watch this data as we
 evangelize MutationObservers, especially among extension developers.


Is there an absolute number for those 0.07%? How is it calculated? Like Web
Inspector has been using DOMNodeRemoved for its viewport-based text editor
until very recently, so your 0.07% is likely to include millions of users.
Is that expected? I wonder what will the drop be with the next major Chrome
release.


 Another metric we have is for Blob.webkitSlice:

 Ratio of Blob.webkitSlice calls to Blob.slice: 14.87%
 Ratio of Blob.webkitSlice calls to Document creation: 0.0053%

 It's difficult to know how to interpret this data because we don't
 actually correlate calls to webkitSlice with Documents or Pages.
 Instead, we just count the total number of calls across all Documents.
  This gives us an upper bound on how many Documents (or Pages) would
 be affected by deleting Blob.webkitSlice, but doesn't measure that
 information as accurately as the data we have for mutation events.

 We are also gathering metrics on the usage of vendor prefixes in CSS
 properties, but that histogram doesn't appear to have been in the
 field long enough to have meaningful data.

 Adam
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Web Inspector files

2012-06-08 Thread Pavel Feldman
[From chromium.org]

We throw away closure compiler output and use compilation step for type
checking only.

The best way to learn what files you should combine and bundle is via
looking at WebCore.gyp(i) and WebKit.gyp(i). You basically need what is
listed in inspector.html (these you can concatenate) + a bunch of
standalone CSS files that are lazily loaded + a couple of web worker
scripts.

Regards Pavel
On Jun 8, 2012 12:54 PM, Konrad Piascik kpias...@rim.com wrote:

 Hi,

 I'm trying to combine all the web inspector resources CSS, JS  HTML into
 as few files as possible. I know that there are scripts in
 Source/WebCore/inspector but I'm not sure which ones should be used and
 some don't contain usage information.
 Also there's both combine-front-end.py and combine-front-end.sh iirc the
 shell script is to be deprecated in favour of python.
 Do any of these or other scripts use the closure compiler to even further
 compress or optimize the JavaScript?

 Thanks in advance,

 Konrad
 Sent from my BlackBerry on the Rogers Wireless Network
 -
 This transmission (including any attachments) may contain confidential
 information, privileged material (including material protected by the
 solicitor-client or other applicable privileges), or constitute non-public
 information. Any use of this information by anyone other than the intended
 recipient is prohibited. If you have received this transmission in error,
 please immediately reply to the sender and delete this information from
 your system. Use, dissemination, distribution, or reproduction of this
 transmission by unintended recipients is not authorized and may be unlawful.
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Web Inspector files

2012-06-08 Thread Pavel Feldman
We don't consider front-end deployment a part of WebCore's
responsibilities. But I do see where you are coming from. We could extract
relevant gyp sub-project or maintain a separate python script that would
deploy front-end. Or you could contribute one yourself!

Regards
Pavel
On Jun 8, 2012 1:13 PM, Konrad Piascik kpias...@rim.com wrote:

  We're already using a homegrown script that does what you mention in
 PlatformBlackBerry.cmake lines 194-214 but wanted to switch to something
 that was maintained by the community.

 I'll look at the gyp/gypi files for more info.

 Thanks,
 Konrad
 Sent from my BlackBerry on the Rogers Wireless Network

  *From*: Pavel Feldman [mailto:pfeld...@chromium.org]
 *Sent*: Friday, June 08, 2012 07:59 AM
 *To*: Konrad Piascik
 *Cc*: webkit-dev@lists.webkit.org webkit-dev@lists.webkit.org
 *Subject*: Re: [webkit-dev] Web Inspector files


 [From chromium.org]

 We throw away closure compiler output and use compilation step for type
 checking only.

 The best way to learn what files you should combine and bundle is via
 looking at WebCore.gyp(i) and WebKit.gyp(i). You basically need what is
 listed in inspector.html (these you can concatenate) + a bunch of
 standalone CSS files that are lazily loaded + a couple of web worker
 scripts.

 Regards Pavel
 On Jun 8, 2012 12:54 PM, Konrad Piascik kpias...@rim.com wrote:

 Hi,

 I'm trying to combine all the web inspector resources CSS, JS  HTML into
 as few files as possible. I know that there are scripts in
 Source/WebCore/inspector but I'm not sure which ones should be used and
 some don't contain usage information.
 Also there's both combine-front-end.py and combine-front-end.sh iirc the
 shell script is to be deprecated in favour of python.
 Do any of these or other scripts use the closure compiler to even further
 compress or optimize the JavaScript?

 Thanks in advance,

 Konrad
 Sent from my BlackBerry on the Rogers Wireless Network
 -
 This transmission (including any attachments) may contain confidential
 information, privileged material (including material protected by the
 solicitor-client or other applicable privileges), or constitute non-public
 information. Any use of this information by anyone other than the intended
 recipient is prohibited. If you have received this transmission in error,
 please immediately reply to the sender and delete this information from
 your system. Use, dissemination, distribution, or reproduction of this
 transmission by unintended recipients is not authorized and may be unlawful.
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

  -
 This transmission (including any attachments) may contain confidential
 information, privileged material (including material protected by the
 solicitor-client or other applicable privileges), or constitute non-public
 information. Any use of this information by anyone other than the intended
 recipient is prohibited. If you have received this transmission in error,
 please immediately reply to the sender and delete this information from
 your system. Use, dissemination, distribution, or reproduction of this
 transmission by unintended recipients is not authorized and may be
 unlawful.

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Deprecation of CSSStyleDeclaration - getPropertyShorthand method.

2012-05-21 Thread Pavel Feldman
On Tue, May 22, 2012 at 12:17 AM, David Hyatt hy...@apple.com wrote:

 Yup, no reason for it to be exposed any more. It was just needed way back
 when the Inspector used JS.

 dave
 (hy...@apple.com)

 On May 21, 2012, at 2:39 PM, Alexis Menard wrote:

  On Mon, May 21, 2012 at 4:29 PM, Maciej Stachowiak m...@apple.com
 wrote:
 
  On May 21, 2012, at 11:09 AM, Alexis Menard 
 alexis.men...@openbossa.org wrote:
 
  Hi,
 
  Let's try the new deprecation process documented as
  http://trac.webkit.org/wiki/DeprecatingFeatures.
 
  I would like to propose the deprecation and removal of
  getPropertyShorthand of CSSStyleDeclaration.
 
  State of art :
  - This method is exposed to the Web.
  - Its purpose is to get whether a given CSS property was set from
  within a shorthand (i.e.
  shouldBeEqualToString(test0.style.getPropertyShorthand('overflow-x'),
  overflow); is true if the CSS code is setting the overflow and not
  overflow-x).
  - It is used in 4 layout tests (fast/inspector-support/style.html,
  fast/css/font-shorthand.html, fast/css/overflow-property.html,
  fast/backgrounds/repeat/resources/background-repeat-shorthand.js)
  - It is exposed in the Objective C API.
  - It is not implemented by any other vendors (Opera, Firefox, Internet
  Explorer).
  - There is no specification about it.
  - It was added in 2005 http://trac.webkit.org/changeset/11481.
 
  [...]
 
  This function was added by Dave Hyatt and reviewed by Maciej
  Stachowiak, maybe you guys can tell us why you added it back then (if
  your memory is very good as we are talking about 2005 material)?
 
  I don't know of any reason for this to exist other than for benefit of
 the inspector. It appears to no longer be used by the Web Inspector,
 thought it has its own function with the same name (assuming I am reading
 the code right). It would be fine to stop exposing it to the web if it is
 in fact unused or hardly used.
 
  I was looking at the code of the inspector and also assuming I'm
  reading the code right it is not used.
 
  The C++ method getPropertyShorthand seems to be used in
  InspectorStyleSheet.cpp which then is used in
  inspector/front-end/CSSStyleModel.js and its usage seems to be
  confined in styleTextWithShorthands which is not used anywhere (at at
  least grep says so).
 


styleTextWithShorthands looks like dead code, I'll remove it shortly. But
there also is a valid usage at
http://trac.webkit.org/browser/trunk/Source/WebCore/inspector/InspectorStyleSheet.cpp#L543.
Now that we are based on the CSS source code model, it can probably go
away, but it is not a trivial task.

Regards
Pavel


  But Pavel and Vsevolod can confirm that.
 
 
   - Maciej
 
 
 
 
  --
  Alexis Menard (darktears)
  Software Engineer
  openBossa @ INdT - Instituto Nokia de Tecnologia
  ___
  webkit-dev mailing list
  webkit-dev@lists.webkit.org
  http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


[webkit-dev] Blog post Announcing Remote Debugging Protocol v1.0

2012-04-02 Thread Pavel Feldman
Hi guys,

I'd like to announce the remote debugging protocol v1 where we define
backward compatibility and commit to supporting it in a blog post. The
draft can be found here: http://www.webkit.org/blog/?p=1875preview=true.
Pasting its content for the sake of accessibility below.

Regards
Pavel

Announcing Remote Debugging Protocol
v1.0http://www.webkit.org/blog/?p=1875Posted
by *Pavel Feldman* on Monday, April 2nd, 2012 at 2:13 am

It has been almost a year since we
announcedhttp://www.webkit.org/blog/1620/webkit-remote-debugging/
the
support for WebKit remote debugging. It is now officially supported by
BlackBerry
PlayBookhttp://devblog.blackberry.com/2011/06/debugging-blackberry-web-apps/
and
in Chrome for 
Androidhttps://developers.google.com/chrome/mobile/docs/debugging.
Latest
version of Chrome introduces new extensions
APIhttp://code.google.com/chrome/devtools/docs/remote-debugging.html
that
exposes it to the in-browser clients as well.

We are happy to announce that remote debugging protocol version is now
v1.0, and we can commit to supporting it and maintain its backward
compatibility. Since we receive a lot of questions on the remote debugging
from the port owners, protocol clients and WebKit contributors, I’d like to
provide a brief remote debugging 101 here. It will provide answers to the
questions such as:

   - What is the structure of the remote debugging message?
   - Is there a documentation of the protocol?
   - Is remote debugging protocol versioned? How is backward compatibility
   defined?
   - What do I need to do in order to support remote debugging with
   standard Web Inspector front-end in my WebKit port?

Protocol definitionProtocol schema

WebKit is using JSON-RPC 2.0 http://jsonrpc.org/specification protocol
for the remote debugging. Clients send commands to the backend and receive
responses in return. Backend can generate notifications upon particular
events on its own. Commands, responses and notifications are all
JSON-serialized objects.

The remote debugging protocol schema is defined by the
Inspector.jsonhttp://trac.webkit.org/browser/trunk/Source/WebCore/inspector/Inspector.json.
Protocol 
documentationhttp://code.google.com/chrome/devtools/docs/protocol/tot/index.html
along
with parts of the inspector source code is generated from that file. We
group commands and events of a particular nature into domains such as
DOMhttp://code.google.com/chrome/devtools/docs/protocol/1.0/dom.html
, 
Debuggerhttp://code.google.com/chrome/devtools/docs/protocol/1.0/debugger.html
, Networkhttp://code.google.com/chrome/devtools/docs/protocol/1.0/network.html
for
the convenience.
Commands and notifications

Here is a sample command that is setting a breakpoint:

{
id: 10, // -- command sequence number generated by the caller
method: Debugger.setBreakpointByUrl, // -- protocol method
params: { // -- named parameters map
lineNumber: 23,
url: http://www.webkit.org/index.html;
}
}

Backend responds to all the commands either with the result of with the
error message. For the above command, the backend will generate the
following response:

{
id: 10, // -- same id as in the command
result: { // -- command result
breakpointId: http://www.webkit.org/index.html:23;,
locations: [
{
lineNumber: 23,
columnNumber: 10
}
]
}
}

Notifications don’t have identifiers. For example, when JavaScript source
is evaluated in the virtual machine, following notification is sent to the
client:

{
method: Debugger.scriptParsed, // -- notification method
params: { // --notification parameters
scriptId: 15,
url: http://www.webkit.org/index.html;,
startLine: 22,
startColumn: 12,
endLine: 33,
endColumn: 4
}
}

Complete list of the protocol methods for the v1.0 of the protocol can be
found herehttp://code.google.com/chrome/devtools/docs/protocol/1.0/index.html
.
Hidden entities

If you look at the
Inspector.jsonhttp://trac.webkit.org/browser/trunk/Source/WebCore/inspector/Inspector.json
file
that defines the protocol schema, you will notice that some of the protocol
entities (domains, commands and parameters) are marked as “hidden”. We
don’t generate documentation for such entities. Although one can
technically use them, we are not yet ready to commit to maintaining their
backward compatibility. As the protocol matures, we will be polishing these
entities and making them public.
Protocol versioning and backward compatibility

With the revision r106352 http://trac.webkit.org/changeset/106352, we
updated the protocol version to
v1.0http://code.google.com/chrome/devtools/docs/protocol/1.0/index.html.
All subsequent v1.* versions of the protocol are going to be backward
compatible with v1.0. Protocol backward compatibility is defined as follows:

   - No commands or notifications are removed from the protocol.
   - No required parameters

Re: [webkit-dev] Debugging inspector injected scripts

2012-03-30 Thread Pavel Feldman
devtools_frontend.zip is a quick and dirty way of hacking the front-end
without the need to fetch and build WebKit or Chrome. If you'd like to
apply changes to the backend (.cpp files), you need to follow WebKit (or
Chromium) build instructions.

Regards
Pavel

On Fri, Mar 30, 2012 at 2:35 AM, Vivek Galatage vivekgalat...@gmail.comwrote:

 Hi Pavel,

 I have one question regarding the webkit trunk and these inspector related
 changes.

 So as per the link, I downloaded the chromium continuous build archive and
 then followed the instructions to setup the frontend code for debugging.

 Can I achieve the same thing with webkit trunk build instead of
 downloading the chromium archive? As I would like to make changes in the
 inspector backend (.cpp changes) so how can I proceed with this? So do I
 need to build the webkit trunk for chromium port to get this working?

 Thank you,
 Vivek


 On Fri, Mar 30, 2012 at 3:50 AM, Vivek Galatage 
 vivekgalat...@gmail.comwrote:

 Thank you Pavel and Konrad for your help.

 I followed the below link and was able to achieve the debugging the
 inspector script.

 Thank you,
 Vivek


 On Thu, Mar 29, 2012 at 7:12 PM, Pavel Feldman pfeld...@chromium.orgwrote:

 See http://code.google.com/chrome/devtools/docs/contributing.html for
 more info.

 Pavel

 On Thu, Mar 29, 2012 at 4:51 PM, Konrad Piascik kpias...@rim.com
 wrote:
  Ok, well I was only able to do this on chrome. I have heard of issues
 with
  Qt and debugging the inspector. The possible reason for your inability
 to
  debug may be their sub event loop. Can any Qt developers comment?
  Konrad
  Sent from my BlackBerry on the Rogers Wireless Network
 
 
  From: Vivek Galatage [mailto:vivekgalat...@gmail.com]
  Sent: Thursday, March 29, 2012 08:32 AM
  To: Konrad Piascik
  Cc: webkit-dev@lists.webkit.org webkit-dev@lists.webkit.org
  Subject: Re: [webkit-dev] Debugging inspector injected scripts
 
  Hi Konrad,
 
  Thank you for your reply.
 
  Yes as you pointed out, I have tried this but was unable to do any live
  debugging of the javascript from inspector( such as ResourcesPanel.js
 etc ).
 
  I am able to inspect the inspector but debugging the script is what I
 am
  looking forward to..
 
  I am working on webkit trunk revision 112378 on Qt port on ubuntu
 11.10 as
  well as on Windows port.
 
  Thank you,
  Vivek
 
 
  On Thu, Mar 29, 2012 at 5:40 PM, Konrad Piascik kpias...@rim.com
 wrote:
 
  Hi Vivek,
 
  You can use the inspector to inspect itself. I've done this on chrome
 many
  times using the keyboard shortcut ctrl+shift+c (win  linux) or
  command+shift+c (mac). In order for the keyboard shortcut to work you
 need
  to have the inspector undocked and the focus of the inspector be on
 the
  panel icons.
 
  Hope this helps you achieve what you're looking to do.
  Konrad
  Sent from my BlackBerry on the Rogers Wireless Network
 
  From: Vivek Galatage [mailto:vivekgalat...@gmail.com]
  Sent: Thursday, March 29, 2012 07:23 AM
  To: webkit-dev@lists.webkit.org webkit-dev@lists.webkit.org
  Subject: [webkit-dev] Debugging inspector injected scripts
 
  Hello webkit-dev,
 
  I would like to debug the various scripts those are injected by
 inspector
  component.
 
  Lets say I load a page from xyz.com which has some script named
 xyz.js.. I
  am able to put breakpoints in this xyz.js and do the normal debugging.
 
  But what I am interested in is debugging the inspector injected
 scripts
  such as ResorucePanel.js etc by putting breakpoints. But whenever I
 try to
  do this, the inspector becomes non-responsive and I have to come out
 of the
  debug session by closing the browser. This I am experimenting on
 Windows
  port.
 
  So am I doing something wrong or is there any other method to achieve
  this? Any help?
 
  Thank you,
  Vivek
  -
  This transmission (including any attachments) may contain confidential
  information, privileged material (including material protected by the
  solicitor-client or other applicable privileges), or constitute
 non-public
  information. Any use of this information by anyone other than the
 intended
  recipient is prohibited. If you have received this transmission in
 error,
  please immediately reply to the sender and delete this information
 from your
  system. Use, dissemination, distribution, or reproduction of this
  transmission by unintended recipients is not authorized and may be
 unlawful.
 
 
  -
  This transmission (including any attachments) may contain confidential
  information, privileged material (including material protected by the
  solicitor-client or other applicable privileges), or constitute
 non-public
  information. Any use of this information by anyone other than the
 intended
  recipient is prohibited. If you have received this transmission in
 error,
  please immediately reply to the sender and delete

Re: [webkit-dev] Debugging inspector injected scripts

2012-03-29 Thread Pavel Feldman
See http://code.google.com/chrome/devtools/docs/contributing.html for more info.

Pavel

On Thu, Mar 29, 2012 at 4:51 PM, Konrad Piascik kpias...@rim.com wrote:
 Ok, well I was only able to do this on chrome. I have heard of issues with
 Qt and debugging the inspector. The possible reason for your inability to
 debug may be their sub event loop. Can any Qt developers comment?
 Konrad
 Sent from my BlackBerry on the Rogers Wireless Network


 From: Vivek Galatage [mailto:vivekgalat...@gmail.com]
 Sent: Thursday, March 29, 2012 08:32 AM
 To: Konrad Piascik
 Cc: webkit-dev@lists.webkit.org webkit-dev@lists.webkit.org
 Subject: Re: [webkit-dev] Debugging inspector injected scripts

 Hi Konrad,

 Thank you for your reply.

 Yes as you pointed out, I have tried this but was unable to do any live
 debugging of the javascript from inspector( such as ResourcesPanel.js etc ).

 I am able to inspect the inspector but debugging the script is what I am
 looking forward to..

 I am working on webkit trunk revision 112378 on Qt port on ubuntu 11.10 as
 well as on Windows port.

 Thank you,
 Vivek


 On Thu, Mar 29, 2012 at 5:40 PM, Konrad Piascik kpias...@rim.com wrote:

 Hi Vivek,

 You can use the inspector to inspect itself. I've done this on chrome many
 times using the keyboard shortcut ctrl+shift+c (win  linux) or
 command+shift+c (mac). In order for the keyboard shortcut to work you need
 to have the inspector undocked and the focus of the inspector be on the
 panel icons.

 Hope this helps you achieve what you're looking to do.
 Konrad
 Sent from my BlackBerry on the Rogers Wireless Network

 From: Vivek Galatage [mailto:vivekgalat...@gmail.com]
 Sent: Thursday, March 29, 2012 07:23 AM
 To: webkit-dev@lists.webkit.org webkit-dev@lists.webkit.org
 Subject: [webkit-dev] Debugging inspector injected scripts

 Hello webkit-dev,

 I would like to debug the various scripts those are injected by inspector
 component.

 Lets say I load a page from xyz.com which has some script named xyz.js.. I
 am able to put breakpoints in this xyz.js and do the normal debugging.

 But what I am interested in is debugging the inspector injected scripts
 such as ResorucePanel.js etc by putting breakpoints. But whenever I try to
 do this, the inspector becomes non-responsive and I have to come out of the
 debug session by closing the browser. This I am experimenting on Windows
 port.

 So am I doing something wrong or is there any other method to achieve
 this? Any help?

 Thank you,
 Vivek
 -
 This transmission (including any attachments) may contain confidential
 information, privileged material (including material protected by the
 solicitor-client or other applicable privileges), or constitute non-public
 information. Any use of this information by anyone other than the intended
 recipient is prohibited. If you have received this transmission in error,
 please immediately reply to the sender and delete this information from your
 system. Use, dissemination, distribution, or reproduction of this
 transmission by unintended recipients is not authorized and may be unlawful.


 -
 This transmission (including any attachments) may contain confidential
 information, privileged material (including material protected by the
 solicitor-client or other applicable privileges), or constitute non-public
 information. Any use of this information by anyone other than the intended
 recipient is prohibited. If you have received this transmission in error,
 please immediately reply to the sender and delete this information from your
 system. Use, dissemination, distribution, or reproduction of this
 transmission by unintended recipients is not authorized and may be unlawful.

 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Web Inspector tests for DOM node highlights

2012-02-23 Thread Pavel Feldman
There are no tests covering the DOM Node highlight. It just paints
quadrants for a given node. What are you trying to test, the highlight or
the node position? Is there a bug you are fixing?

Regards
Pavel

On Wed, Feb 22, 2012 at 11:10 PM, Max Vujovic mvujo...@adobe.com wrote:

 Hello,

 I was wondering if there are any Web Inspector tests that check the
 appearance, size, or position of a DOM node highlight. By DOM node
 highlight, I mean the translucent margin box, border box, padding box, and
 content box combination that WebKit draws over a DOM node when you inspect
 it.

 I need to write a test for a bug to check the size and position of the DOM
 node highlight for an SVG root element, and I've been searching for a
 similar test to imitate. I'd like to query the size and position of the
 DOM node highlight from JavaScript, but I'm not sure that information is
 exposed. I could probably do a pixel test if this isn't currently
 possible, but I was wondering if there's a better way. (The bug I'm
 working on is: https://bugs.webkit.org/show_bug.cgi?id=78037).

 Thanks,
 Max Vujovic

 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] WebKit modularization

2012-02-23 Thread Pavel Feldman
On Thu, Feb 23, 2012 at 10:24 PM, Adam Barth aba...@webkit.org wrote:

 On Thu, Feb 23, 2012 at 10:07 AM, Simon Fraser simon.fra...@apple.com
 wrote:
  On Feb 22, 2012, at 10:08 PM, Kentaro Hara wrote:
  TL;DR: We are starting WebKit modularization. Self-contained features
  like WebAudio, WebSocket, IndexedDB, File APIs ...etc will be moved
  from WebCore/ to WebCore/Modules/.
 
  What are the interfaces that a module uses to call into WebCore code, and
  vice versa?

 Currently, the plan is that there won't be any direct dependencies
 from WebCore into code in Modules, but code in Modules will be able to
 depend on anything in WebCore it likes.  We've added a couple abstract
 Observer interfaces that Modules use to learn about what's happening
 in WebCore.  So far, these have been very basic lifetime-related
 observations (e.g., a Page and/or a Frame being
 destroyed/disconnected):


It means that we'll need to put inspector agents (FileSystem, IndexedDB,
AppCache, etc.) into corresponding modules. As of today, they are
instantiated by the InspectorController. We will also need to split
InspectorInstrumentation into parts. This is all doable, but is an effort.
Were you planning to do it on your own? Please keep inspector folks in the
loop.



 http://trac.webkit.org/browser/trunk/Source/WebCore/page/FrameDestructionObserver.h

 The goal is to avoid adding much to these interfaces so that folks can
 work on WebCore proper without worrying too much about these
 ancillary features.

 This diagram describes the dependency relationships:


 https://docs.google.com/drawings/d/10WlCj2J3arxf4cDGRKteNinaP755iFnmYtYtnNSCQOY/edit?authkey=CP6plYAI

  Will these be developed in an ad hoc manner, or is the intent
  to create some kind of generic extensibility API that modules use to
  hook into WebCore?

 Ad-hoc.  At least in the near-to-intermediate term, all this code is
 going to continue to live in Source/WebCore, so we're not creating any
 new API commitments.  In the long term, we might benefit from moving
 some of it out of WebCore entirely, but that's not something we're
 planning to tackle any time soon.

 Adam
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] sheriffbot needs a kick

2011-12-27 Thread Pavel Feldman
Does not seem to work for me: I did restart, I did rollout afterwards.
Resulted in:

Exception executing command: Failed to run
['Tools/Scripts/update-webkit'] exit_code: 9
Pavel


On Fri, Dec 16, 2011 at 5:20 AM, Adam Barth aba...@webkit.org wrote:

 Yes, before the changes I made just now, the restart command wasn't
 powerful enough to clear out the problem.  Hopefully the new beefier
 restart will work better in the future.  (Mostly I mentioned the
 restart command so that more folks would know about it and give it a
 try when they run into trouble.)

 Adam


 On Thu, Dec 15, 2011 at 5:16 PM, Kenneth Russell k...@google.com wrote:
  Great, thanks. I vaguely recall seeing somebody restart it on IRC but
  it seemed to not fix this particular problem.
 
  BTW, thanks for writing and maintaining it; it's a very useful tool as
  evidenced by how many people were trying and failing to use it
  recently. :)
 
  -Ken
 
  On Thu, Dec 15, 2011 at 4:46 PM, Adam Barth aba...@webkit.org wrote:
  I believe this is cleared up now.  In the future, you can send
  sheriffbot the restart command, which can often clear up these sorts
  of issues:
 
  sheriffbot: restart
 
  I've just now made that command beefier so that it should be able to
  fix more problems.
 
  Adam
 
 
  On Thu, Dec 15, 2011 at 4:26 PM, Adam Barth aba...@webkit.org wrote:
  I'll take a look.  Sorry for the disruption.
 
  Adam
 
 
  On Thu, Dec 15, 2011 at 4:24 PM, Kenneth Russell k...@google.com
 wrote:
  The sheriffbot has been failing to handle rollout commands for a few
  days now. The failures reported are:
 
  sheriffbot: Exception executing command: Failed to run
  ['Tools/Scripts/update-webkit'] exit_code: 9
 
  Looks to me like the workspace on the machine running sheriffbot needs
  to be blown away. Adam, could you please look into this?
 
  Thanks,
 
  -Ken
  ___
  webkit-dev mailing list
  webkit-dev@lists.webkit.org
  http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Internal JSON Parsing

2011-12-08 Thread Pavel Feldman
On Thu, Dec 8, 2011 at 8:51 AM, Adam Barth aba...@webkit.org wrote:

 Check out InspectorValue.  It should be renamed to JSONValue, but it
 should meet your needs.

InspectorValue is not intended to be used as a full fledged JSON parser. It
only covers subset of the standard that is sufficient for the inspector
operation. The spec requires that you Return the result of invoking the
parse function of the JSON object defined in ECMAScript and I wonder why
you are willing to do otherwise.

Pavel


 Adam
  On Dec 8, 2011 8:39 AM, Jarred Nicholls jar...@webkit.org wrote:

 Hey webkittens,

 I'm working on https://bugs.webkit.org/show_bug.cgi?id=73648 to support
 the json response entity from XHR.response.  Unless I'm mistaken (the
 purpose of this inquiry) we don't appear to have a VM-agnostic interface
 for internal JSON parsing, i.e., straight to the parsers.  If so, what does
 everyone think about adding in that basic interface?  What I'd like to
 avoid is preprocessor branches directly in XHR talking to JSC and V8
 directly; instead, what would be ideal I think is an interface to parse and
 return a ScriptObject.

 Any additional input is surely welcomed.

 Thanks,
 Jarred

 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] DocumentLoader::m_mainResourceData seems no need

2011-08-16 Thread Pavel Feldman
On Tue, Aug 16, 2011 at 11:20 AM, Xianzhu Wang phnix...@gmail.com wrote:

 Hi,

 I found that DocumentLoader will hold m_mainResourceData during its whole
 life. I'm wondering if this is necessary. I searched all callers of
 DocumentLoader::mainResourceData() and DocumentLoader::mainResource() and
 they seem all called before or just after the document is loaded.


This is not the case for the inspector and a number of other usages I can
see here:
http://codesearch.google.com/codesearch#search/exact_package=chromiumq=mainResourceData%5C(%5C)type=cs

just after might be problematic to define as well.

Regards
Pavel

If we remove DocumentLoader::m_mainResourceData, the main resource data
 could be freed if there is no other references (seems true if the page is
 not inspected) and will save memory.

 I tried to removing DocumentLoader::m_mainResourceData and run all layout
 tests in chromium-linux. I got 6 text mismatches and 1 timeout and will
 investigate the failures.

 However, can anyone describe the original intent of
 DocumentLoader::m_mainResourceData? What's the case that it is used after
 the document is loaded?

 Thanks,
 Xianzhu


 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] DocumentLoader::m_mainResourceData seems no need

2011-08-16 Thread Pavel Feldman
On Tue, Aug 16, 2011 at 12:44 PM, Xianzhu Wang phnix...@gmail.com wrote:



 On Tue, Aug 16, 2011 at 3:41 PM, Pavel Feldman pfeld...@chromium.orgwrote:

 On Tue, Aug 16, 2011 at 11:20 AM, Xianzhu Wang phnix...@gmail.comwrote:

 Hi,

 I found that DocumentLoader will hold m_mainResourceData during its whole
 life. I'm wondering if this is necessary. I searched all callers of
 DocumentLoader::mainResourceData() and DocumentLoader::mainResource() and
 they seem all called before or just after the document is loaded.


 This is not the case for the inspector and a number of other usages I can
 see here:

 http://codesearch.google.com/codesearch#search/exact_package=chromiumq=mainResourceData%5C(%5C)type=cs


 Thanks. I missed some cases (like WebKit2 and WebDataSource ones) as I only
 searched the compiled files in my environment. And I did overlooked the
 first case in inspector.


 just after might be problematic to define as well.


 I meant just after that the function is called from somewhere
 xxxDidFinishLoading() etc. For these cases, by carefully adjust the
 sequence, we can let them depend on DocumentLoader::m_mainResourceLoader
 instead of m_mainResourceData.

 An (maybe incomplete) list of cases that might use
 DocumentLoader::mainResourceData() after loading is:
   WebDataSource::data()
   WebKit::WebFrame::source()
   WebKit::WebPage::getMainResourceDataOfFrame()
   InspectorPageAgent::resourceContent()

 As the amount of memory saved by removing m_mainResourceData could be
 significant on mobile devices, for these cases I think it might be
 reasonable to have some constraints on particular platforms. For example,
 use an alternative way like fetching from cache, reloading, etc., or simply
 don't support them.


See https://bugs.webkit.org/show_bug.cgi?id=49246 as a relevant request.



 Regards
 Pavel

  If we remove DocumentLoader::m_mainResourceData, the main resource data
 could be freed if there is no other references (seems true if the page is
 not inspected) and will save memory.

 I tried to removing DocumentLoader::m_mainResourceData and run all layout
 tests in chromium-linux. I got 6 text mismatches and 1 timeout and will
 investigate the failures.

 However, can anyone describe the original intent of
 DocumentLoader::m_mainResourceData? What's the case that it is used after
 the document is loaded?

 Thanks,
 Xianzhu


 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev




___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Remote Debugging v8 - Android

2011-08-02 Thread Pavel Feldman
Note that this solution is using V8-based protocol that we are deprecating
in Chrome. Chrome DevTools for Java (Eclipse plugin being discussed) will
support both: V8 protocol (for Node and other V8-based solutions) and WebKit
Remote Debugging Protocol (for WebKit-based browsers) going forard. I would
recommend using the latter for the complete remote debugging of the embedded
browser.

Regards
Pavel

On Tue, Aug 2, 2011 at 5:22 AM, Young Han Lee joybro...@gmail.com wrote:

 Hi, Jose.

 Our team had implemented the remote debugging feature on our custom Android
 port.
 This[1] is a brief article about that.
 I hope it will be helpful.
 (It is under development, so you cannot get the code yet)

 Regards,
 Young Han.

 [1] http://dev.dorothybrowser.com/2011/07/27/131175732.html


 On Thu, Jul 7, 2011 at 3:46 PM, JOSE MANUEL CANTERA FONSECA 
 j...@tid.eswrote:

  Hi there,

 ** **

 I have two technical questions concerning the Webkit Remote Debugging
 Protocol. 

 ** **

 a/ What is the difference / relationship between this protocol and the v8
 remote debugging capabilities? 

 ** **

 b/ How this protocol could be enabled for an Android device?

 ** **

 all the best

 ** **

 thanks

 ** **

 --
 Este mensaje se dirige exclusivamente a su destinatario. Puede consultar
 nuestra política de envío y recepción de correo electrónico en el enlace
 situado más abajo.
 This message is intended exclusively for its addressee. We only send and
 receive email on the basis of the terms set out at.
 http://www.tid.es/ES/PAGINAS/disclaimer.aspx

 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev



 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Remote Debugging v8 - Android

2011-07-07 Thread Pavel Feldman
On Thu, Jul 7, 2011 at 10:46 AM, JOSE MANUEL CANTERA FONSECA j...@tid.eswrote:

  Hi there,

 ** **

 I have two technical questions concerning the Webkit Remote Debugging
 Protocol. 

 ** **

 a/ What is the difference / relationship between this protocol and the v8
 remote debugging capabilities? 

 **


Webkit Remote Debugging Protocol is the one Web Inspector uses. It allows
debugging all flavors of the running page, not only JavaScript. V8 protocol
only exposes JavaScript debugging and is browser-agnostic. You should stick
with the WebKit's one in case you are interested in WebKit-based browsers
debugging. Use V8's one when you intend to debug applications such as
node.js.

 **

 b/ How this protocol could be enabled for an Android device?

 **


You need to check with Android port owners on whether they intend to enable
INSPECTOR in their builds and expose remote debugging capabilities.


  **

 all the best

 ** **

 thanks

 ** **

 --
 Este mensaje se dirige exclusivamente a su destinatario. Puede consultar
 nuestra política de envío y recepción de correo electrónico en el enlace
 situado más abajo.
 This message is intended exclusively for its addressee. We only send and
 receive email on the basis of the terms set out at.
 http://www.tid.es/ES/PAGINAS/disclaimer.aspx

 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] WebKit blog post proposal: Remote debugging with Web Inspector.

2011-04-30 Thread Pavel Feldman
An update.

Pavel

WebKit Remote Debugging http://www.webkit.org/blog/?p=1620Posted by *Pavel
Feldman* on Saturday, April 30th, 2011 at 1:53 am

As you might know, WebKit Web Inspector (aka Chrome Developer Tools) is
implemented as an HTML + CSS + JavaScript web application. What you might
not know is that Web Inspector can run outside of the rendering engine
environment and still provide complete set of its features to the end user.
Debugging over the wire

Running debugger outside the rendering engine is interesting because mobile
platforms do not often provide enough screen real estate for quality
debugging; they have network stack and CPU specifics that often affect page
load and runtime. Still, they are based on the WebCore rendering engine,
they could have Web Inspector instrumentation running and hence expose
valuable debugging information to the end user. Now that Web Inspector is
functioning out-of-process over the serialized-message-channel, attaching
Web Inspector window to the remote rendering engine is possible. Here is an
example of the remote debugging session using Chrome Developer Tools:

1. Start your target browser (recent Chromium build or Google Chrome will
do) with the remote-debugging-port command line switch:

Chromium.app/Contents/MacOS/Chromium --remote-debugging-port=9222

2. Open several pages there.

3. Navigate to the given port from your client browser instance (WebKit
nightly or another Chrome instance will do) and it will list inspectable
pages opened in the browser as web links.
[image: Tab discovery page]

4. Follow any of these links to start remote debugging session for the
corresponding page.
[image: Tab attached page]

You will find remote debugging interface very similar to the Web Inspector /
Chrome Developer Tools and here is why:

   - Target Chrome browser acts as a web server bound to the port 9222 on
   the localhost.
   - Once you follow the link, your client browser fetches HTML, JavaScript
   and CSS files of the Developer Tools front-end over HTTP.
   - Upon load event, Developer Tools establishes Web Socket connection back
   to the target browser and starts interchanging JSON messages with it.

In fact, pretty much the same scenario takes place within any WebKit-based
browser when user opens Web Inspector. The only difference is that the
transports being used for the JSON message interchange may vary. Note, that
in case of mobile devices, front-end files can also be served from the
cloud.
Remote Debugging Protocol

Another scenario for remote debugging is IDE integration. Web IDEs would
like to provide seamless debugging experience integrated into their
environments to the end user. Exposing unified WebKit remote debugging
protocol would allow them to use alternate front-ends for the WebKit
debugging.

Under the hood, Web Inspector front-end is talking to the browser backend by
means of the Remote Debugging Protocol. This protocol is based on the JSON-RPC
2.0 http://groups.google.com/group/json-rpc/web/json-rpc-2-0 specification.
It is bidirectional: clients send asynchronous requests to the server,
server responds to these requests and/or generates notifications. Since API
surface for general purpose web debugging is huge, we divided it into a
number of domains. Each domain contains requests and notifications specific
to some area. Here is the list of the domains supported so far:

   - *Browser Debugger* – allows setting breakpoints on particular DOM
   operations and events. JavaScript execution will stop on these operations as
   if there was a regular breakpoint set.
   - *Console* – defines methods and events for interaction with the
   JavaScript console.
   - *CSS* – exposes raw CSS read / write operations.
   - *Debugger* – exposes JavaScript debugging functions; allows setting and
   removing breakpoints, stepping through execution, exploring stack traces,
   etc.
   - *DOM* – This domain exposes DOM read/write operations.
   - *Network* – allows tracking network activities of the page; exposes
   information about HTTP and WebSocket requests and responses, their headers,
   bodies, raw timing, etc.
   - *Page* – actions and events related to the inspected page.
   - *Runtime* – exposes JavaScript runtime by means of remote evaluation
   and mirror objects.
   - *Timeline* – provides its clients with instrumentation records that are
   generated during the page runtime.

You can find JSON schema defining the protocol
herehttp://trac.webkit.org/browser/trunk/Source/WebCore/inspector/Inspector.json.
For your convenience, we generated documentation from this schema and
published it on the Chrome DevTools
pagehttp://code.google.com/chrome/devtools/docs/remote-debugging.html.
Note that there are few unlisted domains such as Application Cache, DOM
Storage, and Database, but they are not ready for the prime time yet.
What’s next

We are now open to the feedback on the WebKit Remote Debugging Protocol. We
will collect all the feedback in the form

Re: [webkit-dev] WebKit blog post proposal: Remote debugging with Web Inspector.

2011-04-30 Thread Pavel Feldman
This is really about the Web Inspector + about the new protocol that is a
part of Web Inspector. The whole point of the post is that the same protocol
is used for any WebKit-based product.

Chrome is there as a proof of concept demo only. We need some shiny demo
material for post so that people could see it and try it themselves.
Otherwise, it becomes a boring chunk of text. I could use screenshots with
Playbook's capabilities (
http://www.berryreview.com/2011/04/15/hot-webkit-web-inspector-on-the-blackberry-playbook-for-web-developers/)
or both Chrome and Playbook. Any RIM people around?

Thanks
Pavel

On Sat, Apr 30, 2011 at 2:23 PM, Mark Rowe mr...@apple.com wrote:

 This seems rather Chrome-centric for a webkit.org blog post.

 - Mark

 On 2011-04-30, at 01:55, Pavel Feldman wrote:

 An update.

 Pavel

 WebKit Remote Debugging http://www.webkit.org/blog/?p=1620 Posted by *Pavel
 Feldman* on Saturday, April 30th, 2011 at 1:53 am

 As you might know, WebKit Web Inspector (aka Chrome Developer Tools) is
 implemented as an HTML + CSS + JavaScript web application. What you might
 not know is that Web Inspector can run outside of the rendering engine
 environment and still provide complete set of its features to the end user.
 Debugging over the wire

 Running debugger outside the rendering engine is interesting because mobile
 platforms do not often provide enough screen real estate for quality
 debugging; they have network stack and CPU specifics that often affect page
 load and runtime. Still, they are based on the WebCore rendering engine,
 they could have Web Inspector instrumentation running and hence expose
 valuable debugging information to the end user. Now that Web Inspector is
 functioning out-of-process over the serialized-message-channel, attaching
 Web Inspector window to the remote rendering engine is possible. Here is an
 example of the remote debugging session using Chrome Developer Tools:

 1. Start your target browser (recent Chromium build or Google Chrome will
 do) with the remote-debugging-port command line switch:

 Chromium.app/Contents/MacOS/Chromium --remote-debugging-port=9222

 2. Open several pages there.

 3. Navigate to the given port from your client browser instance (WebKit
 nightly or another Chrome instance will do) and it will list inspectable
 pages opened in the browser as web links.
 [image: Tab discovery page]

 4. Follow any of these links to start remote debugging session for the
 corresponding page.
 [image: Tab attached page]

 You will find remote debugging interface very similar to the Web Inspector
 / Chrome Developer Tools and here is why:

- Target Chrome browser acts as a web server bound to the port 9222 on
the localhost.
- Once you follow the link, your client browser fetches HTML,
JavaScript and CSS files of the Developer Tools front-end over HTTP.
- Upon load event, Developer Tools establishes Web Socket connection
back to the target browser and starts interchanging JSON messages with it.

 In fact, pretty much the same scenario takes place within any WebKit-based
 browser when user opens Web Inspector. The only difference is that the
 transports being used for the JSON message interchange may vary. Note, that
 in case of mobile devices, front-end files can also be served from the
 cloud.
 Remote Debugging Protocol

 Another scenario for remote debugging is IDE integration. Web IDEs would
 like to provide seamless debugging experience integrated into their
 environments to the end user. Exposing unified WebKit remote debugging
 protocol would allow them to use alternate front-ends for the WebKit
 debugging.

 Under the hood, Web Inspector front-end is talking to the browser backend
 by means of the Remote Debugging Protocol. This protocol is based on the 
 JSON-RPC
 2.0 http://groups.google.com/group/json-rpc/web/json-rpc-2-0 specification.
 It is bidirectional: clients send asynchronous requests to the server,
 server responds to these requests and/or generates notifications. Since API
 surface for general purpose web debugging is huge, we divided it into a
 number of domains. Each domain contains requests and notifications specific
 to some area. Here is the list of the domains supported so far:

- *Browser Debugger* – allows setting breakpoints on particular DOM
operations and events. JavaScript execution will stop on these operations 
 as
if there was a regular breakpoint set.
- *Console* – defines methods and events for interaction with the
JavaScript console.
- *CSS* – exposes raw CSS read / write operations.
- *Debugger* – exposes JavaScript debugging functions; allows setting
and removing breakpoints, stepping through execution, exploring stack
traces, etc.
- *DOM* – This domain exposes DOM read/write operations.
- *Network* – allows tracking network activities of the page; exposes
information about HTTP and WebSocket requests and responses, their headers,
bodies, raw

Re: [webkit-dev] WebKit blog post proposal: Remote debugging with Web Inspector.

2011-04-30 Thread Pavel Feldman
I see. It might be unfortunate branding, but the large amount of Web
Inspector users refer to it as Developer Tools. We use every opportunity
to tell users that it is the same thing, but this is not enough. The first
question we always get is Do you guys upstream any of your Chrome Dev Tools
code into the WebKit?. Which sounds crazy, because 100% of the code is
upstream. So it is probably just me trying to use both names to fix this. It
sounds like I should be more formal in this case and make the letter of the
post conform to its WebKit spirit.

- I changed the phrasing to use Web Inspector only, there is no mention of
Chrome Dev Tools anymore.
- Removed all Chrome mentions as well
- There is now single mention of Chromium in the example scenario that I
am eager to keep. I truly believe that the example makes the post more
lively. There is nothing easier than posting this whole thing at
chromium.org, but it will harm the unified WebKit Remote Debugging
Protocol message we are trying to deliver.

provocativeIn return, can I ask to rename the WebKit blog from Surfin'
Safari to something more WebKit-specific?/provocative

So here is another update (posting the first topics that have changed).
Mark, Evan, do you think it is better now?

WebKit Remote Debugging http://www.webkit.org/blog/?p=1620Posted by *Pavel
Feldman* on Saturday, April 30th, 2011 at 10:06 pm

As you might know, WebKit Web Inspector is implemented as an HTML + CSS +
JavaScript web application. What you might not know is that Web Inspector
can run outside of the rendering engine environment and still provide
complete set of its features to the end user.
Debugging over the wire

Running debugger outside the rendering engine is interesting because mobile
platforms do not often provide enough screen real estate for quality
debugging; they have network stack and CPU specifics that often affect page
load and runtime. Still, they are based on the WebCore rendering engine,
they could have Web Inspector instrumentation running and hence expose
valuable debugging information to the end user. Now that Web Inspector is
functioning out-of-process over the serialized-message-channel, attaching
Web Inspector window to the remote rendering engine is possible. Here is an
example of the remote debugging session using Chromium:

1. Start your target browser with the remote-debugging-port command line
switch:

Chromium --remote-debugging-port=9222

2. Open several pages there.

3. Navigate to the given port from your client browser instance (WebKit
nightly will do) and it will list inspectable pages opened in the browser as
web links.
[image: Tab discovery page]

4. Follow any of these links to start remote debugging session for the
corresponding page.
[image: Tab attached page]

You will find remote debugging interface very similar to the Web Inspector
and here is why:

   - Target browser acts as a web server bound to the port 9222 on the
   localhost.
   - Once you follow the link, your client browser fetches HTML, JavaScript
   and CSS files of the Web Inspector front-end over HTTP.
   - Upon load event, Web Inspector establishes Web Socket connection back
   to the target browser and starts interchanging JSON messages with it.

In fact, pretty much the same scenario takes place within any WebKit-based
browser when user opens Web Inspector. The only difference is that the
transports being used for the JSON message interchange may vary. Note, that
in case of mobile devices, front-end files can also be served from the
cloud.

On Sun, May 1, 2011 at 1:32 AM, Evan Martin e...@chromium.org wrote:

 I think Mark's point was more about phrasing like WebKit Web Inspector
 (aka Chrome Developer Tools) or You will find remote debugging interface
 very similar to the Web Inspector / Chrome Developer Tools and here is
 why: Target Chrome browser acts as.  I think that objection is reasonable.

 Perhaps you could rearrange the post to be solely about the WebKit-specific
 parts, and include a link to a Chrome blog post with details for Chrome
 users.


 On Sat, Apr 30, 2011 at 3:23 AM, Mark Rowe mr...@apple.com wrote:

 This seems rather Chrome-centric for a webkit.org blog post.

 - Mark

 On 2011-04-30, at 01:55, Pavel Feldman wrote:

 An update.

 Pavel

 WebKit Remote Debugging http://www.webkit.org/blog/?p=1620 Posted by *Pavel
 Feldman* on Saturday, April 30th, 2011 at 1:53 am

 As you might know, WebKit Web Inspector (aka Chrome Developer Tools) is
 implemented as an HTML + CSS + JavaScript web application. What you might
 not know is that Web Inspector can run outside of the rendering engine
 environment and still provide complete set of its features to the end user.
 Debugging over the wire

 Running debugger outside the rendering engine is interesting because
 mobile platforms do not often provide enough screen real estate for quality
 debugging; they have network stack and CPU specifics that often affect page
 load and runtime. Still, they are based

Re: [webkit-dev] WebKit blog post proposal: Remote debugging with Web Inspector.

2011-04-29 Thread Pavel Feldman
Hi guys,

I started drafting the blog post Remote Debugging with Web Inspector:
http://www.webkit.org/blog/?p=1620preview=true.

I'd like to cover following topics there:

- ability to use Web Inspector front-end with remote / embedded devices
- ability to implement alternate front-ends for IDEs
- share the update on the protocol work progress

Calling for the early feedback.

Thanks
Pavel

On Mon, Aug 9, 2010 at 11:48 PM, Pavel Feldman pfeld...@chromium.orgwrote:

 Hi guys,

 As some of you know, we are working on a remote debugging feature in Web
 Inspector. There are many good reasons behind the project including the
 following:

 - Debugging WebKit on embedded devices
 - Shaping up a good protocol for ourselves
 - Introducing external SDKs on top of the protocol for IDE integrations and
 alternate front-ends

 We've had serialized interaction with the out-of-process inspector for
 quite a while in Chromium. We were upstreaming it into WebKit and have
 reached an important milestone recently: all the interaction between the
 inspected page and inspector is entirely serialized on the WebKit level. All
 the embedder needs to do is to implement a socket that would serve the
 inspector front-end files and provide our messaging with appropriate
 transport.

 Now this socket is likely to be platform-specific, implemented on the
 WebKit and/or host browser levels. It also makes more sense to implement
 socket on mobile platforms first. However, we've done a proof-of-concept
 implementation in Chromium and it is now in a demoable state! See the
 screencast at http://screencast.com/t/YTI2OTY4YTEt. It has Chromium
 nightly to the left + WebKit nightly to the right. WebKit nightly connects
 remotely to Chromium over HTTP on the port 9222 and does remote debugging
 including DOM inspection, breakpoints and such. The communication is
 established by means of a WebSocket. The interesting thing about the
 implementation is that inspector front-end is fetched from the host browser,
 so that there is no mess with protocol versioning and no need in exposing
 the interaction protocol any time soon.

 So I made the demo and it looked cool. I thought maybe we do a blog post on
 it. The blog post would draw attention to the Web Inspector and its
 progress, share the remote debugging vision with the interested parties and
 would simply look cool. Front-end is working as a pure HTML5 application
 (obviously full of WebKit-specific styles, but still) which is impressive.
 Now the project is nowhere complete in terms of finalizing the message
 format and the protocol itself, but there is no intention to expose it right
 now. We'd like to let it live with fetchable front-end and mature before we
 expose the protocol and commit to any level of interface support.

 What do you think, is it ready for a blog post?

 Thanks
 Pavel

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] WebKit blog post proposal: Remote debugging with Web Inspector.

2011-04-29 Thread Pavel Feldman
Surfin' Safari
 Web Inspector: Understanding Stack
Traceshttp://www.webkit.org/blog/1544/web-inspector-understanding-stack-traces/

Remote Debugging with Web Inspector http://www.webkit.org/blog/?p=1620Posted
by *Pavel Feldman* on Friday, April 29th, 2011 at 12:59 pm

As you might know, WebKit Web Inspector (aka Chrome Developer Tools) is
implemented as an HTML + CSS + JavaScript web application. What you might
not know is that Web Inspector can run outside of the rendering engine
environment and still provide complete set of its features to the end user.

Running outside the page context (and browser) is interesting, because
mobile platforms do not often provide enough screen real estate for quality
debugging; they have network stack and CPU specifics that often affect page
load and runtime. Still, they are based on the WebCore rendering engine,
they have Web Inspector backend instrumentation running and they can expose
valuable debugging information to the user.

Another scenario for remote debugging is IDE integration. Web IDEs would
like to provide seamless debugging experience, integrated into their
environments to the user. Exposing unified WebKit remote debugging protocol
will allow them to use alternate front-ends for the WebKit debugging.

Here is an example of the remote debugging session using Chrome Developer
Tools:
Debugging over the wire

1. Start your target browser (recent Chromium build or Google Chrome will
do) with the remote-debugging-port command line switch:

Chromium.app/Contents/MacOS/Chromium --remote-debugging-port=9222

2. Navigate to the given port from your client browser instance (WebKit
nightly or another Chrome instance will do) and it will list inspectable
pages as web links.
[image: Tab discovery page]
Follow any of these links to start remote debugging session for the
corresponding page.
[image: Tab attached page]

You will find remote debugging interface very similar to the Web Inspector /
Chrome Developer Tools and here is why:

   - Target Chrome browser acts as a web server bound to the port 9222 on
   the localhost.
   - Once you follow the link, your client browser fetches HTML, JavaScript
   and CSS files of the Developer Tools front-end over HTTP.
   - Upon load event, Developer Tools establishes Web Socket connection back
   to the target browser and starts interchanging JSON messages with it.

In fact, pretty much the same scenario takes place within any WebKit-based
browser when user opens Web Inspector. The only difference is that the
transports being used for the JSON message interchange may vary. Note, that
in case of mobile devices, front-end files can also be served from the
cloud.
Remote Debugging Protocol

Under the hood, Web Inspector front-end is talking to the browser backend by
means of the Remote Debugging Protocol. This protocol is based on the JSON-RPC
2.0 http://groups.google.com/group/json-rpc/web/json-rpc-2-0 specification.
It is bidirectional: clients send asynchronous requests to the server,
server serves responses to these requests and generates notifications. Since
API surface for general purpose web debugging is huge, we divided it into a
number of domains. Each domain contains requests and notifications specific
to some area. Here is the list of the domains supported at the moment:

   - *Browser Debugger* – allows setting breakpoints on particular DOM
   operations and events. JavaScript execution will stop on these operations as
   if there was a regular breakpoint set.
   - *Console* – defines methods and events for interaction with the
   JavaScript console.
   - *CSS* – exposes raw CSS read / write operations.
   - *Debugger* – exposes JavaScript debugging functions; allows setting and
   removing breakpoints, stepping through execution, exploring stack traces,
   etc.
   - *DOM* – This domain exposes DOM read/write operations.
   - *Network* – allows tracking network activities of the page; exposes
   information about HTTP and WebSocket requests and responses, their headers,
   bodies, raw timing, etc.
   - *Page* – actions and events related to the inspected page.
   - *Runtime* – exposes JavaScript runtime by means of remote evaluation
   and mirror objects.
   - *Timeline* – provides its clients with instrumentation records that are
   generated during the page runtime.

You can find JSON schema defining the protocol
herehttp://trac.webkit.org/browser/trunk/Source/WebCore/inspector/Inspector.json.
For your convenience, we generated documentation from this schema and
published it on the Chrome DevTools
pagehttp://code.google.com/chrome/devtools/docs/remote-debugging.html.
Note that there are few unlisted domains such as Application Cache, DOM
Storage, and Database, but they are not ready for the prime time yet.
What’s next


   - We are now open to the feedback on the WebKit Remote Debugging
   Protocol. We will collect all the feedback in the form of the bug
reportshttp://webkit.org/new-inspector-bug and
   the Chrome DevTools

[webkit-dev] Getting CC-ed on webkit.org/new-inspector-bug

2011-02-09 Thread Pavel Feldman
Hi WebKit,

As you might know, we have a shortcut to the inspector bug entry form:
webkit.org/new-inspector-bug. We use it all over the place, our users like
simplicity it introduces. However, we ended up with 10 (and counting) people
on the CC list. Fixed CC list has obvious drawbacks:
- each time we want to add / remove a person from the template, we need to
make explicit request
- new guys don't get updates when old bugs change
- old guys get updates even though they are not interested anymore.

Can we migrate to a more flexible approach (such as introducing
webkit-inspec...@lists.webkit.org) where we would be able to subscribe /
unsubscribe? _wms suggested that we discuss it here first.

Thanks
Pavel
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


[webkit-dev] WebKit blog post proposal: Remote debugging with Web Inspector.

2010-08-09 Thread Pavel Feldman
Hi guys,

As some of you know, we are working on a remote debugging feature in Web
Inspector. There are many good reasons behind the project including the
following:

- Debugging WebKit on embedded devices
- Shaping up a good protocol for ourselves
- Introducing external SDKs on top of the protocol for IDE integrations and
alternate front-ends

We've had serialized interaction with the out-of-process inspector for quite
a while in Chromium. We were upstreaming it into WebKit and have reached an
important milestone recently: all the interaction between the inspected page
and inspector is entirely serialized on the WebKit level. All the embedder
needs to do is to implement a socket that would serve the inspector
front-end files and provide our messaging with appropriate transport.

Now this socket is likely to be platform-specific, implemented on the WebKit
and/or host browser levels. It also makes more sense to implement socket on
mobile platforms first. However, we've done a proof-of-concept
implementation in Chromium and it is now in a demoable state! See the
screencast at http://screencast.com/t/YTI2OTY4YTEt. It has Chromium nightly
to the left + WebKit nightly to the right. WebKit nightly connects remotely
to Chromium over HTTP on the port 9222 and does remote debugging including
DOM inspection, breakpoints and such. The communication is established by
means of a WebSocket. The interesting thing about the implementation is that
inspector front-end is fetched from the host browser, so that there is no
mess with protocol versioning and no need in exposing the interaction
protocol any time soon.

So I made the demo and it looked cool. I thought maybe we do a blog post on
it. The blog post would draw attention to the Web Inspector and its
progress, share the remote debugging vision with the interested parties and
would simply look cool. Front-end is working as a pure HTML5 application
(obviously full of WebKit-specific styles, but still) which is impressive.
Now the project is nowhere complete in terms of finalizing the message
format and the protocol itself, but there is no intention to expose it right
now. We'd like to let it live with fetchable front-end and mature before we
expose the protocol and commit to any level of interface support.

What do you think, is it ready for a blog post?

Thanks
Pavel
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] [webkit-changes] [52439] trunk/WebCore

2009-12-21 Thread Pavel Feldman
Sorry about that - it was git's decision.

Pavel

On Mon, Dec 21, 2009 at 6:24 PM, Dan Bernstein m...@apple.com wrote:


 On Dec 21, 2009, at 3:00 AM, pfeld...@chromium.org wrote:

   Revision 52439 http://trac.webkit.org/projects/webkit/changeset/52439
 Author pfeld...@chromium.org Date 2009-12-21 03:00:06 -0800 (Mon, 21 Dec
 2009) Log Message

 2009-12-20  Pavel Feldman  pfeld...@chromium.org

 Reviewed by Eric Seidel.

 Web Inspector: extract syntax highlighters into separate files.

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

 * WebCore.gypi:
 * WebCore.vcproj/WebCore.vcproj:
 * inspector/front-end/CSSSourceSyntaxHighlighter.js: Added.
 (WebInspector.CSSSourceSyntaxHighlighter):
 * inspector/front-end/JavaScriptSourceSyntaxHighlighter.js: Added.
 (WebInspector.JavaScriptSourceSyntaxHighlighter):
 (WebInspector.JavaScriptSourceSyntaxHighlighter.):
 * inspector/front-end/SourceFrame.js:
 * inspector/front-end/SourceSyntaxHighlighter.js: Added.
 (WebInspector.SourceSyntaxHighlighter):
 (WebInspector.SourceSyntaxHighlighter.prototype.createSpan):
 (WebInspector.SourceSyntaxHighlighter.prototype.process.processChunk):
 
 (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine):
 (WebInspector.SourceSyntaxHighlighter.prototype.process):
 (WebInspector.SourceSyntaxHighlighter.prototype.lex):
 (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken):
 (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode):
 * inspector/front-end/WebKit.qrc:
 * inspector/front-end/inspector.html:

 Modified Paths

- trunk/WebCore/ChangeLog
- trunk/WebCore/WebCore.gypi
- trunk/WebCore/WebCore.vcproj/WebCore.vcproj
- trunk/WebCore/inspector/front-end/SourceFrame.js
- trunk/WebCore/inspector/front-end/WebKit.qrc
- trunk/WebCore/inspector/front-end/inspector.html

 Added Paths

- trunk/WebCore/inspector/front-end/CSSSourceSyntaxHighlighter.js
-
trunk/WebCore/inspector/front-end/JavaScriptSourceSyntaxHighlighter.js
- trunk/WebCore/inspector/front-end/SourceSyntaxHighlighter.js

  The preferred way to make this sort of change is to use 'svn copy' in
 order to preserve the history of the code being moved.

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Implementing WebTiming as a part of HTML5

2009-10-29 Thread Pavel Feldman
Please see inline.

Thanks
Pavel

On Thu, Oct 29, 2009 at 11:12 PM, Darin Adler da...@apple.com wrote:
 Has there been any discussion of or feedback about the web timing proposal?


Not much of feedback yet.

 Would WebKit’s implementation of this be the first one?


Variation of this is supported in Chromium.

 Is someone planning on building a benchmark that uses this new feature to
 evaluate browser speed?


I am not aware of such plans. The idea is that web masters can get a
clue on user-perceived client side latency, especially related to the
initial loads and redirects.

    -- Darin


___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev