<?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>132372</bug_id>
          
          <creation_ts>2014-04-29 19:55:31 -0700</creation_ts>
          <short_desc>Phone number data detection UI is offset for iframes, pages with topContentInset</short_desc>
          <delta_ts>2014-04-30 15:47:16 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Beth Dakin">bdakin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bdakin</cc>
    
    <cc>beidson</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1005254</commentid>
    <comment_count>0</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-04-29 19:55:31 -0700</bug_when>
    <thetext>Phone number data detection UI is offset for iframes and pages with topContentInset. The right coordinate math is not happening.

&lt;rdar://problem/16651235&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005255</commentid>
    <comment_count>1</comment_count>
      <attachid>230451</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-04-29 20:00:05 -0700</bug_when>
    <thetext>Created attachment 230451
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005256</commentid>
    <comment_count>2</comment_count>
      <attachid>230451</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-04-29 20:05:41 -0700</bug_when>
    <thetext>Comment on attachment 230451
Patch

Wait, missing one thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005257</commentid>
    <comment_count>3</comment_count>
      <attachid>230452</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-04-29 20:07:42 -0700</bug_when>
    <thetext>Created attachment 230452
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005267</commentid>
    <comment_count>4</comment_count>
      <attachid>230452</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-04-29 20:45:37 -0700</bug_when>
    <thetext>Comment on attachment 230452
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:77
&gt; +        IntPoint frameOffset(frame-&gt;view()-&gt;scrollOffset().width(), frame-&gt;view()-&gt;scrollOffset().height());
&gt; +        offset.move(frameOffset.x(), frameOffset.y());
&gt; +        offset = frame-&gt;view()-&gt;contentsToRootView(offset);

contentsToRootView() already subtracts the scrollOffset, so I&apos;m not sure why you have to do it manually here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005274</commentid>
    <comment_count>5</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-04-29 21:31:34 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 230452 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=230452&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:77
&gt; &gt; +        IntPoint frameOffset(frame-&gt;view()-&gt;scrollOffset().width(), frame-&gt;view()-&gt;scrollOffset().height());
&gt; &gt; +        offset.move(frameOffset.x(), frameOffset.y());
&gt; &gt; +        offset = frame-&gt;view()-&gt;contentsToRootView(offset);
&gt; 
&gt; contentsToRootView() already subtracts the scrollOffset, so I&apos;m not sure why you have to do it manually here.

Hmm, you&apos;re right. This is kind of a hack I guess. The original offset value is not actually a contents point because it already factors in the scroll position, so I was factoring it out only to get contentsToRootView() to work correctly and factor it back in.

Using Widget::convertToRootView() does the right thing for frames and subframes, but that leaves overflow areas broken. 

I&apos;m torn about defending the hack vs. finding a better solution. Will think on this a bit more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005388</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-04-30 09:22:09 -0700</bug_when>
    <thetext>For the selection overlay controller, Tim mentioned the new PageOverlay type &quot;PageOverlay::OverlayType::Document&quot; that supposedly handles scrolling automatically.

Tim, do you think switching over to PageOverlay::OverlayType::Document here would just make this class of bug disappear?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005390</commentid>
    <comment_count>7</comment_count>
      <attachid>230452</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-04-30 09:28:44 -0700</bug_when>
    <thetext>Comment on attachment 230452
Patch

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

&gt; Source/WebKit2/WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:73
&gt; +        Frame* frame = range-&gt;ownerDocument().frame();

The code below uses FrameView, not Frame, so I suggest putting that into a local variable. Also, I suggest using a reference, not a pointer.

&gt; Source/WebKit2/WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:76
&gt; +        IntPoint frameOffset(frame-&gt;view()-&gt;scrollOffset().width(), frame-&gt;view()-&gt;scrollOffset().height());
&gt; +        offset.move(frameOffset.x(), frameOffset.y());

From a micro-code-structure point of view, this can just be:

    offset.move(view.scrollOffset());

