<?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>55455</bug_id>
          
          <creation_ts>2011-03-01 03:42:48 -0800</creation_ts>
          <short_desc>[EFL] HTML saving feature</short_desc>
          <delta_ts>2011-08-12 00:46:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Grzegorz Czajkowski">g.czajkowski</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>antognolli+webkit</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>leandro</cc>
    
    <cc>l.slachciak</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>359780</commentid>
    <comment_count>0</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-03-01 03:42:48 -0800</bug_when>
    <thetext>Saves a html source into file given by parameter.
It also creates directory with resources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>359785</commentid>
    <comment_count>1</comment_count>
      <attachid>84208</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-03-01 03:52:09 -0800</bug_when>
    <thetext>Created attachment 84208
html saving feature</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360655</commentid>
    <comment_count>2</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-03-02 00:59:50 -0800</bug_when>
    <thetext>I think you need to explain why this feature is needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361406</commentid>
    <comment_count>3</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-03-03 00:24:36 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; Saves a html source into file given by parameter.
&gt; It also creates directory with resources.

This feature can be useful when user wants to see a page source. It&apos;s allowed to browse web page with offline mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386435</commentid>
    <comment_count>4</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-04-15 00:15:44 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #0)
&gt; &gt; Saves a html source into file given by parameter.
&gt; &gt; It also creates directory with resources.
&gt; 
&gt; This feature can be useful when user wants to see a page source. It&apos;s allowed to browse web page with offline mode.

This feature should allow to:

1) get a source of page (without any modification of WebKit&apos;s object). Similar to desktop Browsers right click on page -&gt; show page source.

2) save a page to disk. This function should copy needed objects for instance, images collection for modifications of paths to the local paths. API delivered in current patch modifies src attribute of images, saves page source and and the end restores default values of src. I think it&apos;s not good practise.

Let me suggest API:
1)
/**
 * Gets html source of frame.
 *
 * @param o smart frame object
 * @param frame_source stores the frame source, value should be freed after use
 * @param url URL, value should be freed after use
 */
Eina_Bool ewk_frame_source_get(Evas_Object *o, char** frame_source);

2)
/**
 * @param [in] o frame smart object
 * @param [in] path a path with the file name where a content of web page is saved, the path must exist, the file doesn&apos;t have to exist
 * @param [in][out] list_src_images a table where the src values of images are stored, if you&apos;re not intrested in that list, give @c 0, otherwise a table should be freed after use
 * @param [in][out] list_size a size of list_src_images, if you&apos;re not intrested in that size, give @c 0
 * @return @c EINA_TRUE on success, @c EINA_FALSE if the file given by param already exists or other error occured 
 */
Eina_Bool ewk_frame_dump_to_file(Evas_Object* o, const char* path, char*** list_src_images, unsigned* list_size)

Wha&apos;s your opinion on that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>392996</commentid>
    <comment_count>5</comment_count>
      <attachid>84208</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-04-26 16:25:33 -0700</bug_when>
    <thetext>Comment on attachment 84208
html saving feature

View in context: https://bugs.webkit.org/attachment.cgi?id=84208&amp;action=review

A bunch of style to fix. please resubmit with these fixed.

&gt; Source/WebKit/efl/ChangeLog:8
&gt; +        Saves a html source into file given by parameter.

Lets make this change log more descriptive, like adding the TODO&apos;s, etc.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2026
&gt; +    // save safty values to list_src_images and list_size given through param

Start the sentense with capital letter and add a &quot;.&quot; in the end.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2079
&gt; +        /*
&gt; +         * This section saves images only.

Use &quot;//&quot; comments instead of &quot;/* */&quot;

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2080
&gt; +         * TODO Support for others resources like scripts, plugins, external css styles.

WebKit usually uses FIXME instead of TODO.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2083
&gt; +        // getting collection of all images in the frame

Capital in the beginning, period in the end.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2105
&gt; +            WebCore::HTMLImageElement *imageElement = (WebCore::HTMLImageElement *) images-&gt;item(index);

* on the left side. WebKit uses static_cast for casting instead of the c-styled (XXX *).

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2124
&gt; +                    // set a src attribute of the image to the local path.

Capital and period in the end.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2129
&gt; +                // create an another name for the file with a different src attribute 

Ditto.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2142
&gt; +            // check nulls

Remove this comment. It adds nothing.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2170
&gt; +            // set a src attribute of image to the local path

Capital letter and period in the end.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2174
&gt; +        } // end for(...)

Remove the comment.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2176
&gt; +        // save html source of body

Capital letter and period in the end.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2180
&gt; +        // restore original src attributes of images

Ditto.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2182
&gt; +            WebCore::HTMLImageElement *imageElement = (WebCore::HTMLImageElement *) images-&gt;item(index);

&quot;*&quot; on the left side, and static_cast.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2188
&gt; +    } else { // end if (save_resources)

Remove the comment.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2209
&gt; +    // save a head tag

Capital letter and period.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2216
&gt; +    // save a body tag

Ditto.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2231
&gt; +    // copy values of &apos;src_values&apos; to the list given through param

Ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393030</commentid>
    <comment_count>6</comment_count>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2011-04-26 16:36:35 -0700</bug_when>
    <thetext>Hi Grzegorz,

(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (In reply to comment #0)
&gt; &gt; &gt; Saves a html source into file given by parameter.
&gt; &gt; &gt; It also creates directory with resources.
&gt; &gt; 
&gt; &gt; This feature can be useful when user wants to see a page source. It&apos;s allowed to browse web page with offline mode.
&gt; 
&gt; This feature should allow to:
&gt; 
&gt; 1) get a source of page (without any modification of WebKit&apos;s object). Similar to desktop Browsers right click on page -&gt; show page source.
&gt; 
&gt; 2) save a page to disk. This function should copy needed objects for instance, images collection for modifications of paths to the local paths. API delivered in current patch modifies src attribute of images, saves page source and and the end restores default values of src. I think it&apos;s not good practise.
&gt; 
&gt; Let me suggest API:
&gt; 1)
&gt; /**
&gt;  * Gets html source of frame.
&gt;  *
&gt;  * @param o smart frame object
&gt;  * @param frame_source stores the frame source, value should be freed after use
&gt;  * @param url URL, value should be freed after use
&gt;  */
&gt; Eina_Bool ewk_frame_source_get(Evas_Object *o, char** frame_source);
&gt; 
&gt; 2)
&gt; /**
&gt;  * @param [in] o frame smart object
&gt;  * @param [in] path a path with the file name where a content of web page is saved, the path must exist, the file doesn&apos;t have to exist
&gt;  * @param [in][out] list_src_images a table where the src values of images are stored, if you&apos;re not intrested in that list, give @c 0, otherwise a table should be freed after use
&gt;  * @param [in][out] list_size a size of list_src_images, if you&apos;re not intrested in that size, give @c 0
&gt;  * @return @c EINA_TRUE on success, @c EINA_FALSE if the file given by param already exists or other error occured 
&gt;  */
&gt; Eina_Bool ewk_frame_dump_to_file(Evas_Object* o, const char* path, char*** list_src_images, unsigned* list_size)
&gt; 
&gt; Wha&apos;s your opinion on that?

What about merging these two functions. It could be called ewk_frame_dump (or ewk_frame_source_get) and return both the source code and the list of images. It&apos;d be the browser&apos;s role to decide what to do with them, for example saving to disk.

Also IMO it&apos;s the browser role to change the images&apos; links, but I don&apos;t have a strong opinion about this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393514</commentid>
    <comment_count>7</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-04-27 05:36:35 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Hi Grzegorz,
&gt; 
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; (In reply to comment #0)
&gt; &gt; &gt; &gt; Saves a html source into file given by parameter.
&gt; &gt; &gt; &gt; It also creates directory with resources.
&gt; &gt; &gt; 
&gt; &gt; &gt; This feature can be useful when user wants to see a page source. It&apos;s allowed to browse web page with offline mode.
&gt; &gt; 
&gt; &gt; This feature should allow to:
&gt; &gt; 
&gt; &gt; 1) get a source of page (without any modification of WebKit&apos;s object). Similar to desktop Browsers right click on page -&gt; show page source.
&gt; &gt; 
&gt; &gt; 2) save a page to disk. This function should copy needed objects for instance, images collection for modifications of paths to the local paths. API delivered in current patch modifies src attribute of images, saves page source and and the end restores default values of src. I think it&apos;s not good practise.
&gt; &gt; 
&gt; &gt; Let me suggest API:
&gt; &gt; 1)
&gt; &gt; /**
&gt; &gt;  * Gets html source of frame.
&gt; &gt;  *
&gt; &gt;  * @param o smart frame object
&gt; &gt;  * @param frame_source stores the frame source, value should be freed after use
&gt; &gt;  * @param url URL, value should be freed after use
&gt; &gt;  */
&gt; &gt; Eina_Bool ewk_frame_source_get(Evas_Object *o, char** frame_source);
&gt; &gt; 
&gt; &gt; 2)
&gt; &gt; /**
&gt; &gt;  * @param [in] o frame smart object
&gt; &gt;  * @param [in] path a path with the file name where a content of web page is saved, the path must exist, the file doesn&apos;t have to exist
&gt; &gt;  * @param [in][out] list_src_images a table where the src values of images are stored, if you&apos;re not intrested in that list, give @c 0, otherwise a table should be freed after use
&gt; &gt;  * @param [in][out] list_size a size of list_src_images, if you&apos;re not intrested in that size, give @c 0
&gt; &gt;  * @return @c EINA_TRUE on success, @c EINA_FALSE if the file given by param already exists or other error occured 
&gt; &gt;  */
&gt; &gt; Eina_Bool ewk_frame_dump_to_file(Evas_Object* o, const char* path, char*** list_src_images, unsigned* list_size)
&gt; &gt; 
&gt; &gt; Wha&apos;s your opinion on that?
&gt; 
&gt; What about merging these two functions. It could be called ewk_frame_dump (or ewk_frame_source_get) and return both the source code and the list of images. It&apos;d be the browser&apos;s role to decide what to do with them, for example saving to disk.
&gt; 
&gt; Also IMO it&apos;s the browser role to change the images&apos; links, but I don&apos;t have a strong opinion about this.

Sounds reasonable.
New API:
Eina_Bool ewk_frame_source_get(Evas_Object* o, char** frame_source, char*** resources_list, unsigned* list_size)

 - frame_source if not NULL content of web page will be stored
 - resources_list if not NULL URL of resources will be stored (images, css styles, plugins, etc). Currently only images are supported.

If you agree with this I will sent a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>393679</commentid>
    <comment_count>8</comment_count>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2011-04-27 11:19:40 -0700</bug_when>
    <thetext>&gt; &gt; What about merging these two functions. It could be called ewk_frame_dump (or ewk_frame_source_get) and return both the source code and the list of images. It&apos;d be the browser&apos;s role to decide what to do with them, for example saving to disk.
&gt; &gt; 
&gt; &gt; Also IMO it&apos;s the browser role to change the images&apos; links, but I don&apos;t have a strong opinion about this.
&gt; 
&gt; Sounds reasonable.
&gt; New API:
&gt; Eina_Bool ewk_frame_source_get(Evas_Object* o, char** frame_source, char*** resources_list, unsigned* list_size)
&gt; 
&gt;  - frame_source if not NULL content of web page will be stored
&gt;  - resources_list if not NULL URL of resources will be stored (images, css styles, plugins, etc). Currently only images are supported.
&gt; 
&gt; If you agree with this I will sent a patch.

Ok, this seems to be a better API. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394318</commentid>
    <comment_count>9</comment_count>
    <who name="Lukasz Slachciak">l.slachciak</who>
    <bug_when>2011-04-28 02:40:29 -0700</bug_when>
    <thetext>Lucas, as for the new API it will look for me strange when somebody will do this

char *frame_source = 1; // must be not NULL
ewk_frame_source_get(..,&amp;frame_source.., )

when wants to have frame_source allocated.
The same with resources_list.

Moreover, as you can see in current patch getting list of resources and getting source of page are independent things.

That&apos;s why I think we should have two separate APIs:
Eina_Bool ewk_frame_source_get(Evas_Object* o, char** frame_source)
Eina_Bool ewk_frame_resource_location_list_get(Evas_Object* o, char*** resources_location_list, unsigned* list_size)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>394809</commentid>
    <comment_count>10</comment_count>
    <who name="Lucas De Marchi">lucas.de.marchi</who>
    <bug_when>2011-04-28 15:22:32 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Lucas, as for the new API it will look for me strange when somebody will do this
&gt; 
&gt; char *frame_source = 1; // must be not NULL
wrong

&gt; ewk_frame_source_get(..,&amp;frame_source.., )
right

Inside the function you will check for frame_source being NULL, not *frame_source. Note that it&apos;s a pointer to pointer.


&gt; 
&gt; when wants to have frame_source allocated.
&gt; The same with resources_list.
&gt; 
&gt; Moreover, as you can see in current patch getting list of resources and getting source of page are independent things.
&gt; 
&gt; That&apos;s why I think we should have two separate APIs:
&gt; Eina_Bool ewk_frame_source_get(Evas_Object* o, char** frame_source)
&gt; Eina_Bool ewk_frame_resource_location_list_get(Evas_Object* o, char*** resources_location_list, unsigned* list_size)

These are ok too. What I don&apos;t want is the &quot;_to_file&quot; part, i.e. forcing it to be written to a file somewhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399420</commentid>
    <comment_count>11</comment_count>
      <attachid>92560</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-05-06 01:26:18 -0700</bug_when>
    <thetext>Created attachment 92560
updated patch

API has been changed regarding to Lucas and Łukasz suggestions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401848</commentid>
    <comment_count>12</comment_count>
      <attachid>92560</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-05-11 01:36:28 -0700</bug_when>
    <thetext>Comment on attachment 92560
updated patch

View in context: https://bugs.webkit.org/attachment.cgi?id=92560&amp;action=review

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2086
&gt; +        WTF::String srcOfImage = imageElement-&gt;src().prettyURL();

IMO,  srcOfImage needs to be changed with src_of_image. WebKit port&apos;s coding style tends to follow each port&apos;s coding style. But, some efl port&apos;s APIs doesn&apos;t adhere this rule. I think we need to decide if we change all variables of efl port with efl coding style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402736</commentid>
    <comment_count>13</comment_count>
      <attachid>93264</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-05-12 01:03:27 -0700</bug_when>
    <thetext>Created attachment 93264
Efl&apos;s coding rules are used

Could you review the patch, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402802</commentid>
    <comment_count>14</comment_count>
      <attachid>93264</attachid>
    <who name="Leandro Pereira">leandro</who>
    <bug_when>2011-05-12 06:21:11 -0700</bug_when>
    <thetext>Comment on attachment 93264
Efl&apos;s coding rules are used

Just a quick, informal review.

View in context: https://bugs.webkit.org/attachment.cgi?id=93264&amp;action=review

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2026
&gt; +Eina_Bool ewk_frame_source_get(Evas_Object* o, char** frame_source)
&gt; +{
&gt; +    *frame_source = 0; // Saves 0 to pointer until it&apos;s not allocated.

Usually these things comes after smart_data getters and safety checks. Also, if frame_source is NULL, this will crash.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2075
&gt; +Eina_Bool ewk_frame_resources_location_get(Evas_Object* o, char*** resources_location_list, unsigned* list_count)
&gt; +{
&gt; +    // Saves safty values to the output parameters.
&gt; +    *resources_location_list = 0;
&gt; +    if (list_count)
&gt; +        *list_count = 0;

Same comments as above.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2101
&gt; +    for (unsigned index = 0; index &lt; resources_count; ++index) {
&gt; +        tmp_list[index] = static_cast&lt;char*&gt; (malloc(sizeof(char) * resources_location[index].length() + 1));
&gt; +        EINA_SAFETY_ON_NULL_RETURN_VAL(tmp_list[index], EINA_FALSE);

Possible memory leak.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402840</commentid>
    <comment_count>15</comment_count>
      <attachid>93287</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-05-12 07:55:56 -0700</bug_when>
    <thetext>Created attachment 93287
updated patch according to Leandro&apos;s suggestions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402846</commentid>
    <comment_count>16</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-05-12 08:09:23 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 93264 [details])
&gt; Just a quick, informal review.
&gt; 
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=93264&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2026
&gt; &gt; +Eina_Bool ewk_frame_source_get(Evas_Object* o, char** frame_source)
&gt; &gt; +{
&gt; &gt; +    *frame_source = 0; // Saves 0 to pointer until it&apos;s not allocated.
&gt; 
&gt; Usually these things comes after smart_data getters and safety checks. Also, if frame_source is NULL, this will crash.

I agree with you, fixed.

&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2075
&gt; &gt; +Eina_Bool ewk_frame_resources_location_get(Evas_Object* o, char*** resources_location_list, unsigned* list_count)
&gt; &gt; +{
&gt; &gt; +    // Saves safty values to the output parameters.
&gt; &gt; +    *resources_location_list = 0;
&gt; &gt; +    if (list_count)
&gt; &gt; +        *list_count = 0;
&gt; 
&gt; Same comments as above.

Fixed.

&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2101
&gt; &gt; +    for (unsigned index = 0; index &lt; resources_count; ++index) {
&gt; &gt; +        tmp_list[index] = static_cast&lt;char*&gt; (malloc(sizeof(char) * resources_location[index].length() + 1));
&gt; &gt; +        EINA_SAFETY_ON_NULL_RETURN_VAL(tmp_list[index], EINA_FALSE);
&gt; 
&gt; Possible memory leak.

I agree with you, fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402893</commentid>
    <comment_count>17</comment_count>
      <attachid>93287</attachid>
    <who name="Leandro Pereira">leandro</who>
    <bug_when>2011-05-12 09:32:00 -0700</bug_when>
    <thetext>Comment on attachment 93287
updated patch according to Leandro&apos;s suggestions

View in context: https://bugs.webkit.org/attachment.cgi?id=93287&amp;action=review

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2024
&gt; +Eina_Bool ewk_frame_source_get(Evas_Object* o, char** frame_source)

To help saving this to a file (using fwrite() and friends), returning a positive size_t (= source_length) for success and a negative for error would be a good idea, wouldn&apos;t it?

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2044
&gt; +    WTF::String source = WTF::String(&quot;&lt;html&gt;&quot;) + // FIXME Html tag should be taken from webkit.
&gt; +        sd-&gt;frame-&gt;document()-&gt;head()-&gt;outerHTML() +
&gt; +        sd-&gt;frame-&gt;document()-&gt;body()-&gt;outerHTML() +
&gt; +        WTF::String(&quot;&lt;/html&gt;&quot;);

Somehow I don&apos;t like that FIXME there -- does any other port offer similar feature? If so, how do they do it?

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2047
&gt; +    *frame_source = static_cast&lt;char*&gt; (malloc(sizeof(char) * source_length + 1));

sizeof(char) is 1, by definition.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2104
&gt; +        char* resource_location = static_cast&lt;char*&gt; (malloc(sizeof(char) * resources_location[index].length() + 1));

sizeof(char) is 1, by definition.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2111
&gt; +        if (!resource_location) {
&gt; +            CRITICAL(&quot;Could not allocate memory.&quot;);
&gt; +            *resources_location_list = tmp_list;
&gt; +            if (list_count)
&gt; +                *list_count = index;
&gt; +            return EINA_FALSE;
&gt; +        }

What will happen if, say, you have 10 resources, you&apos;ve successfully allocated memory for 7 of them, and the 8th one fails? The function&apos;ll return EINA_FALSE, so the callee won&apos;t know there are 7 valid resources on resource_location_list. Memory needs to be cleaned up here if allocation fails.

Also, I think that returning a Eina_List would be easier here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405557</commentid>
    <comment_count>18</comment_count>
      <attachid>93880</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-05-18 00:35:44 -0700</bug_when>
    <thetext>Created attachment 93880
updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405588</commentid>
    <comment_count>19</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-05-18 02:30:25 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 93287 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=93287&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2024
&gt; &gt; +Eina_Bool ewk_frame_source_get(Evas_Object* o, char** frame_source)
&gt; 
&gt; To help saving this to a file (using fwrite() and friends), returning a positive size_t (= source_length) for success and a negative for error would be a good idea, wouldn&apos;t it?

That&apos;s a good idea - fixed.

&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2044
&gt; &gt; +    WTF::String source = WTF::String(&quot;&lt;html&gt;&quot;) + // FIXME Html tag should be taken from webkit.
&gt; &gt; +        sd-&gt;frame-&gt;document()-&gt;head()-&gt;outerHTML() +
&gt; &gt; +        sd-&gt;frame-&gt;document()-&gt;body()-&gt;outerHTML() +
&gt; &gt; +        WTF::String(&quot;&lt;/html&gt;&quot;);
&gt; 
&gt; Somehow I don&apos;t like that FIXME there -- does any other port offer similar feature? If so, how do they do it?

Ok, now html tag is taken for WebKit.

&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2047
&gt; &gt; +    *frame_source = static_cast&lt;char*&gt; (malloc(sizeof(char) * source_length + 1));
&gt; 
&gt; sizeof(char) is 1, by definition.


Fixed.

&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2104
&gt; &gt; +        char* resource_location = static_cast&lt;char*&gt; (malloc(sizeof(char) * resources_location[index].length() + 1));
&gt; 
&gt; sizeof(char) is 1, by definition.
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2111
&gt; &gt; +        if (!resource_location) {
&gt; &gt; +            CRITICAL(&quot;Could not allocate memory.&quot;);
&gt; &gt; +            *resources_location_list = tmp_list;
&gt; &gt; +            if (list_count)
&gt; &gt; +                *list_count = index;
&gt; &gt; +            return EINA_FALSE;
&gt; &gt; +        }
&gt; 
&gt; What will happen if, say, you have 10 resources, you&apos;ve successfully allocated memory for 7 of them, and the 8th one fails? The function&apos;ll return EINA_FALSE, so the callee won&apos;t know there are 7 valid resources on resource_location_list. Memory needs to be cleaned up here if allocation fails.
&gt; 
&gt; Also, I think that returning a Eina_List would be easier here.

I agree with you, now function returns Eina_List.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406388</commentid>
    <comment_count>20</comment_count>
      <attachid>93880</attachid>
    <who name="Leandro Pereira">leandro</who>
    <bug_when>2011-05-19 07:46:06 -0700</bug_when>
    <thetext>Comment on attachment 93880
updated patch

View in context: https://bugs.webkit.org/attachment.cgi?id=93880&amp;action=review

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2040
&gt; +    // Look for &lt;html&gt; tag. If it exists, the node contatins all document&apos;s source.

What will happen if it is a XHTML page? WAP page?

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2062
&gt; +    *frame_source = static_cast&lt;char*&gt;(malloc(sizeof(char) * source_length + sizeof(char)));

sizeof(char) = 1 :)

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2116
&gt; +        if (eina_error_get()) {

eina_error_get() does not catches the possible failure in allocation due to strdup() returning NULL, only eina-related stuff, like allocating a new node for the list.

The error handling is fine, however; change just the error detection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406402</commentid>
    <comment_count>21</comment_count>
      <attachid>93880</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-05-19 08:20:19 -0700</bug_when>
    <thetext>Comment on attachment 93880
updated patch

View in context: https://bugs.webkit.org/attachment.cgi?id=93880&amp;action=review

&gt;&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2040
&gt;&gt; +    // Look for &lt;html&gt; tag. If it exists, the node contatins all document&apos;s source.
&gt; 
&gt; What will happen if it is a XHTML page? WAP page?

This feature is limited to support HTML documents at the moment. You can see a checking above (line 2034). I notice about this in ChangeLog too. I have plans to extend this feature for others documents.

&gt;&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2062
&gt;&gt; +    *frame_source = static_cast&lt;char*&gt;(malloc(sizeof(char) * source_length + sizeof(char)));
&gt; 
&gt; sizeof(char) = 1 :)

Did you mean:
malloc(source_length + sizeof(char)) ? :)

&gt;&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2116
&gt;&gt; +        if (eina_error_get()) {
&gt; 
&gt; eina_error_get() does not catches the possible failure in allocation due to strdup() returning NULL, only eina-related stuff, like allocating a new node for the list.
&gt; 
&gt; The error handling is fine, however; change just the error detection.

Right. I will fix this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406443</commentid>
    <comment_count>22</comment_count>
    <who name="Leandro Pereira">leandro</who>
    <bug_when>2011-05-19 09:19:04 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; 
&gt; Did you mean:
&gt; malloc(source_length + sizeof(char)) ? :)
&gt; 

No, I mean malloc(source_length + 1).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407824</commentid>
    <comment_count>23</comment_count>
      <attachid>93880</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-05-23 02:06:43 -0700</bug_when>
    <thetext>Comment on attachment 93880
updated patch

View in context: https://bugs.webkit.org/attachment.cgi?id=93880&amp;action=review

&gt;&gt;&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2040
&gt;&gt;&gt; +    // Look for &lt;html&gt; tag. If it exists, the node contatins all document&apos;s source.
&gt;&gt; 
&gt;&gt; What will happen if it is a XHTML page? WAP page?
&gt; 
&gt; This feature is limited to support HTML documents at the moment. You can see a checking above (line 2034). I notice about this in ChangeLog too. I have plans to extend this feature for others documents.

This feature is limited to support HTML documents at the moment. You can see a checking above (line 2034). I notice about this in ChangeLog too. I have plans to extend this feature for others documents.

&gt;&gt;&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2062
&gt;&gt;&gt; +    *frame_source = static_cast&lt;char*&gt;(malloc(sizeof(char) * source_length + sizeof(char)));
&gt;&gt; 
&gt;&gt; sizeof(char) = 1 :)
&gt; 
&gt; Did you mean:
&gt; malloc(source_length + sizeof(char)) ? :)

Did you mean:
malloc(source_length + sizeof(char)) ? :)

