[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
darin
darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:40:58 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 849ae734ccd8d76cd622a2a8101e462fc27d7aa3
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri May 21 00:51:46 2004 +0000
WebCore:
Reviewed by Chris.
- fixed <rdar://problem/3662383>: (REGRESSION: drag slide-back sometimes causes link to load)
- fixed <rdar://problem/3662556>: (REGRESSION: letting up mouse while dragging over link activates the link)
* khtml/khtmlview.h: Added invalidateClick.
* khtml/khtmlview.cpp: (KHTMLView::invalidateClick): Added. Sets clickCount to 0.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::matchLabelsAgainstElement): Changed a string replace to a character replace for slightly
faster code and smaller code size.
(KWQKHTMLPart::khtmlMouseMoveEvent): Call invalidateClick at the appropriate times. To do this correctly,
had to add a boolean result to handleMouseDragged: so I can tell if a drag started or not (due to hysteresis).
(KWQKHTMLPart::attributedString): Changed a string append to a character append for slightly faster code
and smaller code size.
* kwq/WebCoreBridge.h: Added BOOL result to handleMouseDragged:.
Reviewed by Dave.
- handle rules with empty bodies properly
* khtml/css/parser.y: Remove bogus check for empty body that prevents the rule
from being created.
* khtml/css/parser.cpp: Regenerated.
WebKit:
Reviewed by Chris.
- fixed <rdar://problem/3662383>: (REGRESSION: drag slide-back sometimes causes link to load)
* WebCoreSupport.subproj/WebBridge.m: (-[WebBridge handleMouseDragged:]):
Added BOOL result to handleMouseDragged:.
* WebView.subproj/WebHTMLViewPrivate.h: Added BOOL result to _handleMouseDragged:.
* WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): Added BOOL result,
returning YES when the drag started, and no when the hysteresis has not yet been overcome.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@6654 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index a351422..4fc7163 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,31 @@
+2004-05-20 Darin Adler <darin at apple.com>
+
+ Reviewed by Chris.
+
+ - fixed <rdar://problem/3662383>: (REGRESSION: drag slide-back sometimes causes link to load)
+ - fixed <rdar://problem/3662556>: (REGRESSION: letting up mouse while dragging over link activates the link)
+
+ * khtml/khtmlview.h: Added invalidateClick.
+ * khtml/khtmlview.cpp: (KHTMLView::invalidateClick): Added. Sets clickCount to 0.
+
+ * kwq/KWQKHTMLPart.mm:
+ (KWQKHTMLPart::matchLabelsAgainstElement): Changed a string replace to a character replace for slightly
+ faster code and smaller code size.
+ (KWQKHTMLPart::khtmlMouseMoveEvent): Call invalidateClick at the appropriate times. To do this correctly,
+ had to add a boolean result to handleMouseDragged: so I can tell if a drag started or not (due to hysteresis).
+ (KWQKHTMLPart::attributedString): Changed a string append to a character append for slightly faster code
+ and smaller code size.
+
+ * kwq/WebCoreBridge.h: Added BOOL result to handleMouseDragged:.
+
+ Reviewed by Dave.
+
+ - handle rules with empty bodies properly
+
+ * khtml/css/parser.y: Remove bogus check for empty body that prevents the rule
+ from being created.
+ * khtml/css/parser.cpp: Regenerated.
+
2004-05-20 David Hyatt <hyatt at apple.com>
Revise the patch for incorrect caret positions when brs get deleted. It can be even simpler.
diff --git a/WebCore/khtml/css/parser.cpp b/WebCore/khtml/css/parser.cpp
index e90a51c..b013133 100644
--- a/WebCore/khtml/css/parser.cpp
+++ b/WebCore/khtml/css/parser.cpp
@@ -310,18 +310,18 @@ static const short yyrline[] = { 0,
320, 322, 332, 334, 335, 336, 337, 338, 341, 354,
357, 362, 371, 372, 375, 377, 380, 382, 385, 389,
393, 397, 401, 406, 412, 426, 428, 437, 459, 463,
- 468, 472, 477, 479, 480, 483, 485, 488, 508, 520,
- 534, 540, 544, 573, 579, 581, 582, 585, 590, 595,
- 600, 607, 616, 627, 644, 649, 653, 663, 669, 679,
- 680, 681, 684, 696, 716, 722, 728, 736, 747, 751,
- 754, 757, 760, 763, 768, 770, 773, 787, 794, 803,
- 807, 812, 815, 821, 829, 833, 836, 842, 848, 853,
- 859, 867, 890, 894, 902, 907, 914, 921, 923, 926,
- 931, 944, 950, 954, 957, 962, 964, 965, 966, 973,
- 974, 975, 976, 977, 978, 980, 985, 987, 988, 989,
- 990, 991, 992, 993, 994, 995, 996, 997, 998, 999,
- 1000, 1001, 1002, 1003, 1007, 1015, 1030, 1037, 1044, 1052,
- 1078, 1080, 1083, 1085
+ 468, 472, 477, 479, 480, 483, 485, 488, 507, 519,
+ 533, 539, 543, 572, 578, 580, 581, 584, 589, 594,
+ 599, 606, 615, 626, 643, 648, 652, 662, 668, 678,
+ 679, 680, 683, 695, 715, 721, 727, 735, 746, 750,
+ 753, 756, 759, 762, 767, 769, 772, 786, 793, 802,
+ 806, 811, 814, 820, 828, 832, 835, 841, 847, 852,
+ 858, 866, 889, 893, 901, 906, 913, 920, 922, 925,
+ 930, 943, 949, 953, 956, 961, 963, 964, 965, 972,
+ 973, 974, 975, 976, 977, 979, 984, 986, 987, 988,
+ 989, 990, 991, 992, 993, 994, 995, 996, 997, 998,
+ 999, 1000, 1001, 1002, 1006, 1014, 1029, 1036, 1043, 1051,
+ 1077, 1079, 1082, 1084
};
#endif
@@ -1390,7 +1390,7 @@ case 58:
kdDebug( 6080 ) << "got ruleset" << endl << " selector:" << endl;
#endif
CSSParser *p = static_cast<CSSParser *>(parser);
- if ( yyvsp[-4].selector && yyvsp[-1].ok && p->numParsedProperties ) {
+ if ( yyvsp[-4].selector ) {
CSSStyleRuleImpl *rule = new CSSStyleRuleImpl( p->styleElement );
CSSStyleDeclarationImpl *decl = p->createStyleDeclaration( rule );
rule->setSelector( yyvsp[-4].selector );
@@ -1398,13 +1398,12 @@ case 58:
yyval.rule = rule;
} else {
yyval.rule = 0;
- delete yyvsp[-4].selector;
p->clearProperties();
}
;
break;}
case 59:
-#line 509 "parser.y"
+#line 508 "parser.y"
{
if ( yyvsp[0].selector ) {
yyval.selector = yyvsp[0].selector;
@@ -1418,7 +1417,7 @@ case 59:
;
break;}
case 60:
-#line 520 "parser.y"
+#line 519 "parser.y"
{
if ( yyvsp[-3].selector && yyvsp[0].selector ) {
yyval.selector = yyvsp[-3].selector;
@@ -1435,20 +1434,20 @@ case 60:
;
break;}
case 61:
-#line 534 "parser.y"
+#line 533 "parser.y"
{
delete yyvsp[-1].selector;
yyval.selector = 0;
;
break;}
case 62:
-#line 541 "parser.y"
+#line 540 "parser.y"
{
yyval.selector = yyvsp[0].selector;
;
break;}
case 63:
-#line 544 "parser.y"
+#line 543 "parser.y"
{
yyval.selector = yyvsp[0].selector;
if (!yyvsp[-2].selector) {
@@ -1480,33 +1479,33 @@ case 63:
;
break;}
case 64:
-#line 573 "parser.y"
+#line 572 "parser.y"
{
delete yyvsp[-1].selector;
yyval.selector = 0;
;
break;}
case 65:
-#line 580 "parser.y"
+#line 579 "parser.y"
{ yyval.string.string = 0; yyval.string.length = 0; ;
break;}
case 66:
-#line 581 "parser.y"
+#line 580 "parser.y"
{ static unsigned short star = '*'; yyval.string.string = ☆ yyval.string.length = 1; ;
break;}
case 67:
-#line 582 "parser.y"
+#line 581 "parser.y"
{ yyval.string = yyvsp[0].string; ;
break;}
case 68:
-#line 586 "parser.y"
+#line 585 "parser.y"
{
yyval.selector = new CSSSelector();
yyval.selector->tag = yyvsp[-1].element;
;
break;}
case 69:
-#line 590 "parser.y"
+#line 589 "parser.y"
{
yyval.selector = yyvsp[-1].selector;
if ( yyval.selector )
@@ -1514,7 +1513,7 @@ case 69:
;
break;}
case 70:
-#line 595 "parser.y"
+#line 594 "parser.y"
{
yyval.selector = yyvsp[-1].selector;
if (yyval.selector)
@@ -1522,7 +1521,7 @@ case 70:
;
break;}
case 71:
-#line 600 "parser.y"
+#line 599 "parser.y"
{
yyval.selector = new CSSSelector();
yyval.selector->tag = yyvsp[-1].element;
@@ -1532,7 +1531,7 @@ case 71:
;
break;}
case 72:
-#line 607 "parser.y"
+#line 606 "parser.y"
{
yyval.selector = yyvsp[-1].selector;
if (yyval.selector) {
@@ -1544,7 +1543,7 @@ case 72:
;
break;}
case 73:
-#line 616 "parser.y"
+#line 615 "parser.y"
{
yyval.selector = yyvsp[-1].selector;
if (yyval.selector) {
@@ -1556,7 +1555,7 @@ case 73:
;
break;}
case 74:
-#line 628 "parser.y"
+#line 627 "parser.y"
{
CSSParser *p = static_cast<CSSParser *>(parser);
DOM::DocumentImpl *doc = p->document();
@@ -1575,19 +1574,19 @@ case 74:
;
break;}
case 75:
-#line 644 "parser.y"
+#line 643 "parser.y"
{
yyval.element = makeId(static_cast<CSSParser*>(parser)->defaultNamespace, anyLocalName);
;
break;}
case 76:
-#line 650 "parser.y"
+#line 649 "parser.y"
{
yyval.selector = yyvsp[0].selector;
;
break;}
case 77:
-#line 653 "parser.y"
+#line 652 "parser.y"
{
yyval.selector = yyvsp[-1].selector;
if (yyval.selector) {
@@ -1600,14 +1599,14 @@ case 77:
;
break;}
case 78:
-#line 663 "parser.y"
+#line 662 "parser.y"
{
delete yyvsp[-1].selector;
yyval.selector = 0;
;
break;}
case 79:
-#line 670 "parser.y"
+#line 669 "parser.y"
{
yyval.selector = new CSSSelector();
yyval.selector->match = CSSSelector::Id;
@@ -1619,7 +1618,7 @@ case 79:
;
break;}
case 83:
-#line 685 "parser.y"
+#line 684 "parser.y"
{
yyval.selector = new CSSSelector();
yyval.selector->match = CSSSelector::Class;
@@ -1631,7 +1630,7 @@ case 83:
;
break;}
case 84:
-#line 697 "parser.y"
+#line 696 "parser.y"
{
CSSParser *p = static_cast<CSSParser *>(parser);
DOM::DocumentImpl *doc = p->document();
@@ -1651,7 +1650,7 @@ case 84:
;
break;}
case 85:
-#line 717 "parser.y"
+#line 716 "parser.y"
{
yyval.selector = new CSSSelector();
yyval.selector->attr = yyvsp[-1].attribute;
@@ -1659,7 +1658,7 @@ case 85:
;
break;}
case 86:
-#line 722 "parser.y"
+#line 721 "parser.y"
{
yyval.selector = new CSSSelector();
yyval.selector->attr = yyvsp[-5].attribute;
@@ -1668,7 +1667,7 @@ case 86:
;
break;}
case 87:
-#line 728 "parser.y"
+#line 727 "parser.y"
{
yyval.selector = new CSSSelector();
yyval.selector->attr = yyvsp[-1].attribute;
@@ -1679,7 +1678,7 @@ case 87:
;
break;}
case 88:
-#line 736 "parser.y"
+#line 735 "parser.y"
{
yyval.selector = new CSSSelector();
yyval.selector->attr = yyvsp[-5].attribute;
@@ -1691,43 +1690,43 @@ case 88:
;
break;}
case 89:
-#line 748 "parser.y"
+#line 747 "parser.y"
{
yyval.val = CSSSelector::Exact;
;
break;}
case 90:
-#line 751 "parser.y"
+#line 750 "parser.y"
{
yyval.val = CSSSelector::List;
;
break;}
case 91:
-#line 754 "parser.y"
+#line 753 "parser.y"
{
yyval.val = CSSSelector::Hyphen;
;
break;}
case 92:
-#line 757 "parser.y"
+#line 756 "parser.y"
{
yyval.val = CSSSelector::Begin;
;
break;}
case 93:
-#line 760 "parser.y"
+#line 759 "parser.y"
{
yyval.val = CSSSelector::End;
;
break;}
case 94:
-#line 763 "parser.y"
+#line 762 "parser.y"
{
yyval.val = CSSSelector::Contain;
;
break;}
case 97:
-#line 774 "parser.y"
+#line 773 "parser.y"
{
yyval.selector = new CSSSelector();
yyval.selector->match = CSSSelector::Pseudo;
@@ -1743,7 +1742,7 @@ case 97:
;
break;}
case 98:
-#line 788 "parser.y"
+#line 787 "parser.y"
{
yyval.selector = new CSSSelector();
yyval.selector->match = CSSSelector::Pseudo;
@@ -1752,7 +1751,7 @@ case 98:
;
break;}
case 99:
-#line 794 "parser.y"
+#line 793 "parser.y"
{
yyval.selector = new CSSSelector();
yyval.selector->match = CSSSelector::Pseudo;
@@ -1762,13 +1761,13 @@ case 99:
;
break;}
case 100:
-#line 804 "parser.y"
+#line 803 "parser.y"
{
yyval.ok = yyvsp[0].ok;
;
break;}
case 101:
-#line 807 "parser.y"
+#line 806 "parser.y"
{
yyval.ok = yyvsp[-1].ok;
if ( yyvsp[0].ok )
@@ -1776,13 +1775,13 @@ case 101:
;
break;}
case 102:
-#line 812 "parser.y"
+#line 811 "parser.y"
{
yyval.ok = yyvsp[0].ok;
;
break;}
case 103:
-#line 815 "parser.y"
+#line 814 "parser.y"
{
yyval.ok = false;
#ifdef CSS_DEBUG
@@ -1791,7 +1790,7 @@ case 103:
;
break;}
case 104:
-#line 821 "parser.y"
+#line 820 "parser.y"
{
yyval.ok = false;
#ifdef CSS_DEBUG
@@ -1800,19 +1799,19 @@ case 104:
;
break;}
case 105:
-#line 830 "parser.y"
+#line 829 "parser.y"
{
yyval.ok = yyvsp[-2].ok;
;
break;}
case 106:
-#line 833 "parser.y"
+#line 832 "parser.y"
{
yyval.ok = false;
;
break;}
case 107:
-#line 836 "parser.y"
+#line 835 "parser.y"
{
yyval.ok = false;
#ifdef CSS_DEBUG
@@ -1821,7 +1820,7 @@ case 107:
;
break;}
case 108:
-#line 842 "parser.y"
+#line 841 "parser.y"
{
yyval.ok = false;
#ifdef CSS_DEBUG
@@ -1830,7 +1829,7 @@ case 108:
;
break;}
case 109:
-#line 848 "parser.y"
+#line 847 "parser.y"
{
yyval.ok = yyvsp[-3].ok;
if ( yyvsp[-2].ok )
@@ -1838,7 +1837,7 @@ case 109:
;
break;}
case 110:
-#line 853 "parser.y"
+#line 852 "parser.y"
{
yyval.ok = yyvsp[-3].ok;
#ifdef CSS_DEBUG
@@ -1847,7 +1846,7 @@ case 110:
;
break;}
case 111:
-#line 859 "parser.y"
+#line 858 "parser.y"
{
yyval.ok = yyvsp[-5].ok;
#ifdef CSS_DEBUG
@@ -1856,7 +1855,7 @@ case 111:
;
break;}
case 112:
-#line 868 "parser.y"
+#line 867 "parser.y"
{
yyval.ok = false;
CSSParser *p = static_cast<CSSParser *>(parser);
@@ -1881,13 +1880,13 @@ case 112:
;
break;}
case 113:
-#line 891 "parser.y"
+#line 890 "parser.y"
{
yyval.ok = false;
;
break;}
case 114:
-#line 895 "parser.y"
+#line 894 "parser.y"
{
/* The default movable type template has letter-spacing: .none; Handle this by looking for
error tokens at the start of an expr, recover the expr and then treat as an error, cleaning
@@ -1897,43 +1896,43 @@ case 114:
;
break;}
case 115:
-#line 903 "parser.y"
+#line 902 "parser.y"
{
/* Handle this case: div { text-align: center; !important } Just reduce away the stray !important. */
yyval.ok = false;
;
break;}
case 116:
-#line 908 "parser.y"
+#line 907 "parser.y"
{
/* div { font-family: } Just reduce away this property with no value. */
yyval.ok = false;
;
break;}
case 117:
-#line 915 "parser.y"
+#line 914 "parser.y"
{
QString str = qString(yyvsp[-1].string);
yyval.prop_id = getPropertyID( str.lower().latin1(), str.length() );
;
break;}
case 118:
-#line 922 "parser.y"
+#line 921 "parser.y"
{ yyval.b = true; ;
break;}
case 119:
-#line 923 "parser.y"
+#line 922 "parser.y"
{ yyval.b = false; ;
break;}
case 120:
-#line 927 "parser.y"
+#line 926 "parser.y"
{
yyval.valueList = new ValueList;
yyval.valueList->addValue( yyvsp[0].value );
;
break;}
case 121:
-#line 931 "parser.y"
+#line 930 "parser.y"
{
yyval.valueList = yyvsp[-2].valueList;
if ( yyval.valueList ) {
@@ -1949,44 +1948,44 @@ case 121:
;
break;}
case 122:
-#line 944 "parser.y"
+#line 943 "parser.y"
{
delete yyvsp[-1].valueList;
yyval.valueList = 0;
;
break;}
case 123:
-#line 951 "parser.y"
+#line 950 "parser.y"
{
yyval.tok = '/';
;
break;}
case 124:
-#line 954 "parser.y"
+#line 953 "parser.y"
{
yyval.tok = ',';
;
break;}
case 125:
-#line 957 "parser.y"
+#line 956 "parser.y"
{
yyval.tok = 0;
;
break;}
case 126:
-#line 963 "parser.y"
+#line 962 "parser.y"
{ yyval.value = yyvsp[0].value; ;
break;}
case 127:
-#line 964 "parser.y"
+#line 963 "parser.y"
{ yyval.value = yyvsp[0].value; yyval.value.fValue *= yyvsp[-1].val; ;
break;}
case 128:
-#line 965 "parser.y"
+#line 964 "parser.y"
{ yyval.value.id = 0; yyval.value.string = yyvsp[-1].string; yyval.value.unit = CSSPrimitiveValue::CSS_STRING; ;
break;}
case 129:
-#line 966 "parser.y"
+#line 965 "parser.y"
{
QString str = qString( yyvsp[-1].string );
yyval.value.id = getValueID( str.lower().latin1(), str.length() );
@@ -1995,109 +1994,109 @@ case 129:
;
break;}
case 130:
-#line 973 "parser.y"
+#line 972 "parser.y"
{ yyval.value.id = 0; yyval.value.string = yyvsp[-1].string; yyval.value.unit = CSSPrimitiveValue::CSS_DIMENSION ;
break;}
case 131:
-#line 974 "parser.y"
+#line 973 "parser.y"
{ yyval.value.id = 0; yyval.value.string = yyvsp[-1].string; yyval.value.unit = CSSPrimitiveValue::CSS_DIMENSION ;
break;}
case 132:
-#line 975 "parser.y"
+#line 974 "parser.y"
{ yyval.value.id = 0; yyval.value.string = yyvsp[-1].string; yyval.value.unit = CSSPrimitiveValue::CSS_URI; ;
break;}
case 133:
-#line 976 "parser.y"
+#line 975 "parser.y"
{ yyval.value.id = 0; yyval.value.iValue = 0; yyval.value.unit = CSSPrimitiveValue::CSS_UNKNOWN;/* ### */ ;
break;}
case 134:
-#line 977 "parser.y"
+#line 976 "parser.y"
{ yyval.value.id = 0; yyval.value.string = yyvsp[0].string; yyval.value.unit = CSSPrimitiveValue::CSS_RGBCOLOR; ;
break;}
case 135:
-#line 978 "parser.y"
+#line 977 "parser.y"
{ yyval.value.id = 0; yyval.value.string = ParseString(); yyval.value.unit = CSSPrimitiveValue::CSS_RGBCOLOR; ;
break;}
case 136:
-#line 980 "parser.y"
+#line 979 "parser.y"
{
yyval.value = yyvsp[0].value;
;
break;}
case 137:
-#line 986 "parser.y"
+#line 985 "parser.y"
{ yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_NUMBER; ;
break;}
case 138:
-#line 987 "parser.y"
+#line 986 "parser.y"
{ yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_PERCENTAGE; ;
break;}
case 139:
-#line 988 "parser.y"
+#line 987 "parser.y"
{ yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_PX; ;
break;}
case 140:
-#line 989 "parser.y"
+#line 988 "parser.y"
{ yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_CM; ;
break;}
case 141:
-#line 990 "parser.y"
+#line 989 "parser.y"
{ yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_MM; ;
break;}
case 142:
-#line 991 "parser.y"
+#line 990 "parser.y"
{ yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_IN; ;
break;}
case 143:
-#line 992 "parser.y"
+#line 991 "parser.y"
{ yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_PT; ;
break;}
case 144:
-#line 993 "parser.y"
+#line 992 "parser.y"
{ yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_PC; ;
break;}
case 145:
-#line 994 "parser.y"
+#line 993 "parser.y"
{ yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_DEG; ;
break;}
case 146:
-#line 995 "parser.y"
+#line 994 "parser.y"
{ yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_RAD; ;
break;}
case 147:
-#line 996 "parser.y"
+#line 995 "parser.y"
{ yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_GRAD; ;
break;}
case 148:
-#line 997 "parser.y"
+#line 996 "parser.y"
{ yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_MS; ;
break;}
case 149:
-#line 998 "parser.y"
+#line 997 "parser.y"
{ yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_S; ;
break;}
case 150:
-#line 999 "parser.y"
+#line 998 "parser.y"
{ yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_HZ; ;
break;}
case 151:
-#line 1000 "parser.y"
+#line 999 "parser.y"
{ yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_KHZ; ;
break;}
case 152:
-#line 1001 "parser.y"
+#line 1000 "parser.y"
{ yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_EMS; ;
break;}
case 153:
-#line 1002 "parser.y"
+#line 1001 "parser.y"
{ yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = Value::Q_EMS; ;
break;}
case 154:
-#line 1003 "parser.y"
+#line 1002 "parser.y"
{ yyval.value.id = 0; yyval.value.fValue = yyvsp[-1].val; yyval.value.unit = CSSPrimitiveValue::CSS_EXS; ;
break;}
case 155:
-#line 1008 "parser.y"
+#line 1007 "parser.y"
{
Function *f = new Function;
f->name = yyvsp[-4].string;
@@ -2108,7 +2107,7 @@ case 155:
;
break;}
case 156:
-#line 1016 "parser.y"
+#line 1015 "parser.y"
{
Function *f = new Function;
f->name = yyvsp[-2].string;
@@ -2119,11 +2118,11 @@ case 156:
;
break;}
case 157:
-#line 1031 "parser.y"
+#line 1030 "parser.y"
{ yyval.string = yyvsp[-1].string; ;
break;}
case 158:
-#line 1038 "parser.y"
+#line 1037 "parser.y"
{
yyval.rule = 0;
#ifdef CSS_DEBUG
@@ -2132,7 +2131,7 @@ case 158:
;
break;}
case 159:
-#line 1044 "parser.y"
+#line 1043 "parser.y"
{
yyval.rule = 0;
#ifdef CSS_DEBUG
@@ -2141,7 +2140,7 @@ case 159:
;
break;}
case 160:
-#line 1053 "parser.y"
+#line 1052 "parser.y"
{
yyval.rule = 0;
#ifdef CSS_DEBUG
@@ -2371,6 +2370,6 @@ yyerrhandle:
}
return 1;
}
-#line 1088 "parser.y"
+#line 1087 "parser.y"
diff --git a/WebCore/khtml/css/parser.y b/WebCore/khtml/css/parser.y
index af88ef5..7835fc7 100644
--- a/WebCore/khtml/css/parser.y
+++ b/WebCore/khtml/css/parser.y
@@ -491,7 +491,7 @@ ruleset:
kdDebug( 6080 ) << "got ruleset" << endl << " selector:" << endl;
#endif
CSSParser *p = static_cast<CSSParser *>(parser);
- if ( $1 && $4 && p->numParsedProperties ) {
+ if ( $1 ) {
CSSStyleRuleImpl *rule = new CSSStyleRuleImpl( p->styleElement );
CSSStyleDeclarationImpl *decl = p->createStyleDeclaration( rule );
rule->setSelector( $1 );
@@ -499,7 +499,6 @@ ruleset:
$$ = rule;
} else {
$$ = 0;
- delete $1;
p->clearProperties();
}
}
diff --git a/WebCore/khtml/khtmlview.cpp b/WebCore/khtml/khtmlview.cpp
index 9b81001..2f1a7e3 100644
--- a/WebCore/khtml/khtmlview.cpp
+++ b/WebCore/khtml/khtmlview.cpp
@@ -958,6 +958,11 @@ void KHTMLView::resetCursor()
viewport()->unsetCursor();
}
+void KHTMLView::invalidateClick()
+{
+ d->clickCount = 0;
+}
+
void KHTMLView::viewportMouseReleaseEvent( QMouseEvent * _mouse )
{
if ( !m_part->xmlDocImpl() ) return;
diff --git a/WebCore/khtml/khtmlview.h b/WebCore/khtml/khtmlview.h
index edcf1e7..40946c7 100644
--- a/WebCore/khtml/khtmlview.h
+++ b/WebCore/khtml/khtmlview.h
@@ -227,6 +227,7 @@ protected slots:
private:
void resetCursor();
+ void invalidateClick();
void scheduleRelayout();
void unscheduleRelayout();
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index f3b23ec..22b1676 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -507,7 +507,7 @@ NSString *KWQKHTMLPart::matchLabelsAgainstElement(NSArray *labels, ElementImpl *
QString name = element->getAttribute(ATTR_NAME).string();
// Make numbers and _'s in field names behave like word boundaries, e.g., "address2"
name.replace(QRegExp("[[:digit:]]"), " ");
- name.replace("_", " ");
+ name.replace('_', ' ');
QRegExp *regExp = regExpForLabels(labels);
// Use the largest match we can find in the whole name string
@@ -1882,21 +1882,29 @@ void KWQKHTMLPart::khtmlMouseMoveEvent(MouseMoveEvent *event)
return;
}
- if (_mouseDownMayStartDrag &&
- d->m_textElement == DOM::Selection::CHARACTER &&
- [_bridge mayStartDragWithMouseDragged:_currentEvent]) {
+ if (_mouseDownMayStartDrag
+ && d->m_textElement == DOM::Selection::CHARACTER
+ && [_bridge mayStartDragWithMouseDragged:_currentEvent]) {
+
// We are starting a text/image/url drag, so the cursor should be an arrow
d->m_view->resetCursor();
- [_bridge handleMouseDragged:_currentEvent];
- return;
- } else if (_mouseDownMayStartSelect) {
- // we use khtml's selection but our own autoscrolling
- [_bridge handleAutoscrollForMouseDragged:_currentEvent];
- // Don't allow dragging after we've started selecting.
- _mouseDownMayStartDrag = false;
- } else {
+
+ if ([_bridge handleMouseDragged:_currentEvent]) {
+ // Prevent click handling from taking place once we start dragging.
+ d->m_view->invalidateClick();
+ }
return;
}
+ if (!_mouseDownMayStartSelect) {
+ return;
+ }
+
+ // Don't allow dragging or click handling after we've started selecting.
+ _mouseDownMayStartDrag = false;
+ d->m_view->invalidateClick();
+
+ // We use khtml's selection but our own autoscrolling.
+ [_bridge handleAutoscrollForMouseDragged:_currentEvent];
} else {
// If we allowed the other side of the bridge to handle a drag
// last time, then m_bMousePressed might still be set. So we
@@ -2373,7 +2381,7 @@ NSAttributedString *KWQKHTMLPart::attributedString(NodeImpl *_start, int startOf
if (!textObj->firstTextBox() && str.length() > 0 && !addedSpace) {
// We have no runs, but we do have a length. This means we must be
// whitespace that collapsed away at the end of a line.
- text += " ";
+ text += ' ';
addedSpace = true;
}
else {
diff --git a/WebCore/kwq/WebCoreBridge.h b/WebCore/kwq/WebCoreBridge.h
index a2f5ca9..ae7309c 100644
--- a/WebCore/kwq/WebCoreBridge.h
+++ b/WebCore/kwq/WebCoreBridge.h
@@ -403,7 +403,7 @@ typedef enum {
- (NSString *)MIMETypeForPath:(NSString *)path;
-- (void)handleMouseDragged:(NSEvent *)event;
+- (BOOL)handleMouseDragged:(NSEvent *)event;
- (void)handleAutoscrollForMouseDragged:(NSEvent *)event;
- (BOOL)mayStartDragWithMouseDragged:(NSEvent *)event;
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 28ebe1c..e468efc 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,16 @@
+2004-05-20 Darin Adler <darin at apple.com>
+
+ Reviewed by Chris.
+
+ - fixed <rdar://problem/3662383>: (REGRESSION: drag slide-back sometimes causes link to load)
+
+ * WebCoreSupport.subproj/WebBridge.m: (-[WebBridge handleMouseDragged:]):
+ Added BOOL result to handleMouseDragged:.
+ * WebView.subproj/WebHTMLViewPrivate.h: Added BOOL result to _handleMouseDragged:.
+
+ * WebView.subproj/WebHTMLView.m: (-[WebHTMLView _handleMouseDragged:]): Added BOOL result,
+ returning YES when the drag started, and no when the hysteresis has not yet been overcome.
+
2004-05-20 Ken Kocienda <kocienda at apple.com>
Reviewed by Hyatt
diff --git a/WebKit/WebCoreSupport.subproj/WebBridge.m b/WebKit/WebCoreSupport.subproj/WebBridge.m
index e4d53d6..da41e3d 100644
--- a/WebKit/WebCoreSupport.subproj/WebBridge.m
+++ b/WebKit/WebCoreSupport.subproj/WebBridge.m
@@ -979,13 +979,11 @@ static BOOL loggedObjectCacheSize = NO;
return [type length] == 0 ? @"application/octet-stream" : type;
}
-- (void)handleMouseDragged:(NSEvent *)event
+- (BOOL)handleMouseDragged:(NSEvent *)event
{
WebHTMLView *docView = (WebHTMLView *)[[_frame frameView] documentView];
-
ASSERT([docView isKindOfClass:[WebHTMLView class]]);
-
- [docView _handleMouseDragged:event];
+ return [docView _handleMouseDragged:event];
}
- (void)handleAutoscrollForMouseDragged:(NSEvent *)event;
diff --git a/WebKit/WebView.subproj/WebHTMLView.m b/WebKit/WebView.subproj/WebHTMLView.m
index fdb8c62..a82d8d2 100644
--- a/WebKit/WebView.subproj/WebHTMLView.m
+++ b/WebKit/WebView.subproj/WebHTMLView.m
@@ -680,7 +680,7 @@ static WebHTMLView *lastHitView = nil;
return dragImage;
}
-- (void)_handleMouseDragged:(NSEvent *)mouseDraggedEvent
+- (BOOL)_handleMouseDragged:(NSEvent *)mouseDraggedEvent
{
NSPoint mouseDownPoint = [self convertPoint:[_private->mouseDownEvent locationInWindow] fromView:nil];
NSDictionary *element = [self elementAtPoint:mouseDownPoint];
@@ -704,7 +704,7 @@ static WebHTMLView *lastHitView = nil;
if ((imageURL && deltaX < ImageDragHysteresis && deltaY < ImageDragHysteresis) ||
(linkURL && deltaX < LinkDragHysteresis && deltaY < LinkDragHysteresis) ||
(isSelected && deltaX < TextDragHysteresis && deltaY < TextDragHysteresis)) {
- return;
+ return NO;
}
NSImage *dragImage = nil;
@@ -729,7 +729,7 @@ static WebHTMLView *lastHitView = nil;
dragImage:dragImage
mouseDownEvent:_private->mouseDownEvent
mouseDraggedEvent:mouseDraggedEvent]) {
- return;
+ return YES;
}
if (imageURL) {
@@ -771,6 +771,7 @@ static WebHTMLView *lastHitView = nil;
} else {
ASSERT_NOT_REACHED();
}
+ return YES;
}
- (void)_handleAutoscrollForMouseDragged:(NSEvent *)event
diff --git a/WebKit/WebView.subproj/WebHTMLViewPrivate.h b/WebKit/WebView.subproj/WebHTMLViewPrivate.h
index bfb1530..91c6b0e 100644
--- a/WebKit/WebView.subproj/WebHTMLViewPrivate.h
+++ b/WebKit/WebView.subproj/WebHTMLViewPrivate.h
@@ -81,7 +81,7 @@
- (void)_frameOrBoundsChanged;
- (NSImage *)_dragImageForLinkElement:(NSDictionary *)element;
-- (void)_handleMouseDragged:(NSEvent *)event;
+- (BOOL)_handleMouseDragged:(NSEvent *)event;
- (void)_handleAutoscrollForMouseDragged:(NSEvent *)event;
- (BOOL)_mayStartDragWithMouseDragged:(NSEvent *)event;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list