There’s no need to convert the IntSize to an IntPoint since IntPoint::move already takes an IntSize. That’s separate from the question you are discussing with Simon about whether this is OK.

I fact, again ignoring the correctness of the coordinate math that you are discussing with Simon, I think this 6-line snippet can be written like in two lines like this:

    FrameView&amp; view = *range-&gt;ownerDocument().view();
    rect.setLocation(view.contentsToRootView(rect.location() + view.scrollOffset()));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005436</commentid>
    <comment_count>8</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-04-30 11:24:53 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; For the selection overlay controller, Tim mentioned the new PageOverlay type &quot;PageOverlay::OverlayType::Document&quot; that supposedly handles scrolling automatically.
&gt; 
&gt; Tim, do you think switching over to PageOverlay::OverlayType::Document here would just make this class of bug disappear?

Not a chance. It will make the topContentInset bug disappear, but for subframes you still need to do something yourself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005451</commentid>
    <comment_count>9</comment_count>
      <attachid>230452</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-04-30 11:43:59 -0700</bug_when>
    <thetext>Comment on attachment 230452
Patch

I think we decided that we should use document overlays for this, which affects the coordinate math.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005539</commentid>
    <comment_count>10</comment_count>
      <attachid>230526</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-04-30 15:02:49 -0700</bug_when>
    <thetext>Created attachment 230526
Document overlay patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005553</commentid>
    <comment_count>11</comment_count>
      <attachid>230526</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-04-30 15:36:01 -0700</bug_when>
    <thetext>Comment on attachment 230526
Document overlay patch

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

&gt; Source/WebKit2/WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:75
&gt; +        rect.setLocation(mainFrameView.convertChildToSelf(viewForRange, rect.location()));

What happens with transformed frames/overflow scroll/etc.? We might need FIXMEs about those things?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1005555</commentid>
    <comment_count>12</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2014-04-30 15:47:16 -0700</bug_when>
    <thetext>Thanks Tim! http://trac.webkit.org/changeset/168053</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>230451</attachid>
            <date>2014-04-29 20:00:05 -0700</date>
            <delta_ts>2014-04-29 20:07:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>for-review.txt</filename>
            <type>text/plain</type>
            <size>2329</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Nzk3NykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDE0LTA0LTI5ICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBQaG9uZSBudW1iZXIgZGF0YSBkZXRl
