<?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>153194</bug_id>
          
          <creation_ts>2016-01-17 06:09:08 -0800</creation_ts>
          <short_desc>REGRESSION(r192773): [GTK] maps.google.com unresponsive/stalls since r192773</short_desc>
          <delta_ts>2016-02-01 05:23:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>Other</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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>fosero</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>agomez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>calvaris</cc>
    
    <cc>cgarcia</cc>
    
    <cc>guillaume.webkit</cc>
    
    <cc>mcatanzaro</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1156283</commentid>
    <comment_count>0</comment_count>
    <who name="">fosero</who>
    <bug_when>2016-01-17 06:09:08 -0800</bug_when>
    <thetext>Going to maps.google.com results in a default map being shown and then the impossibility to drag the map or input a location during or after loading. Resizing the window shows no paint updates for the particular tab in epiphany, however the tab can be closed (just takes a while).

As suggested on IRC I&apos;ve built webkit both with and without opengl enabled, this made no difference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1156630</commentid>
    <comment_count>1</comment_count>
    <who name="Guilaume Ayoub">guillaume.webkit</who>
    <bug_when>2016-01-19 10:27:49 -0800</bug_when>
    <thetext>I can confirm this bug, happening for example on:
- http://maps.google.com
- https://www.google.com/recaptcha/api2/demo after clicking on the recaptcha
- https://reviewable.io/reviews/kozea/weasyprint/291#-:-K7vq1bdt8Ke36KDOXBW:-1975054978

These pages are rendered correctly for me with 2.11.1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157008</commentid>
    <comment_count>2</comment_count>
    <who name="Guilaume Ayoub">guillaume.webkit</who>
    <bug_when>2016-01-20 12:22:48 -0800</bug_when>
    <thetext>2.11.4 doesn&apos;t fix this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157280</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-21 06:33:50 -0800</bug_when>
    <thetext>*** Bug 153302 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157281</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-21 06:35:03 -0800</bug_when>
    <thetext>The &quot;good&quot; news is that this got backported to 2.10, which should make it easier to find out which commit is to blame.

The bad news is that this got backported. Honestly I think we are being a bit too aggressive with the number of commits backported to stable....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157284</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-01-21 06:49:52 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; The &quot;good&quot; news is that this got backported to 2.10, which should make it
&gt; easier to find out which commit is to blame.
&gt; 
&gt; The bad news is that this got backported. Honestly I think we are being a
&gt; bit too aggressive with the number of commits backported to stable....

