<?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>24502</bug_id>
          
          <creation_ts>2009-03-10 16:20:00 -0700</creation_ts>
          <short_desc>REGRESSION: Horizontal scrolling reversed for tilt/ball wheels</short_desc>
          <delta_ts>2009-03-12 12:42: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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows Vista</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Peter Kasting">pkasting</reporter>
          <assigned_to name="Peter Kasting">pkasting</assigned_to>
          <cc>aroben</cc>
    
    <cc>fishd</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>113078</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-03-10 16:20:00 -0700</bug_when>
    <thetext>r25803 made horizontal scrolling direction be correct for shift + vertical wheel and wrong for horizontal wheel (previously, it was the opposite).  This regressed rdar://4965715 .

This has to do with the various coordinate systems for different kinds of horizontal scrolling:

WM_MOUSEWHEEL is positive up, negative down.  Thus shift + wheel is positive left, negative right.
WM_MOUSEHWHEEL is positive right, negative left.
WM_HSCROLL gives you a positive wheel delta along with SB_{LINE,PAGE}{RIGHT,LEFT}.
WebKit expects positive left, negative right.

So, WM_MOUSEHWHEEL needs its delta inverted, whereas shift + WM_MOUSEWHEEL does not, and WM_HSCROLL (if Safari handled it, which it doesn&apos;t) simply needs to be set correctly.

I can patch this.  It will involve a few modifications to the WebKit/win code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113203</commentid>
    <comment_count>1</comment_count>
      <attachid>28485</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-03-11 11:36:42 -0700</bug_when>
    <thetext>Created attachment 28485
patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113449</commentid>
    <comment_count>2</comment_count>
      <attachid>28485</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-03-12 12:30:39 -0700</bug_when>
    <thetext>Comment on attachment 28485
patch v1

&gt;Index: WebCore/platform/win/WheelEventWin.cpp
...
&gt;+    if (isMouseHWheel)
&gt;+      delta = -delta;  // Windows is &lt;-- -/+ --&gt;, WebKit wants &lt;-- +/- --&gt;

nit: indentation is wrong

