<?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>141821</bug_id>
          
          <creation_ts>2015-02-19 18:13:36 -0800</creation_ts>
          <short_desc>[Mac] REGRESSION: Scroll snap points broken after r180018</short_desc>
          <delta_ts>2015-02-20 11:15:23 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>141537</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1070579</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-19 18:13:36 -0800</bug_when>
    <thetext>The existing Scroll Snap code on Mac relied on the DOM event bubbling phase to make sure the Scroll Snap animations to be triggered. Now that we do not pass these &quot;no motion&quot; events through the DOM event handler chain, the snap animations are not being triggered and the whole feature stops working.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070580</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-02-19 18:14:06 -0800</bug_when>
    <thetext>&lt;rdar://problem/19898333&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070702</commentid>
    <comment_count>2</comment_count>
      <attachid>246972</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-20 08:33:14 -0800</bug_when>
    <thetext>Created attachment 246972
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070714</commentid>
    <comment_count>3</comment_count>
      <attachid>246974</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-20 10:14:01 -0800</bug_when>
    <thetext>Created attachment 246974
Patch v2 (fix iOS build)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070718</commentid>
    <comment_count>4</comment_count>
      <attachid>246974</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-02-20 10:31:30 -0800</bug_when>
    <thetext>Comment on attachment 246974
Patch v2 (fix iOS build)

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

&gt; Source/WebCore/page/mac/EventHandlerMac.mm:991
&gt; +    if (scrollableArea-&gt;existingScrollAnimator())
&gt; +        scrollableArea-&gt;scrollAnimator()-&gt;processWheelEventForScrollSnap(wheelEvent);

Maybe if (ScrollAnimator* animator = scrollableArea-&gt;existingScrollAnimator()) scrollAnimator-&gt;processWheelEventForScrollSnap().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070725</commentid>
    <comment_count>5</comment_count>
      <attachid>246974</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-20 10:51:15 -0800</bug_when>
    <thetext>Comment on attachment 246974
Patch v2 (fix iOS build)

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

&gt;&gt; Source/WebCore/page/mac/EventHandlerMac.mm:991
&gt;&gt; +        scrollableArea-&gt;scrollAnimator()-&gt;processWheelEventForScrollSnap(wheelEvent);
&gt; 
&gt; Maybe if (ScrollAnimator* animator = scrollableArea-&gt;existingScrollAnimator()) scrollAnimator-&gt;processWheelEventForScrollSnap().

Sure! I&apos;ll do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070727</commentid>
    <comment_count>6</comment_count>
      <attachid>246974</attachid>
    <who name="alan">zalan</who>
    <bug_when>2015-02-20 11:01:14 -0800</bug_when>
    <thetext>Comment on attachment 246974
Patch v2 (fix iOS build)

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

&gt;&gt;&gt; Source/WebCore/page/mac/EventHandlerMac.mm:991
&gt;&gt;&gt; +        scrollableArea-&gt;scrollAnimator()-&gt;processWheelEventForScrollSnap(wheelEvent);
&gt;&gt; 
&gt;&gt; Maybe if (ScrollAnimator* animator = scrollableArea-&gt;existingScrollAnimator()) scrollAnimator-&gt;processWheelEventForScrollSnap().
&gt; 
&gt; Sure! I&apos;ll do that.

Couldn&apos;t we use reference here instead? -EventHandler::handleWheelEvent() already has checks against scrollableArea != nullptr in some places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070729</commentid>
    <comment_count>7</comment_count>
      <attachid>246974</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-20 11:07:09 -0800</bug_when>
    <thetext>Comment on attachment 246974
Patch v2 (fix iOS build)

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

&gt;&gt;&gt;&gt; Source/WebCore/page/mac/EventHandlerMac.mm:991
&gt;&gt;&gt;&gt; +        scrollableArea-&gt;scrollAnimator()-&gt;processWheelEventForScrollSnap(wheelEvent);
&gt;&gt;&gt; 
&gt;&gt;&gt; Maybe if (ScrollAnimator* animator = scrollableArea-&gt;existingScrollAnimator()) scrollAnimator-&gt;processWheelEventForScrollSnap().
&gt;&gt; 
&gt;&gt; Sure! I&apos;ll do that.
&gt; 
&gt; Couldn&apos;t we use reference here instead? -EventHandler::handleWheelEvent() already has checks against scrollableArea != nullptr in some places.

