| Index: debugger/QT/SkDebuggerGUI.cpp
 | 
| diff --git a/debugger/QT/SkDebuggerGUI.cpp b/debugger/QT/SkDebuggerGUI.cpp
 | 
| index 8610ebec5fbb70efff4e9ab34dc77ec034e49bbf..b6920a7b3eb46e32e4be10be6dcefad4b9a44284 100644
 | 
| --- a/debugger/QT/SkDebuggerGUI.cpp
 | 
| +++ b/debugger/QT/SkDebuggerGUI.cpp
 | 
| @@ -11,6 +11,7 @@
 | 
|  #include "SkImageDecoder.h"
 | 
|  #include <QListWidgetItem>
 | 
|  #include "PictureRenderer.h"
 | 
| +#include "SkPicturePlayback.h"
 | 
|  #include "SkPictureRecord.h"
 | 
|  #include "SkPictureData.h"
 | 
|  
 | 
| @@ -158,23 +159,11 @@ void SkDebuggerGUI::showDeletes() {
 | 
|  // The timed picture playback uses the SkPictureData's profiling stubs
 | 
|  // to time individual commands. The offsets are needed to map SkPicture
 | 
|  // offsets to individual commands.
 | 
| -class SkTimedPicturePlayback : public SkPictureData {
 | 
| +class SkTimedPicturePlayback : public SkPicturePlayback {
 | 
|  public:
 | 
| -    static SkTimedPicturePlayback* CreateFromStream(SkStream* stream, const SkPictInfo& info,
 | 
| -                                                    SkPicture::InstallPixelRefProc proc,
 | 
| -                                                    const SkTDArray<bool>& deletedCommands) {
 | 
| -        // Mimics SkPictureData::CreateFromStream
 | 
| -        SkAutoTDelete<SkTimedPicturePlayback> playback(SkNEW_ARGS(SkTimedPicturePlayback,
 | 
| -                                                               (deletedCommands, info)));
 | 
| -        if (!playback->parseStream(stream, proc)) {
 | 
| -            return NULL; // we're invalid
 | 
| -        }
 | 
| -        return playback.detach();
 | 
| -    }
 | 
|  
 | 
| -    SkTimedPicturePlayback(const SkTDArray<bool>& deletedCommands,
 | 
| -                           const SkPictInfo& info)
 | 
| -        : INHERITED(info)
 | 
| +    SkTimedPicturePlayback(const SkPicture* picture, const SkTDArray<bool>& deletedCommands)
 | 
| +        : INHERITED(picture)
 | 
|          , fSkipCommands(deletedCommands)
 | 
|          , fTot(0.0)
 | 
|          , fCurCommand(0) {
 | 
| @@ -256,9 +245,10 @@ protected:
 | 
|  #endif
 | 
|  
 | 
|  private:
 | 
| -    typedef SkPictureData INHERITED;
 | 
| +    typedef SkPicturePlayback INHERITED;
 | 
|  };
 | 
|  
 | 
| +#if 0
 | 
|  // Wrap SkPicture to allow installation of an SkTimedPicturePlayback object
 | 
|  class SkTimedPicture : public SkPicture {
 | 
|  public:
 | 
| @@ -308,10 +298,11 @@ private:
 | 
|  
 | 
|      typedef SkPicture INHERITED;
 | 
|  };
 | 
| +#endif
 | 
|  
 | 
|  // This is a simplification of PictureBenchmark's run with the addition of
 | 
|  // clearing of the times after the first pass (in resetTimes)
 | 
| -void SkDebuggerGUI::run(SkTimedPicture* pict,
 | 
| +void SkDebuggerGUI::run(const SkPicture* pict,
 | 
|                          sk_tools::PictureRenderer* renderer,
 | 
|                          int repeats) {
 | 
|      SkASSERT(pict);
 | 
| @@ -330,8 +321,10 @@ void SkDebuggerGUI::run(SkTimedPicture* pict,
 | 
|      renderer->render();
 | 
|      renderer->resetState(true);    // flush, swapBuffers and Finish
 | 
|  
 | 
| +#if 0
 | 
|      // We throw this away the first batch of times to remove first time effects (such as paging in this program)
 | 
|      pict->resetTimes();
 | 
| +#endif
 | 
|  
 | 
|      for (int i = 0; i < repeats; ++i) {
 | 
|          renderer->setup();
 | 
| @@ -360,12 +353,15 @@ void SkDebuggerGUI::actionProfile() {
 | 
|          return;
 | 
|      }
 | 
|  
 | 
| -    SkAutoTUnref<SkTimedPicture> picture(SkTimedPicture::CreateTimedPicture(&inputStream,
 | 
| -                                         &SkImageDecoder::DecodeMemory, fSkipCommands));
 | 
| +    SkAutoTUnref<SkPicture> picture(SkPicture::CreateFromStream(&inputStream,
 | 
| +                                        &SkImageDecoder::DecodeMemory)); // , fSkipCommands));
 | 
|      if (NULL == picture.get()) {
 | 
|          return;
 | 
|      }
 | 
|  
 | 
| +
 | 
| +#if 0
 | 
| +
 | 
|      // For now this #if allows switching between tiled and simple rendering
 | 
|      // modes. Eventually this will be accomplished via the GUI
 | 
|  #if 0
 | 
| @@ -414,6 +410,8 @@ void SkDebuggerGUI::actionProfile() {
 | 
|  
 | 
|      setupOverviewText(picture->typeTimes(), picture->totTime(), kNumRepeats);
 | 
|      setupClipStackText();
 | 
| +
 | 
| +#endif
 | 
|  }
 | 
|  
 | 
|  void SkDebuggerGUI::actionCancel() {
 | 
| 
 |