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

Issue 169323002: Oilpan: Move core/clipboard/ to oilpan's heap (Closed)

Created:
6 years, 10 months ago by haraken
Modified:
6 years, 10 months ago
CC:
blink-reviews, jamesr, arv+blink, eae+blinkwatch, abarth-chromium, dglazkov+blink, groby+blinkspell_chromium.org, watchdog-blink-watchlist_google.com, Inactive
Visibility:
Public.

Description

Oilpan: Move core/clipboard/ to oilpan's heap This CL moves Clipboard, DataObject, DataObjectItem, DataTransferItem, DataTransferItemList and DragState to oilpan's heap. The tricky part is the way WebDragData keeps the DataObject alive. In the non-oilpan world, WebDragData keeps the DataObject alive by having WebDragDataPrivate call ref()/deref(). On the other hand, in the oilpan world, WebDragData keeps the DataObject alive by having WebDragDataPrivate retain a persistent handle to the DataObject. Since this difference leads to a substantial amount of code difference, I used the oilpan flag and split the code between the oilpan world and the non-oilpan world. See WebDragData.cpp for more details. BUG=340522 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=167676

Patch Set 1 #

Total comments: 7

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Total comments: 2

Patch Set 5 : #

Total comments: 8

Patch Set 6 : #

Total comments: 2

Patch Set 7 : #

Patch Set 8 : #

Total comments: 3

Patch Set 9 : #

Patch Set 10 : #

Patch Set 11 : #

Patch Set 12 : #

Patch Set 13 : #

Patch Set 14 : #

Patch Set 15 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+227 lines, -177 lines) Patch
M Source/core/clipboard/Clipboard.h View 5 chunks +10 lines, -6 lines 0 comments Download
M Source/core/clipboard/Clipboard.cpp View 5 chunks +12 lines, -5 lines 0 comments Download
M Source/core/clipboard/Clipboard.idl View 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/clipboard/DataObject.h View 1 2 3 4 5 3 chunks +16 lines, -11 lines 0 comments Download
M Source/core/clipboard/DataObject.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 9 chunks +24 lines, -18 lines 0 comments Download
M Source/core/clipboard/DataObjectItem.h View 3 chunks +11 lines, -7 lines 0 comments Download
M Source/core/clipboard/DataObjectItem.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +15 lines, -13 lines 0 comments Download
M Source/core/clipboard/DataTransferItem.h View 1 2 3 4 5 3 chunks +9 lines, -5 lines 0 comments Download
M Source/core/clipboard/DataTransferItem.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +10 lines, -3 lines 0 comments Download
M Source/core/clipboard/DataTransferItem.idl View 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/clipboard/DataTransferItemList.h View 1 2 3 4 5 2 chunks +12 lines, -8 lines 0 comments Download
M Source/core/clipboard/DataTransferItemList.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +17 lines, -9 lines 0 comments Download
M Source/core/clipboard/DataTransferItemList.idl View 1 chunk +3 lines, -1 line 0 comments Download
M Source/core/clipboard/Pasteboard.h View 2 chunks +2 lines, -1 line 0 comments Download
M Source/core/clipboard/Pasteboard.cpp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 lines, -2 lines 0 comments Download
M Source/core/editing/Editor.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +2 lines, -2 lines 0 comments Download
M Source/core/events/ClipboardEvent.h View 2 chunks +3 lines, -3 lines 0 comments Download
M Source/core/events/ClipboardEvent.cpp View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/events/Event.h View 1 chunk +1 line, -0 lines 0 comments Download
M Source/core/events/MouseEvent.h View 3 chunks +3 lines, -3 lines 0 comments Download
M Source/core/events/MouseEvent.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +6 lines, -6 lines 0 comments Download
M Source/core/page/DragController.h View 1 chunk +1 line, -1 line 0 comments Download
M Source/core/page/DragController.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +4 lines, -4 lines 0 comments Download
M Source/core/page/DragState.h View 1 2 3 4 5 6 7 8 1 chunk +8 lines, -3 lines 0 comments Download
M Source/core/page/EventHandler.h View 1 2 3 4 5 6 7 8 3 chunks +3 lines, -2 lines 0 comments Download
M Source/core/page/EventHandler.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +8 lines, -1 line 0 comments Download
M Source/web/DragClientImpl.cpp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -1 line 0 comments Download
M Source/web/WebDragData.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +27 lines, -42 lines 0 comments Download
M Source/web/WebPluginContainerImpl.cpp View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -1 line 0 comments Download
M Source/web/WebViewImpl.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M Source/web/WebViewImpl.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -1 line 0 comments Download
M public/platform/WebDragData.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 chunks +11 lines, -16 lines 0 comments Download

