<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>32106</bug_id>
          
          <creation_ts>2009-12-03 01:18:16 -0800</creation_ts>
          <short_desc>Allow custom memory allocation control for the other part of page directory in WebCore</short_desc>
          <delta_ts>2009-12-11 08:18:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zoltan Horvath">zoltan</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>darin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>168319</commentid>
    <comment_count>0</comment_count>
      <attachid>44215</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2009-12-03 01:18:16 -0800</bug_when>
    <thetext>Created attachment 44215
Patch

Inherits the following class from Noncopyable because it is instantiated
by &apos;new&apos; and no need to be copyable:

class/struct name       - instantiated at: WebCore/&apos;location&apos;

class ContextMenuClient - (its child class) svg/graphics/SVGImage.cpp:232
class DragClient        - (its child class) svg/graphics/SVGImage.cpp:237
class ChromeClient      - (its child class) svg/graphics/SVGImage.cpp:243</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168320</commentid>
    <comment_count>1</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-03 01:19:10 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44215 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168514</commentid>
    <comment_count>2</comment_count>
      <attachid>44215</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-03 13:01:30 -0800</bug_when>
    <thetext>Comment on attachment 44215
Patch

I&apos;m not sure this is right.

 69     class ChromeClient : public Noncopyable {

Why should these Abstract Base Classes require that their implementors be non-copyable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168539</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-12-03 14:03:36 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; I&apos;m not sure this is right.
&gt; 
&gt;  69     class ChromeClient : public Noncopyable {
&gt; 
&gt; Why should these Abstract Base Classes require that their implementors be
&gt; non-copyable?

They should not. I think it’s better to not add any base classes like Noncopyable or FastAllocBase to these abstract base classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168745</commentid>
    <comment_count>4</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2009-12-04 05:44:40 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 44215 [details])
&gt; I&apos;m not sure this is right.
&gt; 
&gt;  69     class ChromeClient : public Noncopyable {
&gt; 
&gt; Why should these Abstract Base Classes require that their implementors be
&gt; non-copyable?

In this case I can inherit SVGImageChromeClient Noncopyable, then ChromeClient don&apos;t need to be inherited.

At the case of DragClient the instantiation line is:
static DragClient* dummyDragClient = new EmptyDragClient;

DragClient is abstract and EmptyDragClient is abstract as well.


At the case of ContextMenuClient:
static ContextMenuClient* dummyContextMenuClient = new EmptyContextMenuClient;

The problem is the same as at DragClient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168791</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-12-04 09:17:28 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; At the case of DragClient the instantiation line is:
&gt; static DragClient* dummyDragClient = new EmptyDragClient;
&gt; 
&gt; DragClient is abstract and EmptyDragClient is abstract as well.

That&apos;s incorrect. EmptyDragClient is not abstract -- if it was, the new would not compile.

&gt; At the case of ContextMenuClient:
&gt; static ContextMenuClient* dummyContextMenuClient = new EmptyContextMenuClient;
&gt; 
&gt; The problem is the same as at DragClient.

Same comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170691</commentid>
    <comment_count>6</comment_count>
      <attachid>44670</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2009-12-11 04:41:28 -0800</bug_when>
    <thetext>Created attachment 44670
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170692</commentid>
    <comment_count>7</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2009-12-11 04:43:34 -0800</bug_when>
    <thetext>You&apos;re right! Sorry, I was on the QtWebKit summit, so I can the updated patch now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170695</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-11 04:44:59 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44670 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170769</commentid>
    <comment_count>9</comment_count>
      <attachid>44670</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2009-12-11 08:18:17 -0800</bug_when>
    <thetext>Comment on attachment 44670
Patch

Clearing flags on attachment: 44670

Committed r51989: &lt;http://trac.webkit.org/changeset/51989&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>170770</commentid>
    <comment_count>10</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2009-12-11 08:18:27 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44215</attachid>
            <date>2009-12-03 01:18:16 -0800</date>
            <delta_ts>2009-12-11 04:40:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>20091203101813.patch</filename>
            <type>text/plain</type>
            <size>2853</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTYyNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMDktMTItMDMgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWxsb3cgY3VzdG9tIG1lbW9yeSBhbGxvY2F0aW9uIGNvbnRyb2wgZm9yIHRoZSBvdGhlciBwYXJ0
IG9mIHBhZ2UgZGlyZWN0b3J5IGluIFdlYkNvcmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPQorCisKKyAgICAgICAgSW5oZXJpdHMgdGhlIGZvbGxvd2lu
ZyBjbGFzcyBmcm9tIE5vbmNvcHlhYmxlIGJlY2F1c2UgaXQgaXMgaW5zdGFudGlhdGVkIAorICAg
ICAgICBieSAnbmV3JyBhbmQgbm8gbmVlZCB0byBiZSBjb3B5YWJsZToKKworICAgICAgICBjbGFz
cy9zdHJ1Y3QgbmFtZSAgICAgICAtIGluc3RhbnRpYXRlZCBhdDogV2ViQ29yZS8nbG9jYXRpb24n
CisKKyAgICAgICAgY2xhc3MgQ29udGV4dE1lbnVDbGllbnQgLSAoaXRzIGNoaWxkIGNsYXNzKSBz
dmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwOjIzMgorICAgICAgICBjbGFzcyBEcmFnQ2xpZW50ICAg
ICAgICAtIChpdHMgY2hpbGQgY2xhc3MpIHN2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHA6MjM3Cisg
ICAgICAgIGNsYXNzIENocm9tZUNsaWVudCAgICAgIC0gKGl0cyBjaGlsZCBjbGFzcykgc3ZnL2dy
YXBoaWNzL1NWR0ltYWdlLmNwcDoyNDMKKworICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6
CisgICAgICAgICogcGFnZS9Db250ZXh0TWVudUNsaWVudC5oOgorICAgICAgICAqIHBhZ2UvRHJh
Z0NsaWVudC5oOgorCiAyMDA5LTEyLTAyICBZdXN1a2UgU2F0byAgPHl1c3VrZXNAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRleDogV2ViQ29yZS9w
YWdlL0Nocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFnZS9DaHJvbWVDbGll
bnQuaAkocmV2aXNpb24gNTE2MjYpCisrKyBXZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTY2LDcgKzY2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNs
YXNzIE5vdGlmaWNhdGlvblByZXNlbnRlcjsKICNlbmRpZgogCi0gICAgY2xhc3MgQ2hyb21lQ2xp
ZW50IHsKKyAgICBjbGFzcyBDaHJvbWVDbGllbnQgOiBwdWJsaWMgTm9uY29weWFibGUgewogICAg
IHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lkIGNocm9tZURlc3Ryb3llZCgpID0gMDsKICAg
ICAgICAgCkluZGV4OiBXZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDbGllbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDbGllbnQuaAkocmV2aXNpb24gNTE2MjYpCisr
KyBXZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjcs
NiArMjcsNyBAQAogI2RlZmluZSBDb250ZXh0TWVudUNsaWVudF9oCiAKICNpbmNsdWRlICJQbGF0
Zm9ybU1lbnVEZXNjcmlwdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ29udGV4dE1lbnU7CkBAIC0zNiw3ICszNyw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBLVVJMOwogICAgIGNsYXNzIFN0cmlu
ZzsKIAotICAgIGNsYXNzIENvbnRleHRNZW51Q2xpZW50IHsKKyAgICBjbGFzcyBDb250ZXh0TWVu
dUNsaWVudCA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0
dWFsIH5Db250ZXh0TWVudUNsaWVudCgpIHsgIH0KICAgICAgICAgdmlydHVhbCB2b2lkIGNvbnRl
eHRNZW51RGVzdHJveWVkKCkgPSAwOwpJbmRleDogV2ViQ29yZS9wYWdlL0RyYWdDbGllbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3BhZ2UvRHJhZ0NsaWVudC5oCShyZXZpc2lvbiA1MTYyNikK
KysrIFdlYkNvcmUvcGFnZS9EcmFnQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMw
LDcgQEAKICNpbmNsdWRlICJEcmFnQWN0aW9ucy5oIgogI2luY2x1ZGUgIkRyYWdJbWFnZS5oIgog
I2luY2x1ZGUgIkludFBvaW50LmgiCisjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKICNp
ZiBQTEFURk9STShNQUMpCiAjaWZkZWYgX19PQkpDX18KQEAgLTUzLDcgKzU0LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIGNsYXNzIEltYWdlOwogICAgIGNsYXNzIEhUTUxJbWFnZUVsZW1l
bnQ7CiAgICAgCi0gICAgY2xhc3MgRHJhZ0NsaWVudCB7CisgICAgY2xhc3MgRHJhZ0NsaWVudCA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIHZvaWQg
d2lsbFBlcmZvcm1EcmFnRGVzdGluYXRpb25BY3Rpb24oRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uLCBE
cmFnRGF0YSopID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIHdpbGxQZXJmb3JtRHJhZ1NvdXJj
ZUFjdGlvbihEcmFnU291cmNlQWN0aW9uLCBjb25zdCBJbnRQb2ludCYsIENsaXBib2FyZCopID0g
MDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44670</attachid>
            <date>2009-12-11 04:41:28 -0800</date>
            <delta_ts>2009-12-11 08:18:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-32106-20091211134123.patch</filename>
            <type>text/plain</type>
            <size>2372</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTk4MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDktMTItMTEgIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWxsb3cgY3VzdG9tIG1lbW9yeSBhbGxvY2F0aW9uIGNvbnRyb2wgZm9yIDMgY2xhc3NlcyBpbiBX
ZWJDb3JlJ3Mgc3ZnIGFuZCBsb2FkZXIgZGlyZWN0b3J5CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjEwNgorCisgICAgICAgIEluaGVyaXRzIHRoZSBm
b2xsb3dpbmcgY2xhc3NlcyBmcm9tIE5vbmNvcHlhYmxlIGJlY2F1c2UgdGhlc2UgYXJlIGluc3Rh
bnRpYXRlZCAKKyAgICAgICAgYnkgJ25ldycgYW5kIG5vIG5lZWQgdG8gYmUgY29weWFibGU6CisK
KyAgICAgICAgY2xhc3Mvc3RydWN0IG5hbWUgICAgICAgICAgICAtIGluc3RhbnRpYXRlZCBhdDog
V2ViQ29yZS8nbG9jYXRpb24nCisKKyAgICAgICAgY2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVu
dCAtIGluc3RhbnRpYXRlZCBhdDogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoyMzIKKyAgICAg
ICAgY2xhc3MgRW1wdHlEcmFnQ2xpZW50ICAgICAgICAtIGluc3RhbnRpYXRlZCBhdDogc3ZnL2dy
YXBoaWNzL1NWR0ltYWdlLmNwcDoyMzcKKyAgICAgICAgY2xhc3MgU1ZHSW1hZ2VDaHJvbWVDbGll
bnQgICAtIGluc3RhbnRpYXRlZCBhdDogc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcDoyNDMKKwor
ICAgICAgICAqIHN2Zy9ncmFwaGljcy9TVkdJbWFnZS5jcHA6CisgICAgICAgICogbG9hZGVyL0Vt
cHR5Q2xpZW50cy5oOgorCiAyMDA5LTEyLTExICBHcmFjZSBLbG9iYSAgPGtsb2JhZ0BnbWFpbC5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBXZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2xvYWRlci9FbXB0eUNs
aWVudHMuaAkocmV2aXNpb24gNTE5NzkpCisrKyBXZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMu
aAkod29ya2luZyBjb3B5KQpAQCAtNDI1LDcgKzQyNSw3IEBAIHB1YmxpYzoKIH07CiAKICNpZiBF
TkFCTEUoQ09OVEVYVF9NRU5VUykKLWNsYXNzIEVtcHR5Q29udGV4dE1lbnVDbGllbnQgOiBwdWJs
aWMgQ29udGV4dE1lbnVDbGllbnQgeworY2xhc3MgRW1wdHlDb250ZXh0TWVudUNsaWVudCA6IHB1
YmxpYyBDb250ZXh0TWVudUNsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsKIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIH5FbXB0eUNvbnRleHRNZW51Q2xpZW50KCkgeyAgfQogICAgIHZpcnR1YWwgdm9p
ZCBjb250ZXh0TWVudURlc3Ryb3llZCgpIHsgfQpAQCAtNDQ4LDcgKzQ0OCw3IEBAIHB1YmxpYzoK
ICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykKIAogI2lmIEVOQUJMRShEUkFHX1NVUFBP
UlQpCi1jbGFzcyBFbXB0eURyYWdDbGllbnQgOiBwdWJsaWMgRHJhZ0NsaWVudCB7CitjbGFzcyBF
bXB0eURyYWdDbGllbnQgOiBwdWJsaWMgRHJhZ0NsaWVudCwgcHVibGljIE5vbmNvcHlhYmxlIHsK
IHB1YmxpYzoKICAgICB2aXJ0dWFsIH5FbXB0eURyYWdDbGllbnQoKSB7fQogICAgIHZpcnR1YWwg
dm9pZCB3aWxsUGVyZm9ybURyYWdEZXN0aW5hdGlvbkFjdGlvbihEcmFnRGVzdGluYXRpb25BY3Rp
b24sIERyYWdEYXRhKikgeyB9CkluZGV4OiBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdJbWFnZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHSW1hZ2UuY3BwCShyZXZp
c2lvbiA1MTk3OSkKKysrIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR0ltYWdlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTQsNyArNTQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNz
IFNWR0ltYWdlQ2hyb21lQ2xpZW50IDogcHVibGljIEVtcHR5Q2hyb21lQ2xpZW50IHsKK2NsYXNz
IFNWR0ltYWdlQ2hyb21lQ2xpZW50IDogcHVibGljIEVtcHR5Q2hyb21lQ2xpZW50LCBwdWJsaWMg
Tm9uY29weWFibGUgewogcHVibGljOgogICAgIFNWR0ltYWdlQ2hyb21lQ2xpZW50KFNWR0ltYWdl
KiBpbWFnZSkKICAgICAgICAgOiBtX2ltYWdlKGltYWdlKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>