Bug 38924 - Add a guarded window.timing binding.
Summary: Add a guarded window.timing binding.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Other OS X 10.5
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 30685
  Show dependency treegraph
 
Reported: 2010-05-11 12:27 PDT by Tony Gentilcore
Modified: 2010-06-28 08:15 PDT (History)
9 users (show)

See Also:


Attachments
Patch (21.74 KB, patch)
2010-05-11 12:41 PDT, Tony Gentilcore
no flags Details | Formatted Diff | Diff
Patch (21.74 KB, patch)
2010-05-11 15:08 PDT, Tony Gentilcore
no flags Details | Formatted Diff | Diff
Patch (31.40 KB, patch)
2010-05-11 20:54 PDT, Tony Gentilcore
no flags Details | Formatted Diff | Diff
Patch (31.62 KB, patch)
2010-05-12 10:52 PDT, Tony Gentilcore
no flags Details | Formatted Diff | Diff
Patch (31.66 KB, patch)
2010-05-12 12:36 PDT, Tony Gentilcore
no flags Details | Formatted Diff | Diff
Patch (32.12 KB, patch)
2010-05-14 13:57 PDT, Tony Gentilcore
no flags Details | Formatted Diff | Diff
Patch (32.18 KB, patch)
2010-05-24 15:50 PDT, Tony Gentilcore
no flags Details | Formatted Diff | Diff
Patch (62.76 KB, patch)
2010-06-24 08:58 PDT, Tony Gentilcore
no flags Details | Formatted Diff | Diff
Fix xcode project (56.66 KB, patch)
2010-06-24 10:49 PDT, Tony Gentilcore
no flags Details | Formatted Diff | Diff
Patch for landing (56.63 KB, patch)
2010-06-26 00:02 PDT, Tony Gentilcore
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Tony Gentilcore 2010-05-11 12:27:12 PDT
Add a guarded window.timing binding.
Comment 1 Tony Gentilcore 2010-05-11 12:41:53 PDT
Created attachment 55736 [details]
Patch
Comment 2 WebKit Review Bot 2010-05-11 12:44:58 PDT
Attachment 55736 [details] did not pass style-queue:

Failed to run "['WebKitTools/Scripts/check-webkit-style', '--no-squash']" exit_code: 1
WebCore/ChangeLog:9:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 1 in 17 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Tony Gentilcore 2010-05-11 12:46:55 PDT
I've been working to get the final issues ironed out of the Web Timing spec and am interested in driving the WebCore implementation forward. This patch is intended to install the minimum amount of code to add the window.timing binding while still remaining disabled-by-default. Once this is in place, I can tackle the implementation piece-by-piece.
Comment 4 Tony Gentilcore 2010-05-11 15:08:25 PDT
Created attachment 55762 [details]
Patch
Comment 5 Dimitri Glazkov (Google) 2010-05-11 15:29:40 PDT
Comment on attachment 55762 [details]
Patch

WebCore/ChangeLog:27
 +  
Don't forget FeatureDefines.xcconfig (in four places) -- see http://trac.webkit.org/changeset/59174 :)


WebCore/page/DOMWindow.cpp:448
 +  
Typically, we guard these entirely.

WebCore/page/DOMWindow.cpp:581
 +  
Ditto.

WebCore/page/NavigationTiming.cpp:31
 +  #include "config.h"
And this one, too. See SVG or Inspector files for an example.

WebCore/page/NavigationTiming.h:33
 +  