Messages

Total messages: 67 (0 generated)
haraken
PTAL This is a first CL that introduces a persistent handle to WebXXXPrivate. See WebDragData.cpp ...
6 years, 10 months ago (2014-02-17 07:35:45 UTC) #1
wibling-chromium
lgtm https://codereview.chromium.org/169323002/diff/1/Source/core/events/Event.h File Source/core/events/Event.h (right): https://codereview.chromium.org/169323002/diff/1/Source/core/events/Event.h#newcode30 Source/core/events/Event.h:30: #include "heap/Handle.h" Why this include?
6 years, 10 months ago (2014-02-17 10:15:34 UTC) #2
haraken
I think I should wait for sof's WebPrivateGarbageCollectedPtr change to land. sof: Once your CL ...
6 years, 10 months ago (2014-02-17 10:26:53 UTC) #3
sof
On 2014/02/17 10:26:53, haraken wrote: > I think I should wait for sof's WebPrivateGarbageCollectedPtr change ...
6 years, 10 months ago (2014-02-17 10:33:42 UTC) #4
zerny-chromium
There is a subtle issue with this change because the public interface uses the value ...
6 years, 10 months ago (2014-02-17 10:43:12 UTC) #5
haraken
sof: Can I now use the WebPrivatePtr in this clipboard CL?
6 years, 10 months ago (2014-02-19 06:28:50 UTC) #6
sof
On 2014/02/19 06:28:50, haraken wrote: > sof: Can I now use the WebPrivatePtr in this ...
6 years, 10 months ago (2014-02-19 06:46:56 UTC) #7
sof
https://codereview.chromium.org/169323002/diff/1/Source/core/clipboard/DataObject.cpp File Source/core/clipboard/DataObject.cpp (right): https://codereview.chromium.org/169323002/diff/1/Source/core/clipboard/DataObject.cpp#newcode270 Source/core/clipboard/DataObject.cpp:270: void DataObject::trace(Visitor* visitor) This is now a Supplementable that's ...
6 years, 10 months ago (2014-02-19 07:11:18 UTC) #8
haraken
Updated the CL using the new WebPrivatePtr. Would you double-check the change to WebDragData.{h,cpp} if ...
6 years, 10 months ago (2014-02-19 08:06:15 UTC) #9
sof
https://codereview.chromium.org/169323002/diff/1/Source/core/clipboard/DataObject.cpp File Source/core/clipboard/DataObject.cpp (right): https://codereview.chromium.org/169323002/diff/1/Source/core/clipboard/DataObject.cpp#newcode270 Source/core/clipboard/DataObject.cpp:270: void DataObject::trace(Visitor* visitor) On 2014/02/19 08:06:16, haraken wrote: > ...
6 years, 10 months ago (2014-02-19 08:10:06 UTC) #10
haraken
On 2014/02/19 08:10:06, sof wrote: > https://codereview.chromium.org/169323002/diff/1/Source/core/clipboard/DataObject.cpp > File Source/core/clipboard/DataObject.cpp (right): > > https://codereview.chromium.org/169323002/diff/1/Source/core/clipboard/DataObject.cpp#newcode270 > ...
6 years, 10 months ago (2014-02-19 08:15:27 UTC) #11
sof
looks good to me, the WebDragData simplifications came out well. https://codereview.chromium.org/169323002/diff/330002/Source/web/WebDragData.cpp File Source/web/WebDragData.cpp (right): https://codereview.chromium.org/169323002/diff/330002/Source/web/WebDragData.cpp#newcode97 ...
6 years, 10 months ago (2014-02-19 08:30:24 UTC) #12
sof
On 2014/02/19 08:15:27, haraken wrote: > On 2014/02/19 08:10:06, sof wrote: > > > https://codereview.chromium.org/169323002/diff/1/Source/core/clipboard/DataObject.cpp ...
6 years, 10 months ago (2014-02-19 08:35:04 UTC) #13
haraken
https://codereview.chromium.org/169323002/diff/330002/Source/web/WebDragData.cpp File Source/web/WebDragData.cpp (right): https://codereview.chromium.org/169323002/diff/330002/Source/web/WebDragData.cpp#newcode97 Source/web/WebDragData.cpp:97: DataObject* WebDragData::getValue() const On 2014/02/19 08:30:24, sof wrote: > ...
6 years, 10 months ago (2014-02-19 08:37:11 UTC) #14
haraken
> Yes, perhaps delay that until most Supplements are ready? (i.e., would be a pity ...
6 years, 10 months ago (2014-02-19 08:40:43 UTC) #15
haraken
On 2014/02/19 08:37:11, haraken wrote: > https://codereview.chromium.org/169323002/diff/330002/Source/web/WebDragData.cpp > File Source/web/WebDragData.cpp (right): > > https://codereview.chromium.org/169323002/diff/330002/Source/web/WebDragData.cpp#newcode97 > ...
6 years, 10 months ago (2014-02-19 08:52:29 UTC) #16
sof
On 2014/02/19 08:52:29, haraken wrote: > On 2014/02/19 08:37:11, haraken wrote: > > > https://codereview.chromium.org/169323002/diff/330002/Source/web/WebDragData.cpp ...
6 years, 10 months ago (2014-02-19 08:58:49 UTC) #17
haraken
The CQ bit was checked by haraken@chromium.org
6 years, 10 months ago (2014-02-19 09:38:17 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/haraken@chromium.org/169323002/370002
6 years, 10 months ago (2014-02-19 09:38:31 UTC) #19
Mads Ager (chromium)
https://codereview.chromium.org/169323002/diff/370002/Source/core/clipboard/DataObject.h File Source/core/clipboard/DataObject.h (right): https://codereview.chromium.org/169323002/diff/370002/Source/core/clipboard/DataObject.h#newcode53 Source/core/clipboard/DataObject.h:53: class DataObject : public RefCountedWillBeGarbageCollected<DataObject>, public Supplementable<DataObject> { This ...
6 years, 10 months ago (2014-02-19 09:54:37 UTC) #20
tkent
lgtm https://codereview.chromium.org/169323002/diff/370002/public/platform/WebDragData.h File public/platform/WebDragData.h (left): https://codereview.chromium.org/169323002/diff/370002/public/platform/WebDragData.h#oldcode39 public/platform/WebDragData.h:39: #if BLINK_IMPLEMENTATION Please do not remove the #if. ...
6 years, 10 months ago (2014-02-19 09:54:43 UTC) #21
tkent
The CQ bit was unchecked by tkent@chromium.org
6 years, 10 months ago (2014-02-19 09:55:42 UTC) #22
haraken
Thanks for review! https://codereview.chromium.org/169323002/diff/370002/Source/core/clipboard/DataObject.h File Source/core/clipboard/DataObject.h (right): https://codereview.chromium.org/169323002/diff/370002/Source/core/clipboard/DataObject.h#newcode53 Source/core/clipboard/DataObject.h:53: class DataObject : public RefCountedWillBeGarbageCollected<DataObject>, public ...
6 years, 10 months ago (2014-02-19 10:37:23 UTC) #23
haraken
The CQ bit was checked by haraken@chromium.org
6 years, 10 months ago (2014-02-19 10:37:31 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/haraken@chromium.org/169323002/550001
6 years, 10 months ago (2014-02-19 10:37:48 UTC) #25
Mads Ager (chromium)
LGTM modulo a question on the use of WebPrivatePtr https://codereview.chromium.org/169323002/diff/550001/public/platform/WebDragData.h File public/platform/WebDragData.h (right): https://codereview.chromium.org/169323002/diff/550001/public/platform/WebDragData.h#newcode112 public/platform/WebDragData.h:112: ...
6 years, 10 months ago (2014-02-19 10:47:12 UTC) #26
haraken
https://codereview.chromium.org/169323002/diff/550001/public/platform/WebDragData.h File public/platform/WebDragData.h (right): https://codereview.chromium.org/169323002/diff/550001/public/platform/WebDragData.h#newcode112 public/platform/WebDragData.h:112: WebPrivatePtr<WebCore::DataObject> m_private; On 2014/02/19 10:47:13, Mads Ager (chromium) wrote: ...
6 years, 10 months ago (2014-02-19 10:51:14 UTC) #27
haraken
The CQ bit was checked by haraken@chromium.org
6 years, 10 months ago (2014-02-19 10:52:09 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/haraken@chromium.org/169323002/650001
6 years, 10 months ago (2014-02-19 10:52:17 UTC) #29
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-19 11:32:03 UTC) #30
commit-bot: I haz the power
Retried try job too often on linux_blink_rel for step(s) webkit_unit_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_blink_rel&number=22294
6 years, 10 months ago (2014-02-19 11:32:03 UTC) #31
haraken
hmm, WebFrameTest.DisambiguationPopup in webkit_unittests is failing. Looking.
6 years, 10 months ago (2014-02-19 11:39:04 UTC) #32
haraken
https://codereview.chromium.org/169323002/diff/790001/Source/core/page/EventHandler.cpp File Source/core/page/EventHandler.cpp (right): https://codereview.chromium.org/169323002/diff/790001/Source/core/page/EventHandler.cpp#newcode313 Source/core/page/EventHandler.cpp:313: DEFINE_STATIC_LOCAL(Persistent<DragState>, state, (new DragState())); This was a bug. I ...
6 years, 10 months ago (2014-02-19 12:05:41 UTC) #33
haraken
The CQ bit was checked by haraken@chromium.org
6 years, 10 months ago (2014-02-19 12:05:49 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/haraken@chromium.org/169323002/790001
6 years, 10 months ago (2014-02-19 12:06:05 UTC) #35
sof
Will complete a core/fileapi/ CL once this lands.
6 years, 10 months ago (2014-02-19 12:43:39 UTC) #36
haraken
On 2014/02/19 12:43:39, sof wrote: > Will complete a core/fileapi/ CL once this lands. BTW, ...
6 years, 10 months ago (2014-02-19 12:48:13 UTC) #37
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-19 13:06:58 UTC) #38
commit-bot: I haz the power
Retried try job too often on mac_layout for step(s) webkit_lint http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=mac_layout&number=20423
6 years, 10 months ago (2014-02-19 13:06:59 UTC) #39
sof
On 2014/02/19 12:48:13, haraken wrote: > On 2014/02/19 12:43:39, sof wrote: > > Will complete ...
6 years, 10 months ago (2014-02-19 13:09:01 UTC) #40
sof
https://codereview.chromium.org/169323002/diff/790001/Source/core/page/DragState.h File Source/core/page/DragState.h (right): https://codereview.chromium.org/169323002/diff/790001/Source/core/page/DragState.h#newcode38 Source/core/page/DragState.h:38: class DragState : public RefCountedWillBeGarbageCollectedFinalized<DragState> { Could this be ...
6 years, 10 months ago (2014-02-19 14:13:58 UTC) #41
Mads Ager (chromium)
https://codereview.chromium.org/169323002/diff/790001/Source/core/page/DragState.h File Source/core/page/DragState.h (right): https://codereview.chromium.org/169323002/diff/790001/Source/core/page/DragState.h#newcode38 Source/core/page/DragState.h:38: class DragState : public RefCountedWillBeGarbageCollectedFinalized<DragState> { On 2014/02/19 14:13:59, ...
6 years, 10 months ago (2014-02-19 14:43:33 UTC) #42
haraken
On 2014/02/19 14:43:33, Mads Ager (chromium) wrote: > https://codereview.chromium.org/169323002/diff/790001/Source/core/page/DragState.h > File Source/core/page/DragState.h (right): > > ...
6 years, 10 months ago (2014-02-19 14:54:42 UTC) #43
haraken
> https://codereview.chromium.org/169323002/diff/790001/Source/core/page/DragState.h#newcode38 > > Source/core/page/DragState.h:38: class DragState : public > > RefCountedWillBeGarbageCollectedFinalized<DragState> { > > ...
6 years, 10 months ago (2014-02-21 06:00:56 UTC) #44
haraken
The CQ bit was checked by haraken@chromium.org
6 years, 10 months ago (2014-02-21 06:01:05 UTC) #45
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/haraken@chromium.org/169323002/1010001
6 years, 10 months ago (2014-02-21 06:01:19 UTC) #46
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-21 07:14:04 UTC) #47
commit-bot: I haz the power
Retried try job too often on mac_layout for step(s) webkit_lint http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=mac_layout&number=20655
6 years, 10 months ago (2014-02-21 07:14:05 UTC) #48
haraken
The CQ bit was checked by haraken@chromium.org
6 years, 10 months ago (2014-02-21 09:27:07 UTC) #49
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/haraken@chromium.org/169323002/1010001
6 years, 10 months ago (2014-02-21 09:27:22 UTC) #50
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-21 09:27:30 UTC) #51
commit-bot: I haz the power
Failed to apply patch for Source/core/clipboard/DataObject.cpp: While running patch -p1 --forward --force --no-backup-if-mismatch; patching file ...
6 years, 10 months ago (2014-02-21 09:27:31 UTC) #52
haraken
The CQ bit was checked by haraken@chromium.org
6 years, 10 months ago (2014-02-21 09:42:00 UTC) #53
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/haraken@chromium.org/169323002/1210001
6 years, 10 months ago (2014-02-21 09:42:15 UTC) #54
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-21 10:41:49 UTC) #55
commit-bot: I haz the power
Retried try job too often on mac_layout for step(s) webkit_lint http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=mac_layout&number=20672
6 years, 10 months ago (2014-02-21 10:41:50 UTC) #56
haraken
The CQ bit was checked by haraken@chromium.org
6 years, 10 months ago (2014-02-21 11:44:13 UTC) #57
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/haraken@chromium.org/169323002/1210001
6 years, 10 months ago (2014-02-21 11:44:33 UTC) #58
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-21 12:36:53 UTC) #59
commit-bot: I haz the power
Retried try job too often on mac_layout for step(s) webkit_lint http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=mac_layout&number=20678
6 years, 10 months ago (2014-02-21 12:36:54 UTC) #60
haraken
The CQ bit was checked by haraken@chromium.org
6 years, 10 months ago (2014-02-21 13:02:48 UTC) #61
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/haraken@chromium.org/169323002/1210001
6 years, 10 months ago (2014-02-21 13:02:57 UTC) #62
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
6 years, 10 months ago (2014-02-21 13:56:59 UTC) #63
commit-bot: I haz the power
Retried try job too often on mac_layout for step(s) webkit_lint http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=mac_layout&number=20688
6 years, 10 months ago (2014-02-21 13:57:00 UTC) #64
haraken
The CQ bit was checked by haraken@chromium.org
6 years, 10 months ago (2014-02-24 00:53:34 UTC) #65
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/haraken@chromium.org/169323002/1750001
6 years, 10 months ago (2014-02-24 00:53:52 UTC) #66
commit-bot: I haz the power
6 years, 10 months ago (2014-02-24 10:44:04 UTC) #67
Message was sent while issue was closed.
Change committed as 167676

Powered by Google App Engine
This is Rietveld 408576698