Y3Rpb24gVUkgaXMgb2Zmc2V0IGZvciBpZnJhbWVzLCBwYWdlcyB3aXRoIHRvcENvbnRlbnRJbnNl
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyMzcy
CisgICAgICAgIC1hbmQgY29ycmVzcG9uZGluZy0KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE2
NjUxMjM1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRha2UgZnJhbWUgb2Zmc2V0IGludG8gYWNjb3VudCwgYW5kIGNhbGwgY29udGVudHNUb1Jvb3RW
aWV3KCksIHdoaWNoIHdpbGwgYWNjb3VudCAKKyAgICAgICAgZm9yIHRvcENvbnRlbnRJbnNldCwg
aGVhZGVySGVpZ2h0LCBldGMuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UZWxl
cGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6VGVs
ZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXI6OmRyYXdSZWN0KToKKwogMjAxNC0wNC0yOSAg
RXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBbTWFjXSB0
YWcgdGhlIHZpZGVvIGxheWVycyB3aXRoIGRlc2NyaXB0aXZlIG5hbWUgdG8gYWlkIGRlYnVnZ2lu
ZwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UZWxlcGhvbmVO
dW1iZXJPdmVybGF5Q29udHJvbGxlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RlbGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVy
TWFjLm1tCShyZXZpc2lvbiAxNjc5NDYpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1RlbGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyTWFjLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoVEVMRVBIT05FX05VTUJFUl9E
RVRFQ1RJT04pICYmIFBMQVRGT1JNKE1BQykKIAorI2ltcG9ydCA8V2ViQ29yZS9Eb2N1bWVudC5o
PgogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZVZpZXcuaD4KICNpbXBvcnQgPFdlYkNvcmUvR3JhcGhp
Y3NDb250ZXh0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL01haW5GcmFtZS5oPgpAQCAtNjcsNiArNjgs
MTUgQEAgdm9pZCBUZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlcjo6ZAogICAgICAgICAv
LyBGSVhNRTogVGhpcyB3aWxsIGNob2tlIGlmIHRoZSByYW5nZSB3cmFwcyBhcm91bmQgdGhlIGVk
Z2Ugb2YgdGhlIHZpZXcuCiAgICAgICAgIC8vIFdoYXQgc2hvdWxkIHdlIGRvIGluIHRoYXQgY2Fz
ZT8KICAgICAgICAgSW50UmVjdCByZWN0ID0gZW5jbG9zaW5nSW50UmVjdChyYW5nZS0+Ym91bmRp
bmdSZWN0KCkpOworCisgICAgICAgIC8vIENvbnZlcnQgdG8gdGhlIHJpZ2h0IGNvb3JkaW5hdGUg
c3BhY2UuCisgICAgICAgIEZyYW1lKiBmcmFtZSA9IHJhbmdlLT5vd25lckRvY3VtZW50KCkuZnJh
bWUoKTsKKyAgICAgICAgSW50UG9pbnQgb2Zmc2V0ID0gcmVjdC5sb2NhdGlvbigpOworICAgICAg
ICBJbnRQb2ludCBmcmFtZU9mZnNldChmcmFtZS0+dmlldygpLT5zY3JvbGxPZmZzZXQoKS53aWR0
aCgpLCBmcmFtZS0+dmlldygpLT5zY3JvbGxPZmZzZXQoKS5oZWlnaHQoKSk7CisgICAgICAgIG9m
ZnNldC5tb3ZlKGZyYW1lT2Zmc2V0LngoKSwgZnJhbWVPZmZzZXQueSgpKTsKKyAgICAgICAgb2Zm
c2V0ID0gZnJhbWUtPnZpZXcoKS0+Y29udGVudHNUb1Jvb3RWaWV3KG9mZnNldCk7CisgICAgICAg
IHJlY3Quc2V0TG9jYXRpb24ob2Zmc2V0KTsKKwogICAgICAgICBDR1JlY3QgY2dSZWN0c1tdID0g
eyAoQ0dSZWN0KXJlY3QgfTsKIAogICAgICAgICBSZXRhaW5QdHI8RERIaWdobGlnaHRSZWY+IGhp
Z2hsaWdodCA9IGFkb3B0Q0YoRERIaWdobGlnaHRDcmVhdGVXaXRoUmVjdHNJblZpc2libGVSZWN0
KG51bGxwdHIsIGNnUmVjdHMsIDEsIChDR1JlY3QpZGlydHlSZWN0LCB0cnVlKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230452</attachid>
            <date>2014-04-29 20:07:42 -0700</date>
            <delta_ts>2014-04-30 15:02:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>for-review-2.txt</filename>
            <type>text/plain</type>
            <size>3079</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Nzk3NykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE0LTA0LTI5ICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBQaG9uZSBudW1iZXIgZGF0YSBkZXRl
