)]}'
{
  "commit": "11f740beacdfa974a68de3a1861bc2c04c4b4f7d",
  "tree": "25bf6911da20c1d77f6b59b9a353a74a670bfdfc",
  "parents": [
    "d80a77aa0eb2e82886f818b0cc9376b1af736aee"
  ],
  "author": {
    "name": "jat@google.com",
    "email": "jat@google.com@8db76d5a-ed1c-0410-87a9-c151d255dfc7",
    "time": "Sat Aug 22 23:01:38 2009 +0000"
  },
  "committer": {
    "name": "jat@google.com",
    "email": "jat@google.com@8db76d5a-ed1c-0410-87a9-c151d255dfc7",
    "time": "Sat Aug 22 23:01:38 2009 +0000"
  },
  "message": "Change the way tabs work in the OOPHM UI:\n - If the browser plugin supports stable tab identifiers across refreshes,\n   that is used to choose which tabs are created in the UI, with one OOPHM\n   tab corresponding to one browser tab.  If the browser plugin does not\n   support tab identifiers (and none currently do), then the combination of\n   user agent, the base URL (ignoring query params and hash locations), and\n   the host of the connecting browser are used to select a tab.  In this case,\n   multiple tabs in the same browser will be treated as several simultaneously\n   open sessions within one tab (see below).\n - When a tab is reloaded or where the plugin does not support tab identifiers,\n   a session, identified by the timestamp of when it was created, groups\n   modules on the same page together.  A reload will generate a new session,\n   with the logs still avaialble by selecting the session in a dropdown box.\n   Within a session, individual instances of modules (which may be the same\n   module loaded multiple times, including dynamically adding/dropping\n   modules) are identified in a separate dropdown box.  Disconnected modules\n   and sessions with no active modules are identified in the dropdown boxes\n   by gray italic text.\n - The usual case of only one module on a page means that sessions will\n   represent refreshes of the page (once tab identifiers are supported, until\n   then they also represent multiple instances of the application running in\n   the same browser) and there will be no module dropdown.\n - Due to limitations from passing control through code shared with legacy\n   hosted mode, there is still no way to close a module while it is still\n   connected -- the browser will have to disconnect before it can be closed.\n\nPatch by: jat\nReview by: rjrjr\n\n\n\ngit-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@5996 8db76d5a-ed1c-0410-87a9-c151d255dfc7\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9d1d7cc79f4fcfd3803bb600fd6df7265de6a5d4",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/HostedModeBase.java",
      "new_id": "1496a6d8633b48e22c62f7b671fbb6e2415081ce",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/HostedModeBase.java"
    },
    {
      "type": "modify",
      "old_id": "a9bcbd628db3f6139c6e66fc3343bae4794f969a",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/cfg/ModuleDefLoader.java",
      "new_id": "b1b72946acf84a05efe197a43457071397b40108",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/cfg/ModuleDefLoader.java"
    },
    {
      "type": "modify",
      "old_id": "612cf1a3d83250f5314f7f782faaca5d6ea3784a",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/shell/BrowserWidget.java",
      "new_id": "50ed0e1071876f9310efc8474903b57b4a5c3df8",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/shell/BrowserWidget.java"
    },
    {
      "type": "modify",
      "old_id": "41e7a27782fac0e9eb0b7a982c03142a8c175ee7",
      "old_mode": 33188,
      "old_path": "dev/core/src/com/google/gwt/dev/shell/BrowserWidgetHost.java",
      "new_id": "2fce44cd46970aff11730e4cc5cc5c97d90c8e7d",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/shell/BrowserWidgetHost.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "84f695430f988031f950b32f7229ad251a19f140",
      "new_mode": 33188,
      "new_path": "dev/core/src/com/google/gwt/dev/shell/HostedHtmlVersion.java"
    },
    {
      "type": "modify",
      "old_id": "8f0392efd1705d2adf6899ebb3c548f482076a1e",
      "old_mode": 33188,
      "old_path": "dev/linux/src/com/google/gwt/dev/shell/moz/BrowserWidgetMoz.java",
      "new_id": "cd847aec8b932822b7837b0c4450b2ef6cd943bb",
      "new_mode": 33188,
      "new_path": "dev/linux/src/com/google/gwt/dev/shell/moz/BrowserWidgetMoz.java"
    },
    {
      "type": "modify",
      "old_id": "93d860499b63bf2f245af5579558fa892c9134a6",
      "old_mode": 33188,
      "old_path": "dev/oophm/overlay/com/google/gwt/dev/GWTShell.java",
      "new_id": "1c9e35caa6ddbc5b911680af6a3f8545f9cb8766",
      "new_mode": 33188,
      "new_path": "dev/oophm/overlay/com/google/gwt/dev/GWTShell.java"
    },
    {
      "type": "modify",
      "old_id": "3a8147e244e99ca77de2acf3d5dc8b3b58c4d7df",
      "old_mode": 33188,
      "old_path": "dev/oophm/overlay/com/google/gwt/dev/HostedMode.java",
      "new_id": "f22a94f33caacc940b93adb0108cd3c4e086b234",
      "new_mode": 33188,
      "new_path": "dev/oophm/overlay/com/google/gwt/dev/HostedMode.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f78b592fe8f376e290e52fe67b4a64f703070e17",
      "new_mode": 33188,
      "new_path": "dev/oophm/src/com/google/gwt/dev/DevelModeTabKey.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ef428878aee1a3ecea09c3defa6013a14bcc4f41",
      "new_mode": 33188,
      "new_path": "dev/oophm/src/com/google/gwt/dev/Disconnectable.java"
    },
    {
      "type": "modify",
      "old_id": "fcf905c26d9a33caf45037c9694cd44cccbbe13a",
      "old_mode": 33188,
      "old_path": "dev/oophm/src/com/google/gwt/dev/ModulePanel.java",
      "new_id": "f20ec84b49b48043fae2576743e8811becb2fd6a",
      "new_mode": 33188,
      "new_path": "dev/oophm/src/com/google/gwt/dev/ModulePanel.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "63dc06746b0660baeffba1fdbe8b1fd2a3feb722",
      "new_mode": 33188,
      "new_path": "dev/oophm/src/com/google/gwt/dev/ModuleTabPanel.java"
    },
    {
      "type": "modify",
      "old_id": "98390f3930eb32df9f8f3330b30202701fa38153",
      "old_mode": 33188,
      "old_path": "dev/oophm/src/com/google/gwt/dev/OophmHostedModeBase.java",
      "new_id": "bc3f1691bf59c512e924bf6e4cb3d340aebb9e42",
      "new_mode": 33188,
      "new_path": "dev/oophm/src/com/google/gwt/dev/OophmHostedModeBase.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7b25dbce2b026205bcc64c621113a45c20bc0e82",
      "new_mode": 33188,
      "new_path": "dev/oophm/src/com/google/gwt/dev/SessionModule.java"
    },
    {
      "type": "modify",
      "old_id": "dd59992601204c95225532089d458d476ed48cc5",
      "old_mode": 33188,
      "old_path": "dev/oophm/src/com/google/gwt/dev/shell/BrowserChannelServer.java",
      "new_id": "9ec65995510a57dc29f4d3a8c7856cd611e95f40",
      "new_mode": 33188,
      "new_path": "dev/oophm/src/com/google/gwt/dev/shell/BrowserChannelServer.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dd927d0fb14eecd05c31b3859c6b6a11beb5c182",
      "new_mode": 33188,
      "new_path": "dev/oophm/src/com/google/gwt/dev/shell/CloseButton.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c5f4da578cdade1bba3809e5f9c912e108eac902",
      "new_mode": 33188,
      "new_path": "dev/oophm/src/com/google/gwt/dev/shell/Icons.java"
    },
    {
      "type": "modify",
      "old_id": "ff73041c55a0ba1ce3347518448c5278e76a1d7b",
      "old_mode": 33188,
      "old_path": "dev/oophm/src/com/google/gwt/dev/shell/OophmSessionHandler.java",
      "new_id": "1eeae51644c6aac466ee2c2efb200c8aa17ea221",
      "new_mode": 33188,
      "new_path": "dev/oophm/src/com/google/gwt/dev/shell/OophmSessionHandler.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "be0333703a5fa6f36bd3c1dd5cd9b38ec0ff48e0",
      "new_mode": 33188,
      "new_path": "dev/oophm/src/com/google/gwt/dev/shell/chrome24.png"
    },
    {
      "type": "modify",
      "old_id": "fe459f53da57e6253674c7ea6a093164596d0cf4",
      "old_mode": 33188,
      "old_path": "dev/oophm/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java",
      "new_id": "c24a3169ea204b7778ba8796b1c0d54e6059cbe5",
      "new_mode": 33188,
      "new_path": "dev/oophm/src/com/google/gwt/dev/shell/log/SwingLoggerPanel.java"
    },
    {
      "type": "modify",
      "old_id": "d82458cff7d5cb84a10dda331c0120cc2587354f",
      "old_mode": 33188,
      "old_path": "dev/oophm/src/com/google/gwt/dev/shell/log/SwingTreeLogger.java",
      "new_id": "520769cb7ad29f1d776788964de2129c2d03ea40",
      "new_mode": 33188,
      "new_path": "dev/oophm/src/com/google/gwt/dev/shell/log/SwingTreeLogger.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "0971e47204868338fb9d2c738b7d68b053b6fbba",
      "new_mode": 33188,
      "new_path": "dev/oophm/test/com/google/gwt/dev/DevelModeTabKeyTest.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8d018fc098ee84af952509283de9977d21ad23c9",
      "new_mode": 33188,
      "new_path": "dev/oophm/test/com/google/gwt/dev/SessionModuleTest.java"
    }
  ]
}
