Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(230)

Side by Side Diff: chrome/test/data/webui/md_bookmarks/dnd_manager_test.js

Issue 2912893002: MD Bookmarks: Support policies for disabling bookmark editing (Closed)
Patch Set: canEdit -> globalCanEdit Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 suite('drag and drop', function() { 5 suite('drag and drop', function() {
6 var app; 6 var app;
7 var list; 7 var list;
8 var rootFolderNode; 8 var rootFolderNode;
9 var store; 9 var store;
10 var dndManager; 10 var dndManager;
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 createItem('12'), 84 createItem('12'),
85 createItem('13'), 85 createItem('13'),
86 createFolder('14', []), 86 createFolder('14', []),
87 createFolder('15', []), 87 createFolder('15', []),
88 ]), 88 ]),
89 createFolder('2', [])), 89 createFolder('2', [])),
90 selectedFolder: '1', 90 selectedFolder: '1',
91 }); 91 });
92 store.replaceSingleton(); 92 store.replaceSingleton();
93 93
94 draggedIds = null;
94 chrome.bookmarkManagerPrivate.startDrag = function(nodes, isTouch) { 95 chrome.bookmarkManagerPrivate.startDrag = function(nodes, isTouch) {
95 draggedIds = nodes; 96 draggedIds = nodes;
96 }; 97 };
97 98
98 app = document.createElement('bookmarks-app'); 99 app = document.createElement('bookmarks-app');
99 replaceBody(app); 100 replaceBody(app);
100 list = app.$$('bookmarks-list'); 101 list = app.$$('bookmarks-list');
101 rootFolderNode = app.$$('bookmarks-folder-node'); 102 rootFolderNode = app.$$('bookmarks-folder-node');
102 dndManager = app.dndManager_; 103 dndManager = app.dndManager_;
103 dndManager.disableTimeoutsForTesting(); 104 dndManager.disableTimeoutsForTesting();
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 dispatchDragEvent('dragstart', dragElement); 484 dispatchDragEvent('dragstart', dragElement);
484 assertDeepEquals(['14'], normalizeSet(store.data.selection.items)); 485 assertDeepEquals(['14'], normalizeSet(store.data.selection.items));
485 dispatchDragEvent('dragend', dragElement); 486 dispatchDragEvent('dragend', dragElement);
486 487
487 // Dragging a folder node deselects any selected items in the bookmark list. 488 // Dragging a folder node deselects any selected items in the bookmark list.
488 dragElement = getFolderNode('15'); 489 dragElement = getFolderNode('15');
489 dispatchDragEvent('dragstart', dragElement); 490 dispatchDragEvent('dragstart', dragElement);
490 assertDeepEquals([], normalizeSet(store.data.selection.items)); 491 assertDeepEquals([], normalizeSet(store.data.selection.items));
491 dispatchDragEvent('dragend', dragElement); 492 dispatchDragEvent('dragend', dragElement);
492 }); 493 });
494
495 test('cannot drag items when editing is disabled', function() {
496 store.data.prefs.canEdit = false;
497 store.notifyObservers();
498
499 var dragElement = getFolderNode('11');
500 dispatchDragEvent('dragstart', dragElement);
501 assertEquals(null, draggedIds);
502 });
503
504 test('cannot start dragging unmodifiable items', function() {
505 store.data.nodes['2'].unmodifiable = 'managed';
506 store.notifyObservers();
507
508 var dragElement = getFolderNode('1');
509 dispatchDragEvent('dragstart', dragElement);
510 assertEquals(null, draggedIds);
511
512 dragElement = getFolderNode('2');
513 dispatchDragEvent('dragstart', dragElement);
514 assertEquals(null, draggedIds);
515 });
516
517 test('cannot drag onto folders with unmodifiable children', function() {
518 store.data.nodes['2'].unmodifiable = 'managed';
519 store.notifyObservers();
520
521 var dragElement = getListItem('12');
522 dispatchDragEvent('dragstart', dragElement);
523
524 // Can't drag onto the unmodifiable node.
525 var dragTarget = getFolderNode('2');
526 dispatchDragEvent('dragover', dragTarget);
527 assertEquals(
528 DropPosition.NONE, dndManager.calculateValidDropPositions_(dragTarget));
529 });
493 }); 530 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698