And that one.
Comment 6 Tony Gentilcore 2010-05-11 20:54:54 PDT
Created attachment 55801 [details]
Patch
Comment 7 Tony Gentilcore 2010-05-11 20:55:50 PDT
(In reply to comment #5)
> (From update of attachment 55762 [details])
> WebCore/ChangeLog:27
>  +  
> Don't forget FeatureDefines.xcconfig (in four places) -- see http://trac.webkit.org/changeset/59174 :)

Good catch. Done.
> 
> 
> WebCore/page/DOMWindow.cpp:448
>  +  
> Typically, we guard these entirely.

Done.
> 
> WebCore/page/DOMWindow.cpp:581
>  +  
> Ditto.

Done.
> 
> WebCore/page/NavigationTiming.cpp:31
>  +  #include "config.h"
> And this one, too. See SVG or Inspector files for an example.

Done.
> 
> WebCore/page/NavigationTiming.h:33
>  +  
> And that one.

Done.
Comment 8 Early Warning System Bot 2010-05-12 00:06:20 PDT
Attachment 55801 [details] did not build on qt:
Build output: http://webkit-commit-queue.appspot.com/results/2207158
Comment 9 Tony Gentilcore 2010-05-12 10:52:16 PDT
Created attachment 55868 [details]
Patch
Comment 10 Tony Gentilcore 2010-05-12 12:36:39 PDT
Created attachment 55887 [details]
Patch
Comment 11 Tony Gentilcore 2010-05-14 13:57:49 PDT
Created attachment 56107 [details]
Patch
Comment 12 Tony Gentilcore 2010-05-17 15:17:17 PDT
The ChangeLogs are updated per our offline discussion.
Comment 13 Dimitri Glazkov (Google) 2010-05-17 15:37:19 PDT
Comment on attachment 56107 [details]
Patch

This does look good to me. Maciej, do you have any problems with adding this?
Comment 14 Tony Gentilcore 2010-05-24 15:11:35 PDT
(In reply to comment #13)
> (From update of attachment 56107 [details])
> This does look good to me. Maciej, do you have any problems with adding this?

Maciej, if you have any questions about Web Timing, I'm happy to answer them.
Comment 15 Tony Gentilcore 2010-05-24 15:50:27 PDT
Created attachment 56938 [details]
Patch
Comment 16 WebKit Review Bot 2010-05-24 23:24:24 PDT
Attachment 56938 [details] did not build on win:
Build output: http://webkit-commit-queue.appspot.com/results/2269565
Comment 17 Dimitri Glazkov (Google) 2010-06-23 19:55:45 PDT
Comment on attachment 56938 [details]
Patch

Given that IE9 implements this, I think we should forge full-steam ahead.
Comment 18 Tony Gentilcore 2010-06-24 08:58:38 PDT
Created attachment 59660 [details]
Patch
Comment 19 Tony Gentilcore 2010-06-24 09:02:37 PDT
I synced this up and added some missing files. Probably worth scanning for review again.

The major differences:
1. window.timing is now window.performance.timing.
2. I was missing a lot of platform-specific build files. Hopefully I have them all now.

Here is the mozilla patch:
https://bugzilla.mozilla.org/show_bug.cgi?id=570341

And here is window.msPerformance.timing in the IE9 PP3:
http://ie.microsoft.com/testdrive/Performance/msPerformance/Default.html
Comment 20 Eric Seidel (no email) 2010-06-24 09:03:01 PDT
Attachment 59660 [details] did not build on mac:
Build output: http://webkit-commit-queue.appspot.com/results/3321724
Comment 21 Dimitri Glazkov (Google) 2010-06-24 09:19:02 PDT
Comment on attachment 59660 [details]
Patch

The mac fail might be pointing to something being wrong with the xcodeproj changes. Can you look?
Comment 22 Tony Gentilcore 2010-06-24 09:22:16 PDT
(In reply to comment #21)
> (From update of attachment 59660 [details])
> The mac fail might be pointing to something being wrong with the xcodeproj changes. Can you look?

Just patched it in on my mac. Will upload a fix shortly.
Comment 23 David Levin 2010-06-24 10:07:24 PDT
Comment on attachment 59660 [details]
Patch

Based on comment about uploading a new patch to fix mac build.
Comment 24 Tony Gentilcore 2010-06-24 10:49:07 PDT
Created attachment 59676 [details]
Fix xcode project
Comment 25 Dimitri Glazkov (Google) 2010-06-24 10:56:17 PDT
Comment on attachment 59676 [details]
Fix xcode project

yay.
Comment 26 WebKit Commit Bot 2010-06-25 20:56:01 PDT
Comment on attachment 59676 [details]
Fix xcode project

Rejecting patch 59676 from commit-queue.

Failed to run "[u'/Users/eseidel/Projects/CommitQueue/WebKitTools/Scripts/svn-apply', u'--reviewer', u'Dimitri Glazkov', u'--force']" exit_code: 1
Last 500 characters of output:
mac/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file WebKit/mac/Configurations/FeatureDefines.xcconfig
patching file WebKit2/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file WebKit2/Configurations/FeatureDefines.xcconfig
patching file WebKitLibraries/ChangeLog
patching file WebKitLibraries/win/tools/vsprops/FeatureDefines.vsprops
patching file WebKitTools/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file WebKitTools/Scripts/build-webkit
patching file configure.ac

Full output: http://webkit-commit-queue.appspot.com/results/3278765
Comment 27 Tony Gentilcore 2010-06-26 00:02:02 PDT
Created attachment 59824 [details]
Patch for landing
Comment 28 WebKit Commit Bot 2010-06-26 00:49:44 PDT
Comment on attachment 59824 [details]
Patch for landing

Clearing flags on attachment: 59824

Committed r61950: <http://trac.webkit.org/changeset/61950>
Comment 29 WebKit Commit Bot 2010-06-26 00:49:51 PDT
All reviewed patches have been landed.  Closing bug.
Comment 30 Eric Seidel (no email) 2010-06-28 01:11:55 PDT
I think this may have caused a delayed Windows break:
http://build.webkit.org/builders/Windows%20Release%20(Build)/builds/953/steps/compile-webkit/logs/stdio


C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\obj\WebCore\DerivedSources\JSDOMWindow.cpp(1462) : error C2039: 'performance' : is not a member of 'WebCore::DOMWindow'
        c:\cygwin\home\buildbot\slave\win-release\build\WebCore\page\DOMWindow.h(84) : see declaration of 'WebCore::DOMWindow'
Comment 31 Eric Seidel (no email) 2010-06-28 01:55:01 PDT
Looks like this turned on WebTiming support on windows:
http://trac.webkit.org/changeset/61950/trunk/WebKitLibraries/win/tools/vsprops/FeatureDefines.vsprops

Even though it's not implemented for JSC.  That seems like the error.
Comment 32 Eric Seidel (no email) 2010-06-28 02:08:19 PDT
(In reply to comment #31)
> Looks like this turned on WebTiming support on windows:
> http://trac.webkit.org/changeset/61950/trunk/WebKitLibraries/win/tools/vsprops/FeatureDefines.vsprops
> 
> Even though it's not implemented for JSC.  That seems like the error.

I failed to understand how that file works.  Not sure how this is caused.  May need to roll this out?
Comment 33 Adam Roben (:aroben) 2010-06-28 07:07:24 PDT
(In reply to comment #32)
> (In reply to comment #31)
> > Looks like this turned on WebTiming support on windows:
> > http://trac.webkit.org/changeset/61950/trunk/WebKitLibraries/win/tools/vsprops/FeatureDefines.vsprops
> > 
> > Even though it's not implemented for JSC.  That seems like the error.

Steve fixed this in r61980.

> I failed to understand how that file works.

All ENABLE flags are listed in this file, whether turned on or off. Flags that are turned on look like this:

<UserMacro
              Name="ENABLE_CHANNEL_MESSAGING"
              Value="ENABLE_CHANNEL_MESSAGING"
              PerformEnvironmentSet="true"
      />

Flags that are turned off look like this:

<UserMacro
              Name="ENABLE_BLOB_SLICE"
              Value=""
              PerformEnvironmentSet="true"
      />

This is pretty similar to how FeatureDefines.xcconfig works.
Comment 34 Tony Gentilcore 2010-06-28 08:15:52 PDT
(In reply to comment #33)
> (In reply to comment #32)
> > (In reply to comment #31)
> > > Looks like this turned on WebTiming support on windows:
> > > http://trac.webkit.org/changeset/61950/trunk/WebKitLibraries/win/tools/vsprops/FeatureDefines.vsprops
> > > 
> > > Even though it's not implemented for JSC.  That seems like the error.
> 
> Steve fixed this in r61980.

Sorry for the breakage. Thank you for the fix and explanation!

> 
> > I failed to understand how that file works.
> 
> All ENABLE flags are listed in this file, whether turned on or off. Flags that are turned on look like this:
> 
> <UserMacro
>               Name="ENABLE_CHANNEL_MESSAGING"
>               Value="ENABLE_CHANNEL_MESSAGING"
>               PerformEnvironmentSet="true"
>       />
> 
> Flags that are turned off look like this:
> 
> <UserMacro
>               Name="ENABLE_BLOB_SLICE"
>               Value=""
>               PerformEnvironmentSet="true"
>       />
> 
> This is pretty similar to how FeatureDefines.xcconfig works.