&gt;&gt;&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2116
&gt;&gt;&gt; +        if (eina_error_get()) {
&gt;&gt; 
&gt;&gt; eina_error_get() does not catches the possible failure in allocation due to strdup() returning NULL, only eina-related stuff, like allocating a new node for the list.
&gt;&gt; 
&gt;&gt; The error handling is fine, however; change just the error detection.
&gt; 
&gt; Right. I will fix this.

What do you say of using goto? We have to free the all Eina_List if we can not allocate memory (while strdup and allocating a new node for the list. My suggestion is:

    char* duplicate = strdup(img_location.utf8().data());
    if (!duplicate)
        goto error;
    img_location_list = eina_list_append(img_location_list, duplicate);
    if (eina_error_get()) 
        goto error;


// Out of memory handling.
error:
    CRITICAL(&quot;Could not allocate memory.&quot;);
    EINA_LIST_FREE(img_location_list, data)
        free(data);
    return 0;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407996</commentid>
    <comment_count>24</comment_count>
    <who name="Leandro Pereira">leandro</who>
    <bug_when>2011-05-23 08:58:26 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; 
&gt; What do you say of using goto? We have to free the all Eina_List if we can not allocate memory (while strdup and allocating a new node for the list. My suggestion is:
&gt; 

Goto for error handling is a pretty common pattern inside EFL, and since this is on a port-related file, it is fine. I&apos;d use another label name, however, like &apos;out_of_memory_handler&apos; or something.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408693</commentid>
    <comment_count>25</comment_count>
      <attachid>94577</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-05-23 23:55:53 -0700</bug_when>
    <thetext>Created attachment 94577
updated patch

Added out of memory handling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408923</commentid>
    <comment_count>26</comment_count>
    <who name="Leandro Pereira">leandro</who>
    <bug_when>2011-05-24 09:32:03 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; 
&gt; Added out of memory handling.
&gt;

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419151</commentid>
    <comment_count>27</comment_count>
      <attachid>94577</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-06-10 21:49:42 -0700</bug_when>
    <thetext>Comment on attachment 94577
updated patch

View in context: https://bugs.webkit.org/attachment.cgi?id=94577&amp;action=review

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2014
&gt; + * It&apos;s part of html saving feature. Currently only HTML documents are supported.

html x HTML

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2036
&gt; +        WRN(&quot;Only html documents are supported&quot;);

HTML

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2041
&gt; +    WebCore::Node* de = sd-&gt;frame-&gt;document()-&gt;documentElement();

de -&gt; documentElement

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2043
&gt; +        for (WebCore::Node* e = de-&gt;firstChild(); e; e = e-&gt;parentElement()) {

e -&gt; node or currentNode or whatever more descriptive.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2099
&gt; +        WebCore::HTMLImageElement* img_element = static_cast&lt;WebCore::HTMLImageElement*&gt;(images-&gt;item(index));

camel case -&gt; imageElement?

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2103
&gt; +        WTF::String img_location = img_element-&gt;src().prettyURL();

Ditto.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2105
&gt; +        Eina_List* l = 0;

l -&gt; listOfXXX

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2115
&gt; +        if (!duplicate)

duplicate -&gt; imageLocationCopy?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421821</commentid>
    <comment_count>28</comment_count>
      <attachid>94577</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-06-16 00:14:45 -0700</bug_when>
    <thetext>Comment on attachment 94577
updated patch

View in context: https://bugs.webkit.org/attachment.cgi?id=94577&amp;action=review

&gt;&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2014
&gt;&gt; + * It&apos;s part of html saving feature. Currently only HTML documents are supported.
&gt; 
&gt; html x HTML

Fixed.

&gt;&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2036
&gt;&gt; +        WRN(&quot;Only html documents are supported&quot;);
&gt; 
&gt; HTML

Fixed.

&gt;&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2041
&gt;&gt; +    WebCore::Node* de = sd-&gt;frame-&gt;document()-&gt;documentElement();
&gt; 
&gt; de -&gt; documentElement

Fixed.

&gt;&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2043
&gt;&gt; +        for (WebCore::Node* e = de-&gt;firstChild(); e; e = e-&gt;parentElement()) {
&gt; 
&gt; e -&gt; node or currentNode or whatever more descriptive.

Fixed (node).

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2077
&gt; + * It&apos;s part of html saving feature. Currently only locations of images are supported.

Fixed html -&gt; HTML.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2094
&gt; +    Eina_List* img_location_list = 0;

Changeg to listOfImagesLocation.

&gt;&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2099
&gt;&gt; +        WebCore::HTMLImageElement* img_element = static_cast&lt;WebCore::HTMLImageElement*&gt;(images-&gt;item(index));
&gt; 
&gt; camel case -&gt; imageElement?

Fixed (imageElement).

&gt;&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2103
&gt;&gt; +        WTF::String img_location = img_element-&gt;src().prettyURL();
&gt; 
&gt; Ditto.

Fixed imageLocation.

&gt;&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2105
&gt;&gt; +        Eina_List* l = 0;
&gt; 
&gt; l -&gt; listOfXXX

This is only temp iterator of list.
Changeg to listIterator.

&gt;&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2115
&gt;&gt; +        if (!duplicate)
&gt; 
&gt; duplicate -&gt; imageLocationCopy?

Fixed (imageLocationCopy).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421826</commentid>
    <comment_count>29</comment_count>
      <attachid>97413</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-06-16 00:38:50 -0700</bug_when>
    <thetext>Created attachment 97413
updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444371</commentid>
    <comment_count>30</comment_count>
      <attachid>97413</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-07-30 20:42:51 -0700</bug_when>
    <thetext>Comment on attachment 97413
updated patch

View in context: https://bugs.webkit.org/attachment.cgi?id=97413&amp;action=review

LGTM except for my comments.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1983
&gt; + *      must @b not be @c 0, this value @b should be freed after use

Move start of must to start of frame_source below.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2000
&gt; +        // FIXME Support others documents.

Missing &quot;:&quot; in FIXME.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:2048
&gt; + *   the Eina_List should be freed after use

wrong indentation. Move the Eina_List to @c below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>447957</commentid>
    <comment_count>31</comment_count>
      <attachid>103233</attachid>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-08-08 05:32:02 -0700</bug_when>
    <thetext>Created attachment 103233
updated patch

Updated patch according to Gyuyoung&apos;s comments.
Additionally, Patch has been:
 - adjusted to the EFL&apos;s coding style and documentation of HTML saving feature was moved to the header file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448059</commentid>
    <comment_count>32</comment_count>
    <who name="Leandro Pereira">leandro</who>
    <bug_when>2011-08-08 10:04:00 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; Created an attachment (id=103233) [details]
&gt; updated patch
&gt; 
&gt; Updated patch according to Gyuyoung&apos;s comments.
&gt;

Informal r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448079</commentid>
    <comment_count>33</comment_count>
      <attachid>103233</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-08-08 10:21:29 -0700</bug_when>
    <thetext>Comment on attachment 103233
updated patch

View in context: https://bugs.webkit.org/attachment.cgi?id=103233&amp;action=review

cpp files should go into WebKit coding style and public headers with toolkit coding style, no?

Based on that some comments...

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1495
&gt; +    *frame_source = 0; // Saves 0 to pointer until it&apos;s not allocated.

frameSource?

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1504
&gt; +    WebCore::Node *documentNode = sd-&gt;frame-&gt;document()-&gt;documentElement();

* position

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1508
&gt; +                WebCore::HTMLElement *element = static_cast&lt;WebCore::HTMLElement*&gt;(node);

Ditto.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1532
&gt; +    (*frame_source)[source_length] = &apos;\0&apos;;

who deletes &quot;frame_source&quot;?

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1537
&gt; +Eina_List *ewk_frame_resources_location_get(Evas_Object *o)

* position

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1543
&gt; +    Eina_List *listOfImagesLocation = 0;

Ditto.

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1554
&gt; +        Eina_List *listIterator = 0;

Ditto

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1555
&gt; +        void *data = 0;

Ditto

&gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1563
&gt; +        char *imageLocationCopy = strdup(imageLocation.utf8().data());

Ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448455</commentid>
    <comment_count>34</comment_count>
    <who name="Grzegorz Czajkowski">g.czajkowski</who>
    <bug_when>2011-08-08 23:41:25 -0700</bug_when>
    <thetext>(In reply to comment #33)
&gt; (From update of attachment 103233 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=103233&amp;action=review
&gt; 
&gt; cpp files should go into WebKit coding style and public headers with toolkit coding style, no?

Thanks for your review.
There were commits which move the pointer operator to variable according to EFL coding style for all WebKit-EFL&apos;s files. For instance, commit for ewk_frame https://bugs.webkit.org/show_bug.cgi?id=65357

So I adjusted this patch to these changes.

&gt; 
&gt; Based on that some comments...
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1495
&gt; &gt; +    *frame_source = 0; // Saves 0 to pointer until it&apos;s not allocated.
&gt; 
&gt; frameSource?

This is the pointer where to store source of frame which is given through parameter:
EAPI ssize_t ewk_frame_source_get(Evas_Object *o, char **frame_source);
Generally API exposed by WebKit-EFL uses names separated by underline.
&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1504
&gt; &gt; +    WebCore::Node *documentNode = sd-&gt;frame-&gt;document()-&gt;documentElement();
&gt; 
&gt; * position

EFL&apos;s coding style.

&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1508
&gt; &gt; +                WebCore::HTMLElement *element = static_cast&lt;WebCore::HTMLElement*&gt;(node);
&gt; 
&gt; Ditto.

EFL&apos;s coding style.

&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1532
&gt; &gt; +    (*frame_source)[source_length] = &apos;\0&apos;;
&gt; 
&gt; who deletes &quot;frame_source&quot;?

Caller should delete &quot;frame_Source&quot;. It&apos;s mentioned in doxygen description.

&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1537
&gt; &gt; +Eina_List *ewk_frame_resources_location_get(Evas_Object *o)
&gt; 
&gt; * position

EFL&apos;s coding style.

&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1543
&gt; &gt; +    Eina_List *listOfImagesLocation = 0;
&gt; 
&gt; Ditto.

EFL&apos;s coding style.

&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1554
&gt; &gt; +        Eina_List *listIterator = 0;
&gt; 
&gt; Ditto

EFL&apos;s coding style.

&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1555
&gt; &gt; +        void *data = 0;
&gt; 
&gt; Ditto

EFL&apos;s coding style.

&gt; 
&gt; &gt; Source/WebKit/efl/ewk/ewk_frame.cpp:1563
&gt; &gt; +        char *imageLocationCopy = strdup(imageLocation.utf8().data());
&gt; 
&gt; Ditto

EFL&apos;s coding style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450317</commentid>
    <comment_count>35</comment_count>
      <attachid>103233</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-08-11 23:48:04 -0700</bug_when>
    <thetext>Comment on attachment 103233
updated patch

This patch have reviewed so far intensively. I think Antonio&apos;s comment is enough to be answered by Grzegorz. I think there are no critical problems in this patch. So, I land this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450338</commentid>
    <comment_count>36</comment_count>
      <attachid>103233</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-12 00:46:28 -0700</bug_when>
    <thetext>Comment on attachment 103233
updated patch

Clearing flags on attachment: 103233

Committed r92948: &lt;http://trac.webkit.org/changeset/92948&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450339</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-12 00:46:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84208</attachid>
            <date>2011-03-01 03:52:09 -0800</date>
            <delta_ts>2011-05-06 01:26:18 -0700</delta_ts>
            <desc>html saving feature</desc>
            <filename>WebKit-Efl-HTML_Saving_feature.patch</filename>
            <type>text/plain</type>
            <size>11976</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCBkZWRkYTk2Li5mYWY4ZjdjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTEtMDMtMDEgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWpr
b3dza2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW0VGTF0gSFRNTCBTYXZpbmcgZmVhdHVyZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU0NTUKKworICAgICAgICBTYXZlcyBhIGh0
bWwgc291cmNlIGludG8gZmlsZSBnaXZlbiBieSBwYXJhbWV0ZXIuCisKKyAgICAgICAgKiBld2sv
ZXdrX2ZyYW1lLmNwcDoKKyAgICAgICAgKGV3a19mcmFtZV9kdW1wX3RvX2ZpbGUpOgorICAgICAg
ICAqIGV3ay9ld2tfZnJhbWUuaDoKKwogMjAxMS0wMi0yNyAgR3l1eW91bmcgS2ltICA8Z3l1eW91
bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJhLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcAppbmRleCAwZTJmOTAzLi5jNTVhZjVkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcApAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgImV3a19mcmFtZS5oIgogCisjaW5jbHVkZSAiQ2FjaGVkSW1h
Z2UuaCIKICNpbmNsdWRlICJEb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJF
V2ViS2l0LmgiCiAjaW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgiCkBAIC0zMSwxMSArMzIsMTYgQEAK
ICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudEVmbC5oIgogI2luY2x1ZGUgIkZyYW1lVHJlZS5o
IgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkhUTUxDb2xsZWN0aW9uLmgiCisj
aW5jbHVkZSAiSFRNTEhlYWRFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTEltYWdlRWxlbWVudC5o
IgorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQbHVnSW5FbGVtZW50Lmgi
CiAjaW5jbHVkZSAiSGlzdG9yeUl0ZW0uaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCiAj
aW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIktVUkwuaCIKKyNpbmNsdWRlICJOb3RGb3Vu
ZC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtS2V5Ym9hcmRFdmVudC5oIgogI2luY2x1ZGUgIlBsYXRm
b3JtTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtVG91Y2hFdmVudC5oIgpAQCAtNTQs
OCArNjAsMTIgQEAKICNpbmNsdWRlIDxFdmFzLmg+CiAjaW5jbHVkZSA8YWxnb3JpdGhtPgogI2lu
Y2x1ZGUgPGVpbmFfc2FmZXR5X2NoZWNrcy5oPgorI2luY2x1ZGUgPGxpYmdlbi5oPgorI2luY2x1
ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgogCisKIHN0YXRpYyBjb25zdCBjaGFyIEVXS19GUkFNRV9UWVBFX1NUUltd
ID0gIkVXS19GcmFtZSI7CiAKIHN0cnVjdCBFd2tfRnJhbWVfU21hcnRfRGF0YSB7CkBAIC0yMDAw
LDYgKzIwMTAsMjQyIEBAIHZvaWQgZXdrX2ZyYW1lX3ZpZXdfY3JlYXRlX2Zvcl92aWV3KEV2YXNf
T2JqZWN0KiBvLCBFdmFzX09iamVjdCogdmlldykKIH0KIAogLyoqCisgKiBTYXZlcyBhIGh0bWwg
c291cmNlIGludG8gZmlsZSBnaXZlbiBieSBwYXJhbWV0ZXIuCisgKgorICogSXQgYWxzbyBjcmVh
dGVzIGRpcmVjdG9yeSB3aXRoIHJlc291cmNlcy4KKyAqCisgKiBAcGFyYW0gW2luXSBvIGZyYW1l
IHNtYXJ0IG9iamVjdAorICogQHBhcmFtIFtpbl0gcGF0aCBhIHBhdGggd2l0aCB0aGUgZmlsZSBu
YW1lIHdoZXJlIGEgY29udGVudCBvZiB3ZWIgcGFnZSBpcyBzYXZlZCwgdGhlIHBhdGggPGI+bXVz
dCBleGlzdDwvYj4sIHRoZSBmaWxlIDxiPmRvZXNuJ3QgaGF2ZSB0byBleGlzdDwvYj4KKyAqIEBw
YXJhbSBbaW5dIHNhdmVfcmVzb3VyY2VzIEBjIEVJTkFfVFJVRSByZXNvdXJjZXMgb2YgcGFnZSBh
cmUgc2F2ZWQgaW50byAnaW1hZ2VzJyBkaXJlY3RvcnksIEBjIEVJTkFfRkFMU0Ugb25seSBwYWdl
IHNvdXJjZSBpcyBzYXZlZAorICogQHBhcmFtIFtpbl1bb3V0XSBsaXN0X3NyY19pbWFnZXMgYSB0
YWJsZSB3aGVyZSB0aGUgc3JjIHZhbHVlcyBvZiBpbWFnZXMgYXJlIHN0b3JlZCwgaWYgeW91J3Jl
IG5vdCBpbnRyZXN0ZWQgaW4gdGhhdCBsaXN0LCBnaXZlIEBjIDAsIG90aGVyd2lzZSBhIHRhYmxl
IDxiPnNob3VsZCBiZTwvYj4gZnJlZWQgYWZ0ZXIgdXNlCisgKiBAcGFyYW0gW2luXVtvdXRdIGxp
c3Rfc2l6ZSBhIHNpemUgb2YgbGlzdF9zcmNfaW1hZ2VzLCBpZiB5b3UncmUgbm90IGludHJlc3Rl
ZCBpbiB0aGF0IHNpemUsIGdpdmUgQGMgMAorICogQHJldHVybiBAYyBFSU5BX1RSVUUgb24gc3Vj
Y2VzcywgQGMgRUlOQV9GQUxTRSBpZiB0aGUgZmlsZSBnaXZlbiBieSBwYXJhbSBhbHJlYWR5IGV4
aXN0cyBvciBvdGhlciBlcnJvciBvY2N1cmVkCisgKi8KK0VpbmFfQm9vbCBld2tfZnJhbWVfZHVt
cF90b19maWxlKEV2YXNfT2JqZWN0KiBvLCBjb25zdCBjaGFyKiBwYXRoLCBFaW5hX0Jvb2wgc2F2
ZV9yZXNvdXJjZXMsIGNoYXIqKiogbGlzdF9zcmNfaW1hZ2VzLCB1bnNpZ25lZCogbGlzdF9zaXpl
KQoreworICAgIC8vIHNhdmUgc2FmdHkgdmFsdWVzIHRvIGxpc3Rfc3JjX2ltYWdlcyBhbmQgbGlz
dF9zaXplIGdpdmVuIHRocm91Z2ggcGFyYW0KKyAgICBpZiAobGlzdF9zcmNfaW1hZ2VzKQorICAg
ICAgICAqbGlzdF9zcmNfaW1hZ2VzID0gMDsKKyAgICBpZiAobGlzdF9zaXplKQorICAgICAgICAq
bGlzdF9zaXplID0gMDsKKworICAgIEVXS19GUkFNRV9TRF9HRVRfT1JfUkVUVVJOKG8sIHNkLCBF
SU5BX0ZBTFNFKTsKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoc2QtPmZyYW1l
LCBFSU5BX0ZBTFNFKTsKKworICAgIGlmICgoIWxpc3Rfc3JjX2ltYWdlcyAmJiBsaXN0X3NpemUp
IHx8IChsaXN0X3NyY19pbWFnZXMgJiYgIWxpc3Rfc2l6ZSkpIHsKKyAgICAgICAgTE9HX0VSUk9S
KCJZT1UgSEFWRSBHSVZFTiBBIE5VTEwgUEFSQU1FVEVSLiBJTUFHRVMgU1JDIEFUVFJJQlVURVMg
Q0FOIE5PVCBCRSBDT1BJRUQuXG4iKTsKKyAgICAgICAgcmV0dXJuIEVJTkFfRkFMU0U7CisgICAg
fQorCisgICAgaWYgKCFwYXRoKSB7CisgICAgICAgIExPR19FUlJPUigiWU9VIEhBVkUgR0lWRU4g
TlVMTCBQQVJBTUVURVIuIEEgSFRNTCBGSUxFIENBTk5PVCBCRSBDUkVBVEVELlxuIik7CisgICAg
ICAgIHJldHVybiBFSU5BX0ZBTFNFOworICAgIH0KKworICAgIFdlYkNvcmU6OkRvY3VtZW50KiBk
b2N1bWVudDsKKyAgICBXVEY6OlN0cmluZyBzSGVhZDsKKyAgICBXVEY6OlN0cmluZyBzQm9keTsK
KyAgICBWZWN0b3I8V1RGOjpTdHJpbmc+IHNyY192YWx1ZXM7IAorICAgIGNoYXIqKiBzcmNfbGlz
dDsKKworICAgIHNyY19saXN0ID0gMDsKKworICAgIGRvY3VtZW50ID0gc2QtPmZyYW1lLT5kb2N1
bWVudCgpOworICAgIGlmICghZG9jdW1lbnQpCisgICAgICAgIHJldHVybiBFSU5BX0ZBTFNFOwor
CisgICAgRklMRSogaHRtbF9mcCA9IGZvcGVuKHBhdGgsICJyIik7CisgICAgaWYgKGh0bWxfZnAp
IHsKKyAgICAgICAgTE9HX0VSUk9SKCJGSUxFICVzIEFMUkVBRFkgRVhJU1RTLlxuIiwgcGF0aCk7
CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorCisgICAgaHRtbF9mcCA9IGZvcGVuKHBhdGgs
ICJ3Iik7CisgICAgaWYgKCFodG1sX2ZwKSB7CisgICAgICAgIExPR19FUlJPUigiRklMRSAlcyBD
QU4gTk9UIEJFIE9QRU5FRCBUTyBXUklURS5cbiIsIHBhdGgpOworICAgICAgICByZXR1cm4gRUlO
QV9GQUxTRTsKKyAgICB9CisKKyAgICBpbnQgcmV0OworICAgIC8vIEZJWE1FIHRoZSBodG1sIHRh
ZyBzaG91bGQgYmUgZXh0cmFjdGVkIGZyb20gd2Via2l0CisgICAgcmV0ID0gZnByaW50ZihodG1s
X2ZwLCAiPGh0bWw+XG4iKTsKKyAgICBpZiAocmV0IDwgMCkgeworICAgICAgICBMT0dfRVJST1Io
IldSSVRJTkcgVE8gRklMRSAlcyBGQUlMRUQuXG4iLCBwYXRoKTsKKyAgICAgICAgZ290byBlcnJv
cjsKKyAgICB9CisKKyAgICBpZiAoc2F2ZV9yZXNvdXJjZXMpIHsKKyAgICAgICAgLyoKKyAgICAg
ICAgICogVGhpcyBzZWN0aW9uIHNhdmVzIGltYWdlcyBvbmx5LgorICAgICAgICAgKiBUT0RPIFN1
cHBvcnQgZm9yIG90aGVycyByZXNvdXJjZXMgbGlrZSBzY3JpcHRzLCBwbHVnaW5zLCBleHRlcm5h
bCBjc3Mgc3R5bGVzLgorICAgICAgICAgKi8KKworICAgICAgICAvLyBnZXR0aW5nIGNvbGxlY3Rp
b24gb2YgYWxsIGltYWdlcyBpbiB0aGUgZnJhbWUKKyAgICAgICAgUmVmUHRyPFdlYkNvcmU6OkhU
TUxDb2xsZWN0aW9uPiBpbWFnZXMgPSBkb2N1bWVudC0+aW1hZ2VzKCk7CisgICAgICAgIHVuc2ln
bmVkIGltYWdlc19udW1iZXIgPSBpbWFnZXMtPmxlbmd0aCgpOworICAgICAgICBjb25zdCBjaGFy
IElNQUdFU19ESVJfTkFNRVtdID0gImltYWdlcy8iOworICAgICAgICBXVEY6OlN0cmluZyBpbWFn
ZXNfZGlyX3BhdGg7CisgICAgICAgIC8vIEhhc2hNYXAgY29udGFpbnMgYSBjcmVhdGVkIGZpbGUg
bmFtZSBhbmQgdmFsdWUgb2Ygc3JjIGF0dHJpYnV0ZQorICAgICAgICBIYXNoTWFwPFdURjo6U3Ry
aW5nLCBXVEY6OlN0cmluZz4gaGFzaE1hcDsgIAorICAgICAgICAKKyAgICAgICAgLy8gYSBkaXJl
Y3RvcnkgImltYWdlcyIgaXMgY3JlYXRlZCBvbmx5IGlmIGEgd2ViIHBhZ2UgY29udGFpbnMgYXQg
bGVhc3Qgb25lIGltYWdlCisgICAgICAgIGlmIChpbWFnZXNfbnVtYmVyKSB7CisgICAgICAgICAg
ICBjaGFyKiBwYXRoX2NvcHkgPSBzdHJkdXAocGF0aCk7IC8vIGRpcm5hbWUgZnVuY3Rpb24gcmVx
dWlyZXMgYSBjb3B5IG9mIHN0cmluZworICAgICAgICAgICAgV1RGOjpTdHJpbmcgZGlybmFtZV9o
dG1sX2ZpbGUoZGlybmFtZShwYXRoX2NvcHkpKTsKKyAgICAgICAgICAgIGZyZWUocGF0aF9jb3B5
KTsKKyAgICAgICAgICAgIGltYWdlc19kaXJfcGF0aCA9IGRpcm5hbWVfaHRtbF9maWxlICsgIi8i
ICsgSU1BR0VTX0RJUl9OQU1FOworCisgICAgICAgICAgICBpZiAobWtkaXIoaW1hZ2VzX2Rpcl9w
YXRoLnV0ZjgoKS5kYXRhKCksIFNfSVJXWFUgfCBTX0lSV1hHIHwgU19JUldYTykpIHsKKyAgICAg
ICAgICAgICAgICBMT0dfRVJST1IoIkEgRElSRUNUT1JZICVzIENBTiBOT1QgQkUgQ1JFQVRFRC5c
biIsIGltYWdlc19kaXJfcGF0aCk7CisgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGZvciAodW5zaWduZWQgaW5kZXggPSAwOyBp
bmRleCA8IGltYWdlc19udW1iZXI7ICsraW5kZXgpIHsKKyAgICAgICAgICAgIFdlYkNvcmU6OkhU
TUxJbWFnZUVsZW1lbnQgKmltYWdlRWxlbWVudCA9IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50
ICopIGltYWdlcy0+aXRlbShpbmRleCk7CisgICAgICAgICAgICBpZiAoIWltYWdlRWxlbWVudCB8
fCBpbWFnZUVsZW1lbnQtPnNyYygpLmlzTnVsbCgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworCisgICAgICAgICAgICBXVEY6OlN0cmluZyBpbWFnZV9maWxlbmFtZSA9IGltYWdlRWxlbWVu
dC0+c3JjKCkubGFzdFBhdGhDb21wb25lbnQoKTsKKyAgICAKKyAgICAgICAgICAgIC8vIGNyZWF0
ZSBhbiBhYnNvbHV0ZSBwYXRoIHRvIGFuIGltYWdlLgorICAgICAgICAgICAgV1RGOjpTdHJpbmcg
aW1hZ2VfYWJzb2x1dGVfcGF0aCA9IGltYWdlc19kaXJfcGF0aCArIGltYWdlX2ZpbGVuYW1lOwor
CisgICAgICAgICAgICAvLyBjcmVhdGUgYSByZWxhdGl2ZSBwYXRoIHRvIGFuIGltYWdlLgorICAg
ICAgICAgICAgV1RGOjpTdHJpbmcgaW1hZ2VfcmVsYXRpdmVfcGF0aCA9IElNQUdFU19ESVJfTkFN
RSArIGltYWdlX2ZpbGVuYW1lOworCisgICAgICAgICAgICAvLyByZW1lbWJlciBvcmlnaW5hbCBz
cmMgYXR0cmlidXRlIG9mIGltYWdlIGJlY2F1c2Ugd2Ugd2lsbCBtb2RpZnkgaXQgdG8gdGhlIGxv
Y2FsIHBhdGguCisgICAgICAgICAgICBzcmNfdmFsdWVzLmFwcGVuZChpbWFnZUVsZW1lbnQtPnNy
YygpKTsKKworICAgICAgICAgICAgLy8gaWYgdGhlIGltYWdlIGV4aXN0cywgaXQgd29uJ3QgYmUg
c2F2ZWQuCisgICAgICAgICAgICBGSUxFKiBpbWFnZV9mcCA9IGZvcGVuKGltYWdlX2Fic29sdXRl
X3BhdGgudXRmOCgpLmRhdGEoKSwgInIiKTsKKyAgICAgICAgICAgIGlmIChpbWFnZV9mcCkgewor
ICAgICAgICAgICAgICAgIGlmIChzcmNfdmFsdWVzW2luZGV4XSA9PSBoYXNoTWFwLmdldChpbWFn
ZV9maWxlbmFtZSkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gc2V0IGEgc3JjIGF0dHJpYnV0
ZSBvZiB0aGUgaW1hZ2UgdG8gdGhlIGxvY2FsIHBhdGguCisgICAgICAgICAgICAgICAgICAgIGlt
YWdlRWxlbWVudC0+c2V0U3JjKGltYWdlX3JlbGF0aXZlX3BhdGgpOworICAgICAgICAgICAgICAg
ICAgICBmY2xvc2UoaW1hZ2VfZnApOworICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgLy8gY3JlYXRlIGFuIGFub3RoZXIgbmFt
ZSBmb3IgdGhlIGZpbGUgd2l0aCBhIGRpZmZlcmVudCBzcmMgYXR0cmlidXRlIAorICAgICAgICAg
ICAgICAgIGludCBsYXN0X2RvdF9wb3NpdGlvbiA9IGltYWdlX2ZpbGVuYW1lLnJldmVyc2VGaW5k
KCcuJyk7CisKKyAgICAgICAgICAgICAgICBpZiAobGFzdF9kb3RfcG9zaXRpb24gPT0gLTEpIC8v
IHRoYXJlIGlzbid0ICcuJyBpbiBhbiBpbWFnZSBmaWxlIG5hbWUKKyAgICAgICAgICAgICAgICAg
ICAgbGFzdF9kb3RfcG9zaXRpb24gPSBpbWFnZV9maWxlbmFtZS5sZW5ndGgoKTsKKworICAgICAg
ICAgICAgICAgIGltYWdlX2ZpbGVuYW1lLmluc2VydCgiWyIgKyBXVEY6OlN0cmluZzo6bnVtYmVy
KGluZGV4KSArICJdIiwgbGFzdF9kb3RfcG9zaXRpb24pOworICAgICAgICAgICAgICAgIGltYWdl
X2Fic29sdXRlX3BhdGggPSBpbWFnZXNfZGlyX3BhdGggKyBpbWFnZV9maWxlbmFtZTsKKyAgICAg
ICAgICAgICAgICBpbWFnZV9yZWxhdGl2ZV9wYXRoID0gSU1BR0VTX0RJUl9OQU1FICsgaW1hZ2Vf
ZmlsZW5hbWU7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGhhc2hNYXAuYWRkKGltYWdl
X2ZpbGVuYW1lLCBzcmNfdmFsdWVzW2luZGV4XSk7CisKKyAgICAgICAgICAgIC8vIGNoZWNrIG51
bGxzCisgICAgICAgICAgICBpZiAoIWltYWdlRWxlbWVudC0+Y2FjaGVkSW1hZ2UoKQorICAgICAg
ICAgICAgICAgIHx8ICFpbWFnZUVsZW1lbnQtPmNhY2hlZEltYWdlKCktPmltYWdlKCkKKyAgICAg
ICAgICAgICAgICB8fCBpbWFnZUVsZW1lbnQtPmNhY2hlZEltYWdlKCktPmltYWdlKCktPmlzTnVs
bCgpCisgICAgICAgICAgICAgICAgfHwgIWltYWdlRWxlbWVudC0+Y2FjaGVkSW1hZ2UoKS0+aW1h
Z2UoKS0+ZGF0YSgpKSAKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAg
V2ViQ29yZTo6U2hhcmVkQnVmZmVyICpzaGFyZWRCdWZmZXIgPSBpbWFnZUVsZW1lbnQtPmNhY2hl
ZEltYWdlKCktPmltYWdlKCktPmRhdGEoKTsKKworICAgICAgICAgICAgLy8gY3JlYXRlIGFuIGlt
YWdlIGZpbGUuCisgICAgICAgICAgICBpbWFnZV9mcCA9IGZvcGVuKGltYWdlX2Fic29sdXRlX3Bh
dGgudXRmOCgpLmRhdGEoKSwgInciKTsKKyAgICAgICAgICAgIGlmICghaW1hZ2VfZnApIHsKKyAg
ICAgICAgICAgICAgICBMT0dfRVJST1IoIkZJTEUgJXMgQ0FOIE5PVCBCRSBPUEVORUQgVE8gV1JJ
VEUuXG4iLCBpbWFnZV9hYnNvbHV0ZV9wYXRoLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICAgICAg
ICAgIGdvdG8gZXJyb3I7IAorICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAg
ICAvLyBjb3B5IGRhdGEgZnJvbSBzaGFyZWRCdWZmZXIgaW50byBhbiBpbWFnZSBmaWxlCisgICAg
ICAgICAgICBjb25zdCBjaGFyKiBzZWdtZW50OworICAgICAgICAgICAgdW5zaWduZWQgcG9zID0g
MDsKKyAgICAgICAgICAgIHdoaWxlICh1bnNpZ25lZCBsZW5ndGggPSBzaGFyZWRCdWZmZXItPmdl
dFNvbWVEYXRhKHNlZ21lbnQsIHBvcykpIHsKKyAgICAgICAgICAgICAgICBpZiAobGVuZ3RoICE9
IGZ3cml0ZShzZWdtZW50LCBzaXplb2YoY2hhciksIGxlbmd0aCwgaW1hZ2VfZnApKSB7CisgICAg
ICAgICAgICAgICAgICAgIExPR19FUlJPUigiV1JJVElORyBUTyBGSUxFICVzIEZBSUxFRC5cbiIs
IGltYWdlX2Fic29sdXRlX3BhdGgudXRmOCgpLmRhdGEoKSk7CisgICAgICAgICAgICAgICAgICAg
IGZjbG9zZShpbWFnZV9mcCk7CisgICAgICAgICAgICAgICAgICAgIGdvdG8gZXJyb3I7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHBvcyArPSBsZW5ndGg7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIC8vIHNldCBhIHNyYyBhdHRyaWJ1dGUgb2YgaW1hZ2UgdG8gdGhl
IGxvY2FsIHBhdGgKKyAgICAgICAgICAgIGltYWdlRWxlbWVudC0+c2V0U3JjKGltYWdlX3JlbGF0
aXZlX3BhdGgpOworCisgICAgICAgICAgICBmY2xvc2UoaW1hZ2VfZnApOworICAgICAgICB9IC8v
IGVuZCBmb3IoLi4uKQorCisgICAgICAgIC8vIHNhdmUgaHRtbCBzb3VyY2Ugb2YgYm9keQorICAg
ICAgICBpZiAoZG9jdW1lbnQtPmJvZHkoKSkKKyAgICAgICAgICAgIHNCb2R5ID0gZG9jdW1lbnQt
PmJvZHkoKS0+b3V0ZXJIVE1MKCk7CisKKyAgICAgICAgLy8gcmVzdG9yZSBvcmlnaW5hbCBzcmMg
YXR0cmlidXRlcyBvZiBpbWFnZXMKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpbmRleCA9IDA7IGlu
ZGV4IDwgaW1hZ2VzX251bWJlcjsgKytpbmRleCkgeworICAgICAgICAgICAgV2ViQ29yZTo6SFRN
TEltYWdlRWxlbWVudCAqaW1hZ2VFbGVtZW50ID0gKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQg
KikgaW1hZ2VzLT5pdGVtKGluZGV4KTsKKyAgICAgICAgICAgIGlmICghaW1hZ2VFbGVtZW50KQor
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgCisgICAgICAgICAgICBpbWFn
ZUVsZW1lbnQtPnNldFNyYyhzcmNfdmFsdWVzW2luZGV4XSk7CisgICAgICAgIH0KKyAgICB9IGVs
c2UgeyAvLyBlbmQgaWYgKHNhdmVfcmVzb3VyY2VzKQorCisgICAgICAgIGlmIChkb2N1bWVudC0+
Ym9keSgpKQorICAgICAgICAgICAgc0JvZHkgPSBkb2N1bWVudC0+Ym9keSgpLT5vdXRlckhUTUwo
KTsKKworICAgICAgICBSZWZQdHI8V2ViQ29yZTo6SFRNTENvbGxlY3Rpb24+IGltYWdlcyA9IGRv
Y3VtZW50LT5pbWFnZXMoKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpbmRleCA9IDA7IGluZGV4
IDwgaW1hZ2VzLT5sZW5ndGgoKTsgKytpbmRleCkgeworICAgICAgICAgICAgV2ViQ29yZTo6SFRN
TEltYWdlRWxlbWVudCogaW1hZ2VFbGVtZW50ID0gKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQg
KikgaW1hZ2VzLT5pdGVtKGluZGV4KTsKKyAgICAgICAgICAgIGlmICghaW1hZ2VFbGVtZW50IHx8
IGltYWdlRWxlbWVudC0+c3JjKCkuaXNOdWxsKCkpCisgICAgICAgICAgICAgICAgY29udGludWU7
CisgICAgICAgICAgICAKKyAgICAgICAgICAgIFdURjo6U3RyaW5nIHNyY09mSW1hZ2UgPSBpbWFn
ZUVsZW1lbnQtPnNyYygpLnByZXR0eVVSTCgpOworICAgICAgICAgICAgaWYgKHNyY192YWx1ZXMu
ZmluZChzcmNPZkltYWdlKSA9PSBub3RGb3VuZCkKKyAgICAgICAgICAgICAgICBzcmNfdmFsdWVz
LmFwcGVuZChzcmNPZkltYWdlKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChkb2N1bWVu
dC0+aGVhZCgpKQorICAgICAgICBzSGVhZCA9IGRvY3VtZW50LT5oZWFkKCktPm91dGVySFRNTCgp
OworCisgICAgc2l6ZV90IGxlbjsKKyAgICAvLyBzYXZlIGEgaGVhZCB0YWcKKyAgICBsZW4gPSBz
dHJsZW4oc0hlYWQudXRmOCgpLmRhdGEoKSk7CisgICAgaWYgKGxlbiAhPSBmd3JpdGUoc0hlYWQu
dXRmOCgpLmRhdGEoKSwgc2l6ZW9mKGNoYXIpLCBsZW4sIGh0bWxfZnApKSB7CisgICAgICAgIExP
R19FUlJPUigiV1JJVElORyBUTyBGSUxFICVzIEZBSUxFRC5cbiIsIHBhdGgpOworICAgICAgICBn
b3RvIGVycm9yOworICAgIH0KKworICAgIC8vIHNhdmUgYSBib2R5IHRhZworICAgIGxlbiA9IHN0
cmxlbihzQm9keS51dGY4KCkuZGF0YSgpKTsKKyAgICBpZiAobGVuICE9IGZ3cml0ZShzQm9keS51
dGY4KCkuZGF0YSgpLCBzaXplb2YoY2hhciksIGxlbiwgaHRtbF9mcCkpIHsKKyAgICAgICAgTE9H
X0VSUk9SKCJXUklUSU5HIFRPIEZJTEUgJXMgRkFJTEVELlxuIiwgcGF0aCk7CisgICAgICAgIGdv
dG8gZXJyb3I7CisgICAgfQorCisgICAgcmV0ID0gZnByaW50ZihodG1sX2ZwLCAiXG48L2h0bWw+
Iik7CisgICAgaWYgKHJldCA8IDApIHsKKyAgICAgICAgTE9HX0VSUk9SKCJXUklUSU5HIFRPIEZJ
TEUgJXMgRkFJTEVELlxuIiwgcGF0aCk7CisgICAgICAgIGdvdG8gZXJyb3I7CisgICAgfQorCisg
ICAgZmNsb3NlKGh0bWxfZnApOworCisgICAgLy8gY29weSB2YWx1ZXMgb2YgJ3NyY192YWx1ZXMn
IHRvIHRoZSBsaXN0IGdpdmVuIHRocm91Z2ggcGFyYW0KKyAgICBzcmNfbGlzdCA9IChjaGFyICoq
KSBtYWxsb2Moc2l6ZW9mKGNoYXIgKikgKiBzcmNfdmFsdWVzLnNpemUoKSk7CisgICAgdW5zaWdu
ZWQgaW5kZXg7CisgICAgZm9yIChpbmRleCA9IDA7IGluZGV4IDwgc3JjX3ZhbHVlcy5zaXplKCk7
ICsraW5kZXgpIHsKKyAgICAgICAgc3JjX2xpc3RbaW5kZXhdID0gKGNoYXIgKikgbWFsbG9jKChz
aXplb2YoY2hhcikgKiBzcmNfdmFsdWVzW2luZGV4XS5sZW5ndGgoKSkgKyAxKTsgLy8gKzEgZm9y
ICdcMCcKKyAgICAgICAgc3RyY3B5KHNyY19saXN0W2luZGV4XSwgc3JjX3ZhbHVlc1tpbmRleF0u
dXRmOCgpLmRhdGEoKSk7CisgICAgfSAKKyAgICAqbGlzdF9zcmNfaW1hZ2VzID0gc3JjX2xpc3Q7
CisgICAgKmxpc3Rfc2l6ZSA9IHNyY192YWx1ZXMuc2l6ZSgpOworCisgICAgcmV0dXJuIEVJTkFf
VFJVRTsKKworZXJyb3I6IAorICAgIGZjbG9zZShodG1sX2ZwKTsKKyAgICByZXR1cm4gRUlOQV9G
QUxTRTsKK30KKworLyoqCiAgKiBAaW50ZXJuYWwKICAqIFJlcG9ydHMgdXJpIGNoYW5nZWQgYW5k
IHN3YXAgaW50ZXJuYWwgc3RyaW5nIHJlZmVyZW5jZS4KICAqCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2Zy
YW1lLmgKaW5kZXggNjM5MzZmMy4uOWY4MmUyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19mcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUu
aApAQCAtMjI0LDYgKzIyNCw3IEBAIEVBUEkgRWluYV9Cb29sICAgIGV3a19mcmFtZV9mZWVkX3Rv
dWNoX2V2ZW50KEV2YXNfT2JqZWN0KiBvLCBFd2tfVG91Y2hfRXZlbnRfVHlwCiBFQVBJIEVpbmFf
Qm9vbCAgICBld2tfZnJhbWVfZmVlZF9rZXlfZG93bihFdmFzX09iamVjdCAqbywgY29uc3QgRXZh
c19FdmVudF9LZXlfRG93biAqZXYpOwogRUFQSSBFaW5hX0Jvb2wgICAgZXdrX2ZyYW1lX2ZlZWRf
a2V5X3VwKEV2YXNfT2JqZWN0ICpvLCBjb25zdCBFdmFzX0V2ZW50X0tleV9VcCAqZXYpOwogCitF
QVBJIEVpbmFfQm9vbCAgICBld2tfZnJhbWVfZHVtcF90b19maWxlKEV2YXNfT2JqZWN0KiBvLCBj
b25zdCBjaGFyKiBodG1sX3BhdGgsIEVpbmFfQm9vbCBzYXZlX3Jlc291cmNlcywgY2hhcioqKiBs
aXN0X3NyY19pbWFnZXMsIHVuc2lnbmVkKiBsaXN0X3NpemUpOwogCiAjaWZkZWYgX19jcGx1c3Bs
dXMKIH0K
</data>
<flag name="review"
          id="76174"
          type_id="1"
          status="-"
          setter="tonikitoo"
    />
    <flag name="commit-queue"
          id="76175"
          type_id="3"
          status="-"
          setter="tonikitoo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92560</attachid>
            <date>2011-05-06 01:26:18 -0700</date>
            <delta_ts>2011-05-12 01:03:27 -0700</delta_ts>
            <desc>updated patch</desc>
            <filename>WebKit-Efl-HTML_Saving_feature.patch</filename>
            <type>text/plain</type>
            <size>6546</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA0ZmMzOGU1Li5hZWE5YTU0IDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTEtMDUtMDYgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWpr
b3dza2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW0VGTF0gSFRNTCBTYXZpbmcgZmVhdHVyZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTU0NTUKKworICAgICAgICBHZXRzIGEgc291
cmNlIG9mIHBhZ2UuCisgICAgICAgIEdldHMgbG9jYXRpb24gb2YgcmVzb3VyY2VzLiBDdXJyZW50
bHkgb25seSBpbWFnZXMgYXJlIHN1cHBvcnRlZC4KKyAgICAgICAgVE9ETzoKKyAgICAgICAgMS4g
U3VwcG9ydCBvdGhlcnMgcmVzb3VyY2VzIChjc3MsIHBsdWdpbnMsIG1lZGlhIGZpbGVzKS4KKyAg
ICAgICAgMi4gSFRNTCB0YWcgc2hvdWxkIGJlIGV4dHJhY3RlZCBmcm9tIHdlYmtpdC4KKworICAg
ICAgICAqIGV3ay9ld2tfZnJhbWUuY3BwOgorICAgICAgICAoZXdrX2ZyYW1lX3NvdXJjZV9nZXQp
OgorICAgICAgICAoZXdrX2ZyYW1lX3Jlc291cmNlc19sb2NhdGlvbl9nZXQpOgorICAgICAgICAq
IGV3ay9ld2tfZnJhbWUuaDoKKwogMjAxMS0wNC0yOCAgS2FtaWwgQmxhbmsgIDxrLmJsYW5rQHNh
bXN1bmcuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFudG9uaW8gR29tZXMuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcCBiL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfZnJhbWUuY3BwCmluZGV4IDRlNTJiNTYuLjNlNTNhNjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfZnJhbWUuY3BwCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiZXdrX2ZyYW1lLmgiCiAKKyNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgog
I2luY2x1ZGUgIkRvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkVXZWJLaXQu
aCIKICNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKQEAgLTMxLDExICszMiwxNSBAQAogI2luY2x1
ZGUgIkZyYW1lTG9hZGVyQ2xpZW50RWZsLmgiCiAjaW5jbHVkZSAiRnJhbWVUcmVlLmgiCiAjaW5j
bHVkZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiSFRNTENvbGxlY3Rpb24uaCIKKyNpbmNsdWRl
ICJIVE1MSGVhZEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCiAjaW5j
bHVkZSAiSFRNTFBsdWdJbkVsZW1lbnQuaCIKICNpbmNsdWRlICJIaXN0b3J5SXRlbS5oIgogI2lu
Y2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAi
S1VSTC5oIgorI2luY2x1ZGUgIk5vdEZvdW5kLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1LZXlib2Fy
ZEV2ZW50LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiUGxh
dGZvcm1Ub3VjaEV2ZW50LmgiCkBAIC0yMDA1LDYgKzIwMTAsMTAzIEBAIHZvaWQgZXdrX2ZyYW1l
X3ZpZXdfY3JlYXRlX2Zvcl92aWV3KEV2YXNfT2JqZWN0KiBvLCBFdmFzX09iamVjdCogdmlldykK
IH0KIAogLyoqCisgKiBHZXRzIHRoZSBmcmFtZSBzb3VyY2UuCisgKgorICogVGhpcyBpcyBwYXJ0
IG9mIGh0bWwgc2F2aW5nIGZlYXR1cmUuCisgKgorICogQHBhcmFtIG8gZnJhbWUgc21hcnQgb2Jq
ZWN0IHRvIGdldCB0aGUgZnJhbWUgc291cmNlCisgKiBAcGFyYW0gZnJhbWVfc291cmNlIGEgcG9p
bnRlciB0byBzdG9yZSB0aGUgc291cmNlIG9mIGZyYW1lLCB0aGlzIHZhbHVlIEBiIHNob3VsZCBi
ZSBmcmVlZCBhZnRlciB1c2UKKyAqCisgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBvbiBzdWNjZXNz
LCBvciBAYyBFSU5BX0ZBTFNFIG9uIGZhaWx1cmUKKyAqCisgKiBAc2VlIGV3a19mcmFtZV9yZXNv
dXJjZXNfbG9jYXRpb25fZ2V0KCkKKyAqLworRWluYV9Cb29sIGV3a19mcmFtZV9zb3VyY2VfZ2V0
KEV2YXNfT2JqZWN0KiBvLCBjaGFyKiogZnJhbWVfc291cmNlKQoreworICAgIEVXS19GUkFNRV9T
RF9HRVRfT1JfUkVUVVJOKG8sIHNkLCBFSU5BX0ZBTFNFKTsKKyAgICBFSU5BX1NBRkVUWV9PTl9O
VUxMX1JFVFVSTl9WQUwoc2QtPmZyYW1lLCBFSU5BX0ZBTFNFKTsKKyAgICBFSU5BX1NBRkVUWV9P
Tl9OVUxMX1JFVFVSTl9WQUwoc2QtPmZyYW1lLT5kb2N1bWVudCgpLCBFSU5BX0ZBTFNFKTsKKwor
ICAgIGlmICghc2QtPmZyYW1lLT5kb2N1bWVudCgpLT5pc0hUTUxEb2N1bWVudCgpKSB7CisgICAg
ICAgIC8vIEZJWE1FIHN1cHBvcnQgb3RoZXJzIGRvY3VtZW50cworICAgICAgICBXUk4oIk9ubHkg
aHRtbCBkb2N1bWVudHMgYXJlIHN1cHBvcnRlZCIpOworICAgICAgICByZXR1cm4gRUlOQV9GQUxT
RTsKKyAgICB9CisKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoc2QtPmZyYW1l
LT5kb2N1bWVudCgpLT5oZWFkKCksIEVJTkFfRkFMU0UpOworICAgIEVJTkFfU0FGRVRZX09OX05V
TExfUkVUVVJOX1ZBTChzZC0+ZnJhbWUtPmRvY3VtZW50KCktPmJvZHkoKSwgRUlOQV9GQUxTRSk7
CisKKyAgICBXVEY6OlN0cmluZyBzb3VyY2UgPSBXVEY6OlN0cmluZygiPGh0bWw+IikgKyAvLyBG
SVhNRSBodG1sIHRhZyBzaG91bGQgYmUgdGFrZW4gZnJvbSB3ZWJraXQKKyAgICAgICAgc2QtPmZy
YW1lLT5kb2N1bWVudCgpLT5oZWFkKCktPm91dGVySFRNTCgpICsKKyAgICAgICAgc2QtPmZyYW1l
LT5kb2N1bWVudCgpLT5ib2R5KCktPm91dGVySFRNTCgpICsKKyAgICAgICAgV1RGOjpTdHJpbmco
IjwvaHRtbD4iKTsKKworICAgIHNpemVfdCBzb3VyY2VfbGVuZ3RoID0gc3RybGVuKHNvdXJjZS51
dGY4KCkuZGF0YSgpKTsKKyAgICAqZnJhbWVfc291cmNlID0gc3RhdGljX2Nhc3Q8Y2hhcio+ICht
YWxsb2Moc2l6ZW9mKGNoYXIpICogc291cmNlX2xlbmd0aCArIDEpKTsKKyAgICBpZiAoISpmcmFt
ZV9zb3VyY2UpCisgICAgICAgIHJldHVybiBFSU5BX0ZBTFNFOworICAgIHN0cm5jcHkoKmZyYW1l
X3NvdXJjZSwgc291cmNlLnV0ZjgoKS5kYXRhKCksIHNvdXJjZV9sZW5ndGgpOworICAgICgqZnJh
bWVfc291cmNlKVtzb3VyY2VfbGVuZ3RoXSA9ICdcMCc7CisKKyAgICByZXR1cm4gRUlOQV9UUlVF
OworfQorCisvKioKKyAqIEdldHMgdGhlIHJlc291cmNlIGxpc3Qgb2YgdGhpcyBmcmFtZS4KKyAq
CisgKiBUaGlzIGlzIHBhcnQgb2YgaHRtbCBzYXZpbmcgZmVhdHVyZS4KKyAqIEN1cnJlbnRseSBv
bmx5IGxvY2F0aW9uIG9mIGltYWdlcyBhcmUgc3VwcG9ydGVkLiBBbiBhcHBsaWNhdGlvbiBjYW4g
ZmluZCB0aGVzZSB2YWx1ZXMKKyAqIGluIGZyYW1lIHNvdXJjZSBhbmQgcmVwbGFjZSB0aGVtIHRv
IHRoZSBsb2NhbCBwYXRocy4gVmFsdWVzIGFyZSBub3QgZHVwbGljYXRlZC4KKyAqCisgKiBAcGFy
YW0gbyBmcmFtZSBzbWFydCBvYmplY3QgdG8gZ2V0IHRoZSByZXNvdXJjZXMgbGlzdAorICogQHBh
cmFtIGxpc3Rfc2l6ZSBhIHBvaW50ZXIgdG8gc3RvcmUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHJl
c291cmNlc19sb2NhdGlvbl9saXN0LCBtYXkgYmUgQGMgMAorICogQHBhcmFtIHJlc291cmNlc19s
b2NhdGlvbl9saXN0IGEgcG9pbnRlciB0byBzdG9yZSBhIGxpc3Qgd2l0aCBVUkwgb2YgcmVzb3Vy
Y2VzCisgKgorICogQHJldHVybiBAYyBFSU5BX1RSVUUgb24gc3VjY2Vzcywgb3IgQGMgRUlOQV9G
QUxTRSBvbiBmYWlsdXJlCisgKgorICogQHNlZSBld2tfZnJhbWVfc291cmNlX2dldCgpCisgKi8K
K0VpbmFfQm9vbCBld2tfZnJhbWVfcmVzb3VyY2VzX2xvY2F0aW9uX2dldChFdmFzX09iamVjdCog
bywgY2hhcioqKiByZXNvdXJjZXNfbG9jYXRpb25fbGlzdCwgdW5zaWduZWQqIGxpc3Rfc2l6ZSkK
K3sKKyAgICBpZiAobGlzdF9zaXplKQorICAgICAgICAqbGlzdF9zaXplID0gMDsKKworICAgIEVX
S19GUkFNRV9TRF9HRVRfT1JfUkVUVVJOKG8sIHNkLCBFSU5BX0ZBTFNFKTsKKyAgICBFSU5BX1NB
RkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoc2QtPmZyYW1lLCBFSU5BX0ZBTFNFKTsKKyAgICBFSU5B
X1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoc2QtPmZyYW1lLT5kb2N1bWVudCgpLCBFSU5BX0ZB
TFNFKTsKKworICAgIC8vIEdldHMgc3JjIGF0dGlidXRlIG9mIGltYWdlcyBhbmQgc2F2ZXMgdGhl
bSB0byByZXNvdXJjZXNMb2NhdGlvbi4KKyAgICBSZWZQdHI8V2ViQ29yZTo6SFRNTENvbGxlY3Rp
b24+IGltYWdlcyA9IHNkLT5mcmFtZS0+ZG9jdW1lbnQoKS0+aW1hZ2VzKCk7CisgICAgVmVjdG9y
PFdURjo6U3RyaW5nPiByZXNvdXJjZXNMb2NhdGlvbjsKKyAgICBmb3IgKHVuc2lnbmVkIGluZGV4
ID0gMDsgaW5kZXggPCBpbWFnZXMtPmxlbmd0aCgpOyArK2luZGV4KSB7CisgICAgICAgIFdlYkNv
cmU6OkhUTUxJbWFnZUVsZW1lbnQqIGltYWdlRWxlbWVudCA9IHN0YXRpY19jYXN0PFdlYkNvcmU6
OkhUTUxJbWFnZUVsZW1lbnQqPiAoaW1hZ2VzLT5pdGVtKGluZGV4KSk7CisgICAgICAgIGlmICgh
aW1hZ2VFbGVtZW50IHx8IGltYWdlRWxlbWVudC0+c3JjKCkuaXNOdWxsKCkpCisgICAgICAgICAg
ICBjb250aW51ZTsKKworICAgICAgICBXVEY6OlN0cmluZyBzcmNPZkltYWdlID0gaW1hZ2VFbGVt
ZW50LT5zcmMoKS5wcmV0dHlVUkwoKTsKKyAgICAgICAgaWYgKHJlc291cmNlc0xvY2F0aW9uLmZp
bmQoc3JjT2ZJbWFnZSkgPT0gbm90Rm91bmQpCisgICAgICAgICAgICByZXNvdXJjZXNMb2NhdGlv
bi5hcHBlbmQoc3JjT2ZJbWFnZSk7CisgICAgfQorICAgIC8vIEZJWE1FIGdldCBVUkwgb3RoZXJz
IHJlc291cmNlcyAocGx1Z2lucywgY3NzLCBtZWRpYSBmaWxlcykKKworICAgIC8vIENvcGllcyB2
YWx1ZXMgb2YgJ3Jlc291cmNlc0xvY2F0aW9uJyB0byB0aGUgdGhlIGxvY2FsIGxpc3QgZmlyc3Qu
CisgICAgY2hhcioqIGxvY2FsX3Jlc291cmNlX2xpc3QgPSAoY2hhciAqKikgbWFsbG9jKHNpemVv
ZihjaGFyICopICogcmVzb3VyY2VzTG9jYXRpb24uc2l6ZSgpKTsKKyAgICBFSU5BX1NBRkVUWV9P
Tl9OVUxMX1JFVFVSTl9WQUwobG9jYWxfcmVzb3VyY2VfbGlzdCwgRUlOQV9GQUxTRSk7CisgICAg
Zm9yICh1bnNpZ25lZCBpbmRleCA9IDA7IGluZGV4IDwgcmVzb3VyY2VzTG9jYXRpb24uc2l6ZSgp
OyArK2luZGV4KSB7CisgICAgICAgIGxvY2FsX3Jlc291cmNlX2xpc3RbaW5kZXhdID0gc3RhdGlj
X2Nhc3Q8Y2hhcio+IChtYWxsb2Moc2l6ZW9mKGNoYXIpICogcmVzb3VyY2VzTG9jYXRpb25baW5k
ZXhdLmxlbmd0aCgpICsgMSkpOworICAgICAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9W
QUwobG9jYWxfcmVzb3VyY2VfbGlzdFtpbmRleF0sIEVJTkFfRkFMU0UpOworICAgICAgICBzdHJj
cHkobG9jYWxfcmVzb3VyY2VfbGlzdFtpbmRleF0sIHJlc291cmNlc0xvY2F0aW9uW2luZGV4XS51
dGY4KCkuZGF0YSgpKTsKKyAgICB9CisKKyAgICAqcmVzb3VyY2VzX2xvY2F0aW9uX2xpc3QgPSBs
b2NhbF9yZXNvdXJjZV9saXN0OworICAgIGlmIChsaXN0X3NpemUpCisgICAgICAgICpsaXN0X3Np
emUgPSByZXNvdXJjZXNMb2NhdGlvbi5zaXplKCk7CisKKyAgICByZXR1cm4gRUlOQV9UUlVFOwor
fQorCisKKy8qKgogICogQGludGVybmFsCiAgKiBSZXBvcnRzIHVyaSBjaGFuZ2VkIGFuZCBzd2Fw
IGludGVybmFsIHN0cmluZyByZWZlcmVuY2UuCiAgKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19mcmFtZS5oIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5o
CmluZGV4IGI4NGZjMjUuLjMxODU2ZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfZnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKQEAg
LTIyMiw2ICsyMjIsOCBAQCBFQVBJIEVpbmFfQm9vbCAgICBld2tfZnJhbWVfZmVlZF90b3VjaF9l
dmVudChFdmFzX09iamVjdCogbywgRXdrX1RvdWNoX0V2ZW50X1R5cAogRUFQSSBFaW5hX0Jvb2wg
ICAgZXdrX2ZyYW1lX2ZlZWRfa2V5X2Rvd24oRXZhc19PYmplY3QgKm8sIGNvbnN0IEV2YXNfRXZl
bnRfS2V5X0Rvd24gKmV2KTsKIEVBUEkgRWluYV9Cb29sICAgIGV3a19mcmFtZV9mZWVkX2tleV91
cChFdmFzX09iamVjdCAqbywgY29uc3QgRXZhc19FdmVudF9LZXlfVXAgKmV2KTsKIAorRUFQSSBF
aW5hX0Jvb2wgICAgZXdrX2ZyYW1lX3NvdXJjZV9nZXQoRXZhc19PYmplY3QqIG8sIGNoYXIqKiBm
cmFtZV9zb3VyY2UpOworRUFQSSBFaW5hX0Jvb2wgICAgZXdrX2ZyYW1lX3Jlc291cmNlc19sb2Nh
dGlvbl9nZXQoRXZhc19PYmplY3QqIG8sIGNoYXIqKiogcmVzb3VyY2VzX2xvY2F0aW9uX2xpc3Qs
IHVuc2lnbmVkKiBsaXN0X3NpemUpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93264</attachid>
            <date>2011-05-12 01:03:27 -0700</date>
            <delta_ts>2011-05-12 07:55:56 -0700</delta_ts>
            <desc>Efl&apos;s coding rules are used</desc>
            <filename>WebKit-Efl-HTML_Saving_feature.patch</filename>
            <type>text/plain</type>
            <size>6830</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA1OTJmM2M5Li4yZTE4ZjUwIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTEtMDUtMTIgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWpr
b3dza2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW0VGTF0gSFRNTCBTYXZpbmcgZmVhdHVyZS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1NDU1CisKKyAgICAgICAgR2V0cyBhIHNv
dXJjZSBvZiBwYWdlLgorICAgICAgICBHZXRzIGxvY2F0aW9uIG9mIHJlc291cmNlcy4gQ3VycmVu
dGx5IG9ubHkgaW1hZ2VzIGFyZSBzdXBwb3J0ZWQuCisgICAgICAgIFRPRE86CisgICAgICAgIDEu
IFN1cHBvcnQgb3RoZXJzIHJlc291cmNlcyAoY3NzLCBwbHVnaW5zLCBtZWRpYSBmaWxlcykuCisg
ICAgICAgIDIuIEhUTUwgdGFnIHNob3VsZCBiZSBleHRyYWN0ZWQgZnJvbSB3ZWJraXQuCisgICAg
ICAgIDMuIE9ubHkgSFRNTCBkb2N1bWVudHMgYXJlIHN1cHBvcnRlZC4KKworICAgICAgICAqIGV3
ay9ld2tfZnJhbWUuY3BwOgorICAgICAgICAoZXdrX2ZyYW1lX3NvdXJjZV9nZXQpOgorICAgICAg
ICAoZXdrX2ZyYW1lX3Jlc291cmNlc19sb2NhdGlvbl9nZXQpOgorICAgICAgICAqIGV3ay9ld2tf
ZnJhbWUuaDoKKwogMjAxMS0wNS0xMSAgVG9tYXN6IE1vcmF3c2tpICA8dC5tb3Jhd3NraUBzYW1z
dW5nLmNvbT4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBEYW5pZWwgQmF0ZXMuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcCBiL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCmluZGV4IDRlNTJiNTYuLjc1MjE4OGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCkBAIC0yNCw2ICsyNCw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiZXdrX2ZyYW1lLmgiCiAKKyNpbmNsdWRlICJDYWNoZWRJbWFnZS5o
IgogI2luY2x1ZGUgIkRvY3VtZW50TWFya2VyQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkVXZWJL
aXQuaCIKICNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKQEAgLTMxLDExICszMiwxNSBAQAogI2lu
Y2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50RWZsLmgiCiAjaW5jbHVkZSAiRnJhbWVUcmVlLmgiCiAj
aW5jbHVkZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiSFRNTENvbGxlY3Rpb24uaCIKKyNpbmNs
dWRlICJIVE1MSGVhZEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSFRNTFBsdWdJbkVsZW1lbnQuaCIKICNpbmNsdWRlICJIaXN0b3J5SXRlbS5oIgog
I2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVk
ZSAiS1VSTC5oIgorI2luY2x1ZGUgIk5vdEZvdW5kLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1LZXli
b2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1Ub3VjaEV2ZW50LmgiCkBAIC0yMDA1LDYgKzIwMTAsMTA3IEBAIHZvaWQgZXdrX2Zy
YW1lX3ZpZXdfY3JlYXRlX2Zvcl92aWV3KEV2YXNfT2JqZWN0KiBvLCBFdmFzX09iamVjdCogdmll
dykKIH0KIAogLyoqCisgKiBHZXRzIHRoZSBmcmFtZSBzb3VyY2UuCisgKgorICogVGhpcyBpcyBw
YXJ0IG9mIGh0bWwgc2F2aW5nIGZlYXR1cmUuCisgKgorICogQHBhcmFtIG8gZnJhbWUgc21hcnQg
b2JqZWN0IHRvIGdldCB0aGUgZnJhbWUgc291cmNlCisgKiBAcGFyYW0gZnJhbWVfc291cmNlIGEg
cG9pbnRlciB0byBzdG9yZSB0aGUgc291cmNlIG9mIGZyYW1lLCB0aGlzIHZhbHVlIEBiIHNob3Vs
ZCBiZSBmcmVlZCBhZnRlciB1c2UKKyAqCisgKiBAcmV0dXJuIEBjIEVJTkFfVFJVRSBvbiBzdWNj
ZXNzLCBvciBAYyBFSU5BX0ZBTFNFIG9uIGZhaWx1cmUKKyAqCisgKiBAc2VlIGV3a19mcmFtZV9y
ZXNvdXJjZXNfbG9jYXRpb25fZ2V0KCkKKyAqLworRWluYV9Cb29sIGV3a19mcmFtZV9zb3VyY2Vf
Z2V0KEV2YXNfT2JqZWN0KiBvLCBjaGFyKiogZnJhbWVfc291cmNlKQoreworICAgICpmcmFtZV9z
b3VyY2UgPSAwOyAvLyBTYXZlcyAwIHRvIHBvaW50ZXIgdW50aWwgaXQncyBub3QgYWxsb2NhdGVk
LgorICAgIEVXS19GUkFNRV9TRF9HRVRfT1JfUkVUVVJOKG8sIHNkLCBFSU5BX0ZBTFNFKTsKKyAg
ICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoc2QtPmZyYW1lLCBFSU5BX0ZBTFNFKTsK
KyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoc2QtPmZyYW1lLT5kb2N1bWVudCgp
LCBFSU5BX0ZBTFNFKTsKKworICAgIGlmICghc2QtPmZyYW1lLT5kb2N1bWVudCgpLT5pc0hUTUxE
b2N1bWVudCgpKSB7CisgICAgICAgIC8vIEZJWE1FIFN1cHBvcnQgb3RoZXJzIGRvY3VtZW50cy4K
KyAgICAgICAgV1JOKCJPbmx5IGh0bWwgZG9jdW1lbnRzIGFyZSBzdXBwb3J0ZWQiKTsKKyAgICAg
ICAgcmV0dXJuIEVJTkFfRkFMU0U7CisgICAgfQorCisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9S
RVRVUk5fVkFMKHNkLT5mcmFtZS0+ZG9jdW1lbnQoKS0+aGVhZCgpLCBFSU5BX0ZBTFNFKTsKKyAg
ICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoc2QtPmZyYW1lLT5kb2N1bWVudCgpLT5i
b2R5KCksIEVJTkFfRkFMU0UpOworCisgICAgV1RGOjpTdHJpbmcgc291cmNlID0gV1RGOjpTdHJp
bmcoIjxodG1sPiIpICsgLy8gRklYTUUgSHRtbCB0YWcgc2hvdWxkIGJlIHRha2VuIGZyb20gd2Vi
a2l0LgorICAgICAgICBzZC0+ZnJhbWUtPmRvY3VtZW50KCktPmhlYWQoKS0+b3V0ZXJIVE1MKCkg
KworICAgICAgICBzZC0+ZnJhbWUtPmRvY3VtZW50KCktPmJvZHkoKS0+b3V0ZXJIVE1MKCkgKwor
ICAgICAgICBXVEY6OlN0cmluZygiPC9odG1sPiIpOworCisgICAgc2l6ZV90IHNvdXJjZV9sZW5n
dGggPSBzdHJsZW4oc291cmNlLnV0ZjgoKS5kYXRhKCkpOworICAgICpmcmFtZV9zb3VyY2UgPSBz
dGF0aWNfY2FzdDxjaGFyKj4gKG1hbGxvYyhzaXplb2YoY2hhcikgKiBzb3VyY2VfbGVuZ3RoICsg
MSkpOworICAgIGlmICghKmZyYW1lX3NvdXJjZSkKKyAgICAgICAgcmV0dXJuIEVJTkFfRkFMU0U7
CisgICAgc3RybmNweSgqZnJhbWVfc291cmNlLCBzb3VyY2UudXRmOCgpLmRhdGEoKSwgc291cmNl
X2xlbmd0aCk7CisgICAgKCpmcmFtZV9zb3VyY2UpW3NvdXJjZV9sZW5ndGhdID0gJ1wwJzsKKwor
ICAgIHJldHVybiBFSU5BX1RSVUU7Cit9CisKKy8qKgorICogR2V0cyB0aGUgcmVzb3VyY2UgbGlz
dCBvZiB0aGlzIGZyYW1lLgorICoKKyAqIFRoaXMgaXMgcGFydCBvZiBodG1sIHNhdmluZyBmZWF0
dXJlLgorICogQ3VycmVudGx5IG9ubHkgbG9jYXRpb24gb2YgaW1hZ2VzIGFyZSBzdXBwb3J0ZWQu
IEFuIGFwcGxpY2F0aW9uIGNhbiBmaW5kIHRoZXNlIHZhbHVlcworICogaW4gZnJhbWUgc291cmNl
IGFuZCByZXBsYWNlIHRoZW0gdG8gdGhlIGxvY2FsIHBhdGhzLiBWYWx1ZXMgYXJlIG5vdCBkdXBs
aWNhdGVkLgorICoKKyAqIEBwYXJhbSBvIGZyYW1lIHNtYXJ0IG9iamVjdCB0byBnZXQgdGhlIHJl
c291cmNlcyBsaXN0CisgKiBAcGFyYW0gbGlzdF9jb3VudCBhIHBvaW50ZXIgdG8gc3RvcmUgbnVt
YmVyIG9mIGVsZW1lbnRzIGluIHJlc291cmNlc19sb2NhdGlvbl9saXN0LCBtYXkgYmUgQGMgMAor
ICogQHBhcmFtIHJlc291cmNlc19sb2NhdGlvbl9saXN0IGEgcG9pbnRlciB0byBzdG9yZSBhIGxp
c3Qgd2l0aCBVUkwgb2YgcmVzb3VyY2VzCisgKgorICogQHJldHVybiBAYyBFSU5BX1RSVUUgb24g
c3VjY2Vzcywgb3IgQGMgRUlOQV9GQUxTRSBvbiBmYWlsdXJlCisgKgorICogQHNlZSBld2tfZnJh
bWVfc291cmNlX2dldCgpCisgKi8KK0VpbmFfQm9vbCBld2tfZnJhbWVfcmVzb3VyY2VzX2xvY2F0
aW9uX2dldChFdmFzX09iamVjdCogbywgY2hhcioqKiByZXNvdXJjZXNfbG9jYXRpb25fbGlzdCwg
dW5zaWduZWQqIGxpc3RfY291bnQpCit7CisgICAgLy8gU2F2ZXMgc2FmdHkgdmFsdWVzIHRvIHRo
ZSBvdXRwdXQgcGFyYW1ldGVycy4KKyAgICAqcmVzb3VyY2VzX2xvY2F0aW9uX2xpc3QgPSAwOwor
ICAgIGlmIChsaXN0X2NvdW50KQorICAgICAgICAqbGlzdF9jb3VudCA9IDA7CisgICAgRVdLX0ZS
QU1FX1NEX0dFVF9PUl9SRVRVUk4obywgc2QsIEVJTkFfRkFMU0UpOworICAgIEVJTkFfU0FGRVRZ
X09OX05VTExfUkVUVVJOX1ZBTChzZC0+ZnJhbWUsIEVJTkFfRkFMU0UpOworICAgIEVJTkFfU0FG
RVRZX09OX05VTExfUkVUVVJOX1ZBTChzZC0+ZnJhbWUtPmRvY3VtZW50KCksIEVJTkFfRkFMU0Up
OworCisgICAgLy8gR2V0cyBzcmMgYXR0aWJ1dGUgb2YgaW1hZ2VzIGFuZCBzYXZlcyB0aGVtIHRv
IGltYWdlc19sb2NhdGlvbi4KKyAgICBSZWZQdHI8V2ViQ29yZTo6SFRNTENvbGxlY3Rpb24+IGlt
YWdlcyA9IHNkLT5mcmFtZS0+ZG9jdW1lbnQoKS0+aW1hZ2VzKCk7CisgICAgVmVjdG9yPFdURjo6
U3RyaW5nPiBpbWFnZXNfbG9jYXRpb247CisgICAgZm9yICh1bnNpZ25lZCBpbmRleCA9IDA7IGlu
ZGV4IDwgaW1hZ2VzLT5sZW5ndGgoKTsgKytpbmRleCkgeworICAgICAgICBXZWJDb3JlOjpIVE1M
SW1hZ2VFbGVtZW50KiBpbWFnZUVsZW1lbnQgPSBzdGF0aWNfY2FzdDxXZWJDb3JlOjpIVE1MSW1h
Z2VFbGVtZW50Kj4gKGltYWdlcy0+aXRlbShpbmRleCkpOworICAgICAgICBpZiAoIWltYWdlRWxl
bWVudCB8fCBpbWFnZUVsZW1lbnQtPnNyYygpLmlzTnVsbCgpKQorICAgICAgICAgICAgY29udGlu
dWU7CisKKyAgICAgICAgV1RGOjpTdHJpbmcgaW1hZ2VfdXJsID0gaW1hZ2VFbGVtZW50LT5zcmMo
KS5wcmV0dHlVUkwoKTsKKyAgICAgICAgaWYgKGltYWdlc19sb2NhdGlvbi5maW5kKGltYWdlX3Vy
bCkgPT0gbm90Rm91bmQpCisgICAgICAgICAgICBpbWFnZXNfbG9jYXRpb24uYXBwZW5kKGltYWdl
X3VybCk7CisgICAgfQorICAgIC8vIEZJWE1FIEdldCBVUkwgb3RoZXJzIHJlc291cmNlcyAocGx1
Z2lucywgY3NzLCBtZWRpYSBmaWxlcykuCisgICAgVmVjdG9yPFdURjo6U3RyaW5nPiByZXNvdXJj
ZXNfbG9jYXRpb24gPSBpbWFnZXNfbG9jYXRpb247CisgICAgdW5zaWduZWQgcmVzb3VyY2VzX2Nv
dW50ID0gaW1hZ2VzX2xvY2F0aW9uLnNpemUoKTsKKworICAgIC8vIENvcGllcyB2YWx1ZXMgb2Yg
cmVzb3VyY2VzX2xvY2F0aW9uIHRvIHRoZSB0aGUgdGVtcG9yYXJ5IGxpc3QgdG8gYXZvaWQgcG9p
bnRlcnMgY29udmVyc2lvbnMuCisgICAgY2hhcioqIHRtcF9saXN0ID0gc3RhdGljX2Nhc3Q8Y2hh
cioqPiAobWFsbG9jKHNpemVvZihjaGFyICopICogcmVzb3VyY2VzX2NvdW50KSk7CisgICAgRUlO
QV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHRtcF9saXN0LCBFSU5BX0ZBTFNFKTsKKyAgICBm
b3IgKHVuc2lnbmVkIGluZGV4ID0gMDsgaW5kZXggPCByZXNvdXJjZXNfY291bnQ7ICsraW5kZXgp
IHsKKyAgICAgICAgdG1wX2xpc3RbaW5kZXhdID0gc3RhdGljX2Nhc3Q8Y2hhcio+IChtYWxsb2Mo
c2l6ZW9mKGNoYXIpICogcmVzb3VyY2VzX2xvY2F0aW9uW2luZGV4XS5sZW5ndGgoKSArIDEpKTsK
KyAgICAgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHRtcF9saXN0W2luZGV4XSwg
RUlOQV9GQUxTRSk7CisgICAgICAgIHN0cmNweSh0bXBfbGlzdFtpbmRleF0sIHJlc291cmNlc19s
b2NhdGlvbltpbmRleF0udXRmOCgpLmRhdGEoKSk7CisgICAgfQorCisgICAgKnJlc291cmNlc19s
b2NhdGlvbl9saXN0ID0gdG1wX2xpc3Q7CisgICAgaWYgKGxpc3RfY291bnQpCisgICAgICAgICps
aXN0X2NvdW50ID0gcmVzb3VyY2VzX2NvdW50OworCisgICAgcmV0dXJuIEVJTkFfVFJVRTsKK30K
KworCisvKioKICAqIEBpbnRlcm5hbAogICogUmVwb3J0cyB1cmkgY2hhbmdlZCBhbmQgc3dhcCBp
bnRlcm5hbCBzdHJpbmcgcmVmZXJlbmNlLgogICoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
ZWZsL2V3ay9ld2tfZnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaApp
bmRleCBiODRmYzI1Li40ODc4YzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2sv
ZXdrX2ZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oCkBAIC0y
MjIsNiArMjIyLDggQEAgRUFQSSBFaW5hX0Jvb2wgICAgZXdrX2ZyYW1lX2ZlZWRfdG91Y2hfZXZl
bnQoRXZhc19PYmplY3QqIG8sIEV3a19Ub3VjaF9FdmVudF9UeXAKIEVBUEkgRWluYV9Cb29sICAg
IGV3a19mcmFtZV9mZWVkX2tleV9kb3duKEV2YXNfT2JqZWN0ICpvLCBjb25zdCBFdmFzX0V2ZW50
X0tleV9Eb3duICpldik7CiBFQVBJIEVpbmFfQm9vbCAgICBld2tfZnJhbWVfZmVlZF9rZXlfdXAo
RXZhc19PYmplY3QgKm8sIGNvbnN0IEV2YXNfRXZlbnRfS2V5X1VwICpldik7CiAKK0VBUEkgRWlu
YV9Cb29sICAgIGV3a19mcmFtZV9zb3VyY2VfZ2V0KEV2YXNfT2JqZWN0KiBvLCBjaGFyKiogZnJh
bWVfc291cmNlKTsKK0VBUEkgRWluYV9Cb29sICAgIGV3a19mcmFtZV9yZXNvdXJjZXNfbG9jYXRp
b25fZ2V0KEV2YXNfT2JqZWN0KiBvLCBjaGFyKioqIHJlc291cmNlc19sb2NhdGlvbl9saXN0LCB1
bnNpZ25lZCogbGlzdF9jb3VudCk7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQo=
</data>
<flag name="review"
          id="86397"
          type_id="1"
          status="-"
          setter="leandro"
    />
    <flag name="commit-queue"
          id="86398"
          type_id="3"
          status="-"
          setter="leandro"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93287</attachid>
            <date>2011-05-12 07:55:56 -0700</date>
            <delta_ts>2011-05-18 00:35:44 -0700</delta_ts>
            <desc>updated patch according to Leandro&apos;s suggestions</desc>
            <filename>WebKit-Efl-HTML_Saving_feature.patch</filename>
            <type>text/plain</type>
            <size>7257</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA1OTJmM2M5Li4yZTE4ZjUwIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMTEtMDUtMTIgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWpr
b3dza2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW0VGTF0gSFRNTCBTYXZpbmcgZmVhdHVyZS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1NDU1CisKKyAgICAgICAgR2V0cyBhIHNv
dXJjZSBvZiBwYWdlLgorICAgICAgICBHZXRzIGxvY2F0aW9uIG9mIHJlc291cmNlcy4gQ3VycmVu
dGx5IG9ubHkgaW1hZ2VzIGFyZSBzdXBwb3J0ZWQuCisgICAgICAgIFRPRE86CisgICAgICAgIDEu
IFN1cHBvcnQgb3RoZXJzIHJlc291cmNlcyAoY3NzLCBwbHVnaW5zLCBtZWRpYSBmaWxlcykuCisg
ICAgICAgIDIuIEhUTUwgdGFnIHNob3VsZCBiZSBleHRyYWN0ZWQgZnJvbSB3ZWJraXQuCisgICAg
ICAgIDMuIE9ubHkgSFRNTCBkb2N1bWV0cyBhcmUgc3VwcG9ydGVkLgorCisgICAgICAgICogZXdr
L2V3a19mcmFtZS5jcHA6CisgICAgICAgIChld2tfZnJhbWVfc291cmNlX2dldCk6CisgICAgICAg
IChld2tfZnJhbWVfcmVzb3VyY2VzX2xvY2F0aW9uX2dldCk6CisgICAgICAgICogZXdrL2V3a19m
cmFtZS5oOgorCiAyMDExLTA1LTExICBUb21hc3ogTW9yYXdza2kgIDx0Lm1vcmF3c2tpQHNhbXN1
bmcuY29tPgogCiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IERhbmllbCBCYXRlcy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwIGIvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKaW5kZXggNGU1MmI1Ni4uNTg1NmNlYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJld2tfZnJhbWUuaCIKIAorI2luY2x1ZGUgIkNhY2hlZEltYWdlLmgi
CiAjaW5jbHVkZSAiRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRVdlYktp
dC5oIgogI2luY2x1ZGUgIkV2ZW50SGFuZGxlci5oIgpAQCAtMzEsMTEgKzMyLDE1IEBACiAjaW5j
bHVkZSAiRnJhbWVMb2FkZXJDbGllbnRFZmwuaCIKICNpbmNsdWRlICJGcmFtZVRyZWUuaCIKICNp
bmNsdWRlICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRlICJIVE1MQ29sbGVjdGlvbi5oIgorI2luY2x1
ZGUgIkhUTUxIZWFkRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MUGx1Z0luRWxlbWVudC5oIgogI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCiAj
aW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgogI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRl
ICJLVVJMLmgiCisjaW5jbHVkZSAiTm90Rm91bmQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUtleWJv
YXJkRXZlbnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJQ
bGF0Zm9ybVRvdWNoRXZlbnQuaCIKQEAgLTIwMDUsNiArMjAxMCwxMTggQEAgdm9pZCBld2tfZnJh
bWVfdmlld19jcmVhdGVfZm9yX3ZpZXcoRXZhc19PYmplY3QqIG8sIEV2YXNfT2JqZWN0KiB2aWV3
KQogfQogCiAvKioKKyAqIEdldHMgdGhlIGZyYW1lIHNvdXJjZS4KKyAqCisgKiBUaGlzIGlzIHBh
cnQgb2YgaHRtbCBzYXZpbmcgZmVhdHVyZS4KKyAqCisgKiBAcGFyYW0gbyBmcmFtZSBzbWFydCBv
YmplY3QgdG8gZ2V0IHRoZSBmcmFtZSBzb3VyY2UKKyAqIEBwYXJhbSBmcmFtZV9zb3VyY2UgYSBw
b2ludGVyIHRvIHN0b3JlIHRoZSBzb3VyY2Ugb2YgZnJhbWUsIHRoaXMgdmFsdWUgQGIgc2hvdWxk
IGJlIGZyZWVkIGFmdGVyIHVzZQorICoKKyAqIEByZXR1cm4gQGMgRUlOQV9UUlVFIG9uIHN1Y2Nl
c3MsIG9yIEBjIEVJTkFfRkFMU0Ugb24gZmFpbHVyZQorICoKKyAqIEBzZWUgZXdrX2ZyYW1lX3Jl
c291cmNlc19sb2NhdGlvbl9nZXQoKQorICovCitFaW5hX0Jvb2wgZXdrX2ZyYW1lX3NvdXJjZV9n
ZXQoRXZhc19PYmplY3QqIG8sIGNoYXIqKiBmcmFtZV9zb3VyY2UpCit7CisgICAgRVdLX0ZSQU1F
X1NEX0dFVF9PUl9SRVRVUk4obywgc2QsIEVJTkFfRkFMU0UpOworICAgIEVJTkFfU0FGRVRZX09O
X05VTExfUkVUVVJOX1ZBTChzZC0+ZnJhbWUsIEVJTkFfRkFMU0UpOworICAgIEVJTkFfU0FGRVRZ
X09OX05VTExfUkVUVVJOX1ZBTChzZC0+ZnJhbWUtPmRvY3VtZW50KCksIEVJTkFfRkFMU0UpOwor
ICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChmcmFtZV9zb3VyY2UsIEVJTkFfRkFM
U0UpOworICAgICpmcmFtZV9zb3VyY2UgPSAwOyAvLyBTYXZlcyAwIHRvIHBvaW50ZXIgdW50aWwg
aXQncyBub3QgYWxsb2NhdGVkLgorCisgICAgaWYgKCFzZC0+ZnJhbWUtPmRvY3VtZW50KCktPmlz
SFRNTERvY3VtZW50KCkpIHsKKyAgICAgICAgLy8gRklYTUUgU3VwcG9ydCBvdGhlcnMgZG9jdW1l
bnRzLgorICAgICAgICBXUk4oIk9ubHkgaHRtbCBkb2N1bWVudHMgYXJlIHN1cHBvcnRlZCIpOwor
ICAgICAgICByZXR1cm4gRUlOQV9GQUxTRTsKKyAgICB9CisKKyAgICBFSU5BX1NBRkVUWV9PTl9O
VUxMX1JFVFVSTl9WQUwoc2QtPmZyYW1lLT5kb2N1bWVudCgpLT5oZWFkKCksIEVJTkFfRkFMU0Up
OworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChzZC0+ZnJhbWUtPmRvY3VtZW50
KCktPmJvZHkoKSwgRUlOQV9GQUxTRSk7CisKKyAgICBXVEY6OlN0cmluZyBzb3VyY2UgPSBXVEY6
OlN0cmluZygiPGh0bWw+IikgKyAvLyBGSVhNRSBIdG1sIHRhZyBzaG91bGQgYmUgdGFrZW4gZnJv
bSB3ZWJraXQuCisgICAgICAgIHNkLT5mcmFtZS0+ZG9jdW1lbnQoKS0+aGVhZCgpLT5vdXRlckhU
TUwoKSArCisgICAgICAgIHNkLT5mcmFtZS0+ZG9jdW1lbnQoKS0+Ym9keSgpLT5vdXRlckhUTUwo
KSArCisgICAgICAgIFdURjo6U3RyaW5nKCI8L2h0bWw+Iik7CisKKyAgICBzaXplX3Qgc291cmNl
X2xlbmd0aCA9IHN0cmxlbihzb3VyY2UudXRmOCgpLmRhdGEoKSk7CisgICAgKmZyYW1lX3NvdXJj
ZSA9IHN0YXRpY19jYXN0PGNoYXIqPiAobWFsbG9jKHNpemVvZihjaGFyKSAqIHNvdXJjZV9sZW5n
dGggKyAxKSk7CisgICAgaWYgKCEqZnJhbWVfc291cmNlKSB7CisgICAgICAgIENSSVRJQ0FMKCJD
b3VsZCBub3QgYWxsb2NhdGUgbWVtb3J5LiIpOworICAgICAgICByZXR1cm4gRUlOQV9GQUxTRTsK
KyAgICB9CisgICAgc3RybmNweSgqZnJhbWVfc291cmNlLCBzb3VyY2UudXRmOCgpLmRhdGEoKSwg
c291cmNlX2xlbmd0aCk7CisgICAgKCpmcmFtZV9zb3VyY2UpW3NvdXJjZV9sZW5ndGhdID0gJ1ww
JzsKKworICAgIHJldHVybiBFSU5BX1RSVUU7Cit9CisKKy8qKgorICogR2V0cyB0aGUgcmVzb3Vy
Y2UgbGlzdCBvZiB0aGlzIGZyYW1lLgorICoKKyAqIFRoaXMgaXMgcGFydCBvZiBodG1sIHNhdmlu
ZyBmZWF0dXJlLgorICogQ3VycmVudGx5IG9ubHkgbG9jYXRpb24gb2YgaW1hZ2VzIGFyZSBzdXBw
b3J0ZWQuIEFuIGFwcGxpY2F0aW9uIGNhbiBmaW5kIHRoZXNlIHZhbHVlcworICogaW4gZnJhbWUg
c291cmNlIGFuZCByZXBsYWNlIHRoZW0gdG8gdGhlIGxvY2FsIHBhdGhzLiBWYWx1ZXMgYXJlIG5v
dCBkdXBsaWNhdGVkLgorICoKKyAqIEBwYXJhbSBvIGZyYW1lIHNtYXJ0IG9iamVjdCB0byBnZXQg
dGhlIHJlc291cmNlcyBsaXN0CisgKiBAcGFyYW0gbGlzdF9jb3VudCBhIHBvaW50ZXIgdG8gc3Rv
cmUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIHJlc291cmNlc19sb2NhdGlvbl9saXN0LCBtYXkgYmUg
QGMgMAorICogQHBhcmFtIHJlc291cmNlc19sb2NhdGlvbl9saXN0IGEgcG9pbnRlciB0byBzdG9y
ZSBhIGxpc3Qgd2l0aCBVUkwgb2YgcmVzb3VyY2VzCisgKgorICogQHJldHVybiBAYyBFSU5BX1RS
VUUgb24gc3VjY2Vzcywgb3IgQGMgRUlOQV9GQUxTRSBvbiBmYWlsdXJlCisgKgorICogQHNlZSBl
d2tfZnJhbWVfc291cmNlX2dldCgpCisgKi8KK0VpbmFfQm9vbCBld2tfZnJhbWVfcmVzb3VyY2Vz
X2xvY2F0aW9uX2dldChFdmFzX09iamVjdCogbywgY2hhcioqKiByZXNvdXJjZXNfbG9jYXRpb25f
bGlzdCwgdW5zaWduZWQqIGxpc3RfY291bnQpCit7CisgICAgRVdLX0ZSQU1FX1NEX0dFVF9PUl9S
RVRVUk4obywgc2QsIEVJTkFfRkFMU0UpOworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJO
X1ZBTChzZC0+ZnJhbWUsIEVJTkFfRkFMU0UpOworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVU
VVJOX1ZBTChzZC0+ZnJhbWUtPmRvY3VtZW50KCksIEVJTkFfRkFMU0UpOworICAgIEVJTkFfU0FG
RVRZX09OX05VTExfUkVUVVJOX1ZBTChyZXNvdXJjZXNfbG9jYXRpb25fbGlzdCwgRUlOQV9GQUxT
RSk7CisgICAgLy8gU2F2ZXMgc2FmdHkgdmFsdWVzIHRvIHRoZSBvdXRwdXQgcGFyYW1ldGVycy4K
KyAgICAqcmVzb3VyY2VzX2xvY2F0aW9uX2xpc3QgPSAwOworICAgIGlmIChsaXN0X2NvdW50KQor
ICAgICAgICAqbGlzdF9jb3VudCA9IDA7CisKKyAgICAvLyBHZXRzIHNyYyBhdHRpYnV0ZSBvZiBp
bWFnZXMgYW5kIHNhdmVzIHRoZW0gdG8gaW1hZ2VzX2xvY2F0aW9uLgorICAgIFJlZlB0cjxXZWJD
b3JlOjpIVE1MQ29sbGVjdGlvbj4gaW1hZ2VzID0gc2QtPmZyYW1lLT5kb2N1bWVudCgpLT5pbWFn
ZXMoKTsKKyAgICBWZWN0b3I8V1RGOjpTdHJpbmc+IGltYWdlc19sb2NhdGlvbjsKKyAgICBmb3Ig
KHVuc2lnbmVkIGluZGV4ID0gMDsgaW5kZXggPCBpbWFnZXMtPmxlbmd0aCgpOyArK2luZGV4KSB7
CisgICAgICAgIFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQqIGltYWdlRWxlbWVudCA9IHN0YXRp
Y19jYXN0PFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQqPiAoaW1hZ2VzLT5pdGVtKGluZGV4KSk7
CisgICAgICAgIGlmICghaW1hZ2VFbGVtZW50IHx8IGltYWdlRWxlbWVudC0+c3JjKCkuaXNOdWxs
KCkpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBXVEY6OlN0cmluZyBpbWFnZV91
cmwgPSBpbWFnZUVsZW1lbnQtPnNyYygpLnByZXR0eVVSTCgpOworICAgICAgICBpZiAoaW1hZ2Vz
X2xvY2F0aW9uLmZpbmQoaW1hZ2VfdXJsKSA9PSBub3RGb3VuZCkKKyAgICAgICAgICAgIGltYWdl
c19sb2NhdGlvbi5hcHBlbmQoaW1hZ2VfdXJsKTsKKyAgICB9CisgICAgLy8gRklYTUUgR2V0IFVS
TCBvdGhlcnMgcmVzb3VyY2VzIChwbHVnaW5zLCBjc3MsIG1lZGlhIGZpbGVzKS4KKyAgICBWZWN0
b3I8V1RGOjpTdHJpbmc+IHJlc291cmNlc19sb2NhdGlvbiA9IGltYWdlc19sb2NhdGlvbjsKKyAg
ICB1bnNpZ25lZCByZXNvdXJjZXNfY291bnQgPSBpbWFnZXNfbG9jYXRpb24uc2l6ZSgpOworCisg
ICAgLy8gQ29waWVzIHZhbHVlcyBvZiByZXNvdXJjZXNfbG9jYXRpb24gdG8gdGhlIHRoZSB0ZW1w
b3JhcnkgbGlzdCB0byBhdm9pZCBwb2ludGVycyBjb252ZXJzaW9ucy4KKyAgICBjaGFyKiogdG1w
X2xpc3QgPSBzdGF0aWNfY2FzdDxjaGFyKio+IChtYWxsb2Moc2l6ZW9mKGNoYXIqKSAqIHJlc291
cmNlc19jb3VudCkpOworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTCh0bXBfbGlz
dCwgRUlOQV9GQUxTRSk7CisgICAgZm9yICh1bnNpZ25lZCBpbmRleCA9IDA7IGluZGV4IDwgcmVz
b3VyY2VzX2NvdW50OyArK2luZGV4KSB7CisgICAgICAgIGNoYXIqIHJlc291cmNlX2xvY2F0aW9u
ID0gc3RhdGljX2Nhc3Q8Y2hhcio+IChtYWxsb2Moc2l6ZW9mKGNoYXIpICogcmVzb3VyY2VzX2xv
Y2F0aW9uW2luZGV4XS5sZW5ndGgoKSArIDEpKTsKKyAgICAgICAgaWYgKCFyZXNvdXJjZV9sb2Nh
dGlvbikgeworICAgICAgICAgICAgQ1JJVElDQUwoIkNvdWxkIG5vdCBhbGxvY2F0ZSBtZW1vcnku
Iik7CisgICAgICAgICAgICAqcmVzb3VyY2VzX2xvY2F0aW9uX2xpc3QgPSB0bXBfbGlzdDsKKyAg
ICAgICAgICAgIGlmIChsaXN0X2NvdW50KQorICAgICAgICAgICAgICAgICpsaXN0X2NvdW50ID0g
aW5kZXg7CisgICAgICAgICAgICByZXR1cm4gRUlOQV9GQUxTRTsKKyAgICAgICAgfQorICAgICAg
ICBzdHJjcHkocmVzb3VyY2VfbG9jYXRpb24sIHJlc291cmNlc19sb2NhdGlvbltpbmRleF0udXRm
OCgpLmRhdGEoKSk7CisgICAgICAgIHRtcF9saXN0W2luZGV4XSA9IHJlc291cmNlX2xvY2F0aW9u
OworICAgIH0KKworICAgICpyZXNvdXJjZXNfbG9jYXRpb25fbGlzdCA9IHRtcF9saXN0OworICAg
IGlmIChsaXN0X2NvdW50KQorICAgICAgICAqbGlzdF9jb3VudCA9IHJlc291cmNlc19jb3VudDsK
KworICAgIHJldHVybiBFSU5BX1RSVUU7Cit9CisKKworLyoqCiAgKiBAaW50ZXJuYWwKICAqIFJl
cG9ydHMgdXJpIGNoYW5nZWQgYW5kIHN3YXAgaW50ZXJuYWwgc3RyaW5nIHJlZmVyZW5jZS4KICAq
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmggYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKaW5kZXggYjg0ZmMyNS4uNDg3OGM3ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfZnJhbWUuaApAQCAtMjIyLDYgKzIyMiw4IEBAIEVBUEkgRWluYV9Cb29s
ICAgIGV3a19mcmFtZV9mZWVkX3RvdWNoX2V2ZW50KEV2YXNfT2JqZWN0KiBvLCBFd2tfVG91Y2hf
RXZlbnRfVHlwCiBFQVBJIEVpbmFfQm9vbCAgICBld2tfZnJhbWVfZmVlZF9rZXlfZG93bihFdmFz
X09iamVjdCAqbywgY29uc3QgRXZhc19FdmVudF9LZXlfRG93biAqZXYpOwogRUFQSSBFaW5hX0Jv
b2wgICAgZXdrX2ZyYW1lX2ZlZWRfa2V5X3VwKEV2YXNfT2JqZWN0ICpvLCBjb25zdCBFdmFzX0V2
ZW50X0tleV9VcCAqZXYpOwogCitFQVBJIEVpbmFfQm9vbCAgICBld2tfZnJhbWVfc291cmNlX2dl
dChFdmFzX09iamVjdCogbywgY2hhcioqIGZyYW1lX3NvdXJjZSk7CitFQVBJIEVpbmFfQm9vbCAg
ICBld2tfZnJhbWVfcmVzb3VyY2VzX2xvY2F0aW9uX2dldChFdmFzX09iamVjdCogbywgY2hhcioq
KiByZXNvdXJjZXNfbG9jYXRpb25fbGlzdCwgdW5zaWduZWQqIGxpc3RfY291bnQpOwogCiAjaWZk
ZWYgX19jcGx1c3BsdXMKIH0K
</data>
<flag name="review"
          id="86423"
          type_id="1"
          status="-"
          setter="leandro"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93880</attachid>
            <date>2011-05-18 00:35:44 -0700</date>
            <delta_ts>2011-05-23 23:55:53 -0700</delta_ts>
            <desc>updated patch</desc>
            <filename>WebKit-Efl-HTML_Saving_feature.patch</filename>
            <type>text/plain</type>
            <size>6457</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCAzYjMxNTU4Li5mOTM3MzAwIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTEtMDUtMTggIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWpr
b3dza2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW0VGTF0gSFRNTCBTYXZpbmcgZmVhdHVyZS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1NDU1CisKKyAgICAgICAgR2V0IHRoZSBz
b3VyY2UgYW5kIGxvY2F0aW9uIG9mIHJlc291cmNlcyBmb3IgZG9jdW1lbnQuCisgICAgICAgIFRP
RE86CisgICAgICAgIDEuIFN1cHBvcnQgb3RoZXJzIHJlc291cmNlcyAoY3NzLCBwbHVnaW5zLCBt
ZWRpYSBmaWxlcykuCisgICAgICAgIDIuIEN1cnJlbnRseSBvbmx5IEhUTUwgZG9jdW1lbnRzIGFy
ZSBzdXBwb3J0ZWQuCisKKyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmNwcDoKKyAgICAgICAgKGV3
a19mcmFtZV9zb3VyY2VfZ2V0KToKKyAgICAgICAgKGV3a19mcmFtZV9yZXNvdXJjZXNfbG9jYXRp
b25fZ2V0KToKKyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmg6CisKIDIwMTEtMDUtMTEgIEd5dXlv
dW5nIEtpbSAgPGd5dXlvdW5nLmtpbUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBBbnRvbmlvIEdvbWVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19m
cmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcAppbmRleCA0ZTUy
YjU2Li5iZmZiMmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1l
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcApAQCAtMzEsNiAr
MzEsMTAgQEAKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudEVmbC5oIgogI2luY2x1ZGUgIkZy
YW1lVHJlZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkhUTUxDb2xsZWN0
aW9uLmgiCisjaW5jbHVkZSAiSFRNTEhlYWRFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTEltYWdl
RWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxQbHVnSW5F
bGVtZW50LmgiCiAjaW5jbHVkZSAiSGlzdG9yeUl0ZW0uaCIKICNpbmNsdWRlICJIaXRUZXN0UmVz
dWx0LmgiCkBAIC0yMDA1LDYgKzIwMDksMTIyIEBAIHZvaWQgZXdrX2ZyYW1lX3ZpZXdfY3JlYXRl
X2Zvcl92aWV3KEV2YXNfT2JqZWN0KiBvLCBFdmFzX09iamVjdCogdmlldykKIH0KIAogLyoqCisg
KiBHZXRzIHRoZSBmcmFtZSBzb3VyY2UuCisgKgorICogVGhpcyBpcyBwYXJ0IG9mIGh0bWwgc2F2
aW5nIGZlYXR1cmUuIEN1cnJlbnRseSBvbmx5IEhUTUwgZG9jdW1lbnRzIGFyZSBzdXBwb3J0ZWQu
CisgKgorICogQHBhcmFtIG8gZnJhbWUgc21hcnQgb2JqZWN0IHRvIGdldCB0aGUgZnJhbWUgc291
cmNlCisgKiBAcGFyYW0gZnJhbWVfc291cmNlIGEgcG9pbnRlciB0byBzdG9yZSB0aGUgc291cmNl
IG9mIGZyYW1lLAorICogICAgICBtdXN0IEBiIG5vdCBiZSBAMCwgdGhpcyB2YWx1ZSBAYiBzaG91
bGQgYmUgZnJlZWQgYWZ0ZXIgdXNlCisgKgorICogQHJldHVybiBAYyBsZW5ndGggb2YgQGEgZnJh
bWVfc291cmNlIG9uIHN1Y2Nlc3MsIG9yIEBjIC0xIG9uIGZhaWx1cmUKKyAqCisgKiBAc2VlIGV3
a19mcmFtZV9yZXNvdXJjZXNfbG9jYXRpb25fZ2V0KCkKKyAqLworc3NpemVfdCBld2tfZnJhbWVf
c291cmNlX2dldChFdmFzX09iamVjdCogbywgY2hhcioqIGZyYW1lX3NvdXJjZSkKK3sKKyAgICBF
V0tfRlJBTUVfU0RfR0VUX09SX1JFVFVSTihvLCBzZCwgLTEpOworICAgIEVJTkFfU0FGRVRZX09O
X05VTExfUkVUVVJOX1ZBTChzZC0+ZnJhbWUsIC0xKTsKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxM
X1JFVFVSTl9WQUwoc2QtPmZyYW1lLT5kb2N1bWVudCgpLCAtMSk7CisgICAgRUlOQV9TQUZFVFlf
T05fTlVMTF9SRVRVUk5fVkFMKGZyYW1lX3NvdXJjZSwgLTEpOworCisgICAgKmZyYW1lX3NvdXJj
ZSA9IDA7IC8vIFNhdmVzIDAgdG8gcG9pbnRlciB1bnRpbCBpdCdzIG5vdCBhbGxvY2F0ZWQuCisg
ICAgV1RGOjpTdHJpbmcgc291cmNlOworCisgICAgaWYgKCFzZC0+ZnJhbWUtPmRvY3VtZW50KCkt
PmlzSFRNTERvY3VtZW50KCkpIHsKKyAgICAgICAgLy8gRklYTUUgU3VwcG9ydCBvdGhlcnMgZG9j
dW1lbnRzLgorICAgICAgICBXUk4oIk9ubHkgaHRtbCBkb2N1bWVudHMgYXJlIHN1cHBvcnRlZCIp
OworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgLy8gTG9vayBmb3IgPGh0bWw+IHRh
Zy4gSWYgaXQgZXhpc3RzLCB0aGUgbm9kZSBjb250YXRpbnMgYWxsIGRvY3VtZW50J3Mgc291cmNl
LgorICAgIFdlYkNvcmU6Ok5vZGUqIGRlID0gc2QtPmZyYW1lLT5kb2N1bWVudCgpLT5kb2N1bWVu
dEVsZW1lbnQoKTsKKyAgICBpZiAoZGUpCisgICAgICAgIGZvciAoV2ViQ29yZTo6Tm9kZSogZSA9
IGRlLT5maXJzdENoaWxkKCk7IGU7IGUgPSBlLT5wYXJlbnRFbGVtZW50KCkpIHsKKyAgICAgICAg
ICAgIGlmIChlLT5oYXNUYWdOYW1lKFdlYkNvcmU6OkhUTUxOYW1lczo6aHRtbFRhZykpIHsKKyAg
ICAgICAgICAgICAgICBXZWJDb3JlOjpIVE1MRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0
PFdlYkNvcmU6OkhUTUxFbGVtZW50Kj4oZSk7CisgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQp
CisgICAgICAgICAgICAgICAgICAgIHNvdXJjZSA9IGVsZW1lbnQtPm91dGVySFRNTCgpOworICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAvLyBU
cnkgdG8gZ2V0IDxoZWFkPiBhbmQgPGJvZHk+IHRhZ3MgaWYgPGh0bWw+IHRhZyB3YXMgbm90IGZv
dW5kLgorICAgIGlmIChzb3VyY2UuaXNFbXB0eSgpKSB7CisgICAgICAgIGlmIChzZC0+ZnJhbWUt
PmRvY3VtZW50KCktPmhlYWQoKSkKKyAgICAgICAgICAgIHNvdXJjZSA9IHNkLT5mcmFtZS0+ZG9j
dW1lbnQoKS0+aGVhZCgpLT5vdXRlckhUTUwoKTsKKworICAgICAgICBpZiAoc2QtPmZyYW1lLT5k
b2N1bWVudCgpLT5ib2R5KCkpCisgICAgICAgICAgICBzb3VyY2UgKz0gc2QtPmZyYW1lLT5kb2N1
bWVudCgpLT5ib2R5KCktPm91dGVySFRNTCgpOworICAgIH0KKworICAgIHNpemVfdCBzb3VyY2Vf
bGVuZ3RoID0gc3RybGVuKHNvdXJjZS51dGY4KCkuZGF0YSgpKTsKKyAgICAqZnJhbWVfc291cmNl
ID0gc3RhdGljX2Nhc3Q8Y2hhcio+KG1hbGxvYyhzaXplb2YoY2hhcikgKiBzb3VyY2VfbGVuZ3Ro
ICsgc2l6ZW9mKGNoYXIpKSk7CisgICAgaWYgKCEqZnJhbWVfc291cmNlKSB7CisgICAgICAgIENS
SVRJQ0FMKCJDb3VsZCBub3QgYWxsb2NhdGUgbWVtb3J5LiIpOworICAgICAgICByZXR1cm4gLTE7
CisgICAgfQorCisgICAgc3RybmNweSgqZnJhbWVfc291cmNlLCBzb3VyY2UudXRmOCgpLmRhdGEo
KSwgc291cmNlX2xlbmd0aCk7CisgICAgKCpmcmFtZV9zb3VyY2UpW3NvdXJjZV9sZW5ndGhdID0g
J1wwJzsKKworICAgIHJldHVybiBzb3VyY2VfbGVuZ3RoOworfQorCisvKioKKyAqIEdldHMgdGhl
IHJlc291cmNlIGxpc3Qgb2YgdGhpcyBmcmFtZS4KKyAqCisgKiBUaGlzIGlzIHBhcnQgb2YgaHRt
bCBzYXZpbmcgZmVhdHVyZS4KKyAqIEFuIGFwcGxpY2F0aW9uIG1pZ2h0IGZpbmQgdGhlc2UgdmFs
dWVzIGluIGZyYW1lIHNvdXJjZSBhbmQKKyAqIHJlcGxhY2UgdGhlbSB0byB0aGUgbG9jYWwgcGF0
aHMuIFZhbHVlcyBhcmUgbm90IGR1cGxpY2F0ZWQuCisgKiBDdXJyZW50bHkgb25seSBsb2NhdGlv
biBvZiBpbWFnZXMgYXJlIHN1cHBvcnRlZC4KKyAqCisgKiBAcGFyYW0gbyBmcmFtZSBzbWFydCBv
YmplY3QgdG8gZ2V0IHRoZSByZXNvdXJjZXMgbGlzdAorICogQHJldHVybiBAYyBFaW5hX0xpc3Qg
d2l0aCByZXNvdXJjZXMnIGxvY2F0aW9uIG9mIGZyYW1lIG9uIHN1Y2Nlc3MsIG9yIEBjIDAgb24g
ZmFpbHVyZSwKKyAqICAgdGhlIEVpbmFfTGlzdCBzaG91bGQgYmUgZnJlZWQgYWZ0ZXIgdXNlCisg
KgorICogQHNlZSBFSU5BX0xJU1RfRlJFRSgpCisgKiBAc2VlIGV3a19mcmFtZV9zb3VyY2VfZ2V0
KCkKKyAqLworRWluYV9MaXN0KiBld2tfZnJhbWVfcmVzb3VyY2VzX2xvY2F0aW9uX2dldChFdmFz
X09iamVjdCogbykKK3sKKyAgICBFV0tfRlJBTUVfU0RfR0VUX09SX1JFVFVSTihvLCBzZCwgMCk7
CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNkLT5mcmFtZSwgMCk7CisgICAg
RUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNkLT5mcmFtZS0+ZG9jdW1lbnQoKSwgMCk7
CisKKyAgICBFaW5hX0xpc3QqIGltZ19sb2NhdGlvbl9saXN0ID0gMDsKKworICAgIC8vIEdldHMg
c3JjIGF0dGlidXRlIG9mIGltYWdlcyBhbmQgc2F2ZXMgdGhlbSB0byB0aGUgRWluYV9MaXN0Lgor
ICAgIFJlZlB0cjxXZWJDb3JlOjpIVE1MQ29sbGVjdGlvbj4gaW1hZ2VzID0gc2QtPmZyYW1lLT5k
b2N1bWVudCgpLT5pbWFnZXMoKTsKKyAgICBmb3IgKHVuc2lnbmVkIGluZGV4ID0gMDsgaW5kZXgg
PCBpbWFnZXMtPmxlbmd0aCgpOyArK2luZGV4KSB7CisgICAgICAgIFdlYkNvcmU6OkhUTUxJbWFn
ZUVsZW1lbnQqIGltZ19lbGVtZW50ID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6SFRNTEltYWdlRWxl
bWVudCo+KGltYWdlcy0+aXRlbShpbmRleCkpOworICAgICAgICBpZiAoIWltZ19lbGVtZW50IHx8
IGltZ19lbGVtZW50LT5zcmMoKS5pc051bGwoKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisg
ICAgICAgIFdURjo6U3RyaW5nIGltZ19sb2NhdGlvbiA9IGltZ19lbGVtZW50LT5zcmMoKS5wcmV0
dHlVUkwoKTsKKyAgICAgICAgLy8gTG9vayBmb3IgZHVwbGljYXRlZCBsb2NhdGlvbi4KKyAgICAg
ICAgRWluYV9MaXN0KiBsID0gMDsKKyAgICAgICAgdm9pZCogZGF0YSA9IDA7CisgICAgICAgIEVp
bmFfQm9vbCBmb3VuZCA9IEVJTkFfRkFMU0U7CisgICAgICAgIEVJTkFfTElTVF9GT1JFQUNIKGlt
Z19sb2NhdGlvbl9saXN0LCBsLCBkYXRhKQorICAgICAgICAgICAgaWYgKGZvdW5kID0gIXN0cmNt
cChzdGF0aWNfY2FzdDxjaGFyKj4oZGF0YSksIGltZ19sb2NhdGlvbi51dGY4KCkuZGF0YSgpKSkK
KyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgaWYgKGZvdW5kKQorICAgICAgICAgICAg
Y29udGludWU7CisKKyAgICAgICAgaW1nX2xvY2F0aW9uX2xpc3QgPSBlaW5hX2xpc3RfYXBwZW5k
KGltZ19sb2NhdGlvbl9saXN0LCBzdHJkdXAoaW1nX2xvY2F0aW9uLnV0ZjgoKS5kYXRhKCkpKTsK
KyAgICAgICAgaWYgKGVpbmFfZXJyb3JfZ2V0KCkpIHsKKyAgICAgICAgICAgIENSSVRJQ0FMKCJD
b3VsZCBub3QgYWxsb2NhdGUgbWVtb3J5LiIpOworICAgICAgICAgICAgRUlOQV9MSVNUX0ZSRUUo
aW1nX2xvY2F0aW9uX2xpc3QsIGRhdGEpCisgICAgICAgICAgICAgICAgZnJlZShkYXRhKTsKKyAg
ICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgfQorICAgIC8vIEZJWE1FIEdldCBV
Ukwgb3RoZXJzIHJlc291cmNlcyAocGx1Z2lucywgY3NzLCBtZWRpYSBmaWxlcykuCisgICAgcmV0
dXJuIGltZ19sb2NhdGlvbl9saXN0OworfQorCisvKioKICAqIEBpbnRlcm5hbAogICogUmVwb3J0
cyB1cmkgY2hhbmdlZCBhbmQgc3dhcCBpbnRlcm5hbCBzdHJpbmcgcmVmZXJlbmNlLgogICoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuaCBiL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfZnJhbWUuaAppbmRleCBiODRmYzI1Li44ZDAyZmFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19mcmFtZS5oCkBAIC0yMjIsNiArMjIyLDggQEAgRUFQSSBFaW5hX0Jvb2wgICAg
ZXdrX2ZyYW1lX2ZlZWRfdG91Y2hfZXZlbnQoRXZhc19PYmplY3QqIG8sIEV3a19Ub3VjaF9FdmVu
dF9UeXAKIEVBUEkgRWluYV9Cb29sICAgIGV3a19mcmFtZV9mZWVkX2tleV9kb3duKEV2YXNfT2Jq
ZWN0ICpvLCBjb25zdCBFdmFzX0V2ZW50X0tleV9Eb3duICpldik7CiBFQVBJIEVpbmFfQm9vbCAg
ICBld2tfZnJhbWVfZmVlZF9rZXlfdXAoRXZhc19PYmplY3QgKm8sIGNvbnN0IEV2YXNfRXZlbnRf
S2V5X1VwICpldik7CiAKK0VBUEkgc3NpemVfdCAgICAgIGV3a19mcmFtZV9zb3VyY2VfZ2V0KEV2
YXNfT2JqZWN0KiBvLCBjaGFyKiogZnJhbWVfc291cmNlKTsKK0VBUEkgRWluYV9MaXN0KiAgIGV3
a19mcmFtZV9yZXNvdXJjZXNfbG9jYXRpb25fZ2V0KEV2YXNfT2JqZWN0KiBvKTsKIAogI2lmZGVm
IF9fY3BsdXNwbHVzCiB9Cg==
</data>
<flag name="review"
          id="87105"
          type_id="1"
          status="-"
          setter="leandro"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94577</attachid>
            <date>2011-05-23 23:55:53 -0700</date>
            <delta_ts>2011-06-16 00:38:50 -0700</delta_ts>
            <desc>updated patch</desc>
            <filename>WebKit-Efl-HTML_Saving_feature.patch</filename>
            <type>text/plain</type>
            <size>6575</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCA0ZDQ4ODMyLi4zZTBlYzUzIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTEtMDUtMjMgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWpr
b3dza2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW0VGTF0gSFRNTCBTYXZpbmcgZmVhdHVyZS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1NDU1CisKKyAgICAgICAgR2V0IHRoZSBz
b3VyY2UgYW5kIGxvY2F0aW9uIG9mIHJlc291cmNlcyBmb3IgZG9jdW1lbnQuCisgICAgICAgIFRP
RE86CisgICAgICAgIDEuIFN1cHBvcnQgb3RoZXJzIHJlc291cmNlcyAoY3NzLCBwbHVnaW5zLCBt
ZWRpYSBmaWxlcykuCisgICAgICAgIDIuIEN1cnJlbnRseSBvbmx5IEhUTUwgZG9jdW1lbnRzIGFy
ZSBzdXBwb3J0ZWQuCisKKyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmNwcDoKKyAgICAgICAgKGV3
a19mcmFtZV9zb3VyY2VfZ2V0KToKKyAgICAgICAgKGV3a19mcmFtZV9yZXNvdXJjZXNfbG9jYXRp
b25fZ2V0KToKKyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmg6CisKIDIwMTEtMDUtMTYgIEpvbiBM
ZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNl
ci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwIGIvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKaW5kZXggNGU1MmI1Ni4uOGE0NjBiZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKQEAgLTMxLDYgKzMxLDEwIEBACiAjaW5j
bHVkZSAiRnJhbWVMb2FkZXJDbGllbnRFZmwuaCIKICNpbmNsdWRlICJGcmFtZVRyZWUuaCIKICNp
bmNsdWRlICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRlICJIVE1MQ29sbGVjdGlvbi5oIgorI2luY2x1
ZGUgIkhUTUxIZWFkRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIKKyNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGx1Z0luRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkhpc3RvcnlJdGVtLmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgpAQCAtMjAw
NSw2ICsyMDA5LDEyNyBAQCB2b2lkIGV3a19mcmFtZV92aWV3X2NyZWF0ZV9mb3JfdmlldyhFdmFz
X09iamVjdCogbywgRXZhc19PYmplY3QqIHZpZXcpCiB9CiAKIC8qKgorICogR2V0cyB0aGUgZnJh
bWUgc291cmNlLgorICoKKyAqIEl0J3MgcGFydCBvZiBodG1sIHNhdmluZyBmZWF0dXJlLiBDdXJy
ZW50bHkgb25seSBIVE1MIGRvY3VtZW50cyBhcmUgc3VwcG9ydGVkLgorICoKKyAqIEBwYXJhbSBv
IGZyYW1lIHNtYXJ0IG9iamVjdCB0byBnZXQgdGhlIGZyYW1lIHNvdXJjZQorICogQHBhcmFtIGZy
YW1lX3NvdXJjZSBhIHBvaW50ZXIgdG8gc3RvcmUgdGhlIHNvdXJjZSBvZiBmcmFtZSwKKyAqICAg
ICAgbXVzdCBAYiBub3QgYmUgQGMgMCwgdGhpcyB2YWx1ZSBAYiBzaG91bGQgYmUgZnJlZWQgYWZ0
ZXIgdXNlCisgKgorICogQHJldHVybiBAYyBsZW5ndGggb2YgQGEgZnJhbWVfc291cmNlIG9uIHN1
Y2Nlc3MsIG9yIEBjIC0xIG9uIGZhaWx1cmUKKyAqCisgKiBAc2VlIGV3a19mcmFtZV9yZXNvdXJj
ZXNfbG9jYXRpb25fZ2V0KCkKKyAqLworc3NpemVfdCBld2tfZnJhbWVfc291cmNlX2dldChFdmFz
X09iamVjdCogbywgY2hhcioqIGZyYW1lX3NvdXJjZSkKK3sKKyAgICBFV0tfRlJBTUVfU0RfR0VU
X09SX1JFVFVSTihvLCBzZCwgLTEpOworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZB
TChzZC0+ZnJhbWUsIC0xKTsKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoc2Qt
PmZyYW1lLT5kb2N1bWVudCgpLCAtMSk7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5f
VkFMKGZyYW1lX3NvdXJjZSwgLTEpOworCisgICAgV1RGOjpTdHJpbmcgc291cmNlOworICAgICpm
cmFtZV9zb3VyY2UgPSAwOyAvLyBTYXZlcyAwIHRvIHBvaW50ZXIgdW50aWwgaXQncyBub3QgYWxs
b2NhdGVkLgorCisgICAgaWYgKCFzZC0+ZnJhbWUtPmRvY3VtZW50KCktPmlzSFRNTERvY3VtZW50
KCkpIHsKKyAgICAgICAgLy8gRklYTUUgU3VwcG9ydCBvdGhlcnMgZG9jdW1lbnRzLgorICAgICAg
ICBXUk4oIk9ubHkgaHRtbCBkb2N1bWVudHMgYXJlIHN1cHBvcnRlZCIpOworICAgICAgICByZXR1
cm4gLTE7CisgICAgfQorCisgICAgLy8gTG9vayBmb3IgPGh0bWw+IHRhZy4gSWYgaXQgZXhpc3Rz
LCB0aGUgbm9kZSBjb250YXRpbnMgYWxsIGRvY3VtZW50J3Mgc291cmNlLgorICAgIFdlYkNvcmU6
Ok5vZGUqIGRlID0gc2QtPmZyYW1lLT5kb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQoKTsKKyAg
ICBpZiAoZGUpCisgICAgICAgIGZvciAoV2ViQ29yZTo6Tm9kZSogZSA9IGRlLT5maXJzdENoaWxk
KCk7IGU7IGUgPSBlLT5wYXJlbnRFbGVtZW50KCkpIHsKKyAgICAgICAgICAgIGlmIChlLT5oYXNU
YWdOYW1lKFdlYkNvcmU6OkhUTUxOYW1lczo6aHRtbFRhZykpIHsKKyAgICAgICAgICAgICAgICBX
ZWJDb3JlOjpIVE1MRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OkhUTUxF
bGVtZW50Kj4oZSk7CisgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQpCisgICAgICAgICAgICAg
ICAgICAgIHNvdXJjZSA9IGVsZW1lbnQtPm91dGVySFRNTCgpOworICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAvLyBUcnkgdG8gZ2V0IDxoZWFk
PiBhbmQgPGJvZHk+IHRhZ3MgaWYgPGh0bWw+IHRhZyB3YXMgbm90IGZvdW5kLgorICAgIGlmIChz
b3VyY2UuaXNFbXB0eSgpKSB7CisgICAgICAgIGlmIChzZC0+ZnJhbWUtPmRvY3VtZW50KCktPmhl
YWQoKSkKKyAgICAgICAgICAgIHNvdXJjZSA9IHNkLT5mcmFtZS0+ZG9jdW1lbnQoKS0+aGVhZCgp
LT5vdXRlckhUTUwoKTsKKworICAgICAgICBpZiAoc2QtPmZyYW1lLT5kb2N1bWVudCgpLT5ib2R5
KCkpCisgICAgICAgICAgICBzb3VyY2UgKz0gc2QtPmZyYW1lLT5kb2N1bWVudCgpLT5ib2R5KCkt
Pm91dGVySFRNTCgpOworICAgIH0KKworICAgIHNpemVfdCBzb3VyY2VfbGVuZ3RoID0gc3RybGVu
KHNvdXJjZS51dGY4KCkuZGF0YSgpKTsKKyAgICAqZnJhbWVfc291cmNlID0gc3RhdGljX2Nhc3Q8
Y2hhcio+KG1hbGxvYyhzb3VyY2VfbGVuZ3RoICsgMSkpOworICAgIGlmICghKmZyYW1lX3NvdXJj
ZSkgeworICAgICAgICBDUklUSUNBTCgiQ291bGQgbm90IGFsbG9jYXRlIG1lbW9yeS4iKTsKKyAg
ICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIHN0cm5jcHkoKmZyYW1lX3NvdXJjZSwgc291
cmNlLnV0ZjgoKS5kYXRhKCksIHNvdXJjZV9sZW5ndGgpOworICAgICgqZnJhbWVfc291cmNlKVtz
b3VyY2VfbGVuZ3RoXSA9ICdcMCc7CisKKyAgICByZXR1cm4gc291cmNlX2xlbmd0aDsKK30KKwor
LyoqCisgKiBHZXRzIHRoZSByZXNvdXJjZSBsaXN0IG9mIHRoaXMgZnJhbWUuCisgKgorICogSXQn
cyBwYXJ0IG9mIGh0bWwgc2F2aW5nIGZlYXR1cmUuIEN1cnJlbnRseSBvbmx5IGxvY2F0aW9ucyBv
ZiBpbWFnZXMgYXJlIHN1cHBvcnRlZC4KKyAqIEFuIGFwcGxpY2F0aW9uIG1pZ2h0IGZpbmQgdGhl
c2UgdmFsdWVzIGluIGZyYW1lIHNvdXJjZSBhbmQKKyAqIHJlcGxhY2UgdGhlbSB0byB0aGUgbG9j
YWwgcGF0aHMuIFZhbHVlcyBhcmUgbm90IGR1cGxpY2F0ZWQuCisgKgorICogQHBhcmFtIG8gZnJh
bWUgc21hcnQgb2JqZWN0IHRvIGdldCB0aGUgcmVzb3VyY2VzIGxpc3QKKyAqIEByZXR1cm4gQGMg
RWluYV9MaXN0IHdpdGggbG9jYXRpb24gb2YgcmVzb3VyY2VzIG9uIHN1Y2Nlc3MsIG9yIEBjIDAg
b24gZmFpbHVyZSwKKyAqICAgdGhlIEVpbmFfTGlzdCBzaG91bGQgYmUgZnJlZWQgYWZ0ZXIgdXNl
CisgKgorICogQHNlZSBFSU5BX0xJU1RfRlJFRSgpCisgKiBAc2VlIGV3a19mcmFtZV9zb3VyY2Vf
Z2V0KCkKKyAqLworRWluYV9MaXN0KiBld2tfZnJhbWVfcmVzb3VyY2VzX2xvY2F0aW9uX2dldChF
dmFzX09iamVjdCogbykKK3sKKyAgICBFV0tfRlJBTUVfU0RfR0VUX09SX1JFVFVSTihvLCBzZCwg
MCk7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNkLT5mcmFtZSwgMCk7Cisg
ICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNkLT5mcmFtZS0+ZG9jdW1lbnQoKSwg
MCk7CisKKyAgICBFaW5hX0xpc3QqIGltZ19sb2NhdGlvbl9saXN0ID0gMDsKKworICAgIC8vIEdl
dCBzcmMgYXR0aWJ1dGUgb2YgaW1hZ2VzIGFuZCBzYXZlcyB0aGVtIHRvIHRoZSBFaW5hX0xpc3Qu
CisgICAgUmVmUHRyPFdlYkNvcmU6OkhUTUxDb2xsZWN0aW9uPiBpbWFnZXMgPSBzZC0+ZnJhbWUt
PmRvY3VtZW50KCktPmltYWdlcygpOworICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXgg
PCBpbWFnZXMtPmxlbmd0aCgpOyArK2luZGV4KSB7CisgICAgICAgIFdlYkNvcmU6OkhUTUxJbWFn
ZUVsZW1lbnQqIGltZ19lbGVtZW50ID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6SFRNTEltYWdlRWxl
bWVudCo+KGltYWdlcy0+aXRlbShpbmRleCkpOworICAgICAgICBpZiAoIWltZ19lbGVtZW50IHx8
IGltZ19lbGVtZW50LT5zcmMoKS5pc051bGwoKSB8fCBpbWdfZWxlbWVudC0+c3JjKCkuaXNFbXB0
eSgpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgV1RGOjpTdHJpbmcgaW1nX2xv
Y2F0aW9uID0gaW1nX2VsZW1lbnQtPnNyYygpLnByZXR0eVVSTCgpOworICAgICAgICAvLyBMb29r
IGZvciBkdXBsaWNhdGVkIGxvY2F0aW9uLgorICAgICAgICBFaW5hX0xpc3QqIGwgPSAwOworICAg
ICAgICB2b2lkKiBkYXRhID0gMDsKKyAgICAgICAgRWluYV9Cb29sIGZvdW5kID0gRUlOQV9GQUxT
RTsKKyAgICAgICAgRUlOQV9MSVNUX0ZPUkVBQ0goaW1nX2xvY2F0aW9uX2xpc3QsIGwsIGRhdGEp
CisgICAgICAgICAgICBpZiAoZm91bmQgPSAhc3RyY21wKHN0YXRpY19jYXN0PGNoYXIqPihkYXRh
KSwgaW1nX2xvY2F0aW9uLnV0ZjgoKS5kYXRhKCkpKQorICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBpZiAoZm91bmQpCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBjaGFy
KiBkdXBsaWNhdGUgPSBzdHJkdXAoaW1nX2xvY2F0aW9uLnV0ZjgoKS5kYXRhKCkpOworICAgICAg
ICBpZiAoIWR1cGxpY2F0ZSkKKyAgICAgICAgICAgIGdvdG8gb3V0X29mX21lbW9yeV9oYW5kbGVy
OworICAgICAgICBpbWdfbG9jYXRpb25fbGlzdCA9IGVpbmFfbGlzdF9hcHBlbmQoaW1nX2xvY2F0
aW9uX2xpc3QsIGR1cGxpY2F0ZSk7CisgICAgICAgIGlmIChlaW5hX2Vycm9yX2dldCgpKQorICAg
ICAgICAgICAgZ290byBvdXRfb2ZfbWVtb3J5X2hhbmRsZXI7CisgICAgfQorICAgIC8vIEZJWE1F
IEdldCBVUkwgb3RoZXJzIHJlc291cmNlcyAocGx1Z2lucywgY3NzLCBtZWRpYSBmaWxlcykuCisg
ICAgcmV0dXJuIGltZ19sb2NhdGlvbl9saXN0OworCitvdXRfb2ZfbWVtb3J5X2hhbmRsZXI6Cisg
ICAgQ1JJVElDQUwoIkNvdWxkIG5vdCBhbGxvY2F0ZSBtZW1vcnkuIik7CisgICAgdm9pZCogZGF0
YTsKKyAgICBFSU5BX0xJU1RfRlJFRShpbWdfbG9jYXRpb25fbGlzdCwgZGF0YSkKKyAgICAgICAg
ZnJlZShkYXRhKTsKKyAgICByZXR1cm4gMDsKK30KKworLyoqCiAgKiBAaW50ZXJuYWwKICAqIFJl
cG9ydHMgdXJpIGNoYW5nZWQgYW5kIHN3YXAgaW50ZXJuYWwgc3RyaW5nIHJlZmVyZW5jZS4KICAq
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmggYi9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmgKaW5kZXggYjg0ZmMyNS4uOGQwMmZhZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19mcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfZnJhbWUuaApAQCAtMjIyLDYgKzIyMiw4IEBAIEVBUEkgRWluYV9Cb29s
ICAgIGV3a19mcmFtZV9mZWVkX3RvdWNoX2V2ZW50KEV2YXNfT2JqZWN0KiBvLCBFd2tfVG91Y2hf
RXZlbnRfVHlwCiBFQVBJIEVpbmFfQm9vbCAgICBld2tfZnJhbWVfZmVlZF9rZXlfZG93bihFdmFz
X09iamVjdCAqbywgY29uc3QgRXZhc19FdmVudF9LZXlfRG93biAqZXYpOwogRUFQSSBFaW5hX0Jv
b2wgICAgZXdrX2ZyYW1lX2ZlZWRfa2V5X3VwKEV2YXNfT2JqZWN0ICpvLCBjb25zdCBFdmFzX0V2
ZW50X0tleV9VcCAqZXYpOwogCitFQVBJIHNzaXplX3QgICAgICBld2tfZnJhbWVfc291cmNlX2dl
dChFdmFzX09iamVjdCogbywgY2hhcioqIGZyYW1lX3NvdXJjZSk7CitFQVBJIEVpbmFfTGlzdCog
ICBld2tfZnJhbWVfcmVzb3VyY2VzX2xvY2F0aW9uX2dldChFdmFzX09iamVjdCogbyk7CiAKICNp
ZmRlZiBfX2NwbHVzcGx1cwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97413</attachid>
            <date>2011-06-16 00:38:50 -0700</date>
            <delta_ts>2011-08-08 05:32:02 -0700</delta_ts>
            <desc>updated patch</desc>
            <filename>WebKit-Efl-HTML_Saving_feature.patch</filename>
            <type>text/plain</type>
            <size>6782</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCAxZWUxNDUzLi42MWRiNGI2IDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDUgKzEsMjIgQEAKIDIwMTEtMDYtMTUgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWpr
b3dza2lAc2Ftc3VuZy5jb20+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgW0VGTF0gSFRNTCBTYXZpbmcgZmVhdHVyZS4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1NDU1CisKKyAgICAgICAgR2V0IHRoZSBz
b3VyY2UgYW5kIGxvY2F0aW9uIG9mIHJlc291cmNlcyBmb3IgZG9jdW1lbnQuCisgICAgICAgIFRP
RE86CisgICAgICAgIDEuIFN1cHBvcnQgb3RoZXJzIHJlc291cmNlcyAoY3NzLCBwbHVnaW5zLCBt
ZWRpYSBmaWxlcykuCisgICAgICAgIDIuIEN1cnJlbnRseSBvbmx5IEhUTUwgZG9jdW1lbnRzIGFy
ZSBzdXBwb3J0ZWQuCisKKyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmNwcDoKKyAgICAgICAgKGV3
a19mcmFtZV9zb3VyY2VfZ2V0KToKKyAgICAgICAgKGV3a19mcmFtZV9yZXNvdXJjZXNfbG9jYXRp
b25fZ2V0KToKKyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmg6CisKKzIwMTEtMDYtMTUgIEdyemVn
b3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CisKICAgICAgICAgUmV2
aWV3ZWQgYnkgQW50b25pbyBHb21lcy4KIAogICAgICAgICBbRUZMXSBGaXggYW5kIHVwZGF0ZSBk
b3h5Z2VuIGRvY3VtZW50YXRpb24gZm9yIGV3a19mcmFtZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19m
cmFtZS5jcHAKaW5kZXggNmE0MzgyOC4uYzcxZWFjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19mcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19m
cmFtZS5jcHAKQEAgLTMxLDYgKzMxLDEwIEBACiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnRF
ZmwuaCIKICNpbmNsdWRlICJGcmFtZVRyZWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKKyNp
bmNsdWRlICJIVE1MQ29sbGVjdGlvbi5oIgorI2luY2x1ZGUgIkhUTUxIZWFkRWxlbWVudC5oIgor
I2luY2x1ZGUgIkhUTUxJbWFnZUVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNp
bmNsdWRlICJIVE1MUGx1Z0luRWxlbWVudC5oIgogI2luY2x1ZGUgIkhpc3RvcnlJdGVtLmgiCiAj
aW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgpAQCAtMTk3MCw2ICsxOTc0LDEyNyBAQCB2b2lkIGV3
a19mcmFtZV92aWV3X2NyZWF0ZV9mb3JfdmlldyhFdmFzX09iamVjdCogbywgRXZhc19PYmplY3Qq
IHZpZXcpCiB9CiAKIC8qKgorICogR2V0cyB0aGUgZnJhbWUgc291cmNlLgorICoKKyAqIEl0J3Mg
cGFydCBvZiBIVE1MIHNhdmluZyBmZWF0dXJlLiBDdXJyZW50bHkgb25seSBIVE1MIGRvY3VtZW50
cyBhcmUgc3VwcG9ydGVkLgorICoKKyAqIEBwYXJhbSBvIGZyYW1lIHNtYXJ0IG9iamVjdCB0byBn
ZXQgdGhlIGZyYW1lIHNvdXJjZQorICogQHBhcmFtIGZyYW1lX3NvdXJjZSBhIHBvaW50ZXIgdG8g
c3RvcmUgdGhlIHNvdXJjZSBvZiBmcmFtZSwKKyAqICAgICAgbXVzdCBAYiBub3QgYmUgQGMgMCwg
dGhpcyB2YWx1ZSBAYiBzaG91bGQgYmUgZnJlZWQgYWZ0ZXIgdXNlCisgKgorICogQHJldHVybiBA
YyBsZW5ndGggb2YgQGEgZnJhbWVfc291cmNlIG9uIHN1Y2Nlc3MsIG9yIEBjIC0xIG9uIGZhaWx1
cmUKKyAqCisgKiBAc2VlIGV3a19mcmFtZV9yZXNvdXJjZXNfbG9jYXRpb25fZ2V0KCkKKyAqLwor
c3NpemVfdCBld2tfZnJhbWVfc291cmNlX2dldChFdmFzX09iamVjdCogbywgY2hhcioqIGZyYW1l
X3NvdXJjZSkKK3sKKyAgICBFV0tfRlJBTUVfU0RfR0VUX09SX1JFVFVSTihvLCBzZCwgLTEpOwor
ICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChzZC0+ZnJhbWUsIC0xKTsKKyAgICBF
SU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoc2QtPmZyYW1lLT5kb2N1bWVudCgpLCAtMSk7
CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKGZyYW1lX3NvdXJjZSwgLTEpOwor
CisgICAgV1RGOjpTdHJpbmcgc291cmNlOworICAgICpmcmFtZV9zb3VyY2UgPSAwOyAvLyBTYXZl
cyAwIHRvIHBvaW50ZXIgdW50aWwgaXQncyBub3QgYWxsb2NhdGVkLgorCisgICAgaWYgKCFzZC0+
ZnJhbWUtPmRvY3VtZW50KCktPmlzSFRNTERvY3VtZW50KCkpIHsKKyAgICAgICAgLy8gRklYTUUg
U3VwcG9ydCBvdGhlcnMgZG9jdW1lbnRzLgorICAgICAgICBXUk4oIk9ubHkgSFRNTCBkb2N1bWVu
dHMgYXJlIHN1cHBvcnRlZCIpOworICAgICAgICByZXR1cm4gLTE7CisgICAgfQorCisgICAgLy8g
TG9vayBmb3IgPGh0bWw+IHRhZy4gSWYgaXQgZXhpc3RzLCB0aGUgbm9kZSBjb250YXRpbnMgYWxs
IGRvY3VtZW50J3Mgc291cmNlLgorICAgIFdlYkNvcmU6Ok5vZGUqIGRvY3VtZW50Tm9kZSA9IHNk
LT5mcmFtZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7CisgICAgaWYgKGRvY3VtZW50
Tm9kZSkKKyAgICAgICAgZm9yIChXZWJDb3JlOjpOb2RlKiBub2RlID0gZG9jdW1lbnROb2RlLT5m
aXJzdENoaWxkKCk7IG5vZGU7IG5vZGUgPSBub2RlLT5wYXJlbnRFbGVtZW50KCkpIHsKKyAgICAg
ICAgICAgIGlmIChub2RlLT5oYXNUYWdOYW1lKFdlYkNvcmU6OkhUTUxOYW1lczo6aHRtbFRhZykp
IHsKKyAgICAgICAgICAgICAgICBXZWJDb3JlOjpIVE1MRWxlbWVudCogZWxlbWVudCA9IHN0YXRp
Y19jYXN0PFdlYkNvcmU6OkhUTUxFbGVtZW50Kj4obm9kZSk7CisgICAgICAgICAgICAgICAgaWYg
KGVsZW1lbnQpCisgICAgICAgICAgICAgICAgICAgIHNvdXJjZSA9IGVsZW1lbnQtPm91dGVySFRN
TCgpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9CisK
KyAgICAvLyBUcnkgdG8gZ2V0IDxoZWFkPiBhbmQgPGJvZHk+IHRhZ3MgaWYgPGh0bWw+IHRhZyB3
YXMgbm90IGZvdW5kLgorICAgIGlmIChzb3VyY2UuaXNFbXB0eSgpKSB7CisgICAgICAgIGlmIChz
ZC0+ZnJhbWUtPmRvY3VtZW50KCktPmhlYWQoKSkKKyAgICAgICAgICAgIHNvdXJjZSA9IHNkLT5m
cmFtZS0+ZG9jdW1lbnQoKS0+aGVhZCgpLT5vdXRlckhUTUwoKTsKKworICAgICAgICBpZiAoc2Qt
PmZyYW1lLT5kb2N1bWVudCgpLT5ib2R5KCkpCisgICAgICAgICAgICBzb3VyY2UgKz0gc2QtPmZy
YW1lLT5kb2N1bWVudCgpLT5ib2R5KCktPm91dGVySFRNTCgpOworICAgIH0KKworICAgIHNpemVf
dCBzb3VyY2VfbGVuZ3RoID0gc3RybGVuKHNvdXJjZS51dGY4KCkuZGF0YSgpKTsKKyAgICAqZnJh
bWVfc291cmNlID0gc3RhdGljX2Nhc3Q8Y2hhcio+KG1hbGxvYyhzb3VyY2VfbGVuZ3RoICsgMSkp
OworICAgIGlmICghKmZyYW1lX3NvdXJjZSkgeworICAgICAgICBDUklUSUNBTCgiQ291bGQgbm90
IGFsbG9jYXRlIG1lbW9yeS4iKTsKKyAgICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICAgIHN0
cm5jcHkoKmZyYW1lX3NvdXJjZSwgc291cmNlLnV0ZjgoKS5kYXRhKCksIHNvdXJjZV9sZW5ndGgp
OworICAgICgqZnJhbWVfc291cmNlKVtzb3VyY2VfbGVuZ3RoXSA9ICdcMCc7CisKKyAgICByZXR1
cm4gc291cmNlX2xlbmd0aDsKK30KKworLyoqCisgKiBHZXRzIHRoZSByZXNvdXJjZSBsaXN0IG9m
IHRoaXMgZnJhbWUuCisgKgorICogSXQncyBwYXJ0IG9mIEhUTUwgc2F2aW5nIGZlYXR1cmUuIEN1
cnJlbnRseSBvbmx5IGxvY2F0aW9ucyBvZiBpbWFnZXMgYXJlIHN1cHBvcnRlZC4KKyAqIEFuIGFw
cGxpY2F0aW9uIG1pZ2h0IGZpbmQgdGhlc2UgdmFsdWVzIGluIGZyYW1lIHNvdXJjZSBhbmQKKyAq
IHJlcGxhY2UgdGhlbSB0byB0aGUgbG9jYWwgcGF0aHMuIFZhbHVlcyBhcmUgbm90IGR1cGxpY2F0
ZWQuCisgKgorICogQHBhcmFtIG8gZnJhbWUgc21hcnQgb2JqZWN0IHRvIGdldCB0aGUgcmVzb3Vy
Y2VzIGxpc3QKKyAqIEByZXR1cm4gQGMgRWluYV9MaXN0IHdpdGggbG9jYXRpb24gb2YgcmVzb3Vy
Y2VzIG9uIHN1Y2Nlc3MsIG9yIEBjIDAgb24gZmFpbHVyZSwKKyAqICAgdGhlIEVpbmFfTGlzdCBz
aG91bGQgYmUgZnJlZWQgYWZ0ZXIgdXNlCisgKgorICogQHNlZSBFSU5BX0xJU1RfRlJFRSgpCisg
KiBAc2VlIGV3a19mcmFtZV9zb3VyY2VfZ2V0KCkKKyAqLworRWluYV9MaXN0KiBld2tfZnJhbWVf
cmVzb3VyY2VzX2xvY2F0aW9uX2dldChFdmFzX09iamVjdCogbykKK3sKKyAgICBFV0tfRlJBTUVf
U0RfR0VUX09SX1JFVFVSTihvLCBzZCwgMCk7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRV
Uk5fVkFMKHNkLT5mcmFtZSwgMCk7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFM
KHNkLT5mcmFtZS0+ZG9jdW1lbnQoKSwgMCk7CisKKyAgICBFaW5hX0xpc3QqIGxpc3RPZkltYWdl
c0xvY2F0aW9uID0gMDsKKworICAgIC8vIEdldCBzcmMgYXR0aWJ1dGUgb2YgaW1hZ2VzIGFuZCBz
YXZlcyB0aGVtIHRvIHRoZSBFaW5hX0xpc3QuCisgICAgUmVmUHRyPFdlYkNvcmU6OkhUTUxDb2xs
ZWN0aW9uPiBpbWFnZXMgPSBzZC0+ZnJhbWUtPmRvY3VtZW50KCktPmltYWdlcygpOworICAgIGZv
ciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBpbWFnZXMtPmxlbmd0aCgpOyArK2luZGV4KSB7
CisgICAgICAgIFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQqIGltYWdlRWxlbWVudCA9IHN0YXRp
Y19jYXN0PFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQqPihpbWFnZXMtPml0ZW0oaW5kZXgpKTsK
KyAgICAgICAgaWYgKCFpbWFnZUVsZW1lbnQgfHwgaW1hZ2VFbGVtZW50LT5zcmMoKS5pc051bGwo
KSB8fCBpbWFnZUVsZW1lbnQtPnNyYygpLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIGNvbnRpbnVl
OworCisgICAgICAgIFdURjo6U3RyaW5nIGltYWdlTG9jYXRpb24gPSBpbWFnZUVsZW1lbnQtPnNy
YygpLnN0cmluZygpOworICAgICAgICAvLyBMb29rIGZvciBkdXBsaWNhdGVkIGxvY2F0aW9uLgor
ICAgICAgICBFaW5hX0xpc3QqIGxpc3RJdGVyYXRvciA9IDA7CisgICAgICAgIHZvaWQqIGRhdGEg
PSAwOworICAgICAgICBFaW5hX0Jvb2wgZm91bmQgPSBFSU5BX0ZBTFNFOworICAgICAgICBFSU5B
X0xJU1RfRk9SRUFDSChsaXN0T2ZJbWFnZXNMb2NhdGlvbiwgbGlzdEl0ZXJhdG9yLCBkYXRhKQor
ICAgICAgICAgICAgaWYgKGZvdW5kID0gIXN0cmNtcChzdGF0aWNfY2FzdDxjaGFyKj4oZGF0YSks
IGltYWdlTG9jYXRpb24udXRmOCgpLmRhdGEoKSkpCisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIGlmIChmb3VuZCkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIGNoYXIq
IGltYWdlTG9jYXRpb25Db3B5ID0gc3RyZHVwKGltYWdlTG9jYXRpb24udXRmOCgpLmRhdGEoKSk7
CisgICAgICAgIGlmICghaW1hZ2VMb2NhdGlvbkNvcHkpCisgICAgICAgICAgICBnb3RvIG91dF9v
Zl9tZW1vcnlfaGFuZGxlcjsKKyAgICAgICAgbGlzdE9mSW1hZ2VzTG9jYXRpb24gPSBlaW5hX2xp
c3RfYXBwZW5kKGxpc3RPZkltYWdlc0xvY2F0aW9uLCBpbWFnZUxvY2F0aW9uQ29weSk7CisgICAg
ICAgIGlmIChlaW5hX2Vycm9yX2dldCgpKQorICAgICAgICAgICAgZ290byBvdXRfb2ZfbWVtb3J5
X2hhbmRsZXI7CisgICAgfQorICAgIC8vIEZJWE1FIEdldCBVUkwgb3RoZXJzIHJlc291cmNlcyAo
cGx1Z2lucywgY3NzLCBtZWRpYSBmaWxlcykuCisgICAgcmV0dXJuIGxpc3RPZkltYWdlc0xvY2F0
aW9uOworCitvdXRfb2ZfbWVtb3J5X2hhbmRsZXI6CisgICAgQ1JJVElDQUwoIkNvdWxkIG5vdCBh
bGxvY2F0ZSBtZW1vcnkuIik7CisgICAgdm9pZCogZGF0YTsKKyAgICBFSU5BX0xJU1RfRlJFRShs
aXN0T2ZJbWFnZXNMb2NhdGlvbiwgZGF0YSkKKyAgICAgICAgZnJlZShkYXRhKTsKKyAgICByZXR1
cm4gMDsKK30KKworLyoqCiAgKiBAaW50ZXJuYWwKICAqIFJlcG9ydHMgdXJpIGNoYW5nZWQgYW5k
IHN3YXAgaW50ZXJuYWwgc3RyaW5nIHJlZmVyZW5jZS4KICAqCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2Zy
YW1lLmgKaW5kZXggNDkzMDIwMS4uOGM3OGUxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a19mcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUu
aApAQCAtMjI3LDYgKzIyNyw4IEBAIEVBUEkgRWluYV9Cb29sICAgIGV3a19mcmFtZV9mZWVkX3Rv
dWNoX2V2ZW50KEV2YXNfT2JqZWN0KiBvLCBFd2tfVG91Y2hfRXZlbnRfVHlwCiBFQVBJIEVpbmFf
Qm9vbCAgICBld2tfZnJhbWVfZmVlZF9rZXlfZG93bihFdmFzX09iamVjdCAqbywgY29uc3QgRXZh
c19FdmVudF9LZXlfRG93biAqZXYpOwogRUFQSSBFaW5hX0Jvb2wgICAgZXdrX2ZyYW1lX2ZlZWRf
a2V5X3VwKEV2YXNfT2JqZWN0ICpvLCBjb25zdCBFdmFzX0V2ZW50X0tleV9VcCAqZXYpOwogCitF
QVBJIHNzaXplX3QgICAgICBld2tfZnJhbWVfc291cmNlX2dldChFdmFzX09iamVjdCogbywgY2hh
cioqIGZyYW1lX3NvdXJjZSk7CitFQVBJIEVpbmFfTGlzdCogICBld2tfZnJhbWVfcmVzb3VyY2Vz
X2xvY2F0aW9uX2dldChFdmFzX09iamVjdCogbyk7CiAKICNpZmRlZiBfX2NwbHVzcGx1cwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103233</attachid>
            <date>2011-08-08 05:32:02 -0700</date>
            <delta_ts>2011-08-12 00:46:27 -0700</delta_ts>
            <desc>updated patch</desc>
            <filename>WebKit-Efl-HTML_Saving_feature.patch</filename>
            <type>text/plain</type>
            <size>6669</size>
            <attacher name="Grzegorz Czajkowski">g.czajkowski</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwppbmRleCBlODY1NDA1Li4xM2NmYzk0IDEwMDc1NQotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTEtMDgtMDggIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWpr
b3dza2lAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0VGTF0gSFRNTCBTYXZpbmcgZmVhdHVyZS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1NDU1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR2V0cyB0aGUg
c291cmNlIGFuZCBsb2NhdGlvbiBvZiByZXNvdXJjZXMgZm9yIGRvY3VtZW50LgorICAgICAgICBU
T0RPOgorICAgICAgICAxLiBTdXBwb3J0IG90aGVycyByZXNvdXJjZXMgKGNzcywgcGx1Z2lucywg
bWVkaWEgZmlsZXMpLgorICAgICAgICAyLiBDdXJyZW50bHkgb25seSBIVE1MIGRvY3VtZW50cyBh
cmUgc3VwcG9ydGVkLgorCisgICAgICAgICogZXdrL2V3a19mcmFtZS5jcHA6CisgICAgICAgIChl
d2tfZnJhbWVfc291cmNlX2dldCk6CisgICAgICAgIChld2tfZnJhbWVfcmVzb3VyY2VzX2xvY2F0
aW9uX2dldCk6CisgICAgICAgICogZXdrL2V3a19mcmFtZS5oOgorCiAyMDExLTA4LTA1ICBHcnpl
Z29yeiBDemFqa293c2tpICA8Zy5jemFqa293c2tpQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtF
RkxdIE1vdmUgQVBJIGRvY3VtZW50YXRpb24gb2YgZXdrIGZpbGVzIHRvIHRoZSBoZWFkZXJzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCmluZGV4IGM4NDc1YTYuLjM0YjY4ZjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCkBAIC0zMSw2ICszMSwxMCBAQAogI2luY2x1ZGUg
IkZyYW1lTG9hZGVyQ2xpZW50RWZsLmgiCiAjaW5jbHVkZSAiRnJhbWVUcmVlLmgiCiAjaW5jbHVk
ZSAiRnJhbWVWaWV3LmgiCisjaW5jbHVkZSAiSFRNTENvbGxlY3Rpb24uaCIKKyNpbmNsdWRlICJI
VE1MSGVhZEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCisjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFBsdWdJbkVsZW1lbnQuaCIKICNpbmNsdWRl
ICJIaXN0b3J5SXRlbS5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKQEAgLTE0ODAsNiAr
MTQ4NCwxMDAgQEAgdm9pZCBld2tfZnJhbWVfdmlld19jcmVhdGVfZm9yX3ZpZXcoRXZhc19PYmpl
Y3QgKm8sIEV2YXNfT2JqZWN0ICp2aWV3KQogICAgIHNkLT5mcmFtZS0+dmlldygpLT5zZXRFdmFz
T2JqZWN0KG8pOwogfQogCitzc2l6ZV90IGV3a19mcmFtZV9zb3VyY2VfZ2V0KEV2YXNfT2JqZWN0
ICpvLCBjaGFyICoqZnJhbWVfc291cmNlKQoreworICAgIEVXS19GUkFNRV9TRF9HRVRfT1JfUkVU
VVJOKG8sIHNkLCAtMSk7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRVUk5fVkFMKHNkLT5m
cmFtZSwgLTEpOworICAgIEVJTkFfU0FGRVRZX09OX05VTExfUkVUVVJOX1ZBTChzZC0+ZnJhbWUt
PmRvY3VtZW50KCksIC0xKTsKKyAgICBFSU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTl9WQUwoZnJh
bWVfc291cmNlLCAtMSk7CisKKyAgICBXVEY6OlN0cmluZyBzb3VyY2U7CisgICAgKmZyYW1lX3Nv
dXJjZSA9IDA7IC8vIFNhdmVzIDAgdG8gcG9pbnRlciB1bnRpbCBpdCdzIG5vdCBhbGxvY2F0ZWQu
CisKKyAgICBpZiAoIXNkLT5mcmFtZS0+ZG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1lbnQoKSkgewor
ICAgICAgICAvLyBGSVhNRTogU3VwcG9ydCBvdGhlcnMgZG9jdW1lbnRzLgorICAgICAgICBXUk4o
Ik9ubHkgSFRNTCBkb2N1bWVudHMgYXJlIHN1cHBvcnRlZCIpOworICAgICAgICByZXR1cm4gLTE7
CisgICAgfQorCisgICAgLy8gTG9vayBmb3IgPGh0bWw+IHRhZy4gSWYgaXQgZXhpc3RzLCB0aGUg
bm9kZSBjb250YXRpbnMgYWxsIGRvY3VtZW50J3Mgc291cmNlLgorICAgIFdlYkNvcmU6Ok5vZGUg
KmRvY3VtZW50Tm9kZSA9IHNkLT5mcmFtZS0+ZG9jdW1lbnQoKS0+ZG9jdW1lbnRFbGVtZW50KCk7
CisgICAgaWYgKGRvY3VtZW50Tm9kZSkKKyAgICAgICAgZm9yIChXZWJDb3JlOjpOb2RlICpub2Rl
ID0gZG9jdW1lbnROb2RlLT5maXJzdENoaWxkKCk7IG5vZGU7IG5vZGUgPSBub2RlLT5wYXJlbnRF
bGVtZW50KCkpIHsKKyAgICAgICAgICAgIGlmIChub2RlLT5oYXNUYWdOYW1lKFdlYkNvcmU6OkhU
TUxOYW1lczo6aHRtbFRhZykpIHsKKyAgICAgICAgICAgICAgICBXZWJDb3JlOjpIVE1MRWxlbWVu
dCAqZWxlbWVudCA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OkhUTUxFbGVtZW50Kj4obm9kZSk7Cisg
ICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQpCisgICAgICAgICAgICAgICAgICAgIHNvdXJjZSA9
IGVsZW1lbnQtPm91dGVySFRNTCgpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisKKyAgICAvLyBUcnkgdG8gZ2V0IDxoZWFkPiBhbmQgPGJvZHk+IHRh
Z3MgaWYgPGh0bWw+IHRhZyB3YXMgbm90IGZvdW5kLgorICAgIGlmIChzb3VyY2UuaXNFbXB0eSgp
KSB7CisgICAgICAgIGlmIChzZC0+ZnJhbWUtPmRvY3VtZW50KCktPmhlYWQoKSkKKyAgICAgICAg
ICAgIHNvdXJjZSA9IHNkLT5mcmFtZS0+ZG9jdW1lbnQoKS0+aGVhZCgpLT5vdXRlckhUTUwoKTsK
KworICAgICAgICBpZiAoc2QtPmZyYW1lLT5kb2N1bWVudCgpLT5ib2R5KCkpCisgICAgICAgICAg
ICBzb3VyY2UgKz0gc2QtPmZyYW1lLT5kb2N1bWVudCgpLT5ib2R5KCktPm91dGVySFRNTCgpOwor
ICAgIH0KKworICAgIHNpemVfdCBzb3VyY2VfbGVuZ3RoID0gc3RybGVuKHNvdXJjZS51dGY4KCku
ZGF0YSgpKTsKKyAgICAqZnJhbWVfc291cmNlID0gc3RhdGljX2Nhc3Q8Y2hhcio+KG1hbGxvYyhz
b3VyY2VfbGVuZ3RoICsgMSkpOworICAgIGlmICghKmZyYW1lX3NvdXJjZSkgeworICAgICAgICBD
UklUSUNBTCgiQ291bGQgbm90IGFsbG9jYXRlIG1lbW9yeS4iKTsKKyAgICAgICAgcmV0dXJuIC0x
OworICAgIH0KKworICAgIHN0cm5jcHkoKmZyYW1lX3NvdXJjZSwgc291cmNlLnV0ZjgoKS5kYXRh
KCksIHNvdXJjZV9sZW5ndGgpOworICAgICgqZnJhbWVfc291cmNlKVtzb3VyY2VfbGVuZ3RoXSA9
ICdcMCc7CisKKyAgICByZXR1cm4gc291cmNlX2xlbmd0aDsKK30KKworRWluYV9MaXN0ICpld2tf
ZnJhbWVfcmVzb3VyY2VzX2xvY2F0aW9uX2dldChFdmFzX09iamVjdCAqbykKK3sKKyAgICBFV0tf
RlJBTUVfU0RfR0VUX09SX1JFVFVSTihvLCBzZCwgMCk7CisgICAgRUlOQV9TQUZFVFlfT05fTlVM
TF9SRVRVUk5fVkFMKHNkLT5mcmFtZSwgMCk7CisgICAgRUlOQV9TQUZFVFlfT05fTlVMTF9SRVRV
Uk5fVkFMKHNkLT5mcmFtZS0+ZG9jdW1lbnQoKSwgMCk7CisKKyAgICBFaW5hX0xpc3QgKmxpc3RP
ZkltYWdlc0xvY2F0aW9uID0gMDsKKworICAgIC8vIEdldCBzcmMgYXR0aWJ1dGUgb2YgaW1hZ2Vz
IGFuZCBzYXZlcyB0aGVtIHRvIHRoZSBFaW5hX0xpc3QuCisgICAgUmVmUHRyPFdlYkNvcmU6OkhU
TUxDb2xsZWN0aW9uPiBpbWFnZXMgPSBzZC0+ZnJhbWUtPmRvY3VtZW50KCktPmltYWdlcygpOwor
ICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBpbWFnZXMtPmxlbmd0aCgpOyArK2lu
ZGV4KSB7CisgICAgICAgIFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQgKmltYWdlRWxlbWVudCA9
IHN0YXRpY19jYXN0PFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQqPihpbWFnZXMtPml0ZW0oaW5k
ZXgpKTsKKyAgICAgICAgaWYgKCFpbWFnZUVsZW1lbnQgfHwgaW1hZ2VFbGVtZW50LT5zcmMoKS5p
c051bGwoKSB8fCBpbWFnZUVsZW1lbnQtPnNyYygpLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIGNv
bnRpbnVlOworCisgICAgICAgIFdURjo6U3RyaW5nIGltYWdlTG9jYXRpb24gPSBpbWFnZUVsZW1l
bnQtPnNyYygpLnN0cmluZygpOworICAgICAgICAvLyBMb29rIGZvciBkdXBsaWNhdGVkIGxvY2F0
aW9uLgorICAgICAgICBFaW5hX0xpc3QgKmxpc3RJdGVyYXRvciA9IDA7CisgICAgICAgIHZvaWQg
KmRhdGEgPSAwOworICAgICAgICBFaW5hX0Jvb2wgZm91bmQgPSBFSU5BX0ZBTFNFOworICAgICAg
ICBFSU5BX0xJU1RfRk9SRUFDSChsaXN0T2ZJbWFnZXNMb2NhdGlvbiwgbGlzdEl0ZXJhdG9yLCBk
YXRhKQorICAgICAgICAgICAgaWYgKGZvdW5kID0gIXN0cmNtcChzdGF0aWNfY2FzdDxjaGFyKj4o
ZGF0YSksIGltYWdlTG9jYXRpb24udXRmOCgpLmRhdGEoKSkpCisgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGlmIChmb3VuZCkKKyAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAg
IGNoYXIgKmltYWdlTG9jYXRpb25Db3B5ID0gc3RyZHVwKGltYWdlTG9jYXRpb24udXRmOCgpLmRh
dGEoKSk7CisgICAgICAgIGlmICghaW1hZ2VMb2NhdGlvbkNvcHkpCisgICAgICAgICAgICBnb3Rv
IG91dF9vZl9tZW1vcnlfaGFuZGxlcjsKKyAgICAgICAgbGlzdE9mSW1hZ2VzTG9jYXRpb24gPSBl
aW5hX2xpc3RfYXBwZW5kKGxpc3RPZkltYWdlc0xvY2F0aW9uLCBpbWFnZUxvY2F0aW9uQ29weSk7
CisgICAgICAgIGlmIChlaW5hX2Vycm9yX2dldCgpKQorICAgICAgICAgICAgZ290byBvdXRfb2Zf
bWVtb3J5X2hhbmRsZXI7CisgICAgfQorICAgIC8vIEZJWE1FOiBHZXQgVVJMIG90aGVycyByZXNv
dXJjZXMgKHBsdWdpbnMsIGNzcywgbWVkaWEgZmlsZXMpLgorICAgIHJldHVybiBsaXN0T2ZJbWFn
ZXNMb2NhdGlvbjsKKworb3V0X29mX21lbW9yeV9oYW5kbGVyOgorICAgIENSSVRJQ0FMKCJDb3Vs
ZCBub3QgYWxsb2NhdGUgbWVtb3J5LiIpOworICAgIHZvaWQgKmRhdGE7CisgICAgRUlOQV9MSVNU
X0ZSRUUobGlzdE9mSW1hZ2VzTG9jYXRpb24sIGRhdGEpCisgICAgICAgIGZyZWUoZGF0YSk7Cisg
ICAgcmV0dXJuIDA7Cit9CisKIC8qKgogICogQGludGVybmFsCiAgKiBSZXBvcnRzIHVyaSBjaGFu
Z2VkIGFuZCBzd2FwIGludGVybmFsIHN0cmluZyByZWZlcmVuY2UuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X2ZyYW1lLmgKaW5kZXggNWFjNmRhYy4uYzkzYzJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9lZmwvZXdrL2V3a19mcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJh
bWUuaApAQCAtNzY1LDYgKzc2NSwzNSBAQCBFQVBJIEVpbmFfQm9vbCAgICBld2tfZnJhbWVfZmVl
ZF9rZXlfdXAoRXZhc19PYmplY3QgKm8sIGNvbnN0IEV2YXNfRXZlbnRfS2V5X1VwCiAgKi8KIEVB
UEkgRXdrX1RleHRfU2VsZWN0aW9uX1R5cGUgZXdrX2ZyYW1lX3RleHRfc2VsZWN0aW9uX3R5cGVf
Z2V0KEV2YXNfT2JqZWN0ICpvKTsKIAorLyoqCisgKiBHZXRzIHRoZSBmcmFtZSBzb3VyY2UuCisg
KgorICogSXQncyBwYXJ0IG9mIEhUTUwgc2F2aW5nIGZlYXR1cmUuIEN1cnJlbnRseSBvbmx5IEhU
TUwgZG9jdW1lbnRzIGFyZSBzdXBwb3J0ZWQuCisgKgorICogQHBhcmFtIG8gZnJhbWUgc21hcnQg
b2JqZWN0IHRvIGdldCB0aGUgZnJhbWUgc291cmNlCisgKiBAcGFyYW0gZnJhbWVfc291cmNlIGEg
cG9pbnRlciB0byBzdG9yZSB0aGUgc291cmNlIG9mIGZyYW1lLAorICogICAgICAgIG11c3QgQGIg
bm90IGJlIEBjIDAsIHRoaXMgdmFsdWUgQGIgc2hvdWxkIGJlIGZyZWVkIGFmdGVyIHVzZQorICoK
KyAqIEByZXR1cm4gQGMgbGVuZ3RoIG9mIEBhIGZyYW1lX3NvdXJjZSBvbiBzdWNjZXNzLCBvciBA
YyAtMSBvbiBmYWlsdXJlCisgKgorICogQHNlZSBld2tfZnJhbWVfcmVzb3VyY2VzX2xvY2F0aW9u
X2dldCgpCisgKi8KK0VBUEkgc3NpemVfdCBld2tfZnJhbWVfc291cmNlX2dldChFdmFzX09iamVj
dCAqbywgY2hhciAqKmZyYW1lX3NvdXJjZSk7CisKKy8qKgorICogR2V0cyB0aGUgcmVzb3VyY2Ug
bGlzdCBvZiB0aGlzIGZyYW1lLgorICoKKyAqIEl0J3MgcGFydCBvZiBIVE1MIHNhdmluZyBmZWF0
dXJlLiBDdXJyZW50bHkgb25seSBsb2NhdGlvbnMgb2YgaW1hZ2VzIGFyZSBzdXBwb3J0ZWQuCisg
KiBBbiBhcHBsaWNhdGlvbiBtaWdodCBmaW5kIHRoZXNlIHZhbHVlcyBpbiBmcmFtZSBzb3VyY2Ug
YW5kCisgKiByZXBsYWNlIHRoZW0gdG8gdGhlIGxvY2FsIHBhdGhzLiBWYWx1ZXMgYXJlIG5vdCBk
dXBsaWNhdGVkLgorICoKKyAqIEBwYXJhbSBvIGZyYW1lIHNtYXJ0IG9iamVjdCB0byBnZXQgdGhl
IHJlc291cmNlcyBsaXN0CisgKiBAcmV0dXJuIEBjIEVpbmFfTGlzdCB3aXRoIGxvY2F0aW9uIG9m
IHJlc291cmNlcyBvbiBzdWNjZXNzLCBvciBAYyAwIG9uIGZhaWx1cmUsCisgKiAgICAgICAgIHRo
ZSBFaW5hX0xpc3Qgc2hvdWxkIGJlIGZyZWVkIGFmdGVyIHVzZQorICoKKyAqIEBzZWUgZXdrX2Zy
YW1lX3NvdXJjZV9nZXQoKQorICovCitFQVBJIEVpbmFfTGlzdCAqZXdrX2ZyYW1lX3Jlc291cmNl
c19sb2NhdGlvbl9nZXQoRXZhc19PYmplY3QgKm8pOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>