summaryrefslogtreecommitdiffstats
path: root/chrome
Commit message (Collapse)AuthorAgeFilesLines
* Adds TwoClientLiveAutofillSyncTest to test old school autofill. Includes ↵skrul@chromium.org2010-04-3012-88/+452
| | | | | | | | some refactoring of the WebDataServiceTest to allow some code sharing between the two. Review URL: http://codereview.chromium.org/1739017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46080 0039d316-1c4b-4281-b951-d872f2087c98
* Unpack extensions inside chrome's profile directory.skerner@chromium.org2010-04-3010-25/+100
| | | | | | | | | | | Other users of the temp directory will be altered in a subsequent CL. BUG=13044 TEST=SandboxedExtensionUnpackerTest.*, ScopedTempDir.UniqueTempDirUnderPath, FileUtilTest.CreateNewTempDirInDirTest, manual testing on win, linux, mac. Review URL: http://codereview.chromium.org/1582022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46078 0039d316-1c4b-4281-b951-d872f2087c98
* Have extension call windows.getLastFocused include incognito windows if thempcomplete@chromium.org2010-04-301-1/+2
| | | | | | | | | | extension is enabled for incognito. BUG=39113 Review URL: http://codereview.chromium.org/1789010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46076 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor PasswordStoreWin to store logins in a LoginDatabase instead ofalbertb@chromium.org2010-04-3013-485/+576
| | | | | | | | | | | the WebDataService. BUG=35038 TEST=PasswordStoreDefaultTest.* Review URL: http://codereview.chromium.org/1572040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46075 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac] Small change to get the BrowserActionApiTest.IncognitoDragging test ↵kkania@chromium.org2010-04-302-12/+5
| | | | | | | | | | running. BUG=none TEST=none Review URL: http://codereview.chromium.org/1810008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46074 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt 2 at relanding your patch. I believe the problem was the removal of ↵sky@chromium.org2010-04-3034-85/+391
| | | | | | | | | | | | the observer in ~TabStrip. By the time TabStrip's destructor was run the model's destructor had already run. I've changed BrowserView to explicitly delete the TabStrip before the browser. See the change between v1 and v2 of this patch in BrowserView for the relevant part. BUG=none TEST=none TBR=ben@chromium.org Review URL: http://codereview.chromium.org/1817001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46071 0039d316-1c4b-4281-b951-d872f2087c98
* Re-apply http://codereview.chromium.org/1622012timurrrr@chromium.org2010-04-3010-94/+142
| | | | | | | | | It was reverted as http://codereview.chromium.org/1822001 the fix in Valgrind scripts has been commited as http://codereview.chromium.org/1736026 TEST=trybots Review URL: http://codereview.chromium.org/1763023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46070 0039d316-1c4b-4281-b951-d872f2087c98
* Create a command-line switch for enabling touch events.gdk@chromium.org2010-04-304-0/+8
| | | | | | | | | BUG=36415 TEST=none Review URL: http://codereview.chromium.org/1575033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46068 0039d316-1c4b-4281-b951-d872f2087c98
* Manual test for debugging workers in Dev Tools. Original patch by caseq: ↵yurys@chromium.org2010-04-303-0/+125
| | | | | | | | | | http://codereview.chromium.org/1731019 TBR=pfeldman Review URL: http://codereview.chromium.org/1758019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46062 0039d316-1c4b-4281-b951-d872f2087c98
* Fix shift-clicking on a delete history checkbox.bauerb@chromium.org2010-04-301-39/+11
| | | | | | | | | | | Shift-clicking on a checkbox in the history editing mode now sets all checkboxes from the last click to the current click to the state of the just clicked checkbox. Also, the last clicked checkbox is focused to indicate the anchoring. BUG=42827 TEST=See bug. Review URL: http://codereview.chromium.org/1718021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46060 0039d316-1c4b-4281-b951-d872f2087c98
* Reenable some devtools tests. Original patch by caseq: ↵yurys@chromium.org2010-04-301-4/+2
| | | | | | | | | | http://codereview.chromium.org/1819004 TBR=pfeldman Review URL: http://codereview.chromium.org/1796006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46059 0039d316-1c4b-4281-b951-d872f2087c98
* Don't trigger auto fill setup when submitting empty forms.bulach@chromium.org2010-04-304-7/+72
| | | | | | | | | | | (landing on behalf of satish@chromium.org from http://codereview.chromium.org/1769008/show) BUG=41015 TEST=Open the test page given in the bug and hit submit, verify that the autofill setup infobar does not pop up. Review URL: http://codereview.chromium.org/1822002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46058 0039d316-1c4b-4281-b951-d872f2087c98
* Updating trunk VERSION from 393.0 to 394.0chrome-release@google.com2010-04-301-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46056 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 46049 - [Mac] Make exceptions dialog a sheet.bauerb@chromium.org2010-04-308-675/+258
| | | | | | | | | | | | | | | | | | | XIB changes (applying to ContentExceptionsWindow.xib and GeolocationExceptionsWindow.xib): The window is now drawn in Aqua style, with window margins, Aqua buttons and text labels for them. At the bottom right of the window there is an additional button for closing the sheet, hooked up to the |doneButton_| outlet in the file's owner and with action |closeSheet:|. The lefthand side buttons are inside a |GTMWidthBasedTweaker|, as is the done button. The actual tweaking is done by a newly added |GTMUILocalizerAndLayoutTweaker|. BUG=38021 TEST=Preferences > Under the Hood > Content Settings > Exceptions should be a sheet. Review URL: http://codereview.chromium.org/1760001 TBR=bauerb@chromium.org Review URL: http://codereview.chromium.org/1790009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46050 0039d316-1c4b-4281-b951-d872f2087c98
* [Mac] Make exceptions dialog a sheet.bauerb@chromium.org2010-04-308-258/+675
| | | | | | | | | | | | | | | | XIB changes (applying to ContentExceptionsWindow.xib and GeolocationExceptionsWindow.xib): The window is now drawn in Aqua style, with window margins, Aqua buttons and text labels for them. At the bottom right of the window there is an additional button for closing the sheet, hooked up to the |doneButton_| outlet in the file's owner and with action |closeSheet:|. The lefthand side buttons are inside a |GTMWidthBasedTweaker|, as is the done button. The actual tweaking is done by a newly added |GTMUILocalizerAndLayoutTweaker|. BUG=38021 TEST=Preferences > Under the Hood > Content Settings > Exceptions should be a sheet. Review URL: http://codereview.chromium.org/1760001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46049 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "[Third time landing] Python implementation of sync server, for testing."phajdan.jr@chromium.org2010-04-3010-142/+94
| | | | | | | | | | This broke the memory waterfall, failed to import protobuf. TBR=nick Review URL: http://codereview.chromium.org/1822001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46048 0039d316-1c4b-4281-b951-d872f2087c98
* Don't run ResourceDispatcherTest.CrossSiteAfterCrash under Valgrind on Linuxtimurrrr@chromium.org2010-04-301-0/+2
| | | | | | | | BUG=42921 TBR=glider Review URL: http://codereview.chromium.org/1708020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46047 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the build, missed a remaining TestServerPageW in codephajdan.jr@chromium.org2010-04-301-1/+1
| | | | | | | | | | that is compiled only in Release builds. TBR=eroman Review URL: http://codereview.chromium.org/1687024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46046 0039d316-1c4b-4281-b951-d872f2087c98
* Unbreak app tab icons. The bigger app tab icons weren't showing up.aa@chromium.org2010-04-303-13/+21
| | | | | | | | TBR=finnur@chromium.org Review URL: http://codereview.chromium.org/1808004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46045 0039d316-1c4b-4281-b951-d872f2087c98
* Remove deprecated things from net test suite:phajdan.jr@chromium.org2010-04-3020-268/+266
| | | | | | | | | | | | - URLRequestTestContext (from now on use TestURLRequestContext) - TestServerPageW (use TestServerPage). TEST=none BUG=none Review URL: http://codereview.chromium.org/1814002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46044 0039d316-1c4b-4281-b951-d872f2087c98
* [Third time landing] Python implementation of sync server, for testing.nick@chromium.org2010-04-3010-94/+142
| | | | | | | | | | | | | | | | | | | | | | | | | | Implement the server side of chromium sync inside of testserver.py. The implementation supports at most one account (and ignores authentication credentials), but is otherwise reasonably full featured. Make the sync_integration_tests run by default against the test server. An externally-provided --sync-url will give the old behavior. Protocol buffers stuff: The test sync server requires Python generated code for .proto files. I've put generated code, as well as the python protocol buffers runtime library, in the output directory + "/python" (e.g, on windows, src/chrome/Debug/python/google/protobuf). Flakiness fix: In the InProcessBrowserTest framework, improve the mechanism for tests that want to manually set up a user data directory. The new way ensures that the user data directory is always wiped; tests can't accidentally forget to do this anymore. Flakiness fix: Make testserver try to /kill any old instance that might be hogging the port. Very useful if a test failure leaves a server running. Tested this against all combos of protocols, and it seems to work. Flakiness fix: Port sync_integration_tests to the out-of-process test runner. Flakiness fix: For IN_PROC_BROWSER_TESTS, don't run the test body if the setup triggered a fatal (ASSERT_) failure. BUG=20905,40980 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=44708 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=45916 Review URL: http://codereview.chromium.org/1622012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46040 0039d316-1c4b-4281-b951-d872f2087c98
* Unbreak app launch container overriding. Before, you could choose what kind ↵aa@chromium.org2010-04-301-15/+20
| | | | | | | | | | of app container you wanted to launch in so that we could try out different things. My change to window affinity change broke this for tabs. This should fix it. Review URL: http://codereview.chromium.org/1811005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46038 0039d316-1c4b-4281-b951-d872f2087c98
* Added NetworkChangeObserverProxy class.akalin@chromium.org2010-04-305-0/+640
| | | | | | | | | | | | | This class forwards notifications from a NetworkChangeNotifier on one thread to an observer on another. This will be used to enable the sync threads to listen to NCN notifications from the IO thread. BUG=42606 TEST=unittests Review URL: http://codereview.chromium.org/1704014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46037 0039d316-1c4b-4281-b951-d872f2087c98
* Pasting on a folder now puts the pasted bookmark item in the folder as the ↵mrossetti@chromium.org2010-04-301-12/+13
| | | | | | | | | | | last bookmark within the folder. Bringing up a contextual menu on an open bookmark bar folder no longer closes the folder. BUG=32064 TEST=1) Copy a bookmark item. Using the contextual menu, paste the bookmark item just copied onto the top of a folder in the bookmark bar. Open that folder and verify that the pasted item appears as the last bookmark therein. 2) Copy a bookmark item. Pop open a bookmark bar folder which itself contains a folder. Paste the bookmark item onto the top of that subfolder. Verify that the subfolder now contains the pasted bookmark item as its last bookmark. 3) Pop open a bookmark folder. Bring up the contextual menu on that folder. Verify that the folder window is not automatically closed when the contextual menu is presented. Review URL: http://codereview.chromium.org/1732029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46032 0039d316-1c4b-4281-b951-d872f2087c98
* Mac: add encoding meta-tag to HTML provided with NSHTMLPboardType.viettrungluu@chromium.org2010-04-301-1/+8
| | | | | | | | | | | Otherwise, US-ASCII is assumed. BUG=42661 TEST=dragging text from, e.g., Chinese-language web sites into TextEdit works Review URL: http://codereview.chromium.org/1820001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46029 0039d316-1c4b-4281-b951-d872f2087c98
* Unbreak app windows. The signature to AddTabWithURL had changed, but in a ↵aa@chromium.org2010-04-301-3/+3
| | | | | | | | compatible way. This was causing the initial tab to get added to an app window with some odd properties. Review URL: http://codereview.chromium.org/1703023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46028 0039d316-1c4b-4281-b951-d872f2087c98
* Rename a bunch of DOMUI shared resources.arv@chromium.org2010-04-3018-187/+28
| | | | | | | | BUG=None TEST=manual git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46027 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r46023: "Detect new instance of the browser when running in the ↵willchan@chromium.org2010-04-3014-177/+42
| | | | | | | | | | background in persistent" Broke the build. Review URL: http://codereview.chromium.org/1718024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46025 0039d316-1c4b-4281-b951-d872f2087c98
* Detect new instance of the browser when running in the background in persistentprasadt@chromium.org2010-04-3014-42/+177
| | | | | | | | | | | | | | | | | | mode, shutdown and restart the new instance. This is already done for Windows, this CL enables the functionality for Linux. We don't yet have a unit test for this. Local testing is done by: 1) Reducing the timer to 30 seconds. 2) Changing BrowserList::IsInPersistentMode to return true. 3) Setting BrowserProcessImpl::autoupdate_timer_ to 30 seconds interval. 4) Running "touch" command on chrome exe to pretend there is an update. BUG=40975 TEST=none Review URL: http://codereview.chromium.org/1633021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46023 0039d316-1c4b-4281-b951-d872f2087c98
* NTP - Refactor the most visited code to uncouple it from the rest of the NTP.arv@chromium.org2010-04-309-1048/+1181
| | | | | | | | | | | The goal of this refactoring is to allow splitting the different parts of the NTP into different reusable components. BUG=None TEST=Manually Review URL: http://codereview.chromium.org/1695022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46021 0039d316-1c4b-4281-b951-d872f2087c98
* Changing the mediaplayer so it starts over when the clip is finished.dhg@chromium.org2010-04-292-57/+99
| | | | | | Review URL: http://codereview.chromium.org/1745004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46009 0039d316-1c4b-4281-b951-d872f2087c98
* When cancelling a pending request, release any outstanding SharedIOBuffermark@chromium.org2010-04-292-17/+24
| | | | | | | | | | | | objects and their associated shared memory segments. This avoids a shared memory leak and file descriptor leak. BUG=38383 TEST=Using test_chrome_fd_leak from bug 38383 and lsof, the renderer process should not show an fd leak on Mac or Linux. Review URL: http://codereview.chromium.org/1703017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46007 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Dropping in the bookmark managerfeldstein@chromium.org2010-04-291-3/+8
| | | | | | | | | | | | | | | | | Originally we were clearing the dragData member in a few places, including experimental.bookmarkManager.onDrop. This was triggered before the javascripts drop event so when it got to that point to drop a valid bookmark, it had already cleared itself out. Now it just posts a task with 0ms delay to let the real drop event handle the data before clearing it. Also clear the data on mouse up, which wasn't being handled in the case where you drag an element just a tiny bit, and no action is performed. BUG=none TEST=Ensure you can still drop stuff in the bmm Review URL: http://codereview.chromium.org/1780015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46006 0039d316-1c4b-4281-b951-d872f2087c98
* Implement UI automation on the Mac.jrg@chromium.org2010-04-2916-53/+335
| | | | | | | | | | | | | | | | | | | Code is untested. From gChat: me: do you have a good test I can use to make sure mac impl of ui_controls for sending events works OK? Or would you prefer I send you CLs to play with and we iterate by hand? Joe: I would like the CL to play with to see if I can get it to work with the code I wrote Warning to Joe: mouse moved events currently use the Mac coordinate frame (0,0 is bottom-left not top-left). That's easy to switch; I'd like to do whatever is easiest to get WebDriver working. BUG=26102 Review URL: http://codereview.chromium.org/1701006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46005 0039d316-1c4b-4281-b951-d872f2087c98
* Changing filebrowser to append a number on the end of an existing directory.dhg@chromium.org2010-04-291-2/+15
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/1736006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46004 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup pass.kathyw@chromium.org2010-04-295-129/+155
| | | | | | | | | | TBR=rafaelw BUG=none TEST=none Review URL: http://codereview.chromium.org/1783012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45999 0039d316-1c4b-4281-b951-d872f2087c98
* Bookmark manager: Tweak the top bar behavior a bit.arv@chromium.org2010-04-291-13/+18
| | | | | | | | | | | | Empty searches are not shown now, instead we go to "Bookmarks bar" folder. Clicking the logo button clears the search and takes the user to the "Bookmarks bar" folder. BUG=None TEST=See above Review URL: http://codereview.chromium.org/1816001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45995 0039d316-1c4b-4281-b951-d872f2087c98
* Fix data dir name for testRedirectHistory on linuxnirnimesh@chromium.org2010-04-291-1/+1
| | | | | | | | | | | dir name "history" is not the same as "History" on linux, though it is on Mac on which I tried first. :( TEST=python chrome/test/functional/history.py Review URL: http://codereview.chromium.org/1789009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45994 0039d316-1c4b-4281-b951-d872f2087c98
* Remove accidental #if's. Make old folder window menu go away when mousing ↵mrossetti@chromium.org2010-04-292-15/+4
| | | | | | | | | | | over a non-folder bookmark in the bookmark bar. BUG=None. TEST=Pop up a folder bookmark item on the bookmark bar then mouse over a non-folder bookmark and verify that the old folder menu is dismissed. Review URL: http://codereview.chromium.org/1752020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45991 0039d316-1c4b-4281-b951-d872f2087c98
* Add 2 tests for history.nirnimesh@chromium.org2010-04-296-19/+77
| | | | | | | | | | | | | testDownloadNoHistory,testRedirectHistory -- from Deepak. Also, move _DownloadAndWaitForStart (re-used by the new tests) to a common location. TEST=python chrome/test/funtional/history.py Review URL: http://codereview.chromium.org/1702010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45987 0039d316-1c4b-4281-b951-d872f2087c98
* Changing linux platform for chromeos. This involved moving platform_util ↵dhg@chromium.org2010-04-2948-112/+216
| | | | | | | | | | and extension_error_reporter to browser, so that the UIs surrounding them can be in the browser. BUG=none TEST=none Review URL: http://codereview.chromium.org/1705009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45986 0039d316-1c4b-4281-b951-d872f2087c98
* Add shared images from bookmark manager to chrome://resources/images/arv@chromium.org2010-04-297-14/+34
| | | | | | | | | | | This fixes a bug where we would have missing images in the bookmark manager. BUG=42817 TEST=Open the bookmark manager. No icons should be missing. Review URL: http://codereview.chromium.org/1697017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45983 0039d316-1c4b-4281-b951-d872f2087c98
* Fix dragging a tab out of a window when the only tabs left behind are ↵pinkerton@chromium.org2010-04-294-2/+19
| | | | | | | | | | phantom tabs. BUG=42698 TEST=per bug. Might want to re-test dragging single tabs and dragging tabs out when there are pinned tabs (not phantoms). Review URL: http://codereview.chromium.org/1727013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45982 0039d316-1c4b-4281-b951-d872f2087c98
* In the sync integration tests for preferences, don't assume a specificalbertb@chromium.org2010-04-291-4/+5
| | | | | | | | | | | initial value for kHomePageIsNewTabPage. BUG=42669 TEST=TwoClientLivePreferencesSyncTest.Sanity Review URL: http://codereview.chromium.org/1801006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45979 0039d316-1c4b-4281-b951-d872f2087c98
* Http cache: Add support for a dedicated cache thread.rvargas@google.com2010-04-291-3/+3
| | | | | | | | | | | | This is an interface-only change, nothing is really moving to another thread yet. BUG=26730 TEST=none Review URL: http://codereview.chromium.org/983007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45974 0039d316-1c4b-4281-b951-d872f2087c98
* Fix runtime exception.skerner@chromium.org2010-04-291-1/+1
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/1708016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45973 0039d316-1c4b-4281-b951-d872f2087c98
* Remove CHECK()s from directory backing store and check return values.zork@chromium.org2010-04-294-43/+61
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/1739019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45971 0039d316-1c4b-4281-b951-d872f2087c98
* Add the ability to export the captured NetLog data to a formatted text file, ↵eroman@chromium.org2010-04-294-26/+271
| | | | | | | | | | | | | | or to JSON. This is similar to the display of about:net-internals, and is intended to be used when attaching log info to bug reports. The formatting is still fairly crude, and there are some remaining TODOs. BUG=37421 Review URL: http://codereview.chromium.org/1703018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45967 0039d316-1c4b-4281-b951-d872f2087c98
* GTK: more signal handler foolproofing.estade@chromium.org2010-04-2910-110/+80
| | | | | | | | | BUG=40735 TEST=manual clicking about, trybots Review URL: http://codereview.chromium.org/1783010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45966 0039d316-1c4b-4281-b951-d872f2087c98
* Add and implement cut/copy/paste to the bookmark bar and folder context ↵mrossetti@chromium.org2010-04-2916-220/+1638
| | | | | | | | | | | | | | | | | | | | | | | | | | | menus.Prevent dropping bookmark folders onto their children to avoid creating cycles and crashing. Keep folder menu windows open after a cut/copy/paste/delete and drop operation. Add test helpers for easing comparison of bookmark model changes. BUG=41217,36614,32064, 41404 Add and implement cut/copy/paste to the bookmark bar and folder context menus.Prevent dropping bookmark folders onto their children to avoid creating cycles and crashing. Keep folder menu windows open after a cut/copy/paste/delete and drop operation. TEST=1) Present the context menu for the bookmark bar in various places and insure that the cut/copy/paste menu items are shown and properly enabled or disabled. 2) Present the context menu for a folder menu in various places and insure that the cut/copy/paste menu items are shown and properly enabled or disabled. 3) Perform cut/copy/paste/delete operations in a folder menu and subfolder menu and verify that the menu remains presented after the operation completes. 4) Drag a bookmark item from the bar to another location on the bar and verify that the button no longer shows up in the old location but does show up in the new location. 5) Drag a bookmark item from the bar to be within a folder located _after_ the item being dragged. Verify the bar no longer shows the bookmark item. Verify the folder does show the bookmark item. Verify that the folder window has shifted to the left so that it remains aligned with it corresponding bar folder indicator. 6) Drag a bookmark item from the bar to be within a folder located _before_ the item being dragged. Verify the bar no longer shows the bookmark item. Verify the folder does show the bookmark item. Verify that the folder window has _not_ shifted to the left and that it remains aligned with it corresponding bar folder indicator. 7) Drag a bookmark around within the same folder and verify that the folder window does not move. 8) Drag a bookmark item from a folder to the bar in a position _after_ the folder form which the item comes. The folder menu window should close. 9) Drag a bookmark item from a folder to a different folder and verify that the original folder closes and the new folder remains open. 10) Drag an item from a parent folder to a child folder and verify that both folders remain open. Verify that the subfolder remains aligned to its associated folder icon in the parent folder. 11) Drag an item from a child folder to a parent folder. Verify that the child folder closes and the parent folder remains open. 12) Try dragging a parent folder onto a child folder and verify that the drag is not allowed to complete. 13) Hover over a folder item in a folder menu window. Verify that the folder opens up a subview menu window. Now drag the original folder (the one being hovered over) and verify that its subfolder menu automatically closes. 14) Slowly shrink window width until "off the side" menu appears; make sure it appears as soon as the last button gets removed. Now slowly grow window and make sure it goes away at the right time. 15) Add enough bookmarks to the bookmark bar to nearly fill the width of the window. Verify that the off-the-side chevron is not showing. Slowly shrink the width of the window until the off-the-side-chevron appears. Verify that the right-most bookmark button has disappeared and does not draw over the top of the chevron. Continue to shrink the window and verify that bookmark buttons disappear. View the contents of the chevron and verify that the bookmark buttons which previously appeared on the bar now appear in the chevron. Slowly grow the window and verify that bookmark buttons reappear without drawing over the top of the chevron. Verify that those bookmark buttons no longer appear in the chevron when it is popped up. Continue growing the window until all bookmark buttons appear in the bar and the chevron disappears. 16) Shrink the window so that the off-the-side chevron appears and contains three or more bookmarks. Pop open the chevron. Drag bookmarks up and down in the chevron menu and verify that moves and copies are performed. Drag a bar bookmark into the chevron and verify that the chevron pops up and allows the drag. Verify that the bar and chevron contents rearrange such that buttons on the bar fill but do not overflow the bar. Drag a chevron bookmark out onto the bar. Once again verify that the bar and chevron buttons rearrange such that the bar is full but not overflowing. Review URL: http://codereview.chromium.org/1742003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45965 0039d316-1c4b-4281-b951-d872f2087c98