Actually, that&apos;s a good point. We should be checking scrollableArea for nullptr (or in the caller) because there are code paths where it may be null. I&apos;ll correct that before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070731</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-20 11:15:23 -0800</bug_when>
    <thetext>Committed r180426: &lt;http://trac.webkit.org/changeset/180426&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246972</attachid>
            <date>2015-02-20 08:33:14 -0800</date>
            <delta_ts>2015-02-20 10:13:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-141821-20150220083305.patch</filename>
            <type>text/plain</type>
            <size>6118</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MDM3NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE1LTAyLTE5ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIFJFR1JFU1NJT046
IFNjcm9sbCBzbmFwIHBvaW50cyBicm9rZW4gYWZ0ZXIgcjE4MDAxOAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQxODIxCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8xOTg5ODMzMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6cGxhdGZvcm1Ob3RpZnlTbmFwSWZOZWNlc3NhcnkpOiBBZGRlZCBzdHViLgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVXaGVlbEV2ZW50KTogQ2FsbCBu
ZXcgJ3BsYXRmb3JtTm90aWZ5U25hcElmTmVjZXNzYXJ5JyBtZXRob2QKKyAgICAgICAgdG8gY2F0
Y2ggdGhlICdlbmRlZCB3aGVlbCcgZ2VzdHVyZS4KKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxl
ci5oOgorICAgICAgICAqIHBhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50SGFuZGxlcjo6cGxhdGZvcm1Ob3RpZnlTbmFwSWZOZWNlc3NhcnkpOiBBZGRl
ZC4gSWYgdGhlIHdoZWVsIGV2ZW50IHNpZ25pZmllcworICAgICAgICB0aGUgZW5kIG9mIGEgd2hl
ZWwvc3dpcGUgZ2VzdHVyZSwgbGV0IHRoZSBzbmFwIGxvZ2ljIGRlY2lkZSBpZiBpdCBzaG91bGQg
ZG8gYW55dGhpbmcKKyAgICAgICAgKGkuZS4sIHRyaWdnZXIgYW4gYW5pbWF0aW9uKQorICAgICAg
ICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yOjpwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbFNuYXApOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oOgorCiAyMDE1LTAyLTE5ICBEYXZpZCBLaWx6
ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIFNPRlRfTElOS19GVU5D
VElPTl97REVDTCxJTVBMfSgpIHRvIFNPRlRfTElOS19GVU5DVElPTl97SEVBREVSLFNPVVJDRX0o
KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAkocmV2aXNpb24gMTgwMzQ1
KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC04MSw3ICs4MSw2IEBACiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgi
CiAjaW5jbHVkZSAiU1ZHRG9jdW1lbnQuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgotI2luY2x1
ZGUgIlNjcm9sbEFuaW1hdG9yLmgiCiAjaW5jbHVkZSAiU2Nyb2xsTGF0Y2hpbmdTdGF0ZS5oIgog
I2luY2x1ZGUgIlNjcm9sbGJhci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCkBAIC0yNjA3LDYg
KzI2MDYsMTIgQEAgYm9vbCBFdmVudEhhbmRsZXI6OnBsYXRmb3JtQ29tcGxldGVQbGF0ZgogICAg
IHJldHVybiB0cnVlOwogfQogCisjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkKK3ZvaWQgRXZl
bnRIYW5kbGVyOjpwbGF0Zm9ybU5vdGlmeVNuYXBJZk5lY2Vzc2FyeShjb25zdCBQbGF0Zm9ybVdo
ZWVsRXZlbnQmLCBTY3JvbGxhYmxlQXJlYSopCit7Cit9CisjZW5kaWYKKwogI2VuZGlmCiAKIGJv
b2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYgZXZlbnQpCkBAIC0yNjcwLDYgKzI2NzUsMTAgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRs
ZVdoZWVsRXZlbnQoY29ucwogICAgICAgICAgICAgICAgIGNsZWFyTGF0Y2hlZFN0YXRlKCk7CiAg
ICAgICAgICAgICAgICAgc2Nyb2xsYWJsZUFyZWEtPnNldFNjcm9sbGVkUHJvZ3JhbW1hdGljYWxs
eShmYWxzZSk7CiAgICAgICAgICAgICB9CisKKyNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQor
ICAgICAgICAgICAgcGxhdGZvcm1Ob3RpZnlTbmFwSWZOZWNlc3NhcnkoYWRqdXN0ZWRFdmVudCwg
c2Nyb2xsYWJsZUFyZWEpOworI2VuZGlmCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAg
ICAgfQogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAkocmV2aXNpb24g
MTgwMzQ1KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtMjAxLDYgKzIwMSwxMCBAQCBwdWJsaWM6CiAgICAgYm9vbCBwbGF0Zm9ybUNvbXBs
ZXRlV2hlZWxFdmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBFbGVtZW50KiBldmVudFRh
cmdldCwgQ29udGFpbmVyTm9kZSogc2Nyb2xsYWJsZUNvbnRhaW5lciwgU2Nyb2xsYWJsZUFyZWEq
KTsKICAgICBib29sIHBsYXRmb3JtQ29tcGxldGVQbGF0Zm9ybVdpZGdldFdoZWVsRXZlbnQoY29u
c3QgUGxhdGZvcm1XaGVlbEV2ZW50JiwgY29uc3QgV2lkZ2V0JiwgQ29udGFpbmVyTm9kZSogc2Ny
b2xsYWJsZUNvbnRhaW5lcik7CiAKKyNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQorICAgIHZv
aWQgcGxhdGZvcm1Ob3RpZnlTbmFwSWZOZWNlc3NhcnkoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50
JiwgU2Nyb2xsYWJsZUFyZWEqKTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKElPU19UT1VDSF9FVkVO
VFMpIHx8IEVOQUJMRShJT1NfR0VTVFVSRV9FVkVOVFMpCiAgICAgdHlwZWRlZiBWZWN0b3I8UmVm
UHRyPFRvdWNoPj4gVG91Y2hBcnJheTsKICAgICB0eXBlZGVmIEhhc2hNYXA8RXZlbnRUYXJnZXQq
LCBUb3VjaEFycmF5Kj4gRXZlbnRUYXJnZXRUb3VjaE1hcDsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9FdmVudEhhbmRsZXJNYWMubW0JKHJldmlzaW9uIDE4MDM0NSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDks
IDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDE0LTIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00Nyw2ICs0Nyw3IEBA
CiAjaW5jbHVkZSAiUmVuZGVyTGlzdEJveC5oIgogI2luY2x1ZGUgIlJlbmRlcldpZGdldC5oIgog
I2luY2x1ZGUgIlJ1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oIgorI2luY2x1ZGUgIlNjcm9sbEFu
aW1hdG9yLmgiCiAjaW5jbHVkZSAiU2Nyb2xsTGF0Y2hpbmdTdGF0ZS5oIgogI2luY2x1ZGUgIlNj
cm9sbGFibGVBcmVhLmgiCiAjaW5jbHVkZSAiU2Nyb2xsYmFyLmgiCkBAIC05NzgsNSArOTc5LDE3
IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpwbGF0Zm9ybUNvbXBsZXRlUGxhdGYKIAogICAgIHJldHVy
biBmYWxzZTsKIH0KLSAgICAKKworI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApCit2b2lkIEV2
ZW50SGFuZGxlcjo6cGxhdGZvcm1Ob3RpZnlTbmFwSWZOZWNlc3NhcnkoY29uc3QgUGxhdGZvcm1X
aGVlbEV2ZW50JiB3aGVlbEV2ZW50LCBTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEpCit7
CisgICAgLy8gU3BlY2lhbCBjYXNlIGhhbmRsaW5nIGZvciBlbmRpbmcgd2hlZWwgZ2VzdHVyZSB0
byBhY3RpdmF0ZSBzbmFwIGFuaW1hdGlvbjoKKyAgICBpZiAod2hlZWxFdmVudC5waGFzZSgpICE9
IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlRW5kZWQgJiYgd2hlZWxFdmVudC5tb21lbnR1bVBoYXNl
KCkgIT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VFbmRlZCkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgaWYgKHNjcm9sbGFibGVBcmVhLT5leGlzdGluZ1Njcm9sbEFuaW1hdG9yKCkpCisgICAgICAg
IHNjcm9sbGFibGVBcmVhLT5zY3JvbGxBbmltYXRvcigpLT5wcm9jZXNzV2hlZWxFdmVudEZvclNj
cm9sbFNuYXAod2hlZWxFdmVudCk7Cit9CisjZW5kaWYKKwogfQpJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAkocmV2aXNpb24gMTgwMzQ1KQorKysgU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC04MCw2ICs4MCwxNiBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yOjpzY3JvbGxUb09mZnNldFdpdGhv
CiAgICAgbm90aWZ5UG9zaXRpb25DaGFuZ2VkKGRlbHRhKTsKIH0KIAorI2lmIEVOQUJMRShDU1Nf
U0NST0xMX1NOQVApCit2b2lkIFNjcm9sbEFuaW1hdG9yOjpwcm9jZXNzV2hlZWxFdmVudEZvclNj
cm9sbFNuYXAoY29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQoreworICAgIGlm
IChtX3ZlcnRpY2FsU2Nyb2xsU25hcEFuaW1hdG9yKQorICAgICAgICBtX3ZlcnRpY2FsU2Nyb2xs
U25hcEFuaW1hdG9yLT5oYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOworICAgIGlmIChtX2hv
cml6b250YWxTY3JvbGxTbmFwQW5pbWF0b3IpCisgICAgICAgIG1faG9yaXpvbnRhbFNjcm9sbFNu
YXBBbmltYXRvci0+aGFuZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KTsKK30KKyNlbmRpZgorCiBi
b29sIFNjcm9sbEFuaW1hdG9yOjpoYW5kbGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxF
dmVudCYgZSkKIHsKICNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKSAmJiBQTEFURk9STShNQUMp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgJKHJldmlzaW9u
IDE4MDM0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgJKHdv
cmtpbmcgY29weSkKQEAgLTExNiw2ICsxMTYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29s
IGlzUnViYmVyQmFuZEluUHJvZ3Jlc3MoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAjaWYg
RU5BQkxFKENTU19TQ1JPTExfU05BUCkgJiYgUExBVEZPUk0oTUFDKQorICAgIHZvaWQgcHJvY2Vz
c1doZWVsRXZlbnRGb3JTY3JvbGxTbmFwKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYpOwogICAg
IHZvaWQgdXBkYXRlU2Nyb2xsQW5pbWF0b3JzQW5kVGltZXJzKCk7CiAgICAgdmlydHVhbCBMYXlv
dXRVbml0IHNjcm9sbE9mZnNldEluQXhpcyhTY3JvbGxFdmVudEF4aXMpIG92ZXJyaWRlOwogICAg
IHZpcnR1YWwgdm9pZCBpbW1lZGlhdGVTY3JvbGxJbkF4aXMoU2Nyb2xsRXZlbnRBeGlzLCBmbG9h
dCBkZWx0YSkgb3ZlcnJpZGU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246974</attachid>
            <date>2015-02-20 10:14:01 -0800</date>
            <delta_ts>2015-02-20 10:31:30 -0800</delta_ts>
            <desc>Patch v2 (fix iOS build)</desc>
            <filename>bug-141821-20150220101352.patch</filename>
            <type>text/plain</type>
            <size>6086</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MDQyMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE1LTAyLTIwICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIFtNYWNdIFJFR1JFU1NJT046