otherwise LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113452</commentid>
    <comment_count>3</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2009-03-12 12:42:16 -0700</bug_when>
    <thetext>Fixed in r41642.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28485</attachid>
            <date>2009-03-11 11:36:42 -0700</date>
            <delta_ts>2009-03-12 12:30:39 -0700</delta_ts>
            <desc>patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>5358</size>
            <attacher name="Peter Kasting">pkasting</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTU4OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMDktMDMtMTEgIFBldGVyIEthc3RpbmcgIDxwa2FzdGluZ0Bnb29n
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDUwMgorICAgICAgICBN
YWtlIGhvcml6b250YWwgc2Nyb2xsaW5nIGFvbiBXaW5kb3dzIGFsd2F5cyBnbyB0aGUgY29ycmVj
dCBkaXJlY3Rpb24uCisKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS93aW4vV2hlZWxFdmVudFdpbi5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybVdoZWVsRXZlbnQ6OlBsYXRmb3JtV2hlZWxFdmVudCk6CisKIDIwMDktMDMt
MTEgIEhpcm9ub3JpIEJvbm8gIDxoYm9ub0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vUGxhdGZv
cm1XaGVlbEV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVdo
ZWVsRXZlbnQuaAkocmV2aXNpb24gNDE1ODgpCisrKyBXZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3Jt
V2hlZWxFdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC05NCw3ICs5NCw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgUGxhdGZvcm1XaGVlbEV2ZW50KE5TRXZlbnQqKTsKICNlbmRpZgog
I2lmIFBMQVRGT1JNKFdJTikKLSAgICAgICAgUGxhdGZvcm1XaGVlbEV2ZW50KEhXTkQsIFdQQVJB
TSwgTFBBUkFNLCBib29sIGlzSG9yaXpvbnRhbCk7CisgICAgICAgIFBsYXRmb3JtV2hlZWxFdmVu
dChIV05ELCBXUEFSQU0sIExQQVJBTSwgYm9vbCBpc01vdXNlSFdoZWVsKTsKICNlbmRpZgogI2lm
IFBMQVRGT1JNKEdUSykKICAgICAgICAgUGxhdGZvcm1XaGVlbEV2ZW50KEdka0V2ZW50U2Nyb2xs
Kik7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3dpbi9XaGVlbEV2ZW50V2luLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3dpbi9XaGVlbEV2ZW50V2luLmNwcAkocmV2aXNpb24g
NDE1ODgpCisrKyBXZWJDb3JlL3BsYXRmb3JtL3dpbi9XaGVlbEV2ZW50V2luLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNjIsNyArNjIsNyBAQCBzdGF0aWMgaW50IHZlcnRpY2FsU2Nyb2xsTGluZXMo
KQogICAgIHJldHVybiBzY3JvbGxMaW5lczsKIH0KIAotUGxhdGZvcm1XaGVlbEV2ZW50OjpQbGF0
Zm9ybVdoZWVsRXZlbnQoSFdORCBoV25kLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtLCBi
b29sIGlzSG9yaXpvbnRhbCkKK1BsYXRmb3JtV2hlZWxFdmVudDo6UGxhdGZvcm1XaGVlbEV2ZW50
KEhXTkQgaFduZCwgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSwgYm9vbCBpc01vdXNlSFdo
ZWVsKQogICAgIDogbV9wb3NpdGlvbihwb3NpdGlvbkZvckV2ZW50KGhXbmQsIGxQYXJhbSkpCiAg
ICAgLCBtX2dsb2JhbFBvc2l0aW9uKGdsb2JhbFBvc2l0aW9uRm9yRXZlbnQoaFduZCwgbFBhcmFt
KSkKICAgICAsIG1faXNBY2NlcHRlZChmYWxzZSkKQEAgLTgwLDcgKzgwLDkgQEAgUGxhdGZvcm1X
aGVlbEV2ZW50OjpQbGF0Zm9ybVdoZWVsRXZlbnQoSAogICAgIC8vICh0aGUgZGVmYXVsdCBzY3Jv
bGwgYW1vdW50IG9uIFdpbmRvd3MgaXMgdGhyZWUgbGluZXMgcGVyIHdoZWVsIHRpY2spLgogICAg
IHN0YXRpYyBjb25zdCBmbG9hdCBjU2Nyb2xsYmFyUGl4ZWxzUGVyTGluZSA9IDEwMC4wZiAvIDMu
MGY7CiAgICAgZmxvYXQgZGVsdGEgPSBHRVRfV0hFRUxfREVMVEFfV1BBUkFNKHdQYXJhbSkgLyBz
dGF0aWNfY2FzdDxmbG9hdD4oV0hFRUxfREVMVEEpOwotICAgIGlmIChpc0hvcml6b250YWwpIHsK
KyAgICBpZiAoaXNNb3VzZUhXaGVlbCkKKyAgICAgIGRlbHRhID0gLWRlbHRhOyAgLy8gV2luZG93
cyBpcyA8LS0gLS8rIC0tPiwgV2ViS2l0IHdhbnRzIDwtLSArLy0gLS0+CisgICAgaWYgKGlzTW91
c2VIV2hlZWwgfHwgbV9zaGlmdEtleSkgewogICAgICAgICBtX2RlbHRhWCA9IGRlbHRhICogc3Rh
dGljX2Nhc3Q8ZmxvYXQ+KGhvcml6b250YWxTY3JvbGxDaGFycygpKSAqIGNTY3JvbGxiYXJQaXhl
bHNQZXJMaW5lOwogICAgICAgICBtX2RlbHRhWSA9IDA7CiAgICAgICAgIG1fZ3JhbnVsYXJpdHkg
PSBTY3JvbGxCeVBpeGVsV2hlZWxFdmVudDsKSW5kZXg6IFdlYktpdC93aW4vQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdC93aW4vQ2hhbmdlTG9nCShyZXZpc2lvbiA0MTU4OSkKKysrIFdl
YktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDkt
MDMtMTEgIFBldGVyIEthc3RpbmcgIDxwa2FzdGluZ0Bnb29nbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yNDUwMgorICAgICAgICBNYWtlIGhvcml6b250YWwgc2Nyb2xs
aW5nIG9uIFdpbmRvd3MgYWx3YXlzIGdvIHRoZSBjb3JyZWN0IGRpcmVjdGlvbi4KKworICAgICAg
ICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6bW91c2VXaGVlbCk6CisgICAgICAg
IChXZWJWaWV3V25kUHJvYyk6CisgICAgICAgICogV2ViVmlldy5oOgorCiAyMDA5LTAzLTEwICBT
dGV2ZSBGYWxrZW5idXJnICA8c2ZhbGtlbkBhcHBsZS5jb20+CiAKICAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzY2NjIxNjc+IFdoZW4gY2xpY2tpbmcgaW4gVG9wIFNpdGVzIHNlYXJjaCBmaWVsZCwg
V2ViSGlzdG9yeTo6ZmluZEluZGV4IGZhaWxzIGNhdXNpbmcgY3Jhc2ggaW4gQm9va21hcmtzU2Vh
cmNoZXI6OmNvbGxlY3RIaXN0b3J5U2VhcmNoUmVzdWx0cwpJbmRleDogV2ViS2l0L3dpbi9XZWJW
aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvd2luL1dlYlZpZXcuY3BwCShyZXZpc2lvbiA0
MTU4OCkKKysrIFdlYktpdC93aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMTEs
NyArMTMxMSw3IEBAIGJvb2wgV2ViVmlldzo6aGFuZGxlTW91c2VFdmVudChVSU5UIG1lc3MKICAg
ICByZXR1cm4gaGFuZGxlZDsKIH0KIAotYm9vbCBXZWJWaWV3Ojptb3VzZVdoZWVsKFdQQVJBTSB3
UGFyYW0sIExQQVJBTSBsUGFyYW0sIGJvb2wgaXNIb3Jpem9udGFsKQorYm9vbCBXZWJWaWV3Ojpt
b3VzZVdoZWVsKFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0sIGJvb2wgaXNNb3VzZUhXaGVl
bCkKIHsKICAgICAvLyBDdHJsK01vdXNlIHdoZWVsIGRvZXNuJ3QgZXZlciBnbyBpbnRvIFdlYkNv
cmUuICBJdCBpcyB1c2VkIHRvCiAgICAgLy8gem9vbSBpbnN0ZWFkIChNYWMgem9vbXMgdGhlIHdo
b2xlIERlc2t0b3AsIGJ1dCBXaW5kb3dzIGJyb3dzZXJzIHRyaWdnZXIgdGhlaXIKQEAgLTEzMjUs
NyArMTMyNSw3IEBAIGJvb2wgV2ViVmlldzo6bW91c2VXaGVlbChXUEFSQU0gd1BhcmFtLCAKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgUGxhdGZvcm1XaGVlbEV2ZW50IHdoZWVs
RXZlbnQobV92aWV3V2luZG93LCB3UGFyYW0sIGxQYXJhbSwgaXNIb3Jpem9udGFsKTsKKyAgICBQ
bGF0Zm9ybVdoZWVsRXZlbnQgd2hlZWxFdmVudChtX3ZpZXdXaW5kb3csIHdQYXJhbSwgbFBhcmFt
LCBpc01vdXNlSFdoZWVsKTsKICAgICBGcmFtZSogY29yZUZyYW1lID0gY29yZShtX21haW5GcmFt
ZSk7CiAgICAgaWYgKCFjb3JlRnJhbWUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTE3MTQs
NyArMTcxNCw3IEBAIHN0YXRpYyBMUkVTVUxUIENBTExCQUNLIFdlYlZpZXdXbmRQcm9jKEgKICAg
ICAgICAgY2FzZSBXTV9WSVNUQV9NT1VTRUhXSEVFTDoKICAgICAgICAgICAgIGlmIChGcmFtZSog
Y29yZUZyYW1lID0gY29yZShtYWluRnJhbWVJbXBsKSkKICAgICAgICAgICAgICAgICBpZiAoY29y
ZUZyYW1lLT52aWV3KCktPmRpZEZpcnN0TGF5b3V0KCkpCi0gICAgICAgICAgICAgICAgICAgIGhh
bmRsZWQgPSB3ZWJWaWV3LT5tb3VzZVdoZWVsKHdQYXJhbSwgbFBhcmFtLCAod1BhcmFtICYgTUtf
U0hJRlQpIHx8IG1lc3NhZ2UgPT0gV01fVklTVEFfTU9VU0VIV0hFRUwpOworICAgICAgICAgICAg
ICAgICAgICBoYW5kbGVkID0gd2ViVmlldy0+bW91c2VXaGVlbCh3UGFyYW0sIGxQYXJhbSwgbWVz
c2FnZSA9PSBXTV9WSVNUQV9NT1VTRUhXSEVFTCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBXTV9TWVNLRVlET1dOOgogICAgICAgICAgICAgaGFuZGxlZCA9IHdlYlZpZXctPmtl
eURvd24od1BhcmFtLCBsUGFyYW0sIHRydWUpOwpJbmRleDogV2ViS2l0L3dpbi9XZWJWaWV3LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9XZWJWaWV3LmgJKHJldmlzaW9uIDQxNTg4KQorKysg
V2ViS2l0L3dpbi9XZWJWaWV3LmgJKHdvcmtpbmcgY29weSkKQEAgLTczOSw3ICs3MzksNyBAQCBw
dWJsaWM6CiAgICAgYm9vbCBvbkluaXRNZW51UG9wdXAoV1BBUkFNLCBMUEFSQU0pOwogICAgIGJv
b2wgb25VbmluaXRNZW51UG9wdXAoV1BBUkFNLCBMUEFSQU0pOwogICAgIHZvaWQgcGVyZm9ybUNv
bnRleHRNZW51QWN0aW9uKFdQQVJBTSwgTFBBUkFNLCBib29sIGJ5UG9zaXRpb24pOwotICAgIGJv
b2wgbW91c2VXaGVlbChXUEFSQU0sIExQQVJBTSwgYm9vbCBpc0hvcml6b250YWwpOworICAgIGJv
b2wgbW91c2VXaGVlbChXUEFSQU0sIExQQVJBTSwgYm9vbCBpc01vdXNlSFdoZWVsKTsKICAgICBi
b29sIGV4ZWNDb21tYW5kKFdQQVJBTSB3UGFyYW0sIExQQVJBTSBsUGFyYW0pOwogICAgIGJvb2wg
a2V5RG93bihXUEFSQU0sIExQQVJBTSwgYm9vbCBzeXN0ZW1LZXlEb3duID0gZmFsc2UpOwogICAg
IGJvb2wga2V5VXAoV1BBUkFNLCBMUEFSQU0sIGJvb2wgc3lzdGVtS2V5RG93biA9IGZhbHNlKTsK
</data>
<flag name="review"
          id="13972"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>