I don&apos;t think it&apos;s a matter of number of commits, we had a lot of commits in this release because it took a bit more time since the laste release. All commits landed are bug fixes, rendering issues, crashes and security bugs. What should I leave out? I always try to avoid major refactorings, or large changes in JSC. For every commit I merge, if it&apos;s JSC I run all the javascript tests, if it&apos;s a rendering issue or crash referencing layout tests I run those, and if it affects the GTK API I run the GTK API tests. I could still merge a commit that breaks something or regresses, of course, but that wouldn&apos;t change if I merged fewer commits.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157296</commentid>
    <comment_count>6</comment_count>
    <who name="Andres Gomez Garcia">agomez</who>
    <bug_when>2016-01-21 08:07:33 -0800</bug_when>
    <thetext>(In reply to comment #5)
...
&gt; I don&apos;t think it&apos;s a matter of number of commits, we had a lot of commits in
&gt; this release because it took a bit more time since the laste release. All
&gt; commits landed are bug fixes, rendering issues, crashes and security bugs.
&gt; What should I leave out? I always try to avoid major refactorings, or large
&gt; changes in JSC. For every commit I merge, if it&apos;s JSC I run all the
&gt; javascript tests, if it&apos;s a rendering issue or crash referencing layout
&gt; tests I run those, and if it affects the GTK API I run the GTK API tests. I
&gt; could still merge a commit that breaks something or regresses, of course,
&gt; but that wouldn&apos;t change if I merged fewer commits.

I agree it is not the number of commits but maybe the criteria could be slightly changed.

What about only merging:
* fixes of bugs reported to the stable branch.
* security fixes
* other kind of fixes that have been already merged in (current_unstable_version - 1) and no regressions have been reported on them.

WDYT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157297</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-01-21 08:33:44 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; ...
&gt; &gt; I don&apos;t think it&apos;s a matter of number of commits, we had a lot of commits in
&gt; &gt; this release because it took a bit more time since the laste release. All
&gt; &gt; commits landed are bug fixes, rendering issues, crashes and security bugs.
&gt; &gt; What should I leave out? I always try to avoid major refactorings, or large
&gt; &gt; changes in JSC. For every commit I merge, if it&apos;s JSC I run all the
&gt; &gt; javascript tests, if it&apos;s a rendering issue or crash referencing layout
&gt; &gt; tests I run those, and if it affects the GTK API I run the GTK API tests. I
&gt; &gt; could still merge a commit that breaks something or regresses, of course,
&gt; &gt; but that wouldn&apos;t change if I merged fewer commits.
&gt; 
&gt; I agree it is not the number of commits but maybe the criteria could be
&gt; slightly changed.
&gt; 
&gt; What about only merging:
&gt; * fixes of bugs reported to the stable branch.
&gt; * security fixes
&gt; * other kind of fixes that have been already merged in
&gt; (current_unstable_version - 1) and no regressions have been reported on them.
&gt; 
&gt; WDYT?

That doesn&apos;t fix anything either, because for example in this particular case we don&apos;t know which commit in trunk broke maps.google.com. I prefer to fix 10 issues and introduce 1 regression than fixing 5 issues with no regressions. In any case I always try to avoid merging commits that have been recently committed in trunk, so I&apos;m doing something similar already in the end.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157300</commentid>
    <comment_count>8</comment_count>
    <who name="Andres Gomez Garcia">agomez</who>
    <bug_when>2016-01-21 08:57:23 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (In reply to comment #5)
&gt; &gt; ...
&gt; &gt; &gt; I don&apos;t think it&apos;s a matter of number of commits, we had a lot of commits in
&gt; &gt; &gt; this release because it took a bit more time since the laste release. All
&gt; &gt; &gt; commits landed are bug fixes, rendering issues, crashes and security bugs.
&gt; &gt; &gt; What should I leave out? I always try to avoid major refactorings, or large
&gt; &gt; &gt; changes in JSC. For every commit I merge, if it&apos;s JSC I run all the
&gt; &gt; &gt; javascript tests, if it&apos;s a rendering issue or crash referencing layout
&gt; &gt; &gt; tests I run those, and if it affects the GTK API I run the GTK API tests. I
&gt; &gt; &gt; could still merge a commit that breaks something or regresses, of course,
&gt; &gt; &gt; but that wouldn&apos;t change if I merged fewer commits.
&gt; &gt; 
&gt; &gt; I agree it is not the number of commits but maybe the criteria could be
&gt; &gt; slightly changed.
&gt; &gt; 
&gt; &gt; What about only merging:
&gt; &gt; * fixes of bugs reported to the stable branch.
&gt; &gt; * security fixes
&gt; &gt; * other kind of fixes that have been already merged in
&gt; &gt; (current_unstable_version - 1) and no regressions have been reported on them.
&gt; &gt; 
&gt; &gt; WDYT?
&gt; 
&gt; That doesn&apos;t fix anything either, because for example in this particular
&gt; case we don&apos;t know which commit in trunk broke maps.google.com. I prefer to
&gt; fix 10 issues and introduce 1 regression than fixing 5 issues with no
&gt; regressions. In any case I always try to avoid merging commits that have
&gt; been recently committed in trunk, so I&apos;m doing something similar already in
&gt; the end.

Obviously, you will always will have the risk of introducing regressions. That&apos;s never guaranteed. The question is which is the priority in stable and I disagree with you. You should try as hard as possible to avoid introducing regressions so I would favor fixing 5 issues with no regressions than the other way around.

Anyway, just my opinion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157311</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-21 09:32:48 -0800</bug_when>
    <thetext>By any chance, is there anyone at the office with ICC who would be willing to bisect this between 2.10.5 and 2.10.4?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157420</commentid>
    <comment_count>10</comment_count>
    <who name="Andres Gomez Garcia">agomez</who>
    <bug_when>2016-01-21 14:09:35 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; By any chance, is there anyone at the office with ICC who would be willing
&gt; to bisect this between 2.10.5 and 2.10.4?

I&apos;m getting to it ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157606</commentid>
    <comment_count>11</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-01-21 23:46:35 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (In reply to comment #6)
&gt; &gt; &gt; (In reply to comment #5)
&gt; &gt; &gt; ...
&gt; &gt; &gt; &gt; I don&apos;t think it&apos;s a matter of number of commits, we had a lot of commits in
&gt; &gt; &gt; &gt; this release because it took a bit more time since the laste release. All
&gt; &gt; &gt; &gt; commits landed are bug fixes, rendering issues, crashes and security bugs.
&gt; &gt; &gt; &gt; What should I leave out? I always try to avoid major refactorings, or large
&gt; &gt; &gt; &gt; changes in JSC. For every commit I merge, if it&apos;s JSC I run all the
&gt; &gt; &gt; &gt; javascript tests, if it&apos;s a rendering issue or crash referencing layout
&gt; &gt; &gt; &gt; tests I run those, and if it affects the GTK API I run the GTK API tests. I
&gt; &gt; &gt; &gt; could still merge a commit that breaks something or regresses, of course,
&gt; &gt; &gt; &gt; but that wouldn&apos;t change if I merged fewer commits.
&gt; &gt; &gt; 
&gt; &gt; &gt; I agree it is not the number of commits but maybe the criteria could be
&gt; &gt; &gt; slightly changed.
&gt; &gt; &gt; 
&gt; &gt; &gt; What about only merging:
&gt; &gt; &gt; * fixes of bugs reported to the stable branch.
&gt; &gt; &gt; * security fixes
&gt; &gt; &gt; * other kind of fixes that have been already merged in
&gt; &gt; &gt; (current_unstable_version - 1) and no regressions have been reported on them.
&gt; &gt; &gt; 
&gt; &gt; &gt; WDYT?
&gt; &gt; 
&gt; &gt; That doesn&apos;t fix anything either, because for example in this particular
&gt; &gt; case we don&apos;t know which commit in trunk broke maps.google.com. I prefer to
&gt; &gt; fix 10 issues and introduce 1 regression than fixing 5 issues with no
&gt; &gt; regressions. In any case I always try to avoid merging commits that have
&gt; &gt; been recently committed in trunk, so I&apos;m doing something similar already in
&gt; &gt; the end.
&gt; 
&gt; Obviously, you will always will have the risk of introducing regressions.
&gt; That&apos;s never guaranteed. The question is which is the priority in stable and
&gt; I disagree with you.

I don&apos;t think that&apos;s the question, the question is whether I could have avoided the regression using a different merge strategy.

&gt; You should try as hard as possible to avoid introducing
&gt; regressions so I would favor fixing 5 issues with no regressions than the
&gt; other way around.

I already try as hard as possible to avoid introducing regressions, the fact that I prefer to fix 10 bugs instead of 5 and introduce 1 regression doesn&apos;t mean I&apos;m careless when merging commits. And the key point, again is that I couldn&apos;t have avoided this regression just by being more careful. The only way to be more careful is having a bot that runs all the tests for every commit merged in the stable branch, but that would be a lot more work, and it woulnd&apos;t be enough either. Again this regression was not caught by our bots in trunk either. And of course I can&apos;t run all the tests for every merge myself, 2.10.5 took me 3 days full time merging commits, so I would need 3 weeks to do the same running the tests.

&gt; Anyway, just my opinion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157607</commentid>
    <comment_count>12</comment_count>
    <who name="Andres Gomez Garcia">agomez</who>
    <bug_when>2016-01-22 00:12:38 -0800</bug_when>
    <thetext>(In reply to comment #11)
...
&gt; I already try as hard as possible to avoid introducing regressions, the fact
&gt; that I prefer to fix 10 bugs instead of 5 and introduce 1 regression doesn&apos;t
&gt; mean I&apos;m careless when merging commits. And the key point, again is that I
&gt; couldn&apos;t have avoided this regression just by being more careful. The only
&gt; way to be more careful is having a bot that runs all the tests for every
&gt; commit merged in the stable branch, but that would be a lot more work, and
&gt; it woulnd&apos;t be enough either. Again this regression was not caught by our
&gt; bots in trunk either. And of course I can&apos;t run all the tests for every
&gt; merge myself, 2.10.5 took me 3 days full time merging commits, so I would
&gt; need 3 weeks to do the same running the tests.

I think we are talking about different things. You are talking about running tests and I&apos;m talking about having a space of time in which the changes introduced by the fixes are tested by real users.

That scenario I can only see that happening is if the changes are first introduced in an unstable release and enough time is left until being also merged in a stable release.

And I know that doing so doesn&apos;t guarantee that regression won&apos;t still be introduced but I think it is a change in the merging policy that can help a lot to prevent that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157608</commentid>
    <comment_count>13</comment_count>
    <who name="Andres Gomez Garcia">agomez</who>
    <bug_when>2016-01-22 00:13:55 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; By any chance, is there anyone at the office with ICC who would be willing
&gt; &gt; to bisect this between 2.10.5 and 2.10.4?
&gt; 
&gt; I&apos;m getting to it ...

At least, int he 2.10 series, the regression was introduced by:
https://trac.webkit.org/changeset/195046</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157663</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-22 07:20:00 -0800</bug_when>
    <thetext>Thank you Andres!

I don&apos;t think more time in the unstable series would have helped; we had two users report this was broken in unstable, so clearly there was enough time in unstable.

Carlos, I think a different merge strategy might have helped in this case indeed. I would never have guessed &quot;[GLIB] Implement garbage collector timers&quot; would have introduced a bug, but when I was looking at the backports a few days ago I noted this one in particular and was confused why it was selected, since it&apos;s a large amount of code not fixing any particular issue, even though it looked probably harmless.

I would have avoided the RenderThemeGtk/ScrollbarThemeGtk changes (probably harmless, but huge code changes with no benefit to users), the recent XSSAuditor changes (pushed quite recently, would have held off at least until 2.10.6), Martin&apos;s hyphenation fix (probably harmless, but enabling a new feature that we&apos;ve never supported before), the MIPS fixes and OS X build fixes (just to have fewer commits in stable)....

Still, this is art and not science, the only way to avoid regressions is to not backport anything. Thank you for the hard work on the stable release; I am excited in particular for the scrollbar fix!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157664</commentid>
    <comment_count>15</comment_count>
    <who name="Andres Gomez Garcia">agomez</who>
    <bug_when>2016-01-22 07:29:36 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; Thank you Andres!
&gt; 
&gt; I don&apos;t think more time in the unstable series would have helped; we had two
&gt; users report this was broken in unstable, so clearly there was enough time
&gt; in unstable.

With more time a bisect could have already been done in unstable to find the guilty commit and not having chosen it for merge in stable.

Anyway, I agree in the rest of what you say. I think it would be better to omit fixes that are not a clear benefit in stable and involve big changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157672</commentid>
    <comment_count>16</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-01-22 08:40:43 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; Thank you Andres!

Yes, thank you!

&gt; I don&apos;t think more time in the unstable series would have helped; we had two
&gt; users report this was broken in unstable, so clearly there was enough time
&gt; in unstable.
&gt; 
&gt; Carlos, I think a different merge strategy might have helped in this case
&gt; indeed. I would never have guessed &quot;[GLIB] Implement garbage collector
&gt; timers&quot; would have introduced a bug, but when I was looking at the backports
&gt; a few days ago I noted this one in particular and was confused why it was
&gt; selected, since it&apos;s a large amount of code not fixing any particular issue,
&gt; even though it looked probably harmless.

I also had doubts when I merged it, but I remembered that right after landing this in trunk the perf bot stopped crashing, and I also considered this harmless enough to merge it, just in case it fixed anything and assuming it didn&apos;t break anything. And I was wrong, but again, I would do it again. It&apos;s not that I merged this without even thinking about it, I did, and I ran the tests, but unfortunately it broke a single website.

&gt; I would have avoided the RenderThemeGtk/ScrollbarThemeGtk changes (probably
&gt; harmless, but huge code changes with no benefit to users),

Well, if being able to render forms with GTK+ 2.20 doesn&apos;t benefit the users...

&gt; the recent
&gt; XSSAuditor changes (pushed quite recently, would have held off at least
&gt; until 2.10.6), 

Security fixes, no, those are high priority for me. That would work I had time to make stable releases every 2 or 3 weeks, but that&apos;s not the case, so security fixes always go in.

&gt; Martin&apos;s hyphenation fix (probably harmless, but enabling a
&gt; new feature that we&apos;ve never supported before),

Exactly because we released 2.10 claiming a feature that doesn&apos;t work, we should definitely fix it.

&gt; the MIPS fixes and OS X
&gt; build fixes (just to have fewer commits in stable)....

I guess MIPS and OSX users won&apos;t agree with you here either.

&gt; Still, this is art and not science, the only way to avoid regressions is to
&gt; not backport anything. Thank you for the hard work on the stable release; I
&gt; am excited in particular for the scrollbar fix!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158296</commentid>
    <comment_count>17</comment_count>
      <attachid>269745</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-01-25 06:59:45 -0800</bug_when>
    <thetext>Created attachment 269745
Patch

I confirm that this patch also fixes bug #152340 and it could also fix the huge memory leaks reported with some sites, since we were not doing any garbage collection on workers at all before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158317</commentid>
    <comment_count>18</comment_count>
      <attachid>269745</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-25 07:47:39 -0800</bug_when>
    <thetext>Comment on attachment 269745
Patch

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

Wow, nice job. How did you debug this?

Are you planning a 2.10.6 update soon for this? (I decided to stick with 2.10.4 in Fedora due to this issue.)

&gt; Source/WebCore/ChangeLog:19
&gt; +        schdule their sources. And then we need to check if there are

schdule -&gt; schedule

&gt; Source/WebCore/workers/WorkerRunLoop.cpp:151
&gt; +    if (g_main_context_pending(g_main_context_get_thread_default()))

This should be:

if (g_main_context_pending(mainContext))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158320</commentid>
    <comment_count>19</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-25 07:54:39 -0800</bug_when>
    <thetext>*** Bug 152340 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158323</commentid>
    <comment_count>20</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-01-25 07:59:01 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; Comment on attachment 269745 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=269745&amp;action=review
&gt; 
&gt; Wow, nice job. How did you debug this?

With printf, of course! :-D

&gt; Are you planning a 2.10.6 update soon for this? (I decided to stick with
&gt; 2.10.4 in Fedora due to this issue.)

Yes.

&gt; &gt; Source/WebCore/ChangeLog:19
&gt; &gt; +        schdule their sources. And then we need to check if there are
&gt; 
&gt; schdule -&gt; schedule

Good catch.

&gt; &gt; Source/WebCore/workers/WorkerRunLoop.cpp:151
&gt; &gt; +    if (g_main_context_pending(g_main_context_get_thread_default()))
&gt; 
&gt; This should be:
&gt; 
&gt; if (g_main_context_pending(mainContext))

Right, forgot to change this. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158342</commentid>
    <comment_count>21</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-01-25 09:13:57 -0800</bug_when>
    <thetext>Committed r195537: &lt;http://trac.webkit.org/changeset/195537&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160823</commentid>
    <comment_count>22</comment_count>
      <attachid>269745</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-02-01 05:06:58 -0800</bug_when>
    <thetext>Comment on attachment 269745
Patch

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

&gt; Source/WebCore/workers/WorkerRunLoop.cpp:152
&gt; +    if (g_main_context_pending(g_main_context_get_thread_default()))
&gt; +        g_main_context_iteration(mainContext, FALSE);

Is a single iteration enough? Usually this duo works together in a while statement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160828</commentid>
    <comment_count>23</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-02-01 05:23:59 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; Comment on attachment 269745 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=269745&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/workers/WorkerRunLoop.cpp:152
&gt; &gt; +    if (g_main_context_pending(g_main_context_get_thread_default()))
&gt; &gt; +        g_main_context_iteration(mainContext, FALSE);
&gt; 
&gt; Is a single iteration enough? Usually this duo works together in a while
&gt; statement.

Yes, any other source pending will be handled in the next iteration. I tried to follow the one iteration, one source rule. If this causes any problem we can dispatch all pending sources in the same iteration.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>269745</attachid>
            <date>2016-01-25 06:59:45 -0800</date>
            <delta_ts>2016-01-25 07:47:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wcore-workers-thread-main-context.diff</filename>
            <type>text/plain</type>
            <size>3818</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlY2ZjNDg0Li4xMzlkNmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAg
QEAKKzIwMTYtMDEtMjUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIFJFR1JFU1NJT04ocjE5Mjc3Myk6IFtHVEtdIG1hcHMuZ29vZ2xlLmNvbSB1
bnJlc3BvbnNpdmUvc3RhbGxzIHNpbmNlIHIxOTI3NzMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzE5NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHIxOTI3NzMgd2UgaW1wbGVtZW50ZWQgdGhlIEph
dmFTY3JpcHRDb3JlIGdhcmJhZ2UgY29sbGVjdG9yCisgICAgICAgIHRpbWVycyBmb3IgdGhlIEdU
SysgcG9ydC4gVGhvc2UgdGltZXJzIHNjaGVkdWxlIHNvdXJjZXMgaW4gdGhlCisgICAgICAgIGN1
cnJlbnQgdGhyZWFkIGRlZmF1bHQgbWFpbiBjb250ZXh0LCBidXQgSlMgd2ViIHdvcmtlciB0aHJl
YWRzCisgICAgICAgIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgdXNlIFdURjo6UnVuTG9vcCwgYnV0
IGl0cyBvd24gV29ya2VyUnVuTG9vcAorICAgICAgICBjbGFzcyB0aGF0IGRvZXNuJ3QgY3JlYXRl
IGEgR01haW5Db250ZXh0IGZvciB0aGUgbmV3IHRocmVhZC4gVGhpcworICAgICAgICBtZWFucyB0
aGF0IGZvciB3ZWIgc2l0ZXMgdXNpbmcgd29ya2Vycywgd2UgYXJlIG5vdyBkb2luZyBnYXJiYWdl
CisgICAgICAgIGNvbGxlY3Rpb24gb2Ygd29ya2VyIFZNcyBpbiB0aGUgbWFpbiB0aHJlYWQgd2hp
Y2ggZW5kcyB1cCBpbiBhCisgICAgICAgIGRlYWRsb2NrIGF0IHNvbWUgcG9pbnQuIFdlIG5lZWQg
dG8gZW5zdXJlIHRoYXQgd29ya2VyIHRocmVhZHMKKyAgICAgICAgY3JlYXRlIGEgR01haW5Db250
ZXh0IGFuZCBwdXNoIGl0IGFzIHRoZSBkZWZhdWx0IG9uZSBmb3IgdGhlCisgICAgICAgIHRocmVh
ZCBiZWZvcmUgdGhlIFdvcmtlckdsb2JhbFNjb3BlIGlzIGNyZWF0ZWQuIFRoaXMgd2F5IHdoZW4g
dGhlCisgICAgICAgIHdvcmtlciBIZWFwIGlzIGNyZWF0ZWQsIHRoZSBHQyB0aW1lcnMgdXNlIHRo
ZSByaWdodCBjb250ZXh0IHRvCisgICAgICAgIHNjaGR1bGUgdGhlaXIgc291cmNlcy4gQW5kIHRo
ZW4gd2UgbmVlZCB0byBjaGVjayBpZiB0aGVyZSBhcmUKKyAgICAgICAgc291cmNlcyBwZW5kaW5n
IGluIHRoZSB0aHJlYWQgbWFpbiBjb250ZXh0IG9uIGV2ZXJ5IHdvcmtlciBydW4KKyAgICAgICAg
bG9vcCBpdGVyYXRpb24uCisKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V29ya2VyUnVuTG9vcDo6cnVuSW5Nb2RlKToKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWQ6
OndvcmtlclRocmVhZCk6CisKIDIwMTYtMDEtMjQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dh
cmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEltcGxlbWVudCBvdmVybGF5IHNjcm9s
bGJhcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVuTG9vcC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclJ1bkxvb3AuY3BwCmluZGV4IGU1NDY2
ZGIuLjMxOTM4YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyUnVu
TG9vcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJSdW5Mb29wLmNwcApA
QCAtMzksNiArMzksMTAgQEAKICNpbmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKICNpbmNsdWRlIDx3
dGYvQ3VycmVudFRpbWUuaD4KIAorI2lmIFBMQVRGT1JNKEdUSykKKyNpbmNsdWRlIDxnbGliLmg+
CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBXb3JrZXJTaGFyZWRUaW1l
ciBmaW5hbCA6IHB1YmxpYyBTaGFyZWRUaW1lciB7CkBAIC0xNDIsNiArMTQ2LDEyIEBAIE1lc3Nh
Z2VRdWV1ZVdhaXRSZXN1bHQgV29ya2VyUnVuTG9vcDo6cnVuSW5Nb2RlKFdvcmtlckdsb2JhbFNj
b3BlKiBjb250ZXh0LCBjb25zCiAgICAgQVNTRVJUKGNvbnRleHQpOwogICAgIEFTU0VSVChjb250
ZXh0LT50aHJlYWQoKS50aHJlYWRJRCgpID09IGN1cnJlbnRUaHJlYWQoKSk7CiAKKyNpZiBQTEFU
Rk9STShHVEspCisgICAgR01haW5Db250ZXh0KiBtYWluQ29udGV4dCA9IGdfbWFpbl9jb250ZXh0
X2dldF90aHJlYWRfZGVmYXVsdCgpOworICAgIGlmIChnX21haW5fY29udGV4dF9wZW5kaW5nKGdf
bWFpbl9jb250ZXh0X2dldF90aHJlYWRfZGVmYXVsdCgpKSkKKyAgICAgICAgZ19tYWluX2NvbnRl
eHRfaXRlcmF0aW9uKG1haW5Db250ZXh0LCBGQUxTRSk7CisjZW5kaWYKKwogICAgIGRvdWJsZSBk
ZWFkbGluZSA9IE1lc3NhZ2VRdWV1ZTxUYXNrPjo6aW5maW5pdGVUaW1lKCk7CiAKICNpZiBVU0Uo
Q0YpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXggMGE2MWMzNy4u
Yzc3ZWE5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApAQCAtNDQs
NiArNDQsMTAgQEAKICNpbmNsdWRlICJXZWJDb3JlVGhyZWFkLmgiCiAjZW5kaWYKIAorI2lmIFBM
QVRGT1JNKEdUSykKKyNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRyLmg+CisjZW5kaWYKKwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgU3RhdGljTG9jayB0aHJlYWRTZXRNdXRleDsKQEAg
LTEzNCw2ICsxMzgsMTEgQEAgdm9pZCBXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZCgpCiAgICAg
RmxvYXRpbmdQb2ludEVudmlyb25tZW50OjpzaW5nbGV0b24oKS5wcm9wYWdhdGVNYWluVGhyZWFk
RW52aXJvbm1lbnQoKTsKICNlbmRpZgogCisjaWYgUExBVEZPUk0oR1RLKQorICAgIEdSZWZQdHI8
R01haW5Db250ZXh0PiBtYWluQ29udGV4dCA9IGFkb3B0R1JlZihnX21haW5fY29udGV4dF9uZXco
KSk7CisgICAgZ19tYWluX2NvbnRleHRfcHVzaF90aHJlYWRfZGVmYXVsdChtYWluQ29udGV4dC5n
ZXQoKSk7CisjZW5kaWYKKwogICAgIHsKICAgICAgICAgTG9ja0hvbGRlciBsb2NrKG1fdGhyZWFk
Q3JlYXRpb25NdXRleCk7CiAgICAgICAgIG1fd29ya2VyR2xvYmFsU2NvcGUgPSBjcmVhdGVXb3Jr
ZXJHbG9iYWxTY29wZShtX3N0YXJ0dXBEYXRhLT5tX3NjcmlwdFVSTCwgbV9zdGFydHVwRGF0YS0+
bV91c2VyQWdlbnQsIG1fc3RhcnR1cERhdGEtPm1fY29udGVudFNlY3VyaXR5UG9saWN5LCBtX3N0
YXJ0dXBEYXRhLT5tX2NvbnRlbnRTZWN1cml0eVBvbGljeVR5cGUsIG1fc3RhcnR1cERhdGEtPm1f
dG9wT3JpZ2luLnJlbGVhc2UoKSk7CkBAIC0xNTQsNiArMTYzLDEwIEBAIHZvaWQgV29ya2VyVGhy
ZWFkOjp3b3JrZXJUaHJlYWQoKQogCiAgICAgcnVuRXZlbnRMb29wKCk7CiAKKyNpZiBQTEFURk9S
TShHVEspCisgICAgZ19tYWluX2NvbnRleHRfcG9wX3RocmVhZF9kZWZhdWx0KG1haW5Db250ZXh0
LmdldCgpKTsKKyNlbmRpZgorCiAgICAgVGhyZWFkSWRlbnRpZmllciB0aHJlYWRJRCA9IG1fdGhy
ZWFkSUQ7CiAKICAgICBBU1NFUlQobV93b3JrZXJHbG9iYWxTY29wZS0+aGFzT25lUmVmKCkpOwo=
</data>
<flag name="review"
          id="294639"
          type_id="1"
          status="+"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>