Y3Rpb24gVUkgaXMgb2Zmc2V0IGZvciBpZnJhbWVzLCBwYWdlcyB3aXRoIHRvcENvbnRlbnRJbnNl
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyMzcy
CisgICAgICAgIC1hbmQgY29ycmVzcG9uZGluZy0KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE2
NjUxMjM1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRha2UgZnJhbWUgb2Zmc2V0IGludG8gYWNjb3VudCwgYW5kIGNhbGwgY29udGVudHNUb1Jvb3RW
aWV3KCksIHdoaWNoIHdpbGwgYWNjb3VudCAKKyAgICAgICAgZm9yIHRvcENvbnRlbnRJbnNldCwg
aGVhZGVySGVpZ2h0LCBldGMuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UZWxl
cGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6VGVs
ZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXI6OmRyYXdSZWN0KToKKworICAgICAgICBEb27i
gJl0IGNvbnZlcnQgdGhpcyB0byBhIGNvbnRlbnRzIHBvaW50LiBOb3cgdGhhdCB0aGF0IG1hdGgg
Zm9yIHBhaW50aW5nIGlzIAorICAgICAgICBjb3JyZWN0LCBtYWtpbmcgdGhpcyBhIGNvbnRlbnRz
IHBvaW50IHdpbGwgYmUgaW4gdGhlIHdyb25nIHBvc2l0aW9uLgorICAgICAgICAoV2ViS2l0OjpU
ZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlcjo6bW91c2VFdmVudCk6CisKIDIwMTQtMDQt
MjkgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW01h
Y10gdGFnIHRoZSB2aWRlbyBsYXllcnMgd2l0aCBkZXNjcmlwdGl2ZSBuYW1lIHRvIGFpZCBkZWJ1
Z2dpbmcKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGVsZXBo
b25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXJNYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29udHJv
bGxlck1hYy5tbQkocmV2aXNpb24gMTY3OTQ2KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9UZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlck1hYy5tbQkod29y
a2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1C
RVJfREVURUNUSU9OKSAmJiBQTEFURk9STShNQUMpCiAKKyNpbXBvcnQgPFdlYkNvcmUvRG9jdW1l
bnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0dy
YXBoaWNzQ29udGV4dC5oPgogI2ltcG9ydCA8V2ViQ29yZS9NYWluRnJhbWUuaD4KQEAgLTY3LDYg
KzY4LDE1IEBAIHZvaWQgVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXI6OmQKICAgICAg
ICAgLy8gRklYTUU6IFRoaXMgd2lsbCBjaG9rZSBpZiB0aGUgcmFuZ2Ugd3JhcHMgYXJvdW5kIHRo
ZSBlZGdlIG9mIHRoZSB2aWV3LgogICAgICAgICAvLyBXaGF0IHNob3VsZCB3ZSBkbyBpbiB0aGF0
IGNhc2U/CiAgICAgICAgIEludFJlY3QgcmVjdCA9IGVuY2xvc2luZ0ludFJlY3QocmFuZ2UtPmJv
dW5kaW5nUmVjdCgpKTsKKworICAgICAgICAvLyBDb252ZXJ0IHRvIHRoZSByaWdodCBjb29yZGlu
YXRlIHNwYWNlLgorICAgICAgICBGcmFtZSogZnJhbWUgPSByYW5nZS0+b3duZXJEb2N1bWVudCgp
LmZyYW1lKCk7CisgICAgICAgIEludFBvaW50IG9mZnNldCA9IHJlY3QubG9jYXRpb24oKTsKKyAg
ICAgICAgSW50UG9pbnQgZnJhbWVPZmZzZXQoZnJhbWUtPnZpZXcoKS0+c2Nyb2xsT2Zmc2V0KCku
d2lkdGgoKSwgZnJhbWUtPnZpZXcoKS0+c2Nyb2xsT2Zmc2V0KCkuaGVpZ2h0KCkpOworICAgICAg
ICBvZmZzZXQubW92ZShmcmFtZU9mZnNldC54KCksIGZyYW1lT2Zmc2V0LnkoKSk7CisgICAgICAg
IG9mZnNldCA9IGZyYW1lLT52aWV3KCktPmNvbnRlbnRzVG9Sb290VmlldyhvZmZzZXQpOworICAg
ICAgICByZWN0LnNldExvY2F0aW9uKG9mZnNldCk7CisKICAgICAgICAgQ0dSZWN0IGNnUmVjdHNb
XSA9IHsgKENHUmVjdClyZWN0IH07CiAKICAgICAgICAgUmV0YWluUHRyPERESGlnaGxpZ2h0UmVm
PiBoaWdobGlnaHQgPSBhZG9wdENGKERESGlnaGxpZ2h0Q3JlYXRlV2l0aFJlY3RzSW5WaXNpYmxl
UmVjdChudWxscHRyLCBjZ1JlY3RzLCAxLCAoQ0dSZWN0KWRpcnR5UmVjdCwgdHJ1ZSkpOwpAQCAt
MTEyLDcgKzEyMiw3IEBAIHZvaWQgVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXI6OmgK
ICAgICAKIGJvb2wgVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlRXZlbnQo
UGFnZU92ZXJsYXkqLCBjb25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCkKIHsKLSAgICBJbnRQb2lu
dCBtb3VzZVBvc2l0aW9uID0gbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5tYWluRnJhbWUoKS52aWV3
KCktPnJvb3RWaWV3VG9Db250ZW50cyhldmVudC5wb3NpdGlvbigpKTsKKyAgICBJbnRQb2ludCBt
b3VzZVBvc2l0aW9uID0gZXZlbnQucG9zaXRpb24oKTsKICAgICAKICAgICAvLyBJZiB0aGlzIGV2
ZW50IGhhcyBub3RoaW5nIHRvIGRvIHdpdGggdGhlIGxlZnQgYnV0dG9uLCBpdCBjbGVhcnMgdGhl
IGN1cnJlbnQgbW91c2UgZG93biB0cmFja2luZyBhbmQgd2UncmUgZG9uZSBwcm9jZXNzaW5nIGl0
LgogICAgIGlmIChldmVudC5idXR0b24oKSAhPSBXZWJNb3VzZUV2ZW50OjpMZWZ0QnV0dG9uKSB7
Cg==
</data>
<flag name="review"
          id="254838"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230526</attachid>
            <date>2014-04-30 15:02:49 -0700</date>
            <delta_ts>2014-04-30 15:36:00 -0700</delta_ts>
            <desc>Document overlay patch</desc>
            <filename>for-review.txt</filename>
            <type>text/plain</type>
            <size>3172</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2ODA0NikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE0LTA0LTMwICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBQaG9uZSBudW1iZXIgZGF0YSBkZXRl
