Summary: | Add a guarded window.timing binding. | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Tony Gentilcore <tonyg> | ||||||||||||||||||||||
Component: | New Bugs | Assignee: | Nobody <webkit-unassigned> | ||||||||||||||||||||||
Status: | RESOLVED FIXED | ||||||||||||||||||||||||
Severity: | Normal | CC: | aroben, bweinstein, commit-queue, dglazkov, eric, fishd, mjs, webkit-ews, webkit.review.bot | ||||||||||||||||||||||
Priority: | P2 | ||||||||||||||||||||||||
Version: | 528+ (Nightly build) | ||||||||||||||||||||||||
Hardware: | Other | ||||||||||||||||||||||||
OS: | OS X 10.5 | ||||||||||||||||||||||||
Bug Depends on: | |||||||||||||||||||||||||
Bug Blocks: | 30685 | ||||||||||||||||||||||||
Attachments: |
|
Description
Tony Gentilcore
2010-05-11 12:27:12 PDT
Created attachment 55736 [details]
Patch
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.
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. Created attachment 55762 [details]
Patch
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. Created attachment 55801 [details]
Patch
(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. Attachment 55801 [details] did not build on qt: Build output: http://webkit-commit-queue.appspot.com/results/2207158 Created attachment 55868 [details]
Patch
Created attachment 55887 [details]
Patch
Created attachment 56107 [details]
Patch
The ChangeLogs are updated per our offline discussion. Comment on attachment 56107 [details]
Patch
This does look good to me. Maciej, do you have any problems with adding this?
(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. Created attachment 56938 [details]
Patch
Attachment 56938 [details] did not build on win: Build output: http://webkit-commit-queue.appspot.com/results/2269565 Comment on attachment 56938 [details]
Patch
Given that IE9 implements this, I think we should forge full-steam ahead.
Created attachment 59660 [details]
Patch
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 Attachment 59660 [details] did not build on mac: Build output: http://webkit-commit-queue.appspot.com/results/3321724 Comment on attachment 59660 [details]
Patch
The mac fail might be pointing to something being wrong with the xcodeproj changes. Can you look?
(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 on attachment 59660 [details]
Patch
Based on comment about uploading a new patch to fix mac build.
Created attachment 59676 [details]
Fix xcode project
Comment on attachment 59676 [details]
Fix xcode project
yay.
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 Created attachment 59824 [details]
Patch for landing
Comment on attachment 59824 [details] Patch for landing Clearing flags on attachment: 59824 Committed r61950: <http://trac.webkit.org/changeset/61950> All reviewed patches have been landed. Closing bug. 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' 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. (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? (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. (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. |