IFNjcm9sbCBzbmFwIHBvaW50cyBicm9rZW4gYWZ0ZXIgcjE4MDAxOAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQxODIxCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS8xOTg5ODMzMz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50SGFuZGxlcjo6cGxhdGZvcm1Ob3RpZnlTbmFwSWZOZWNlc3NhcnkpOiBBZGRlZCBzdHViLgor
ICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVXaGVlbEV2ZW50KTogQ2FsbCBu
ZXcgJ3BsYXRmb3JtTm90aWZ5U25hcElmTmVjZXNzYXJ5JyBtZXRob2QKKyAgICAgICAgdG8gY2F0
Y2ggdGhlICdlbmRlZCB3aGVlbCcgZ2VzdHVyZS4KKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxl
ci5oOgorICAgICAgICAqIHBhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbToKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50SGFuZGxlcjo6cGxhdGZvcm1Ob3RpZnlTbmFwSWZOZWNlc3NhcnkpOiBBZGRl
ZC4gSWYgdGhlIHdoZWVsIGV2ZW50IHNpZ25pZmllcworICAgICAgICB0aGUgZW5kIG9mIGEgd2hl
ZWwvc3dpcGUgZ2VzdHVyZSwgbGV0IHRoZSBzbmFwIGxvZ2ljIGRlY2lkZSBpZiBpdCBzaG91bGQg
ZG8gYW55dGhpbmcKKyAgICAgICAgKGkuZS4sIHRyaWdnZXIgYW4gYW5pbWF0aW9uKQorICAgICAg
ICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bEFuaW1hdG9yOjpwcm9jZXNzV2hlZWxFdmVudEZvclNjcm9sbFNuYXApOiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oOgorCiAyMDE1LTAyLTIwICBFcmljIENhcmxz
b24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIGNsZWFudXAgQWly
UGxheSBjb2RlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCShyZXZpc2lv
biAxODA0MjApCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTgxLDcgKzgxLDYgQEAKICNpbmNsdWRlICJSdW50aW1lQXBwbGljYXRpb25D
aGVja3MuaCIKICNpbmNsdWRlICJTVkdEb2N1bWVudC5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgi
Ci0jaW5jbHVkZSAiU2Nyb2xsQW5pbWF0b3IuaCIKICNpbmNsdWRlICJTY3JvbGxMYXRjaGluZ1N0
YXRlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsYmFyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAg
LTI2MDcsNiArMjYwNiwxMiBAQCBib29sIEV2ZW50SGFuZGxlcjo6cGxhdGZvcm1Db21wbGV0ZVBs
YXRmCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKKyNpZiBFTkFCTEUoQ1NTX1NDUk9MTF9TTkFQKQor
dm9pZCBFdmVudEhhbmRsZXI6OnBsYXRmb3JtTm90aWZ5U25hcElmTmVjZXNzYXJ5KGNvbnN0IFBs
YXRmb3JtV2hlZWxFdmVudCYsIFNjcm9sbGFibGVBcmVhKikKK3sKK30KKyNlbmRpZgorCiAjZW5k
aWYKIAogYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZVdoZWVsRXZlbnQoY29uc3QgUGxhdGZvcm1X
aGVlbEV2ZW50JiBldmVudCkKQEAgLTI2NzAsNiArMjY3NSwxMCBAQCBib29sIEV2ZW50SGFuZGxl
cjo6aGFuZGxlV2hlZWxFdmVudChjb25zCiAgICAgICAgICAgICAgICAgY2xlYXJMYXRjaGVkU3Rh
dGUoKTsKICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlQXJlYS0+c2V0U2Nyb2xsZWRQcm9ncmFt
bWF0aWNhbGx5KGZhbHNlKTsKICAgICAgICAgICAgIH0KKworI2lmIEVOQUJMRShDU1NfU0NST0xM
X1NOQVApCisgICAgICAgICAgICBwbGF0Zm9ybU5vdGlmeVNuYXBJZk5lY2Vzc2FyeShhZGp1c3Rl
ZEV2ZW50LCBzY3JvbGxhYmxlQXJlYSk7CisjZW5kaWYKICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICB9CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCShy
ZXZpc2lvbiAxODA0MjApCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDEsNiArMjAxLDEwIEBAIHB1YmxpYzoKICAgICBib29sIHBsYXRm
b3JtQ29tcGxldGVXaGVlbEV2ZW50KGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVudCYsIEVsZW1lbnQq
IGV2ZW50VGFyZ2V0LCBDb250YWluZXJOb2RlKiBzY3JvbGxhYmxlQ29udGFpbmVyLCBTY3JvbGxh
YmxlQXJlYSopOwogICAgIGJvb2wgcGxhdGZvcm1Db21wbGV0ZVBsYXRmb3JtV2lkZ2V0V2hlZWxF
dmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmLCBjb25zdCBXaWRnZXQmLCBDb250YWluZXJO
b2RlKiBzY3JvbGxhYmxlQ29udGFpbmVyKTsKIAorI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVAp
CisgICAgdm9pZCBwbGF0Zm9ybU5vdGlmeVNuYXBJZk5lY2Vzc2FyeShjb25zdCBQbGF0Zm9ybVdo
ZWVsRXZlbnQmLCBTY3JvbGxhYmxlQXJlYSopOworI2VuZGlmCisKICNpZiBFTkFCTEUoSU9TX1RP
VUNIX0VWRU5UUykgfHwgRU5BQkxFKElPU19HRVNUVVJFX0VWRU5UUykKICAgICB0eXBlZGVmIFZl
Y3RvcjxSZWZQdHI8VG91Y2g+PiBUb3VjaEFycmF5OwogICAgIHR5cGVkZWYgSGFzaE1hcDxFdmVu
dFRhcmdldCosIFRvdWNoQXJyYXkqPiBFdmVudFRhcmdldFRvdWNoTWFwOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvbWFjL0V2ZW50SGFuZGxlck1hYy5tbQkocmV2aXNpb24gMTgwNDIwKQor
KysgU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvRXZlbnRIYW5kbGVyTWFjLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAw
OCwgMjAwOSwgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTQtMjAxNSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ3LDYg
KzQ3LDcgQEAKICNpbmNsdWRlICJSZW5kZXJMaXN0Qm94LmgiCiAjaW5jbHVkZSAiUmVuZGVyV2lk
Z2V0LmgiCiAjaW5jbHVkZSAiUnVudGltZUFwcGxpY2F0aW9uQ2hlY2tzLmgiCisjaW5jbHVkZSAi
U2Nyb2xsQW5pbWF0b3IuaCIKICNpbmNsdWRlICJTY3JvbGxMYXRjaGluZ1N0YXRlLmgiCiAjaW5j
bHVkZSAiU2Nyb2xsYWJsZUFyZWEuaCIKICNpbmNsdWRlICJTY3JvbGxiYXIuaCIKQEAgLTk3OCw1
ICs5NzksMTcgQEAgYm9vbCBFdmVudEhhbmRsZXI6OnBsYXRmb3JtQ29tcGxldGVQbGF0ZgogCiAg
ICAgcmV0dXJuIGZhbHNlOwogfQotICAgIAorCisjaWYgRU5BQkxFKENTU19TQ1JPTExfU05BUCkK
K3ZvaWQgRXZlbnRIYW5kbGVyOjpwbGF0Zm9ybU5vdGlmeVNuYXBJZk5lY2Vzc2FyeShjb25zdCBQ
bGF0Zm9ybVdoZWVsRXZlbnQmIHdoZWVsRXZlbnQsIFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxl
QXJlYSkKK3sKKyAgICAvLyBTcGVjaWFsIGNhc2UgaGFuZGxpbmcgZm9yIGVuZGluZyB3aGVlbCBn
ZXN0dXJlIHRvIGFjdGl2YXRlIHNuYXAgYW5pbWF0aW9uOgorICAgIGlmICh3aGVlbEV2ZW50LnBo
YXNlKCkgIT0gUGxhdGZvcm1XaGVlbEV2ZW50UGhhc2VFbmRlZCAmJiB3aGVlbEV2ZW50Lm1vbWVu
dHVtUGhhc2UoKSAhPSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUVuZGVkKQorICAgICAgICByZXR1
cm47CisKKyAgICBpZiAoc2Nyb2xsYWJsZUFyZWEtPmV4aXN0aW5nU2Nyb2xsQW5pbWF0b3IoKSkK
KyAgICAgICAgc2Nyb2xsYWJsZUFyZWEtPnNjcm9sbEFuaW1hdG9yKCktPnByb2Nlc3NXaGVlbEV2
ZW50Rm9yU2Nyb2xsU25hcCh3aGVlbEV2ZW50KTsKK30KKyNlbmRpZgorCiB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuY3BwCShyZXZpc2lvbiAxODA0MjAp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTgwLDYgKzgwLDE2IEBAIHZvaWQgU2Nyb2xsQW5pbWF0b3I6OnNjcm9sbFRvT2Zm
c2V0V2l0aG8KICAgICBub3RpZnlQb3NpdGlvbkNoYW5nZWQoZGVsdGEpOwogfQogCisjaWYgRU5B
QkxFKENTU19TQ1JPTExfU05BUCkgJiYgUExBVEZPUk0oTUFDKQordm9pZCBTY3JvbGxBbmltYXRv
cjo6cHJvY2Vzc1doZWVsRXZlbnRGb3JTY3JvbGxTbmFwKGNvbnN0IFBsYXRmb3JtV2hlZWxFdmVu
dCYgd2hlZWxFdmVudCkKK3sKKyAgICBpZiAobV92ZXJ0aWNhbFNjcm9sbFNuYXBBbmltYXRvcikK
KyAgICAgICAgbV92ZXJ0aWNhbFNjcm9sbFNuYXBBbmltYXRvci0+aGFuZGxlV2hlZWxFdmVudCh3
aGVlbEV2ZW50KTsKKyAgICBpZiAobV9ob3Jpem9udGFsU2Nyb2xsU25hcEFuaW1hdG9yKQorICAg
ICAgICBtX2hvcml6b250YWxTY3JvbGxTbmFwQW5pbWF0b3ItPmhhbmRsZVdoZWVsRXZlbnQod2hl
ZWxFdmVudCk7Cit9CisjZW5kaWYKKwogYm9vbCBTY3JvbGxBbmltYXRvcjo6aGFuZGxlV2hlZWxF
dmVudChjb25zdCBQbGF0Zm9ybVdoZWVsRXZlbnQmIGUpCiB7CiAjaWYgRU5BQkxFKENTU19TQ1JP
TExfU05BUCkgJiYgUExBVEZPUk0oTUFDKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsQW5pbWF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxBbmltYXRvci5oCShyZXZpc2lvbiAxODA0MjApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxBbmltYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsNiArMTE2LDcgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc1J1YmJlckJhbmRJblByb2dyZXNzKCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KIAogI2lmIEVOQUJMRShDU1NfU0NST0xMX1NOQVApICYmIFBMQVRG
T1JNKE1BQykKKyAgICB2b2lkIHByb2Nlc3NXaGVlbEV2ZW50Rm9yU2Nyb2xsU25hcChjb25zdCBQ
bGF0Zm9ybVdoZWVsRXZlbnQmKTsKICAgICB2b2lkIHVwZGF0ZVNjcm9sbEFuaW1hdG9yc0FuZFRp
bWVycygpOwogICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBzY3JvbGxPZmZzZXRJbkF4aXMoU2Nyb2xs
RXZlbnRBeGlzKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgaW1tZWRpYXRlU2Nyb2xsSW5B
eGlzKFNjcm9sbEV2ZW50QXhpcywgZmxvYXQgZGVsdGEpIG92ZXJyaWRlOwo=
</data>
<flag name="review"
          id="271919"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>