Y3Rpb24gVUkgaXMgb2Zmc2V0IGZvciBpZnJhbWVzLCBwYWdlcyB3aXRoIHRvcENvbnRlbnRJbnNl
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyMzcy
CisgICAgICAgIC1hbmQgY29ycmVzcG9uZGluZy0KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE2
NjUxMjM1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE1ha2UgdGhlIG92ZXJsYXkgYW4gT3ZlcmxheVR5cGU6OkRvY3VtZW50LCB3aGljaCB3aWxsIGtl
ZXAgZXZlcnl0aGluZyByZWxhdGl2ZSB0byAKKyAgICAgICAgdGhlIG1haW4gRG9jdW1lbnTigJlz
IGNvb3JkaW5hdGVzLiAKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvVGVsZXBob25lTnVt
YmVyT3ZlcmxheUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpUZWxlcGhvbmVOdW1i
ZXJPdmVybGF5Q29udHJvbGxlcjo6Y3JlYXRlT3ZlcmxheUlmTmVlZGVkKToKKworICAgICAgICBN
YWtlIGZyYW1lcyB3b3JrIGJ5IGNvbnZlcnRpbmcgdG8gdGhlIG1haW4gIGRvY3VtZW504oCZcyBj
b29yZGluYXRlIHNwYWNlLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGVsZXBo
b25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChXZWJLaXQ6OlRlbGVw
aG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyOjpkcmF3UmVjdCk6CisKIDIwMTQtMDQtMzAgRGF2
aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgW05ldyBNdWx0aWNvbHVtbl0g
RW5hYmxlIG5ldyBtdWx0aS1jb2x1bW4gbW9kZQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1RlbGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvVGVsZXBob25lTnVtYmVy
T3ZlcmxheUNvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAxNjgwMzIpCisrKyBTb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIHZvaWQgVGVsZXBob25lTnVtYmVyT3Zl
cmxheUNvbnRyb2xsZXI6OmMKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICAKLSAgICBSZWZQ
dHI8UGFnZU92ZXJsYXk+IG92ZXJsYXkgPSBQYWdlT3ZlcmxheTo6Y3JlYXRlKHRoaXMpOworICAg
IFJlZlB0cjxQYWdlT3ZlcmxheT4gb3ZlcmxheSA9IFBhZ2VPdmVybGF5OjpjcmVhdGUodGhpcywg
UGFnZU92ZXJsYXk6Ok92ZXJsYXlUeXBlOjpEb2N1bWVudCk7CiAgICAgbV90ZWxlcGhvbmVOdW1i
ZXJPdmVybGF5ID0gb3ZlcmxheS5nZXQoKTsKICAgICBtX3dlYlBhZ2UtPmluc3RhbGxQYWdlT3Zl
cmxheShvdmVybGF5LnJlbGVhc2UoKSwgUGFnZU92ZXJsYXk6OkZhZGVNb2RlOjpGYWRlKTsKICAg
ICBtX3RlbGVwaG9uZU51bWJlck92ZXJsYXktPnNldE5lZWRzRGlzcGxheSgpOwpJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UZWxlcGhvbmVOdW1iZXJPdmVybGF5
Q29udHJvbGxlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1RlbGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyTWFjLm1tCShyZXZp
c2lvbiAxNjgwMzIpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1Rl
bGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0y
OCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICYm
IFBMQVRGT1JNKE1BQykKIAorI2ltcG9ydCA8V2ViQ29yZS9Eb2N1bWVudC5oPgogI2ltcG9ydCA8
V2ViQ29yZS9GcmFtZVZpZXcuaD4KICNpbXBvcnQgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0Lmg+
CiAjaW1wb3J0IDxXZWJDb3JlL01haW5GcmFtZS5oPgpAQCAtNjcsNiArNjgsMTIgQEAgdm9pZCBU
ZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlcjo6ZAogICAgICAgICAvLyBGSVhNRTogVGhp
cyB3aWxsIGNob2tlIGlmIHRoZSByYW5nZSB3cmFwcyBhcm91bmQgdGhlIGVkZ2Ugb2YgdGhlIHZp
ZXcuCiAgICAgICAgIC8vIFdoYXQgc2hvdWxkIHdlIGRvIGluIHRoYXQgY2FzZT8KICAgICAgICAg
SW50UmVjdCByZWN0ID0gZW5jbG9zaW5nSW50UmVjdChyYW5nZS0+Ym91bmRpbmdSZWN0KCkpOwor
CisgICAgICAgIC8vIENvbnZlcnQgdG8gdGhlIG1haW4gZG9jdW1lbnQncyBjb29yZGluYXRlIHNw
YWNlLgorICAgICAgICBGcmFtZVZpZXcqIHZpZXdGb3JSYW5nZSA9IHJhbmdlLT5vd25lckRvY3Vt
ZW50KCkudmlldygpOworICAgICAgICBGcmFtZVZpZXcmIG1haW5GcmFtZVZpZXcgPSAqbV93ZWJQ
YWdlLT5jb3JlUGFnZSgpLT5tYWluRnJhbWUoKS52aWV3KCk7CisgICAgICAgIHJlY3Quc2V0TG9j
YXRpb24obWFpbkZyYW1lVmlldy5jb252ZXJ0Q2hpbGRUb1NlbGYodmlld0ZvclJhbmdlLCByZWN0
LmxvY2F0aW9uKCkpKTsKKwogICAgICAgICBDR1JlY3QgY2dSZWN0c1tdID0geyAoQ0dSZWN0KXJl
Y3QgfTsKIAogICAgICAgICBSZXRhaW5QdHI8RERIaWdobGlnaHRSZWY+IGhpZ2hsaWdodCA9IGFk
b3B0Q0YoRERIaWdobGlnaHRDcmVhdGVXaXRoUmVjdHNJblZpc2libGVSZWN0KG51bGxwdHIsIGNn
UmVjdHMsIDEsIChDR1JlY3QpZGlydHlSZWN0LCB0cnVlKSk7Cg==
</data>
<flag name="review"
          id="254904"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>