ChangeLog 1.39 MB
Newer Older
thatcher's avatar
thatcher committed
1
2
3
4
5
6
7
8
9
2007-05-24  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Sam Weinig.

        Remove the OBJC_NEW_PROPERTIES #ifdef and only export the new @property syntax.

        * bindings/objc/DOMObject.h:
        * bindings/scripts/CodeGeneratorObjC.pm:

weinig's avatar
weinig committed
10
11
12
13
14
15
16
17
2007-05-24  Sam Weinig  <sam@webkit.org>

        Reviewed by Anders.

        Uncomment HTMLFramesSetElement constructor now that it exists.

        * page/DOMWindow.idl:

andersca's avatar
andersca committed
18
19
20
21
22
23
24
25
2007-05-24  Anders Carlsson  <andersca@apple.com>

        Try fixing the buildbot build.
        
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocument::resizeImageToFit):
        (WebCore::ImageDocument::imageClicked):

weinig's avatar
weinig committed
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
2007-05-24  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=13853
        Autogenerate the JS bindings for the HTMLFrameSetElement

        * DerivedSources.make:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        * bindings/js/JSHTMLFrameSetCustom.cpp: Added.
        (WebCore::JSHTMLFrameSetElement::canGetItemsForName):
        (WebCore::JSHTMLFrameSetElement::nameGetter):
        * bindings/js/kjs_html.cpp:
        (KJS::):
        (KJS::JSHTMLElement::classInfo):
        (KJS::JSHTMLElement::accessors):
        (KJS::JSHTMLElement::getOwnPropertySlot):
        * bindings/js/kjs_html.h:
        (KJS::JSHTMLElement::):
        * html/HTMLFrameSetElement.idl:

49
50
51
52
53
54
55
56
57
58
2007-05-24  Zack Rusin  <zrusin@trolltech.com>

        Reviewed by andersca

        Fixing check for incorrent font size - it should
        check fixed not normal.

        * page/Settings.cpp:
        (WebCore::Settings::setDefaultFixedFontSize):

bdash's avatar
bdash committed
59
60
61
62
63
64
65
2007-05-24  Mitz Pettel  <mitz@webkit.org>

        Speculative buildbot build fix.

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
2007-05-24  Adam Roben  <aroben@apple.com>

        Made Chrome::addMessageToConsole more flexible

        addMessageToConsole now takes two additional parameters to specify the
        message source (HTML, JS, CSS, XML) and level (error, warning, log). To
        maintain our old behavior, all current messages were given
        JSMessageSource and ErrorMessageLevel parameters. Messages matching
        these characteristics are passed up to the ChromeClient.

        Reviewed by Hyatt.

        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        * bindings/js/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):
        * bindings/js/kjs_proxy.cpp:
        (WebCore::KJSProxy::evaluate):
        * bindings/js/kjs_window.cpp:
        (KJS::Window::isSafeScript):
        (KJS::ScheduledAction::execute):
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::reportErrorToConsole):
        * ksvg2/misc/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::reportWarning):
        (WebCore::SVGDocumentExtensions::reportError):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::reportLocalLoadFailed):
        * page/Chrome.cpp:
        (WebCore::Chrome::addMessageToConsole):
        * page/Chrome.h:
        (WebCore::):
        * xml/xmlhttprequest.cpp:
        (WebCore::XMLHttpRequest::setRequestHeader):

101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
2007-05-24  David Hyatt  <hyatt@apple.com>

        Rework how HTML handles line numbering so that it is not fooled by
        \r without a following \n and so that document.write doesn't lead
        to line numbering confusion.

        Reviewed by aroben

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::reportErrorToConsole):
        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::processListing):
        (WebCore::HTMLTokenizer::parseSpecial):
        (WebCore::HTMLTokenizer::parseComment):
        (WebCore::HTMLTokenizer::parseServer):
        (WebCore::HTMLTokenizer::parseProcessingInstruction):
        (WebCore::HTMLTokenizer::parseText):
        (WebCore::HTMLTokenizer::parseEntity):
        (WebCore::HTMLTokenizer::parseTag):
        (WebCore::HTMLTokenizer::write):
        (WebCore::HTMLTokenizer::processToken):
        (WebCore::HTMLTokenizer::setSrc):
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::lineNumberPtr):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::addLine):
        * loader/TextDocument.cpp:
        (WebCore::TextTokenizer::write):
        * platform/SegmentedString.cpp:
        (WebCore::SegmentedString::SegmentedString):
        (WebCore::SegmentedString::operator=):
        (WebCore::SegmentedString::clear):
        * platform/SegmentedString.h:
        (WebCore::SegmentedString::SegmentedString):
        (WebCore::SegmentedString::advance):
        (WebCore::SegmentedString::escaped):

138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
2007-05-23  David Hyatt  <hyatt@apple.com>

        Make the delete/InsertRows/Cells methods as well as the rowIndex method
        able to work properly even when whitespace or comment nodes are present.

        Reviewed by aroben

        fast/table/rowindex-comment-nodes.html

        * html/HTMLTableRowElement.cpp:
        (WebCore::HTMLTableRowElement::rowIndex):
        (WebCore::HTMLTableRowElement::insertCell):
        (WebCore::HTMLTableRowElement::deleteCell):
        * html/HTMLTableSectionElement.cpp:
        (WebCore::HTMLTableSectionElement::insertRow):
        (WebCore::HTMLTableSectionElement::deleteRow):

155
156
157
158
159
160
161
162
163
164
165
166
167
168
2007-05-23  David Hyatt  <hyatt@apple.com>

        <optgroup> should allow <script> and text nodes inside it, just like
        <select> does.

        Reviewed by aroben

        fast/forms/stuff-on-my-optgroup.html

        * html/HTMLOptGroupElement.cpp:
        (WebCore::HTMLOptGroupElement::checkDTD):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::checkDTD):

169
170
171
172
173
174
175
176
177
2007-05-23  David Hyatt  <hyatt@apple.com>

        Framesets should allow whitespace text nodes as children.

        Reviewed by aroben

        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::checkDTD):

bdash's avatar
bdash committed
178
179
180
181
182
183
184
185
186
2007-05-24  Mark Rowe  <mrowe@apple.com>

        Fix the Qt build after r21685.

        * platform/qt/CursorQt.cpp:
        (WebCore::notAllowedCursor):
        (WebCore::zoomInCursor):
        (WebCore::zoomOutCursor):

bdash's avatar
bdash committed
187
188
189
190
191
192
193
194
195
196
2007-05-23  Alp Toker  <alp.toker@collabora.co.uk>

        Reviewed by Adam.

        Fix the gdk build following changes in r21685.

        * platform/gdk/CursorGdk.cpp:
        (WebCore::zoomInCursor):
        (WebCore::zoomOutCursor):

197
198
199
200
201
202
203
204
205
206
207
208
209
2007-05-23  David Hyatt  <hyatt@apple.com>

        Fix for <rdar://problem/5222611> REGRESSION: Paint ordering problems at
        http://buymeasoda.com/dev/issues/image_onload/image_onload.html

        Clamp z-index so that values that exceed maxint (or that are below minint)
        are clamped to those values.

        Reviewed by darin

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::applyProperty):

ddkilzer's avatar
ddkilzer committed
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
2007-05-23  Mitz Pettel  <mitz@webkit.org>

        Reviewed by David Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13563
          REGRESSION: Crash loading message in Yahoo! Mail

        Tests: fast/css/stale-style-selector-crash-1.html
               fast/css/stale-style-selector-crash-2.html

        * dom/Document.cpp:
        (WebCore::Document::Document): Initialize the m_didCalculateStyleSelector
        flag to 'false'.
        (WebCore::Document::updateStyleSelector): Do not bail out if we have ever
        calculated a non-trivial style selector, even if at the moment we are
        pending style sheets. We could have calculated a non-trivial selector
        already either because at some point there were no pending style sheets
        (so the currently pending ones were added dynamically) or because we were
        forced to do a layout ignoring pending style sheets. Either way, once
        there is a style selector, we need to keep it up to date, otherwise we can
        crash under recalcStyle() during updateRendering() or simply not recalculate
        style correctly for dynamic changes.
        (WebCore::Document::recalcStyleSelector): Set m_didCalculateStyleSelector
        to 'true' when creating a new style selector.
        * dom/Document.h:

andersca's avatar
andersca committed
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
2007-05-23  Anders Carlsson  <andersca@apple.com>

        Reviewed by Adam.

        <rdar://problem/5224749> Show a zoom/unzoom cursor for resizable image documents
        
        * WebCore.xcodeproj/project.pbxproj:
        Install the zoom cursors.
        
        * loader/ImageDocument.cpp:
        (WebCore::ImageDocument::resizeImageToFit):
        Set the cursor to the zoom in cursor.
        
        (WebCore::ImageDocument::restoreImageSize):
        If the image fits, reset the cursor. Otherwise, set it to the zoom in cursor.

darin's avatar
darin committed
252
253
254
255
256
257
258
259
260
261
262
263
2007-05-23  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        - fix problems where unrendered nodes were affecting on plain text serialization

        * editing/TextIterator.cpp:
        (WebCore::TextIterator::advance): Don't call handleXXX functions or exitNode for
        nodes without renderers.
        (WebCore::shouldEmitNewlineAfterNode): Only consider rendered nodes when deciding
        if this is the last node in the document.

andersca's avatar
andersca committed
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
2007-05-23  Anders Carlsson  <andersca@apple.com>

        Reviewed by Geoff.

        <rdar://problem/3663808> Resize large images to fit in the browser window
        
        * WebCore.exp:
        Add new settings method.
        
        * loader/ImageDocument.cpp:
        (WebCore::ImageEventListener::ImageEventListener):
        New class that handles resize events and click events and forwards them to the image document.
        
        (WebCore::ImageTokenizer::ImageTokenizer):
        (WebCore::ImageTokenizer::writeRawData):
        (WebCore::ImageTokenizer::finish):
        (WebCore::ImageDocument::ImageDocument):
        (WebCore::ImageDocument::createDocumentStructure):
        (WebCore::ImageDocument::cachedImage):
        Let the ImageDocument class keep track of its document structure.
        
        (WebCore::ImageDocument::scale):
        Returns the scale that should be used when resizing the image.
        
        (WebCore::ImageDocument::resizeImage):
        Update the image size.
        
        (WebCore::ImageDocument::imageClicked):
        Toggle between resized and not resized. When restoring the size, scroll the image so that the area under
        the mouse stays the same.
        
        (WebCore::ImageDocument::imageChanged):
        When the image size is known, resize the image if needed.
        
        (WebCore::ImageDocument::restoreImageSize):
        Restore the image size.
        
        (WebCore::ImageDocument::imageNeedsResizing):
        Return whether the image is too big for its window or not.
        
        (WebCore::ImageDocument::windowSizeChanged):
        Called when the window's size changes. Determine if the window fits or not and resize it if it doesn't fit.
        
        (WebCore::ImageEventListener::handleEvent):
        Forward events to the image document.
        
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        (WebCore::Settings::setEnableAutomaticImageResizing):
        * page/Settings.h:
        (WebCore::Settings::enableAutomaticImageResizing):
        Add new setting.
        
andersca's avatar
andersca committed
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
2007-05-23  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin.

        Add -webkit-zoom-in and -webkit-zoom-out cursors.
        
        * Resources/zoomInCursor.png: Added.
        * Resources/zoomOutCursor.png: Added.
        * css/CSSComputedStyleDeclaration.cpp:
        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
        * css/CSSValueKeywords.in:
        * page/EventHandler.cpp:
        (WebCore::selectCursor):
        * platform/Cursor.h:
        * platform/mac/CursorMac.mm:
        (WebCore::zoomInCursor):
        (WebCore::zoomOutCursor):
        * rendering/RenderStyle.h:
        (WebCore::):

weinig's avatar
weinig committed
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
2007-05-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin.

        Part one of patch for http://bugs.webkit.org/show_bug.cgi?id=13830
        Auto-generate JS DOM bindings for HTMLDocument and most of the rest
        of HTMLElement

        - Just the HTMLElement part.

        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLElement::getValueProperty):
        (KJS::JSHTMLElement::putValueProperty):
        * bindings/js/kjs_html.h:
        (KJS::JSHTMLElement::):
        * html/HTMLElement.idl:

kmccullo's avatar
kmccullo committed
354
355
356
357
358
359
360
361
362
363
364
365
366
2007-05-22  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Darin.

        - rdar://problem/5183523
        - We now check the document's URL to see if it can load a resource in the case of a URL click, instead of checking the referrer, which is blank for local files.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::open):
        * platform/PlatformString.h:
        (WebCore::debugPrintString):

weinig's avatar
weinig committed
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
2007-05-23  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin.

        Part two of patch for http://bugs.webkit.org/show_bug.cgi?id=13830
        Auto-generate JS DOM bindings for HTMLDocument and most of the rest
        of HTMLElement

        - Just the HTMLDocument part.

        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLDocumentCustom.cpp: Added.
        (WebCore::JSHTMLDocument::canGetItemsForName):
        (WebCore::JSHTMLDocument::nameGetter):
        (WebCore::JSHTMLDocument::all):
        (WebCore::JSHTMLDocument::setAll):
        (WebCore::JSHTMLDocument::location):
        (WebCore::JSHTMLDocument::setLocation):
        (WebCore::JSHTMLDocument::open):
        (WebCore::writeHelper):
        (WebCore::JSHTMLDocument::write):
        (WebCore::JSHTMLDocument::writeln):
        (WebCore::JSHTMLDocument::clear):
        * bindings/js/kjs_dom.cpp:
        (KJS::toJS):
        * bindings/js/kjs_dom.h:
        * bindings/js/kjs_html.cpp:
        * bindings/js/kjs_html.h:
        * bindings/objc/DOMPrivate.h:
        * bindings/scripts/CodeGeneratorJS.pm: Add [Deletable] property
        for Document.all and fix HasOverridingNameGetter to allow correct
        prototype chain
        * dom/Document.cpp:
        (WebCore::Document::plugins): adds alias to embeds() for bindings
        * dom/Document.h:
        * html/HTMLDocument.cpp:
        (WebCore::HTMLDocument::width):
        (WebCore::HTMLDocument::height):
        (WebCore::HTMLDocument::dir):
        (WebCore::HTMLDocument::setDir):
        (WebCore::HTMLDocument::designMode):
        (WebCore::HTMLDocument::setDesignMode):
        (WebCore::HTMLDocument::bgColor):
        (WebCore::HTMLDocument::setBgColor):
        (WebCore::HTMLDocument::fgColor):
        (WebCore::HTMLDocument::setFgColor):
        (WebCore::HTMLDocument::alinkColor):
        (WebCore::HTMLDocument::setAlinkColor):
        (WebCore::HTMLDocument::linkColor):
        (WebCore::HTMLDocument::setLinkColor):
        (WebCore::HTMLDocument::vlinkColor):
        (WebCore::HTMLDocument::setVlinkColor):
        (WebCore::HTMLDocument::captureEvents):
        (WebCore::HTMLDocument::releaseEvents):
        * html/HTMLDocument.h:
        * html/HTMLDocument.idl:

425
426
427
428
429
430
431
432
433
434
435
436
437
2007-05-23  David Hyatt  <hyatt@apple.com>

        Fix for <rdar://problem/5221838> REGRESSION (r21581): no content in idisk
        window at mac.com.

        Back out the change to make self-closed <script/> into a Dashboard quirk
        only.

        Reviewed by aroben

        * html/HTMLTokenizer.cpp:
        (WebCore::HTMLTokenizer::parseTag):

438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
2007-05-23  Patti  <patti@apple.com>

        Reviewed by David Harrison.

        <rdar://problem/5078453> AXNext/PrevLineEndTextMarkerForTextMarker returns kAXErrorNoValue for attachment range
        
        Floating objects, such as aligned images, are not included as part of any line.  So when the given 
        text marker is on the floating object, the returned line edge cannot be found and asserts are fired.
        In addition, this paints an inconsistent text layout (in the accessibility sense) of where the floating 
        object resides.  Character/word methods report floating object at the beginning of the text line(s).  Yet
        line methods never present floating objects anywhere.  
        To fix this, the ax line methods will now do more checking to ensure floating object nodes are included
        when determining the line range/position. That way, assistive apps won't get stuck using the line methods 
        to read line-by-line

        * bridge/mac/WebCoreAXObject.mm:
        (updateAXLineStartForVisiblePosition):
        Added a helper method to adjust line start position to account for floating objects
        (-[WebCoreAXObject doAXLeftLineTextMarkerRangeForTextMarker:]):
        (-[WebCoreAXObject doAXRightLineTextMarkerRangeForTextMarker:]):
        (-[WebCoreAXObject doAXNextLineEndTextMarkerForTextMarker:]):
        (-[WebCoreAXObject doAXPreviousLineStartTextMarkerForTextMarker:]):
        Fixed up line routines to include floating object nodes in line position calculation.
        startOfLine/endOLine may return null for position next to a floating position.  So now there's extra checks to prevent
        returning null line position/ranges back to AX.


465
466
467
468
469
470
471
472
473
474
475
2007-05-23  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Zack, discussed also with Lars.

        Make it possible to have per-QWebPage network interface
        implementations.

        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::start): Pass the page's network interface to
        the network manager.

rwlbuis's avatar
rwlbuis committed
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
2007-05-23  Rob Buis  <buis@kde.org>

        Reviewed by Dave Hyatt.

        http://bugs.webkit.org/show_bug.cgi?id=13174
        line-height in font shorthand does not override a previously stated line-height property

        Make sure line-height is calculated against definite font-size and
        uses the last set line-height, ie. directly or through font shorthand.

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::styleForElement):
        (WebCore::CSSStyleSelector::pseudoStyleForElement):
        (WebCore::CSSStyleSelector::applyDeclarations):
        (WebCore::CSSStyleSelector::applyProperty):
        * css/cssstyleselector.h:

lars's avatar
lars committed
493
494
495
496
497
498
499
500
501
2007-05-23  Lars Knoll <lars@trolltech.com>

        Reviewed by Zack and Valgrind

        Initialize variable.

        * platform/qt/PlatformMouseEventQt.cpp:
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):

rwlbuis's avatar
rwlbuis committed
502
503
504
505
506
507
508
509
510
511
512
513
514
2007-05-23  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=13784
        REGRESSION (r13744-13750): Crash with empty gradient when drawing to canvas

        Fix crash by testing for zero stops, and returning transparent black
        in this case.

        * html/CanvasGradient.cpp:
        (WebCore::CanvasGradient::getColor):

rwlbuis's avatar
rwlbuis committed
515
516
517
518
519
520
521
522
523
524
525
526
2007-05-23  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=13801
        Crash when loading nonexisting symbol

        Check for referenced element and when not found just return.

        * ksvg2/svg/SVGUseElement.cpp:
        (WebCore::SVGUseElement::buildPendingResource):

weinig's avatar
weinig committed
527
528
529
530
531
532
533
534
2007-05-22  Sam Weinig  <sam@webkit.org>

        Rubber stamped by Adam.

        Fix license.

        * bindings/js/JSHTMLAnchorElementCustom.cpp:

weinig's avatar
weinig committed
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
2007-05-22  Sam Weinig  <sam@webkit.org>

        Reviewed by Adam.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=13833
        Add ObjC DOM binding for HTMLMarqeeElement

        - Also adds missing DOMHTMLFramePrivate.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/objc/DOM.mm:
        (WebCore::createElementClassMap):
        * bindings/objc/DOMHTML.h:
        * bindings/objc/DOMInternal.h:
        * bindings/objc/DOMPrivate.h:
        * bindings/objc/PublicDOMInterfaces.h:

justing's avatar
justing committed
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
2007-05-22  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin, who found the fix independently.

        http://bugs.webkit.org/show_bug.cgi?id=13804
        REGRESSION(r21611): Several new layout test pixel failures (misspelling markers)
        
        r21611 exposed a bug in the way removeMarkers computes
        the end of the range to remove markers from.  It also
        introduced a bug: removeMarkers expects a startOffset
        and a length, not a startOffset and an endOffset (added 
        a layout test).

        * dom/Document.cpp:
        (WebCore::Document::removeMarkers): The other removeMarkers
        expects a startOffset and a length, not a startOffset and
        an endOffset.
        (WebCore::Document::removeMarkers): Fixed the endOffset
        from length and startOffset calculation.

573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
2007-05-22  David Hyatt  <hyatt@apple.com>

        Fix for bug 13802, background colors can't be reset to default
        color.  Fix the value cssText method to do the right thing for background
        and background-position values.

        Reviewed by beth

        fast/dom/background-shorthand-csstext.html

        * css/CSSInitialValue.h:
        (WebCore::CSSInitialValue:::m_implicit):
        (WebCore::CSSInitialValue::isImplicitInitialValue):
        * css/CSSMutableStyleDeclaration.cpp:
        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
        (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
        * css/CSSMutableStyleDeclaration.h:
        * css/CSSValue.h:
        (WebCore::CSSValue::isImplicitInitialValue):
        * css/cssparser.cpp:
        (WebCore::CSSParser::parseValue):
        (WebCore::CSSParser::parseBackgroundShorthand):
        (WebCore::CSSParser::parseShorthand):

darin's avatar
darin committed
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
2007-05-22  Darin Adler  <darin@apple.com>

        Reviewed by Geoff.

        - fix <rdar://problem/5215830> REGRESSION: ebay.com layout is wrong

        The code on ebay was looking for the "document" property on a iframe.
        We changed that to be the ownerDocument rather than the contentDocument,
        which was not what ebay was expecting. The best fix seems to be removing
        the document property altogether.

        Test: fast/dom/iframe-document.html

        * bindings/js/kjs_html.h: Remove ElementDocument.
        * bindings/js/kjs_html.cpp: (KJS::JSHTMLElement::getValueProperty): Ditto.

adele's avatar
adele committed
613
614
615
616
617
618
619
620
621
2007-05-22  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        A little cleanup from my last checkin.

        * page/Chrome.h: Formatting change.
        * page/mac/ChromeMac.mm: Fixed copyright.

adele's avatar
adele committed
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
2007-05-22  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=13796
        Crash in [NSInputContext currentInputContext] when you click on this map

        This is another case of <rdar://problem/5171145> Safari crashed closing tab in NSInputContext updateInputContexts

        Test: fast/frames/frame-display-none-focus.html

        * WebCore.xcodeproj/project.pbxproj: Added ChromeMac.mm
        * page/Chrome.h:
        * page/mac/ChromeMac.mm: Added.
        (WebCore::Chrome::focusNSView): Moved code from Widget::setFocus so it can be used whenever we need to make a view the first responder.
        * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::focusDocumentView): Calls focusNSView.
        * platform/mac/WidgetMac.mm: (WebCore::Widget::setFocus): Calls focusNSView.

justing's avatar
justing committed
640
641
642
643
644
645
646
647
648
649
650
651
652
653
2007-05-22  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        <rdar://problem/4875189> 
        List is deleted when replacing contents with Chinese/Japanese characters

        * editing/htmlediting.cpp:
        (WebCore::isSpecialElement): Lists are no longer special.
        They can be removed by removing their content and then 
        then hitting delete inside of the empty list item that's 
        left over. Even when that list item is the first thing 
        in the editable region.

darin's avatar
darin committed
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
2007-05-22  Darin Adler  <darin@apple.com>

        Reviewed by Tim Hatcher.

        - fix <rdar://problem/5206089> REGRESSION: hovering over amazon.com "product categories"
          tab makes page content disappear

        The contentWindow property was doing a cross-frame security check, but it shouldn't.
        Window objects are responsible for protecting themselves from cross-frame activity.
        Because contentWindow returned undefined, we then ended up setting visibility on the
        body of the main frame to "hidden".

        No layout test yet. When we make cross-domain tests, we should include this one.

        * html/HTMLFrameElement.idl: Removed CheckFrameSecurity attribute from contentWindow.
        * html/HTMLIFrameElement.idl: Ditto.

justing's avatar
justing committed
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
2007-05-22  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by oliver

        <rdar://problem/5213963>
        REGRESSION(r21467): Active selection remains in text field after clicking on a button

        * page/EventHandler.cpp:
        (WebCore::EventHandler::dispatchMouseEvent): Call
        FocusController::setFocusedNode, because Document::setFocusedNode
        no longer clears the selection.
        Begin passing the new focused frame to 
        FocusController::setFocusedNode, because when the 
        new focus node is null, the selection should only be 
        cleared if the focused frame isn't changing.
        (WebCore::Element::focus): Begin passing the new focused
        frame.
        (WebCore::Element::blur): Ditto.
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::focus): Ditto.
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::focus): Ditto.
        * page/Frame.cpp:
        (WebCore::Frame::setFocusedNodeIfNeeded): Ditto.
        * page/FocusController.cpp:
        (WebCore::clearSelectionIfNeeded): Take in the new
        focused frame.  If it's not changing, don't clear the
        selection.
        (WebCore::FocusController::setFocusedNode): Take
        in the new focused frame.
        * page/FocusController.h:

703
704
705
706
707
708
709
710
711
712
713
714
2007-05-22  Marius Bugge Monsen  <mbm@trolltech.com>

        Reviewed by Zack.

        Implement some more functions in ClipboardQt.

        * platform/qt/ClipboardQt.cpp:
        (WebCore::ClipboardQt::ClipboardQt):
        (WebCore::ClipboardQt::getData):
        (WebCore::ClipboardQt::setData):
        (WebCore::ClipboardQt::types):

715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
2007-05-21  Oliver Hunt  <oliver@apple.com>

        Reviewed by Sam.
        
        Fix for http://bugs.webkit.org/show_bug.cgi?id=13789 
        -- SVGLocatable::getScreenCTM() faulty
        
        Needed to update SVGLength to handle the case where the SVGElement is
        not the root document element -- we do this by falling back on the 
        renderer for the context.
        
        For <svg> elements embedded as mixed content in xhtml we consider the
        absolutePosition of the parent to be the origin for the <svg> element.

        * ksvg2/svg/SVGLength.cpp:
        (WebCore::SVGLength::PercentageOfViewport):
        * ksvg2/svg/SVGSVGElement.cpp:
        (WebCore::SVGSVGElement::getScreenCTM):

thatcher's avatar
thatcher committed
734
735
736
737
738
739
740
741
742
743
744
745
746
747
2007-05-21  Timothy Hatcher  <timothy@apple.com>

        Reviewed by Adam.

        <rdar://problem/5084400> -[DOMRange lineBoxRects] returns an empty array when the DOM nodes have just been created

        Do a updateLayoutIgnorePendingStylesheets before asking the Node or Range for it's box rects.

        * bindings/objc/DOM.mm:
        (-[DOMNode boundingBox]):
        (-[DOMNode lineBoxRects]):
        (-[DOMRange boundingBox]):
        (-[DOMRange lineBoxRects]):

weinig's avatar
weinig committed
748
749
750
751
752
753
754
755
2007-05-21  Sam Weinig  <sam@webkit.org>

        Reviewed by George Staikos.

        Fix Qt build.

        * WebCore.pro: add missing IDL files.

weinig's avatar
weinig committed
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
2007-05-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=13803
        Autogenerate the JS bindings for the HTMLMarqueeElement.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        * bindings/js/kjs_css.cpp:
        (KJS::DOMCSSRule::getOwnPropertySlot): Fix possible null pointer issue.
        (KJS::DOMCSSRule::put): Fix possible null pointer issue.
        * bindings/js/kjs_html.cpp:
        (KJS::):
        (KJS::JSHTMLElement::classInfo):
        (KJS::JSHTMLElement::accessors):
        (KJS::JSHTMLElement::getOwnPropertySlot): Fix null pointer issue.
        (KJS::HTMLElementFunction::callAsFunction):
        (KJS::JSHTMLElement::put):
        * bindings/js/kjs_html.h:
        (KJS::JSHTMLElement::):
        * html/HTMLMarqueeElement.cpp:
        (WebCore::HTMLMarqueeElement::start):
        (WebCore::HTMLMarqueeElement::stop):
        * html/HTMLMarqueeElement.h: Add start() and stop() functions.
        * html/HTMLMarqueeElement.idl: Added.
        * page/DOMWindow.idl: Add marquee constructor.

adele's avatar
adele committed
785
786
787
788
789
790
791
792
793
794
795
796
797
2007-05-21  Adele Peterson  <adele@apple.com>

        Fix by Darin, reviewed by me.

        Fix for <rdar://problem/5171145> Safari crashed closing tab in NSInputContext updateInputContexts

        * platform/mac/WidgetMac.mm:
        (WebCore::safeRemoveFromSuperview): Added. If the view is the window's first responder, then 
         set the window's first responder to nil so we don't leave the window pointing to a view that's no longer in it.
        (WebCore::Widget::setFocus): Don't attempt to focus the view if it has no window.
        (WebCore::Widget::removeFromSuperview): Call safeRemoveFromSuperview.
        (WebCore::Widget::afterMouseDown): ditto.

798
799
800
801
802
803
804
805
806
807
808
2007-05-21  David Hyatt  <hyatt@apple.com>

        Make a line gutter backdrop so that tiny view source docs don't look
        bad.

        Reviewed by aroben

        * css/view-source.css:
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::createContainingTable):

809
810
811
812
813
814
815
816
817
818
819
820
821
2007-05-21  David Hyatt  <hyatt@apple.com>

        Make sure to distinguish between links to internal resources and
        real links (anchors) in view source mode.

        Reviewed by aroben

        * css/view-source.css:
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
        (WebCore::HTMLViewSourceDocument::addLink):
        * html/HTMLViewSourceDocument.h:

weinig's avatar
weinig committed
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
2007-05-21  Sam Weinig  <sam@webkit.org>

        Reviewed by Adam and Darin.

        Patch for http://bugs.webkit.org/show_bug.cgi?id=13791
        Autogenerate the JS bindings for the HTMLIFrameElement and HTMLFrameElement.

        * DerivedSources.make:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLAnchorElementCustom.cpp:
        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        * bindings/js/kjs_html.cpp:
        (KJS::):
        (KJS::JSHTMLElement::classInfo):
        (KJS::JSHTMLElement::accessors):
        (KJS::HTMLElementFunction::callAsFunction):
        * bindings/js/kjs_html.h:
        (KJS::JSHTMLElement::):
        * bindings/scripts/CodeGeneratorJS.pm:
        * html/HTMLFrameElement.idl:
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::location):
        * html/HTMLFrameElementBase.h:
        * html/HTMLFrameOwnerElement.h:
        (WebCore::HTMLFrameOwnerElement::contentWindow):
        * html/HTMLIFrameElement.idl:
        * page/DOMWindow.idl:

lars's avatar
lars committed
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
2007-05-21  Lars Knoll <lars@trolltech.com>

        Reviewed by Zack.

        Remove the ResourceHandleManager class, it is now part of 
        QWebNetworkInterface. Adapt ResourceHandle to the new way 
        of things.

        * WebCore.pro:
        * platform/network/ResourceHandleInternal.h:
        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
        * platform/network/qt/ResourceHandleManagerKDE.cpp: Removed.
        * platform/network/qt/ResourceHandleManagerKDE.h: Removed.
        * platform/network/qt/ResourceHandleManagerQt.cpp: Removed.
        * platform/network/qt/ResourceHandleManagerQt.h: Removed.
        * platform/network/qt/ResourceHandleQt.cpp:
        (WebCore::ResourceHandle::~ResourceHandle):
        (WebCore::ResourceHandle::start):
        (WebCore::ResourceHandle::cancel):

870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
2007-05-21  David Hyatt  <hyatt@apple.com>

        Second half of fix for 13793, make sure rules=groups works properly with
        spanning colgroups.

        Also make sure colgroups get an actual span of 1 (instead of incorrectly
        giving them a span of 0).

        Reviewed by mitz

        fast/table/colgroup-spanning-groups-rules.html

        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::HTMLTableColElement):
        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::colElement):
        * rendering/RenderTable.h:
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::collapsedLeftBorder):
        (WebCore::RenderTableCell::collapsedRightBorder):

891
892
893
894
895
896
897
898
899
900
901
902
2007-05-20  David Hyatt  <hyatt@apple.com>

        Half of a fix for 13793, make sure rules=groups and border behave properly
        together.

        Reviewed by mitz

        No tests added, two Mozilla table tests now pass that failed before.

        * html/HTMLTableElement.cpp:
        (WebCore::HTMLTableElement::getSharedCellDecl):

beidson's avatar
beidson committed
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
2007-05-20  Brady Eidson <beidson@apple.com>

        Reviewed by Geoose Garen

        <rdar://problem/4758919> - Incorrect favicon shown for URL after going back

        When restoring a cached page, we'd try to kick off the icon load for it, which ended up causing 
        shenanigans with the icon url -> page url mapping.  

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::endIfNotLoading): Only try an icon load if we're not restoring from the page cache
        (WebCore::FrameLoader::startIconLoader): Added helpful logging that helped me track this down
        (WebCore::FrameLoader::commitIconURLToIconDatabase): Ditto (and fixed a comment typo)

        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::stopLoading): Don't null out the ResourceLoader here, as clearLoadingState() does that
        (WebCore::IconLoader::finishLoading): Added helpful logging that helped me track this down


darin's avatar
darin committed
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
2007-05-20  Darin Adler  <darin@apple.com>

        Reviewed by Oliver Hunt.

        - fix <rdar://problem/5193416> REGRESSION: Selection on large pages extremely slow

        * dom/Document.cpp: (WebCore::Document::removeMarkers): Added an early exit for the common
        case where there are no markers. Changed code to iterate over all the nodes in the range
        instead of using TextIterator, which is more efficient.
        
        * page/Frame.cpp: (WebCore::Frame::respondToChangedSelection): Added checks for editable,
        so we don't bother doing work related to spell checking and grammar checking when changing
        the selection in non-editable text. Also rearranged the code so we only compute the old
        word boundaries and sentence boundaries when actually needed, and don't do the sentence
        range checks unless grammar checking is enabled.

        * platform/TextBreakIteratorICU.cpp:
        (WebCore::setUpIterator): Don't take a locale parameter. Always pass in currentTextBreakLocaleID.
        (WebCore::characterBreakIterator): Removed local parameter.
        (WebCore::wordBreakIterator): Ditto.
        (WebCore::lineBreakIterator): Ditto.
        (WebCore::sentenceBreakIterator): Ditto.

        * platform/mac/TextBreakIteratorInternalICUMac.mm:
        (WebCore::getTextBreakLocale): Broke out the code to actually get the locale.
        (WebCore::currentTextBreakLocaleID): This function now handles only the caching and calls
        getTextBreakLocale to actually figure it out.

        * editing/visible_units.cpp: Added lots of FIXME comments, but no code change.

952
953
954
955
956
957
958
959
960
2007-05-20  Adam Treat  <adam@staikos.net>

        Add -f to cp to deal with some obscure build environments.

        Reviewed by George Staikos.

        * move-js-headers.sh:

2007-05-20  Adam Treat  <adam@staikos.net>
staikos's avatar
staikos committed
961
962
963
964
965
966
967

        Add missing include for auto_ptr

        Reviewed by George Staikos.

        * platform/graphics/ImageBuffer.h:

968
969
970
971
972
973
974
975
976
977
2007-05-19  David Hyatt  <hyatt@apple.com>

        Fix for bug 13785, O(n^2) counter creation.

        Reviewed by darin

        * rendering/RenderCounter.cpp:
        (WebCore::findPlaceForCounter):
        (WebCore::RenderCounter::originalText):

978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
2007-05-19  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=12729
          box-shadow disappears when scrolling a div that it falls on/under

        Tests: fast/repaint/box-shadow-dynamic.html
               fast/repaint/box-shadow-h.html
               fast/repaint/box-shadow-v.html

        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesHorizontally): Factor in box shadow.
        (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
        (WebCore::InlineFlowBox::paint): Account for box shadow when checking if
        the damage rect intersects.
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::overflowHeight): For overflow areas, when asked
        for the "exterior" overflow, add box shadow overflow.
        (WebCore::RenderBlock::overflowWidth): Ditto.
        (WebCore::RenderBlock::overflowLeft): Ditto.
        (WebCore::RenderBlock::overflowTop): Ditto.
        (WebCore::RenderBlock::overflowRect): Ditto.
        (WebCore::RenderBlock::layoutBlock): Factor box shadow into visual overflow.
        * rendering/RenderFlexibleBox.cpp:
        (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::lowestPosition): For overflow areas, when asked for
        the "exterior" extreme position, add box shadow.
        (WebCore::RenderFlow::rightmostPosition): Ditto.
        (WebCore::RenderFlow::leftmostPosition): Ditto.
        * rendering/RenderLayer.cpp:
        (WebCore::RenderLayer::calculateRects): Avoid clipping out box shadow.
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Make sure to paint
        the box shadow when an edge with a shadow moves.
        (WebCore::RenderObject::adjustRectForOutlineAndShadow): Helper function
        that expands a given rectangle to encompass outline and box shadow.
        (WebCore::RenderObject::absoluteOutlineBox): Changed to include box shadow.
        * rendering/RenderObject.h:

1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
2007-05-19  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13783
          REGRESSION (r21120): Frame resizers not repainted properly when dragged

        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::layout):

1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
2007-05-19  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13774
          REGRESSION: Crash emailing blog entry using Google Reader

        Test: fast/table/stale-grid-crash.html

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::recalcSections): Made const and replaced
        setNeedsLayout(true) with an assertion that the table is already
        marked for layout.
        (WebCore::RenderTable::sectionAbove): Added call to recalcSectionsIfNeeded().
        (WebCore::RenderTable::sectionBelow): Ditto.
        (WebCore::RenderTable::cellAbove): Ditto.
        (WebCore::RenderTable::cellBelow): Ditto.
        (WebCore::RenderTable::cellBefore): Ditto.
        (WebCore::RenderTable::cellAfter): Ditto.
        * rendering/RenderTable.h:
        Made some private member variables which are used in section recalc mutable.
        (WebCore::RenderTable::setNeedsSectionRecalc): Moved the call to
        setNeedsLayout() from recalcSections() into here, because I made
        recalcSections() const.
        (WebCore::RenderTable::recalcSectionsIfNeeded): Made const.

1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
2007-05-19  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - http://bugs.webkit.org/show_bug.cgi?id=13320
          rounded corners with drop shadows are really slow

        Test for a rendering bug fixed by this patch:
            fast/box-shadow/border-radius-big.html

        No test for the performance ingredient.

        * platform/graphics/GraphicsContext.cpp:
        (WebCore::GraphicsContext::addRoundedRectClip): Made cross-platform.
        Changed to use a single clipping path. If all the radii cannot be
        accommodated, clips to a rect.
        (WebCore::GraphicsContext::clipOutRoundedRect): Changed to use a single
        clipping path. If all the radii cannot be accommodated, clips out a rect.
        * platform/graphics/GraphicsContext.h: Added clipOut(const Path&).
        * platform/graphics/Path.cpp:
        (WebCore::Path::createRoundedRectangle): Added. Returns a rounded rectangle
        with the specified radii. If all the radii cannot be accommodated, returns
        a rectangular path.
        * platform/graphics/Path.h:
        * platform/graphics/cairo/GraphicsContextCairo.cpp:
        (WebCore::GraphicsContext::clipOut): Added.
        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::fillRoundedRect): Changed to use a single path.
        (WebCore::GraphicsContext::clipOut): Added.
        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::clipOut): Added.

andersca's avatar
andersca committed
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
2007-05-19  Anders Carlsson  <andersca@apple.com>

        Reviewed by Mitz.

        Test: fast/frames/inline-object-inside-frameset.html
        
        http://bugs.webkit.org/show_bug.cgi?id=13771
        Assertion failure ASSERT(m_layer) when running Hamachi fuzz tester

        Don't paint inline objects.
        
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::paint):

1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
2007-05-19  David Hyatt  <hyatt@apple.com>

        Add support for plain text MIME types (CSS/JS/TXT) to view source mode.
        CSS/JS will eventually tokenize via their own special tokenizers so that
        they can also be syntax-highlighted, but for now just treat them as
        plain text.

        Reviewed by aroben

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
        (WebCore::HTMLViewSourceDocument::createTokenizer):
        (WebCore::HTMLViewSourceDocument::createContainingTable):
        (WebCore::HTMLViewSourceDocument::addViewSourceText):
        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
        * html/HTMLViewSourceDocument.h:
        * loader/TextDocument.cpp:
        (WebCore::TextTokenizer::TextTokenizer):
        (WebCore::TextTokenizer::write):
        * loader/TextDocument.h:
        (WebCore::TextTokenizer::checkBuffer):

1125
1126
1127
1128
1129
1130
1131
2007-05-18  David Hyatt  <hyatt@apple.com>

        Fix a glitch in view source mode attribute names.

        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::addViewSourceToken):

hyatt's avatar
hyatt committed
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
2007-05-18  David Hyatt  <hyatt@apple.com>

        "Linkify" view source mode links.

        Reviewed by andersca

        * css/view-source.css:
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
        (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
        (WebCore::HTMLViewSourceDocument::addLink):
        * html/HTMLViewSourceDocument.h:

1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
2007-05-18  Oliver Hunt  <oliver@apple.com>

        Reviewed by Sam

        No longer need to pass HTMLImageElement and HTMLImageLoader on to WebKit
        Need to expose CachedResourceClient constructor

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:

1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
2007-05-18  David Hyatt  <hyatt@apple.com>

        Fix for <rdar://problem/5214338> REGRESSION: / mishandled in 
        HTML tokenization (13780).

        Reviewed by ggaren

        * html/HTMLTokenizer.cpp:
        (WebCore::Token::addAttribute):
        (WebCore::HTMLTokenizer::parseTag):

beidson's avatar
beidson committed
1166
1167
1168
1169
2007-05-18  Brady Eidson  <beidson@apple.com>

        Reviewed by Maciej

beidson's avatar
beidson committed
1170
        http://bugs.webkit.org/show_bug.cgi?id=12681 and
beidson's avatar
beidson committed
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
        <rdar://problem/5166149> - window.open() causes server to be hit twice

        This regressed in http://trac.webkit.org/projects/webkit/changeset/14637
        That patch was to fix broken behavior when opening an already existant window.
        The unfortunate side effect was to cause the server to be hit twice.  
        Once during the call to frame->loader()->createWindow(), and again via a 
        scheduled redirection.

        I decided to restore the original de-facto behavior by making the new window
        open via a scheduled redirection - there is a FIXME that was already here that
        explains the reason why we have to do it this way for now.

        Additionally, there were two distinct places that had their own logic to open
        a new window - the logic for window.open() and the logic for 
        window.showModalDialog().  The logic was almost identical so I condensed them
        into one utility function that takes a flag to handle the slight difference.

        A layout test is not possible at this time since it would involve capturing 
        server logs (the 1st connection does not exist long enough to result in any
        delegate callbacks).  That task is documented in 
        http://bugs.webkit.org/show_bug.cgi?id=13769

        * bindings/js/kjs_window.cpp:
        (KJS::createWindow): Merged the two slightly different versions of "creating a window" 
          logic here.  For the modal dialog case the load is an immediate call to changeLocation(),
          which is triggered by the "immediate" flag, and the other cases load via scheduleLocationChange()
        (KJS::showModalDialog): Call createWindow()
        (KJS::WindowFunc::callAsFunction): Handle frame targets of _top or _parent immediately and call 
          createWindow() for all others

weinig's avatar
weinig committed
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
2007-05-18  Sam Weinig  <sam@webkit.org>

        Reviewed by Geoff.

        Autogenerate the JS bindings for the HTMLTableElement, HTMLTableCaptionElement,
        HTMLTableCellElement, HTMLTableColElement, HTMLTableRowElement, HTMLTableSectionElement.

        * DerivedSources.make:
        * WebCore.pro:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLElementWrapperFactory.cpp:
        (WebCore::createJSHTMLWrapper):
        * bindings/js/kjs_html.cpp:
        (KJS::):
        (KJS::JSHTMLElement::classInfo):
        (KJS::JSHTMLElement::accessors):
        (KJS::HTMLElementFunction::callAsFunction):
        * bindings/js/kjs_html.h:
        (KJS::JSHTMLElement::):
        * html/HTMLTableCaptionElement.idl:
        * html/HTMLTableCellElement.idl:
        * html/HTMLTableColElement.idl:
        * html/HTMLTableElement.idl:
        * html/HTMLTableRowElement.idl:
        * html/HTMLTableSectionElement.idl:
        * page/DOMWindow.idl:

1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
2007-05-18  Oliver Hunt  <oliver@apple.com>

        Reviewed by Sam.

        Fix for <rdar://problem/5211122> DRT crash below
        SVGTimer::applyAnimations when page cache is enabled 
        (SVG animation timers do not properly cancel themselves)

        There were still a few paths in the SVG Animation code
        that could cause timers to be created and used.  This 
        patch inserts addition SVG_EXPERIMENTAL blocks to prevent
        these timers from being used.

        * ksvg2/misc/SVGDocumentExtensions.cpp:
        (WebCore::SVGDocumentExtensions::startAnimations):
        * ksvg2/misc/SVGTimer.cpp:
        (WebCore::SVGTimer::animationsByElement):
        (WebCore::SVGTimer::applyAnimations):
        (WebCore::SVGTimer::notifyAll):
        (WebCore::SVGTimer::addNotify):
        (WebCore::SVGTimer::removeNotify):
        * ksvg2/misc/TimeScheduler.cpp:
        (WebCore::TimeScheduler::addTimer):
        (WebCore::TimeScheduler::connectIntervalTimer):
        (WebCore::TimeScheduler::disconnectIntervalTimer):
        (WebCore::TimeScheduler::startAnimations):
        (WebCore::TimeScheduler::toggleAnimations):
        (WebCore::TimeScheduler::timerFired):
        * ksvg2/svg/SVGAnimationElement.h:

1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
2007-05-18  Marius Bugge Monsen <mbm@trolltech.com>

        Reviewed by Zack Rusin. 

        Return a valid pointer to a Clipboard object
        from newGeneralClipboard. 

        * editing/qt/EditorQt.cpp:
        (WebCore::Editor::newGeneralClipboard):

bdash's avatar
bdash committed
1268
1269
1270
1271
1272
1273
1274
1275
2007-05-18  Mark Rowe  <mrowe@apple.com>

        Attempt to fix the Gdk build after r21562.

        * platform/gdk/TemporaryLinkStubs.cpp:
        (Widget::isEnabled):
        * platform/gdk/WidgetGdk.cpp:

lars's avatar
lars committed
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
2007-05-18  Adam Treat <treat@kde.org>

        Reviewed by Lars

        Remove dead code.

        * platform/Widget.h:
        * platform/mac/WidgetMac.mm:
        * platform/qt/WidgetQt.cpp:

1286
1287
1288
1289
1290
1291
1292
1293
1294
2007-05-18  Holger Freyther  <zecke@selfish.org>

        Reviewed by Maciej.

        Return true to make loading of pages working again

        * loader/gdk/FrameLoaderClientGdk.cpp:
        (WebCore::FrameLoaderClientGdk::canHandleRequest):

1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
2007-05-18  Holger Freyther  <zecke@selfish.org>

        Reviewed by Maciej.

        Make WebCore::Widget use GtkWidget to fix focus handling.

        * WebCore.pro: Add PlatformScrollBar
        * platform/ScrollView.h: Gtk stuff
        * platform/Widget.h: Take a GtkWidget
        * platform/gdk/PlatformScrollBarGdk.cpp: Added.
        (PlatformScrollbar::PlatformScrollbar):
        (PlatformScrollbar::~PlatformScrollbar):
        (PlatformScrollbar::width):
        (PlatformScrollbar::height):
        (PlatformScrollbar::setEnabled):
        (PlatformScrollbar::paint):
        (PlatformScrollbar::updateThumbPosition):
        (PlatformScrollbar::updateThumbProportion):
        (PlatformScrollbar::setRect):
        * platform/gdk/ScreenGdk.cpp: Implement depth handling
        (WebCore::screenDepth):
        * platform/gdk/ScrollViewGdk.cpp: use setGtkWidget, not setDrawable
        (WebCore::ScrollView::setGtkWidget):
        * platform/gdk/TemporaryLinkStubs.cpp:
        * platform/gdk/WidgetGdk.cpp:
        (WebCore::Widget::Widget):
        (WebCore::Widget::gtkWidget):
        (WebCore::Widget::setGtkWidget):
        (WebCore::Widget::hasFocus):
        (WebCore::Widget::setFocus):

lars's avatar
lars committed
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
2007-05-18  Lars Knoll  <lars@trolltech.com>

        Reviewed by Zack

        Correctly implement initialiseSupportedImageMIMETypes.

        * platform/MimeTypeRegistry.cpp:
        (WebCore::initialiseSupportedImageMIMETypes):
        * platform/qt/MimeTypeRegistryQt.cpp:
        (WebCore::):

1337
1338
1339
1340
1341
1342
1343
1344
2007-05-18  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Maciej.

        Build fix for non-Qt and non-Mac ports.

        * html/HTMLCanvasElement.h:

1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
2007-05-18  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Mark Rowe.

        No test added as this is hard to time.

        * platform/gdk/FrameGdk.cpp: Use needsLayout() to decide if layout()
        is needed.

        (WebCore::FrameGdk::dumpRenderTree):
        (WebCore::FrameGdk::handleGdkEvent):

1357
1358
1359
1360
1361
1362
1363
2007-05-18  Simon Hausmann  <hausmann@kde.org>

        Reviewed by Lars.

        * WebCore.pro: Create a pkg-config file to make it easier to locate
        and use WebKitQt.

lars's avatar
lars committed
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
2007-05-18  Lars Knoll <lars@trolltech.com>

        Reviewed by Hyatt.

        Remove unused handleMouseEvent methods in the Widget
        and derived classes.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::handleMouseMoveEvent):
        * page/FrameView.cpp:
        * page/FrameView.h:
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::mouseDragged):
        (WebCore::EventHandler::mouseMoved):
        * platform/ScrollBar.h:
        * platform/Widget.h:
        * platform/win/PlatformScrollBar.h:
        * platform/win/TemporaryLinkStubs.cpp:
        (WebCore::PlatformScrollbar::setRect):
        * platform/wx/PlatformScrollBar.h:

staikos's avatar
staikos committed
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
2007-05-18  George Staikos  <staikos@kde.org>

        Reviewed by Lars.

        Use the proper clipping algorithm.  Might be a bit slow but we
        can optimize it later.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::clip):

weinig's avatar
weinig committed
1395
1396
1397
1398
1399
1400
1401
1402
2007-05-17  Sam Weinig  <sam@webkit.org>

        Reviewed by George Staikos.

        Fix Qt build after adding JSHTMLAnchorElementCustom.cpp. 

        * WebCore.pro:

staikos's avatar
staikos committed
1403
1404
1405
1406
1407
1408
1409
1410
1411
2007-05-17  George Staikos  <staikos@kde.org>

        Reviewed by hyatt.

        Fix preprocessor logic for CG/QT

        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::reset):

1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
2007-05-17  David Hyatt  <hyatt@apple.com>

        Add a line gutter to view source mode.  The gutter uses counters, and this exposed the fact
        that pseudoStyleForElement was not walking all UA rules properly.

        Reviewed by aroben

        * css/cssstyleselector.cpp:
        (WebCore::CSSStyleSelector::pseudoStyleForElement):
        * css/view-source.css:
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
        (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
        (WebCore::HTMLViewSourceDocument::addLine):
        (WebCore::HTMLViewSourceDocument::addText):
        * html/HTMLViewSourceDocument.h:

justing's avatar
justing committed
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
2007-05-17  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by ggaren

        <rdar://problem/5209984> REGRESSION: Crash on click after clearing Facebook status
        
        comparePositions() expects non-null positions.  It's 
        given a null position by contains() if the current 
        selection is a range selection but contains only invisible 
        content *and* visible positions cannot be created from its 
        end points.  This can happen when there is a range selection 
        inside shadow content (like that inside text fields) that 
        is made invisible.

        * editing/SelectionController.cpp:
        (WebCore::SelectionController::contains): Check for
        invisible end points.

weinig's avatar
weinig committed
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
2007-05-17  Sam Weinig  <sam@webkit.org>

        Reviewed by Adam.

        Fix for <rdar://problem/5201423> REGRESSION: Links in 
        sidebar don't work on Honda website

        Anchor elements need to have the same behavior for implicit and 
        explicit toString() calls.

        Test: fast/dom/anchor-toString.html

        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSHTMLAnchorElementCustom.cpp: Added.
        (WebCore::JSHTMLAnchorElement::toString):
        * html/HTMLAnchorElement.idl:

ggaren's avatar
ggaren committed
1465
1466
1467
1468
2007-05-17  Geoffrey Garen  <ggaren@apple.com>
        
        Build fix.

adele's avatar
adele committed
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
2007-05-17  Adele Peterson  <adele@apple.com>

        Reviewed by Hyatt.

        Update RenderMenuList PopupClient methods to consider style of inner block.

        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::itemStyle):
        (WebCore::RenderMenuList::clientStyle):

mjs's avatar
mjs committed
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
2007-05-17  Maciej Stachowiak  <mjs@apple.com>

        Not reviewed, emergency test fix.

        - avoid crash on layout tests.
        
        Patched up my last change so that  widgets don't crash.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::mainReceivedCompleteError):

antti's avatar
antti committed
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
2007-05-17  Antti Koivisto  <antti@apple.com>

        Reviewed by Darin.

        Fix for http://bugs.webkit.org/show_bug.cgi?id=13727
        REGRESSION: Reproducible hang setting the selection's extent offset to -1
        <rdar://problem/5206890>
        
        Rise INDEX_SIZE_ERR if used selection index is negative. This matches HTML5 for
        getRangeAt() and collapse() which are part of the spec (FF throws NS_ERROR_FAILURE). 
        
        Not throwing exceptions yet for too high offsets (except getRangeAt()) as it is
        unclear if WebCore's definition of offsets is the same as other browsers.

        * bindings/js/kjs_window.cpp:
        * WebCore/editing/SelectionController.cpp:
        * WebCore/editing/SelectionController.h:
        * WebCore/editing/VisiblePosition.cpp:
        
adele's avatar
adele committed
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
2007-05-17  Adele Peterson  <adele@apple.com>

        Reviewed by Mitz.

        Fix for <rdar://problem/5096035> REGRESSION: rtl text should be left-aligned in <select>s

        Test: fast/text/international/bidi-menulist.html

        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::adjustInnerStyle): Set the inner block style to direction: ltr, and text-align: left.  This means that
         we will ignore those settings in the button to match the way the text is displayed in the popup menu.
        (WebCore::RenderMenuList::createInnerBlock): Call adjustInnerStyle.
        (WebCore::RenderMenuList::setStyle): ditto.
        * rendering/RenderMenuList.h: Added adjustInnerStyle.

justing's avatar
justing committed
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
2007-05-17  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison

        <rdar://problem/4924441> List becomes nested when changing its type
        <rdar://problem/5210032> Content before a list is placed at the end of the list when its made into a list item
        <rdar://problem/5207369> Crash when removing ordering from a nested list

        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply):
        The outermostEnclosingList of the position before the start isn't
        the previousList if it contains the start.
        Ditto for the position after the end and the nextList.
        If we're putting the newly created list item into the next list,
        insert it at the start of that list, not the end (don't append).
        Avoid nesting newly created lists inside list items.
        
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
2007-05-17  Patti Hoa  <patti@apple.com>

        Reviewed by Darin.
        
        <rdar://problem/4775672> AXTextMarkerRangeForUnorderedTextMarkers returns incorrect order
        
        * bridge/mac/WebCoreAXObject.mm:
        (-[WebCoreAXObject doAXTextMarkerRangeForUnorderedTextMarkers:]):
        A selection's m_start is not guranteed to equal m_base since m_start can actually be m_base's downstream().
        A more accurate way to determine the order from selection is to ask directly for isBaseFirst().
        In addition, if the two visible positions given are the same position but different affinity, we need to 
        handle it here rather than depend on the selection. This is because selection does not retain the
        affinity of both selection start/end visible positions as part of the selection validation. 

beidson's avatar
beidson committed
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
2007-05-17  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Brady

        - fix http://bugs.webkit.org/show_bug.cgi?id=13759
          REGRESSION (r20182-r20184): Incorrect rendering of multipart images

        Test: http/tests/multipart/invalid-image-data.html

        * loader/loader.cpp:
        (WebCore::Loader::didReceiveData): Make a copy of the current part's data
        instead of using the resource data, because the latter is going to be
        overwritten by the new part being received.

1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
2007-05-17  Oliver Hunt  <oliver@apple.com>

        Reviewed by Justin.

        Fix for <rdar://problem/4244861> Safari fails to create image file
        after releasing dragged image that has changed on source page

        Tell xcode to copy HTMLImageElement.h and HTMLImageLoader.h headers
        across to WebKit as private headers.

        * WebCore.xcodeproj/project.pbxproj:

justing's avatar
justing committed
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
2007-05-17  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by harrison

        <rdar://problem/5190926> 
        Gmail Editor: Crash when removing list style from underlined, multi-item list
        
        The user underlined some text, then created a list.
        The list was placed inside the inline element carrying 
        the underline style, so, that element surrounded the 
        list instead of being at the lowest level (just above 
        text nodes). This kind of markup is more difficult to 
        edit. Filed 5192089 and added a workaround so that we 
        don't produce this kind of markup.

        * editing/InsertListCommand.cpp:
        (WebCore::InsertListCommand::doApply): Avoid inline
        elements when inserting the new list.

1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
2007-05-17  David Hyatt  <hyatt@apple.com>

        Allow redundant attributes with the same name in view source mode.

        Reviewed by aroben

        * dom/NamedAttrMap.h:
        (WebCore::NamedAttrMap::insertAttribute):
        * html/HTMLTokenizer.cpp:
        (WebCore::Token::addAttribute):

1611
1612
1613
1614
1615
1616
1617
2007-05-17  George Staikos  <staikos@kde.org>

        - Back out last patch based on discussion with Zack.

        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::paint):

andersca's avatar
andersca committed
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
2007-05-16  Anders Carlsson  <andersca@apple.com>

        Reviewed by Darin.

        <rdar://problem/5207156> Hamachi test tool causes assertion in FormCompletionController in Safari

        This happens because the form delegate gets passed the wrong source frame during the second submit().
        If a frame with the given name is found, FrameLoader::load is called with the same parameters on the found frame.
        This causes the found frame to be used as the source frame, which is wrong.
        
        The fix is to create the form state object before checking what frame to load the new request in. 
        
        * WebCore.exp:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::load):
        (WebCore::FrameLoader::checkNavigationPolicy):
        (WebCore::FrameLoader::continueAfterNavigationPolicy):
        * loader/FrameLoader.h:
        * manual-tests/submit-form-with-target-twice.html: Added.

mjs's avatar
mjs committed
1638
1639
1640
1641
1642
1643
1644
1645
1646
2007-05-16  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Oliver.

        <rdar://problem/5205914> REGRESSION: PLT stops after loading first page due to r21479
        
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::frameHasLoaded):

1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
2007-05-16  David Hyatt  <hyatt@apple.com>

        Improve the syntax-highlighted view source mode.  It now preserves all whitespace properly
        and highlights doctypes and comments (in addition to all the stuff it could highlight before).

        Reviewed by aroben

        * html/HTMLTokenizer.cpp:
        (WebCore::Token::addAttribute):
        (WebCore::HTMLTokenizer::parseTag):
        * html/HTMLTokenizer.h:
        (WebCore::Token::Token):
        (WebCore::Token::~Token):
        (WebCore::Token::reset):
        (WebCore::Token::addViewSourceChar):
        * html/HTMLViewSourceDocument.cpp:
        (WebCore::HTMLViewSourceDocument::addViewSourceToken):
        * html/HTMLViewSourceDocument.h:

mjs's avatar
mjs committed
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
2007-05-16  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Adam.

        <rdar://problem/5191024> Page never loads completely (emonome.vodpod.com)
        <rdar://problem/5205162> REGRESSION (r21367): In the Address URL field, typing a site name doesn't redirect to site after pressing return
        http://bugs.webkit.org/show_bug.cgi?id=13683
        <rdar://problem/5208951> REGRESSION: Progress bar never completes on link click that downloads (13694)
        http://bugs.webkit.org/show_bug.cgi?id=13694
        <rdar://problem/5201598> REGRESSION: After uploading file to iDisk at mac.com, "loading" status remains and file does not appear in the list
        
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::mainReceivedCompleteError): Make sure to always check whether the overall
        load completed, even if we think the current frame load is already complete.

darin's avatar
darin committed
1681
2007-05-16  Beth Dakin  <bdakin@apple.com>
bdakin's avatar
bdakin committed
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699

        Reviewed by Hyatt.

        Fix for <rdar://problem/5204107> REGRESSION: CSS web forum site 
        layout not displaying properly in latest WebKit

        Hyatt's http://trac.webkit.org/projects/webkit/changeset/21428 
        exposed this bug. We were not handling error cases with <caption> 
        correctly. This patch makes them do the same thing as colgroup.

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleError):
        * html/HTMLParserErrorCodes.cpp: No need any more for caption-
        specific errors.
        (WebCore::htmlParserErrorMessageTemplate):
        * html/HTMLParserErrorCodes.h:
        (WebCore::):

kmccullo's avatar
kmccullo committed
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
2007-05-16  Kevin McCullough  <kmccullough@apple.com>

        Reviewed by Darin and Geoff.

        - rdar://problem/4981886
        - Now windows opened by the DOM can be closed by JS.

        * bindings/js/kjs_window.cpp:
        (KJS::createNewWindow):
        (KJS::WindowFunc::callAsFunction):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::FrameLoader):
        (WebCore::FrameLoader::openedByDOM):
        (WebCore::FrameLoader::setOpenedByDOM):
        (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
        * loader/FrameLoader.h:

darin's avatar
darin committed
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
2007-05-16  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        - fix <rdar://problem/4928671> Crash due to runaway recursion when fieldset has display: table-row (12066)

        Test: fast/css/fieldset-display-row.html

        * rendering/RenderContainer.cpp: (WebCore::RenderContainer::addChild):
        Change all decision making about special handling for new children to use
        the class of the render object instead of the style, except for the cases
        where the style is the only way to tell (TABLE_COLUMN_GROUP and TABLE_CAPTION).
        Thus a RenderFieldset with table-row style won't get handled as if it was
        a table row.

        * rendering/RenderTable.cpp: (WebCore::RenderTable::addChild): Same thing.
        Except that here the styles that we ahave to look at are TABLE_CAPTION,
        TABLE_HEADER_GROUP, TABLE_FOOTER_GROUP, and TABLE_ROW_GROUP.

1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
2007-05-16  Zack Rusin  <zrusin@trolltech.com>

        Reviewed by Lars.

        Implement bigger parts of the Canvas element in the
        Qt port. Gradients and patterns are missing.

        * WebCore/html/CanvasRenderingContext2D.cpp:
        * WebCore/html/CanvasStyle.cpp:
        * WebCore/html/HTMLCanvasElement.cpp:
        * WebCore/html/HTMLCanvasElement:

zack's avatar
zack committed
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
2007-05-16  Zack Rusin  <zrusin@trolltech.com>

        Reviewed by Lars

        Fix shared timers, make them use miliseconds. Based
        on a patch from George.

        * WebCore/platform/qt/SharedTimerQt.cpp:
       (WebCore::setSharedTimerFireTime):

1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
2007-05-16  David Hyatt  <hyatt@apple.com>

        Add rudimentary error reporting to the HTML parser.  This is disabled
        for now until it gets beefed up a bit more (and until we work out how
        best to pass the messages up without hurting perf).

        Clean up and remove dead error handling code and incorrect error handling
        code as well.

        Reviewed by mjs

        * WebCore.xcodeproj/project.pbxproj:
        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::HTMLParser):
        (WebCore::HTMLParser::handleError):
        (WebCore::HTMLParser::headCreateErrorCheck):
        (WebCore::HTMLParser::reportErrorToConsole):
        * html/HTMLParser.h:
        (WebCore::HTMLParser::reportError):
        * html/HTMLParserErrorCodes.cpp: Added.
        (WebCore::htmlParserErrorMessageTemplate):
        * html/HTMLParserErrorCodes.h: Added.
        (WebCore::):
        * html/HTMLTokenizer.h:
        (WebCore::HTMLTokenizer::tagStartLineNumber):

1784
1785
1786
1787
1788
1789
1790
1791
1792
2007-05-15  David Hyatt  <hyatt@apple.com>

        Make FrameLoader write "<html><body>" instead of just "<body>".

        Reviewed by aroben

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::init):

staikos's avatar
staikos committed
1793
1794
1795
1796
1797
1798
2007-05-15  George Staikos  <staikos@kde.org>

        Reviewed by Adam Roben.

        - Pass cookies through from the loader.

staikos's avatar
staikos committed
1799
1800
        * platform/network/qt/ResourceHandleManagerQt.cpp:
        (WebCore::ResourceHandleManager::receivedResponse):
staikos's avatar
staikos committed
1801

1802
1803
1804
1805
1806
1807
1808
1809
1810
2007-05-15  Adam Treat  <adam@staikos.net>

        Reviewed by George Staikos.

        - Implement drawArc with proper units.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::GraphicsContext::strokeArc):

1811
1812
1813
1814
1815
1816
1817
1818
1819
2007-05-15  Adam Treat  <adam@staikos.net>

        Reviewed by George Staikos.

        - Add missing paint for nested subframes.

        * platform/qt/WidgetQt.cpp:
        (WebCore::Widget::paint):

weinig's avatar
weinig committed
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
2007-05-15  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver.

        - Patch for http://bugs.webkit.org/show_bug.cgi?id=13722
          Finish testing and fixing the setting of DOM attributes to JS null

          Convert JS null to null string for SVG attributes.

        Test: fast/dom/svg-element-attribute-js-null.xhtml

        * ksvg2/svg/SVGAngle.idl:
        * ksvg2/svg/SVGElement.idl:
        * ksvg2/svg/SVGLength.idl:
        * ksvg2/svg/SVGScriptElement.idl:

weinig's avatar
weinig committed
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
2007-05-15  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver.

        - Patch for http://bugs.webkit.org/show_bug.cgi?id=13722
          Finish testing and fixing the setting of DOM attributes to JS null

          Convert JS null to null string for CanvasRenderingContext2D attributes.

        Test: fast/dom/canvasContext2d-element-attribute-js-null.html

        * html/CanvasRenderingContext2D.idl:

1849
1850
1851
1852
1853
1854
1855
1856
2007-05-15  Oliver Hunt  <oliver@apple.com>

        Reviewed by Sam and Geoff.

        Removing dead code left behind from drag and drop refactoring.

        * page/mac/WebCoreFrameBridge.h:

weinig's avatar
weinig committed
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
2007-05-15  Sam Weinig  <sam@webkit.org>

        Reviewed by Oliver.

        - Second Patch for http://bugs.webkit.org/show_bug.cgi?id=13722
          Finish testing and fixing the setting of DOM attributes to JS null

          Convert JS null to null string for remaining CSSOM attributes.

        Test: fast/dom/css-element-attribute-js-null.html

        * bindings/js/kjs_css.cpp:
        (KJS::DOMCSSStyleDeclaration::put):
        (KJS::DOMMediaList::put):
        (KJS::DOMCSSRule::putValueProperty):
        (KJS::DOMCSSValue::put):
        * css/CSSPageRule.idl:
        * css/CSSRule.idl:
        * css/CSSStyleDeclaration.idl:
        * css/CSSStyleRule.idl:
        * css/CSSValue.idl:
        * css/MediaList.idl:

darin's avatar
darin committed
1880
1881
1882
1883
1884
1885
2007-05-15  Darin Adler  <darin@apple.com>

        Reviewed by Hyatt.

        * css/html4.css: Remove wbr style rule -- not needed any more.

beidson's avatar
beidson committed
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
2007-05-15  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Brady

        - fix http://bugs.webkit.org/show_bug.cgi?id=13360
          REGRESSION: Crash closing live web cam viewer page

        Test: http/tests/misc/multipart.html

        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::didFail): Avoid calling didFailToLoad() if
        didFinishLoad() has already been called (when the first part of a
        multipart resource arrived).
        (WebCore::ResourceLoader::didCancel): Ditto.

weinig's avatar
weinig committed
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
2007-05-15  Sam Weinig  <sam@webkit.org>

        Reviewed by Darin.

        - Patch for http://bugs.webkit.org/show_bug.cgi?id=13722
          Finish testing and fixing the setting of DOM attributes to JS null

          Convert JS null to null string for remaining Core DOM attributes.

        Test: fast/dom/coreDOM-element-attribute-js-null.xhtml

        * dom/Attr.cpp:
        (WebCore::Attr::setValue): Don't throw an expection for null values as this
        is not in the spec and Firefox does not do it either.
        * dom/Attr.idl:
        * dom/CharacterData.idl:
        * dom/ProcessingInstruction.idl:

andrew's avatar
andrew committed
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
2007-05-15  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13718
          REGRESSION (r21093): editing/execCommand/5136770.html failing pixel test

        * rendering/RenderContainer.cpp:
        (WebCore::RenderContainer::removeChildNode): Moved the code that clears the
        selection when moving a selection border into the fast path.

rwlbuis's avatar
rwlbuis committed
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
2007-05-15  Rob Buis  <buis@kde.org>

        Reviewed by Hyatt.

        http://bugs.webkit.org/show_bug.cgi?id=6487
        "Make Text Bigger/Smaller" affects SVGs when it probably shouldn't

        Ignore Make Text Bigger/Smaller for SVG text.

        * css/svg.css:

andersca's avatar
andersca committed
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
2007-05-15  Anders Carlsson  <andersca@apple.com>

        Reviewed by Maciej.

        <rdar://problem/5183685>
        http://bugs.webkit.org/show_bug.cgi?id=13301
        ASSERT or null value when trying to use a getter defined on a window object

        Handle the case where the value returned is a getter/setter object.
        
        * bindings/js/kjs_window.cpp:
        (KJS::Window::getOverridePropertySlot):

andersca's avatar
andersca committed
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
2007-05-14  Anders Carlsson  <andersca@apple.com>

        Reviewed by Geoff.

        <rdar://problem/5200816>
        REGRESSION: With Shiira 1.2.2 , I can't open embedded link in flash object by clicking (http:/www.adobe.com )
        
        Shiira under some circumstances passes nil as the request to -[WebFrame loadRequest:]. ToT WebKit doesn't call any policy
        delegate methods in this case, which means that the page is actually being loaded. 
        
        This patch makes ToT WebKit behave in the same way as Tiger WebKit when the request is nil.
        
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::checkNavigationPolicy):
        Don't continue without calling the navigation policy method if the request is null.
        
        (WebCore::FrameLoader::continueAfterNavigationPolicy):
        If the request can't be handled, don't continue the load.
        
        * platform/network/mac/ResourceRequestMac.mm:
        (WebCore::ResourceRequest::doUpdatePlatformRequest):
        Don't create an NSURLRequest object if the request is null.

mjs's avatar
mjs committed
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
2007-05-15  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Hyatt and Lars.

        - fixed <rdar://problem/5201758> REGRESSION: Stop button enabled and other problems caused by [WebView currentURL] returning non-nil for empty window

        * WebCore.exp: export new symbol
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::begin): move marker that we committed a real doc load from here...
        (WebCore::FrameLoader::transitionToCommitted): ...to here
        (WebCore::FrameLoader::frameHasLoaded): check that we have at least started loading something
        besides the initial empty doc.
        * loader/FrameLoader.h:

justing's avatar
justing committed
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2007-05-14  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by ggaren
        
        <http://bugs.webkit.org/show_bug.cgi?id=13716>
        REGRESSION: Three new layout test failures
        
        Two failures are correct.  Updated their expected results.
        
        In fast/events/frame-tab-focus.html, as we advance
        through focusable nodes, we descend into a subframe
        to focus a node and then ascend out of it into the
        main frame to focus the next.  When we focus the main 
        frame, the node in that frame that was previously 
        focused and contains an inactive selection is focused 
        momentarily because setCaretVisible tries to focus the 
        node containing the caret.

        * page/Frame.cpp:
        (WebCore::Frame::setCaretVisible): Don't focus the
        node containing the caret. FocusController will focus
        the previously focused node (which will contain the
        caret) if necessary when the frame gains focus.
        
mjs's avatar
mjs committed
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2007-05-14  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Brady.

        - fixed <rdar://problem/5203036> REGRESSION: Assertion failure in WebCore::FrameLoader::restoreScrollPositionAndViewState() going back from fark.com Photoshop contest (13684)

        Test: http/tests/navigation/back-to-slow-frame.html
        
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::restoreScrollPositionAndViewState): Add needed early return.

2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2007-05-14  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Dave Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13603
          style leaks in washingtonpost.com
          also known as http://bugs.webkit.org/show_bug.cgi?id=8750
          w3c.org: incorrect recovery from unclosed <a> elements
          also known as http://bugs.webkit.org/show_bug.cgi?id=12808
          Handling of misnested tags results in entire page appearing as link
          also known as http://bugs.webkit.org/show_bug.cgi?id=12861
          Post text renders as link

        Test: fast/parser/residual-style-close-across-n-blocks.html

        * html/HTMLParser.cpp:
        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Changed to
        deal with multiple block crossings instead of bailing out, by doing multiple
        reparenting passes, starting from the outermost block.

2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2007-05-14  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13711
          REGRESSION - Bookmark Bar text rendering changed

        No test possible since this patch affects only Safari chrome.

        * platform/Font.cpp:
        (WebCore::Font::Font): Initialize m_isPlatformFont according to whether
        the Font object is derived from a FontPlatformData or not.
        * platform/Font.h:
        (WebCore::Font::isPlatformFont): Added. Returns whether this Font was
        derived from a platform font.
        * platform/mac/FontCacheMac.mm:
        (WebCore::FontCache::getFontDataForCharacters): Changed to not enable
        synthetic bold and italic in the fallback fonts if the original font
        was derived from a platform font.

weinig's avatar
weinig committed
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2007-05-14  Sam Weinig  <sam@webkit.org>

        Reviewed by Alice!

        - Patch for http://bugs.webkit.org/show_bug.cgi?id=13541
          REGRESSION: Setting a DOMString attribute to JS null in the 
          JS bindings should default to converting to the empty string

          Convert JS null to the empty string when passing it to an attribute that takes
          a DOMString.

        Test: fast/dom/document-attribute-js-null.html
        Test: fast/dom/element-attribute-js-null.html

        * bindings/js/kjs_dom.cpp:
        (KJS::DOMNode::putValueProperty):
        * bindings/js/kjs_html.cpp:
        (KJS::JSHTMLDocument::putValueProperty):
        (KJS::JSHTMLElement::objectSetter):
        (KJS::JSHTMLElement::embedSetter):
        (KJS::JSHTMLElement::tableSetter):
        (KJS::JSHTMLElement::tableCaptionSetter):
        (KJS::JSHTMLElement::tableColSetter):
        (KJS::JSHTMLElement::tableSectionSetter):
        (KJS::JSHTMLElement::tableRowSetter):
        (KJS::JSHTMLElement::tableCellSetter):
        (KJS::JSHTMLElement::frameSetSetter):
        (KJS::JSHTMLElement::frameSetter):
        (KJS::JSHTMLElement::iFrameSetter):
        (KJS::JSHTMLElement::marqueeSetter):
        (KJS::JSHTMLElement::putValueProperty):
        * bindings/js/kjs_html.h:
        * dom/Document.idl:
        * dom/Node.idl:
        * html/HTMLAnchorElement.idl:
        * html/HTMLAppletElement.idl:
        * html/HTMLAreaElement.idl:
        * html/HTMLBRElement.idl:
        * html/HTMLBaseElement.idl:
        * html/HTMLBaseFontElement.idl:
        * html/HTMLBlockquoteElement.idl:
        * html/HTMLBodyElement.idl:
        * html/HTMLButtonElement.idl:
        * html/HTMLDivElement.idl:
        * html/HTMLDocument.idl:
        * html/HTMLElement.idl:
        * html/HTMLEmbedElement.idl:
        * html/HTMLFontElement.idl:
        * html/HTMLFormElement.idl:
        * html/HTMLFrameElement.idl:
        * html/HTMLFrameSetElement.idl:
        * html/HTMLHRElement.idl:
        * html/HTMLHeadElement.idl:
        * html/HTMLHeadingElement.idl:
        * html/HTMLHtmlElement.idl:
        * html/HTMLIFrameElement.idl:
        * html/HTMLImageElement.idl:
        * html/HTMLInputElement.idl:
        * html/HTMLIsIndexElement.idl:
        * html/HTMLLIElement.idl:
        * html/HTMLLabelElement.idl:
        * html/HTMLLegendElement.idl:
        * html/HTMLLinkElement.idl:
        * html/HTMLMapElement.idl:
        * html/HTMLMetaElement.idl:
        * html/HTMLModElement.idl:
        * html/HTMLOListElement.idl:
        * html/HTMLObjectElement.idl:
        * html/HTMLOptGroupElement.idl:
        * html/HTMLOptionElement.idl:
        * html/HTMLParagraphElement.idl:
        * html/HTMLParamElement.idl:
        * html/HTMLQuoteElement.idl:
        * html/HTMLScriptElement.idl:
        * html/HTMLSelectElement.idl:
        * html/HTMLStyleElement.idl:
        * html/HTMLTableCaptionElement.idl:
        * html/HTMLTableCellElement.idl:
        * html/HTMLTableColElement.idl:
        * html/HTMLTableElement.idl:
        * html/HTMLTableRowElement.idl:
        * html/HTMLTableSectionElement.idl:
        * html/HTMLTextAreaElement.idl:
        * html/HTMLTitleElement.idl:
        * html/HTMLUListElement.idl:

ggaren's avatar
ggaren committed
2152
2153
2154
2155
2156
2157
2007-05-14  Geoffrey Garen  <ggaren@apple.com>

        Trying to fix the Qt build.

        * WebCore.pro:

ggaren's avatar
ggaren committed
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2007-05-14  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Oliver Hunt.
        
        Some improvements on my last patch, suggested by Darin.

        * history/PageCache.cpp:
        (WebCore::PageCache::autoreleaseNow): Swap with an empty set instead of 
        building up an array and then calling clear(). This is slightly more 
        efficient and the code is cleaner.

justing's avatar
justing committed
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2007-05-14  Justin Garcia  <justin.garcia@apple.com>

        Reviewed by darin
        
        <rdar://problem/5136696> Selection is removed when focusing a node in another frame
        <rdar://problem/5192388> WordPress: Can't insert links/images
        
        Don't clear a selection when changing focus if the new
        focus node is in a different frame than the old selection.

        * dom/Document.cpp:
        (WebCore::Document::setFocusedNode): Moved code to clear 
        selections to the FocusController, since it is Page level 
        and will know about the frame/document that contained the 
        old selection. Moved code to call shouldEndEditing to the 
        FocusController because selections are now cleared before
        calling Document::setFocusedNode and shouldEndEditing must
        be called before selections are cleared.
        * dom/Element.cpp:
        (WebCore::Element::blur): Call FocusController::setFocusNode
        instead of Document::setFocusNode, if possible.
        * page/EventHandler.cpp:
        (WebCore::EventHandler::dispatchMouseEvent): Ditto.
        * page/FocusController.cpp:
        (WebCore::relinquishesEditingFocus): Moved from Document.cpp.
        (WebCore::clearSelectionIfNeeded): Ditto.  Don't clear if
        the old selection is in a frame that's different than the 
        one that contains the new focus node.
        (WebCore::FocusController::setFocusedNode): Moved code
        here from Document::setFocusedNode.
        * page/Frame.cpp:
        (WebCore::Frame::setFocusedNodeIfNeeded): Call
        FocusController::setFocusNode.

ggaren's avatar
ggaren committed
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2007-05-14  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.
        
        Next step toward fixing <rdar://problem/5055182> The back cache has no 
        global cap.
        
        Created a PageCache singleton. Right now, it only handles the timer-based
        deallocation of cached pages. I plan to add HistoryItem->CachedPage tracking
        and eviction logic in later patches.

        Updated for renames and file changes:

        * WebCore.exp:
        * WebCore.xcodeproj/project.pbxproj:
        * history/BackForwardList.cpp:
        (WebCore::BackForwardList::setPageCacheSize):
        (WebCore::BackForwardList::clearPageCache):

        Removed global timed release code, moved into new PageCache class, since
        it's eventually going to be in charge of deciding when things are released:
        
        * history/HistoryItem.cpp:
        (WebCore::HistoryItem::setCachedPage):
        * history/HistoryItem.h:

        Folded into PageCache:
        
        * history/HistoryItemTimer.cpp: Removed.
        * history/HistoryItemTimer.h: Removed.

        New singleton. Right now, it just handles timed release of cached pages:
        
        * history/PageCache.cpp: Added.
        (WebCore::pageCache):
        (WebCore::PageCache::PageCache):
        (WebCore::PageCache::autoreleaseNowOrReschedule):
        (WebCore::PageCache::autoreleaseNow):
        (WebCore::PageCache::autorelease):
        * history/PageCache.h: Added.

adele's avatar
adele committed
2244
2245
2246
2247
2248
2249
2250
2251
2007-05-14  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        Fix for <rdar://problem/5200081> Repro crash in PopupMenu::show clicking popup menu button after reload

        * platform/mac/PopupMenuMac.mm: (WebCore::PopupMenu::show): Added call to dismissPopup so the cell gets unattached properly.

adele's avatar
adele committed
2252
2253
2254
2255
2256
2257
2258
2259
2007-05-14  Adele Peterson  <adele@apple.com>

        Reviewed by Darin.

        Remove incorrect assertion.

        * page/FrameView.cpp: (WebCore::FrameView::setContentsPos):

andersca's avatar
andersca committed
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2007-05-14  Anders Carlsson  <andersca@apple.com>

        Reviewed by Geoff.

        <rdar://problem/5172056> Regression: cannot open txt file, get broken image

        Never let plug-ins override text/plain.
        
        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):

zack's avatar
zack committed
2271
2272
2273
2274
2275
2276
2277
2278
2279
2007-05-14  Zack Rusin  <zrusin@trolltech.com>

        Reviewed by Simon.

        Do some magic to get better dependency tracking for header
        files in the qmake project files.

        * ChangeLog:

lars's avatar
lars committed
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2007-05-14  Lars Knoll <lars@trolltech.com>

        Reviewed by Zack

        Required updates after Maciej's frame change.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::mainReceivedCompleteError):
              Call checkLoadCompleted() at the end of the method. Without it
              we never get the loadDone() signal on the Qt port.
        * platform/network/qt/ResourceHandleManagerQt.cpp:
        (WebCore::ResourceHandleManager::receivedFinished):
              Don't pass a null error to didFail().

darin's avatar
darin committed
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2007-05-14  Darin Adler  <darin@apple.com>

        Reviewed by Antti.

        - fix <rdar://problem/3109180> VIP: after go back, page jumps after loading even if I scrolled while loading

        * history/CachedPage.cpp: (WebCore::CachedPage::clear): Call clearFrame rather than
        clearPart -- the "part" term was leftover prehistoric terminology.

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::open): Call setWasScrolledByUser(false) on the page, so that we
        can detect any user scrolling that happens during the "go back" process.
        (WebCore::FrameLoader::restoreScrollPositionAndViewState): Don't scroll if the view's
        wasScrolledByUser flag is set.
        (WebCore::FrameLoader::loadItem): Call setWasScrolledByUser(false) false when we do
        a new "load" (actually just a scroll) using the same frame. Also moved the line of code that
        sets m_currentHistoryItem to make this code path mroe similar to recursiveGoToItem.
        (WebCore::FrameLoader::recursiveGoToItem): Ditto.

        * page/Frame.cpp:
        (WebCore::Frame::~Frame): Call clearFrame rather than stting m_frame directly.
        (WebCore::Frame::sendScrollEvent): Call setWasScrolledByUser(true) on FrameView. The FrameView
        itself knows to ignore this if the scrolling is being done programmatically instead of by the user.

        * page/FrameView.h: Added wasScrolledByUser and setWasScrolledByUser. Also removed unneeded
        include and class forward declarations, renamed clearPart to clearFrame, removed uneeded function
        haveDelayedLayoutScheduled, and removed unneeded friend declarations.
        * page/FrameView.cpp:
        (WebCore::FrameViewPrivate::FrameViewPrivate): Added m_inProgrammaticScroll and m_wasScrolledByUser.
        (WebCore::FrameViewPrivate::reset): Set m_wasScrolledByUser to false.
        (WebCore::FrameView::clearFrame): Renamed from clearPart.
        (WebCore::FrameView::scrollRectIntoViewRecursively): Added code to set the m_inProgrammaticScroll flag.
        (WebCore::FrameView::setContentsPos): Ditto.
        (WebCore::FrameView::wasScrolledByUser): Added.
        (WebCore::FrameView::setWasScrolledByUser): Added. Does nothing if called when m_inProgrammaticScroll
        is true.

darin's avatar
darin committed
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2007-05-14  Darin Adler  <darin@apple.com>

        Reviewed by Antti.

        - <rdar://problem/4865655> REGRESSION: find function does not work for the character ß

        The trick was to fold case consistently in the CircularSearchBuffer class.

        The problem was that we were folding the search target string with full case folding and
        the characters of the text we were searching with simple case folding. We now use full
        case folding in both cases.

        * editing/TextIterator.cpp:
        (WebCore::CircularSearchBuffer::CircularSearchBuffer): Changed the buffer to be a
        Vector<UChar>. Added a Vector<bool> to record which characters were starts of characters
        in the text we are searching. Changed the cursor to be an int rather than a pointer.
        (WebCore::CircularSearchBuffer::append): New function that knows how to append multiple
        characters when folding case turns one character into many -- uses the full foldCase
        rather than the simplified single-character foldCase. Also removed the append function
        that did multiple characters at once; that was part of an optimization we don't need.
        (WebCore::CircularSearchBuffer::isMatch): Instead of asserting that the buffer is full,
        changed this to return false if it's not full, which lets us fill up the buffer with
        the normal loop. Also return false if the start of the buffer is half-way through a
        case-folded character and updated this since m_cursor is now an integer.
        (WebCore::CircularSearchBuffer::length): This returns the length in non-case-folded
        characters of the characters that were appended, which may not be the same as the length
        of the original target string. To do that we have to total up the character start
        booleans for the current state of the circular buffer.
        (WebCore::findPlainText): Streamlined the logic in a few ways: 1) Moved more of the
        return value setup to the top of the function so it could be shared with the early
        error exit. 2) Removed the separate "fill the buffer" logic, which allowed me to
        remove some of the functions from CircularSearchBuffer and eliminated the need for
        two nested loops. 3) Replaced the CharacterIterator and bool that were used to record
        the location we found with integers matchStart and matchLength. 4) Got rid of the use
        of goto since we don't have two nested loops any more.

andrew's avatar
andrew committed
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2007-05-14  Andrew Wellington  <proton@wiretapped.net>

        Reviewed by Darin.

        Fix http://bugs.webkit.org/show_bug.cgi?id=13275
        Safari crashed when trying to login using the windows live contact control

        Check for cleared windowObj in JSAbstractEventListener::handleEvent

        * bindings/js/kjs_events.cpp:
        (KJS::JSAbstractEventListener::handleEvent):

ap's avatar
ap committed
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2007-05-13  Alexey Proskuryakov  <ap@webkit.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=13690
        JavaScript Form Validation issue on Banco do Brasil site

        Test: fast/forms/input-setvalue-selection.html

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setValue): In other browsers, changing textInput.value
        always moves the insertion point past the text. In 10.4.9 WebKit, this only worked
        for inactive controls, and it never worked in ToT.

beidson's avatar
beidson committed
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2007-05-13  Brady Eidson  <beidson@apple.com>

        Reviewed by Mitz

        http://bugs.webkit.org/show_bug.cgi?id=13701

        Since HTMLInputElements register themselves with their Document for special handling, if their document
        ever changes then bad things can happen.

        Unfortunately, with adoptNode, the document can change.  This has been a long standing crasher with all 
        input fields but was given recent high visibility by r21430

        The solution is to add functionality for a Node to react to its owner document changing via a pair of 
        virtual callbacks.  Then we can tap into those callbacks in HTMLInputElement.

        No layout test possible until http://bugs.webkit.org/show_bug.cgi?id=13672 is resolved

        * dom/Node.cpp:
        (WebCore::Node::setDocument): Call willMoveToNewOwnerDocument and didMoveToNewOwnerDocument

        * dom/Node.h:
        (WebCore::Node::willMoveToNewOwnerDocument): Virtual callback to a node for before an owner document change
        (WebCore::Node::didMoveToNewOwnerDocument): Virtual callback to a node for after an owner document change

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::~HTMLInputElement): Unconditionally unregister both for both form state
          and the cache restoration callback
        (WebCore::HTMLInputElement::setInputType): Change registration with the document only if we're in one
        (WebCore::HTMLInputElement::attach): Don't bother registering for the callback here - that will be
          handled by setInputType() or by a change in owner document
        (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Unregister with the old owner document
        (WebCore::HTMLInputElement::didMoveToNewOwnerDocument): Register with the new owner document
        * html/HTMLInputElement.h:

2427
2428
2429
2430
2007-05-13  Darin Adler  <darin@apple.com>

        * platform/mac/TextBreakIteratorInternalICUMac.mm: Fix comment typo.

rwlbuis's avatar
rwlbuis committed
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2007-05-13  Rob Buis  <buis@kde.org>

        Reviewed by Darin.

        http://bugs.webkit.org/show_bug.cgi?id=13529
        DOM3 keyIdentifier text is incorrect

        Use 4 digits for the Unicode based key identifiers.

        * html/HTMLButtonElement.cpp:
        (WebCore::HTMLButtonElement::defaultEventHandler):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::defaultKeyboardEventHandler):
        * page/gdk/EventHandlerGdk.cpp:
        (WebCore::isKeyboardOptionTab):
        * page/mac/EventHandlerMac.mm:
        (WebCore::isKeyboardOptionTab):
        * page/qt/EventHandlerQt.cpp:
        (WebCore::isKeyboardOptionTab):
        * platform/gdk/KeyEventGdk.cpp:
        (WebCore::keyIdentifierForGdkKeyCode):
        * platform/mac/KeyEventMac.mm:
        (WebCore::keyIdentifierForKeyEvent):
        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::keyIdentifierForQtKeyCode):
        * platform/win/KeyEventWin.cpp:
        (WebCore::keyIdentifierForWindowsKeyCode):
        * platform/wx/KeyEventWin.cpp:
        (WebCore::keyIdentifierForWindowsKeyCode):
        * platform/wx/KeyboardEventWx.cpp:
        (WebCore::keyIdentifierForWxKeyCode):

darin's avatar
darin committed
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2007-05-12  Darin Adler  <darin@apple.com>

        Reviewed by Antti.

        - fix <rdar://problem/5174903> Safari crashes opening the attached webarchive (made by OmniWeb)

        * loader/icon/IconLoader.cpp:
        (WebCore::IconLoader::didReceiveResponse): Check ResourceHandle for nil before calling url() on it.
        (WebCore::IconLoader::didFail): Ditto.
        (WebCore::IconLoader::didFinishLoading): Ditto.

rwlbuis's avatar
rwlbuis committed
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2007-05-12  Rob Buis  <buis@kde.org>

        Reviewed by Oliver.

        Cleanup, get rid of the SVGStyledElement::view() call.

        * ksvg2/svg/SVGClipPathElement.cpp:
        (WebCore::SVGClipPathElement::canvasResource):
        * ksvg2/svg/SVGFEFloodElement.cpp:
        (WebCore::SVGFEFloodElement::filterEffect):
        * ksvg2/svg/SVGGradientElement.cpp:
        (WebCore::SVGGradientElement::buildStops):
        * ksvg2/svg/SVGStyledElement.cpp:
        * ksvg2/svg/SVGStyledElement.h:

weinig's avatar
weinig committed
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2007-05-12  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13680
          Incomplete repaint of focus ring around continuation

        Test: fast/repaint/continuation-after-outline.html

        * rendering/RenderFlow.cpp:
        (WebCore::RenderFlow::absoluteClippedOverflowRect):

2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2007-05-12  Oliver Hunt  <oliver@apple.com>

        Reviewed by Hyatt.

        <rdar://problem/4728842> Can't drag-and-drop files onto <input type="file">
        
        This patch allows a file to be dropped on to a file input field.  There
        are a few changes for data handling and a  few to allow the data to be
        threaded to the appropriate places.

        * page/DragController.cpp:
        (WebCore::asFileInput):
           When dropping a file onto a file input we may mouse over either 
           the element itself, or the contained button element.  This method
           returns the base element for the file input in either of these
           cases.
        (WebCore::DragController::tryDocumentDrag):
           Don't try to set the drag caret to a file input.
        (WebCore::DragController::concludeDrag):
           Handle dropping onto a file input element.
        (WebCore::DragController::canProcessDrag):
           We can now process a file being dragged onto a file input element.
           
        * platform/DragData.h:
           New accessors
           
        * platform/gdk/DragDataGdk.cpp:
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::asFilenames):
           Link stubs.
           
        * platform/mac/DragDataMac.mm:
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::asFilenames):
           Implement new accessors
        (WebCore::DragData::containsCompatibleContent):
           Update containsCompatibleContent to allow standalone files.
          
        * platform/qt/DragDataQt.cpp:
        (WebCore::DragData::containsFiles):
        (WebCore::DragData::asFilenames):
           Link stubs
                      
        * rendering/RenderFileUploadControl.cpp:
        (WebCore::RenderFileUploadControl::receiveDroppedFile):
        * rendering/RenderFileUploadControl.h:
           For security reasons we don't have an api to allow us to set 
           a value directly on a file input -- attempts to do so are
           blocked.  By adding a method to set the target through the 
           render we bypass such restrictions, and ensure the renderer
           is updated correctly.

weinig's avatar
weinig committed
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2007-05-12  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Hyatt.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13695
          REGRESSION (r21387): Replaced elements' highlight rects are wrongly positioned

        Test: fast/replaced/selection-rect.html

        Also fixes the same problem with list markers, covered by existing test
        fast/lists/markers-in-selection.html.

        * rendering/RenderListMarker.cpp:
        (WebCore::RenderListMarker::selectionRect):
        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::selectionRect):

weinig's avatar
weinig committed
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2007-05-12  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13685
          REGRESSION (r21368-r21388): Highlighting text in scrolled textareas behaves oddly

        Test: fast/repaint/text-selection-rect-in-overflow.html

        * rendering/RenderText.cpp:
        (WebCore::RenderText::selectionRect):

beidson's avatar
beidson committed
2586
2587
2588
2589
2590
2591
2592
2593
2007-05-12  Brady Eidson  <beidson@apple.com>

        Rubber stamped by Mitz

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::attach): unregister->register - I screwed this one up in last minute renaming
          before committing  :(

beidson's avatar
beidson committed
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2007-05-11  Brady Eidson  <beidson@apple.com>

        Reviewed by Darin and Geoff

        Fix for http://bugs.webkit.org/show_bug.cgi?id=13630
        and
        <rdar://problem/4873628>

        Back/Forward cache should work with pages with login fields.

        First change is to relocate the "useSecureKeyboardEntry" flag to the document.  This lets
        it persist through page cache transitions and it is truly a per-document concept more than
        per-frame anyways since its the document that has a password field, not the frame.

        Second change is to introduce the concept of an Element getting a "didRestoreFromCache()" callback.
        The idea is for elements to register with the document if they need work to be done when the
        page comes out of the back/forward cache.  Currently the only client of this service is 
        HTMLInputElements that are input type == PASSWORD.  Such an element's implementation for this
        method is to call reset()

        Finally, after a page is restored from the cache we have the document send the didRestoreFromCache()
        callback to its registered Elements.  The whole design is to clear the password fields after 
        restoring the page instead of when caching the page because we want to defer work for the common
        case - there shouldn't be extra work here just to navigate away from a page when the common case
        is that you'll never go back!

        No layout tests possible until http://bugs.webkit.org/show_bug.cgi?id=13672 is resolved

        * dom/Document.cpp:
        (WebCore::Document::Document):
        (WebCore::Document::registerForDidRestoreFromCacheCallback): Add an Element to the special page-restoration callback list
        (WebCore::Document::unregisterForDidRestoreFromCacheCallback): Remove such an element
        (WebCore::Document::didRestoreFromCache): Called by FrameLoader - dispatch to all the registered elements
        (WebCore::Document::setUseSecureKeyboardEntryWhenActive): Set the local flag and call updateSecureKeyboardEntryIfActive
          on the Frame
        (WebCore::Document::useSecureKeyboardEntryWhenActive): Return the flag

        * dom/Document.h:
        (WebCore::Document::unregisterFormElementWithState): Renamed

        * dom/Element.h:
        (WebCore::Element::didRestoreFromCache): Added virtual base method

        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::~HTMLInputElement): Deregister from the document if inputType == PASSWORD
        (WebCore::HTMLInputElement::dispatchFocusEvent): Set the flag on the document, not the frame
        (WebCore::HTMLInputElement::dispatchBlurEvent): Ditto
        (WebCore::HTMLInputElement::setInputType): If changing to/from PASSWORD, register/deregister in the document accordingly
        (WebCore::HTMLInputElement::attach): Call registerForDidRestoreFromCacheCallback(this) instead of passwordFieldAdded()
        (WebCore::HTMLInputElement::didRestoreFromCache): Call reset();
        * html/HTMLInputElement.h:

        * html/HTMLSelectElement.cpp:
        (WebCore::HTMLSelectElement::~HTMLSelectElement): Renamed deregisterFormElementWithState to unregisterFormElementWithState
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::~HTMLTextAreaElement): Ditto

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::canCachePage): Remove the check for password fields - they're allowed now!
        (WebCore::FrameLoader::opened): Tell the document to dispatch to the registered elements
        (WebCore::FrameLoader::saveDocumentState): Remove the check for password fields.  Turns out that when we grab a copy a the
          form state we're only copying the state of form elements that are registered with the Document - and that set 
          explicitly excludes Password elements

        * page/Frame.cpp:
        (WebCore::Frame::setDocument): If the frame is active, set the setUseSecureKeyboardEntry based on the setting contained
          in the new document
        (WebCore::Frame::updateSecureKeyboardEntryIfActive): Notification for the secure entry flag changing - if the Frame is
          active, then update to the new setting from the document
        (WebCore::Frame::setIsActive): Grab the useSecureKeyboardEntry flag from the document instead of FramePrivate
        (WebCore::FramePrivate::FramePrivate):
        * page/Frame.h:
        * page/FramePrivate.h:

hyatt's avatar
hyatt committed
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2007-05-12  David Hyatt  <hyatt@apple.com>

        FIx for 13696.  Rework residual style to be much more aggressive about reopening.  Added
        a comprehensive test case of HTML tags to guarantee we match Firefox.  We now have an exclusion
        set rather than an inclusion set, so unknown future tags will also participate in residual style.

        Reviewed by olliej

        fast/invalid/residual-style.html

2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2007-05-12  David Hyatt  <hyatt@apple.com>

        Fix for bug 12740, bmw.com doesn't work.  We were missing a rule that is covered by the HTML5
        parsing spec.  A <table> encountered while inside stray table content should close up the
        table responsible for the stray content and start the new table as a sibling of the first.

        Reviewed by mjs

        fast/invalid/table-inside-stray-table-content.html

2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2007-05-12  Eric Seidel  <eric@webkit.org>

        Reviewed by mjs.

        Crash starting Safari with JavaScript disabled.
        http://bugs.webkit.org/show_bug.cgi?id=13691
        
        Test: none possible.

        * page/mac/FrameMac.mm:
        (WebCore::Frame::cleanupPlatformScriptObjects): NULL check d->m_script

2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2007-05-11  David Hyatt  <hyatt@apple.com>

        Fix for http://bugs.webkit.org/show_bug.cgi?id=13688, Colloquy is broken!

        Make sure to adjust the baseline of a percentage height table cell's row if the
        cell flexes (and lowers the baseline).

        Reviewed by olliej

        fast/tables/vertical-align-baseline-readjust.html

        (WebCore::RenderTableSection::calcRowHeight):
        (WebCore::RenderTableSection::layoutRows):
        * rendering/RenderTableSection.h:
        (WebCore::RenderTableSection::getBaseline):
        
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2007-05-11  David Hyatt  <hyatt@apple.com>

        Make sure focus rings are always using the exterior style, regardless
        of what the OS default is.

        Reviewed by beth

        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::checkbox):
        (WebCore::RenderThemeMac::radio):
        (WebCore::RenderThemeMac::popupButton):
        (WebCore::RenderThemeMac::search):
        (WebCore::RenderThemeMac::sliderThumbHorizontal):
        (WebCore::RenderThemeMac::sliderThumbVertical):

2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2007-05-11  Oliver Hunt  <oliver@apple.com>

        Reviewed by Hyatt.
        
        <rdar://problem/5195473> REGRESSION: "Curly quote" fails to 
        be displayed correctly even when META tag specifies charset=x-mac-roman


        * platform/TextCodecICU.cpp:
        (WebCore::TextCodecICU::registerExtendedEncodingNames):
        Register the xmacroman encoding

mjs's avatar
mjs committed
2743
2744
2745
2746
2007-05-11  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Hyatt.

ggaren's avatar
ggaren committed
2747
        REGRESSION (r21367): Crash due to null document deref when closing bookmarks
mjs's avatar
mjs committed
2748
2749
2750
2751
2752
2753
        http://bugs.webkit.org/show_bug.cgi?id=13662

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::provisionalLoadStarted): Remove some useless and now harmful
        code - there's no need to clear in this case.

oliver's avatar
oliver committed
2754
2755
2756
2757
2758
2759
2760
2761
2007-05-11  Oliver Hunt  <oliver@apple.com>

        GDK Build fix

        * ChangeLog:
        * dom/Document.cpp:
        (WebCore::Document::importNode):

mjs's avatar
mjs committed
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2007-05-11  Maciej Stachowiak  <mjs@apple.com>

        Reviewed by Geoff.
        
        - fixed <rdar://problem/5197621> closing second window crashed webkit (13660)
        http://bugs.webkit.org/show_bug.cgi?id=13660

        No test case; not testable.

        * page/mac/FrameMac.mm:
        (WebCore::Frame::cleanupPlatformScriptObjects): Check if the interpreter is null;
        if so, we don't want to do work that may lazily create it while the Frame is being
        destroyed.

2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2007-05-11  Oliver Hunt  <oliver@apple.com>

        Reviewed by Brady.
        
        <rdar://problem/5017375> WebKit should disable SVG in Dashboard
        
        Prevents an SVG document or element from being created when in
        dashboard compatibility mode.
        
        Manually parsing, or using XHR to created a document removes our 
        ability to detect Dashboard compatibility mode, so we also perform
        the check when importing nodes from one document into another.

        * dom/DOMImplementation.cpp:
        (WebCore::DOMImplementation::createDocument):
          Don't create an SVGDocument if we're in dashboard compatibility mode
          
        * dom/Document.cpp:
        (WebCore::Document::importNode):
          Don't import SVG nodes if we're in dashboard compatibility mode
          
        * ksvg2/scripts/make_names.pl:
          Don't create SVG elements for documents that are in dashboard
          compatibility mode

2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2007-05-11  Holger Hans Peter Freyther  <zecke@selfish.org>

        Reviewed by Maciej.

        Bug 13676: [cairo/gdk] Provide implementation for ImageBufferCairo
        http://bugs.webkit.org/show_bug.cgi?id=13676

        There are no test cases that explicitly cover platform/graphics at present.

        * platform/graphics/ImageBuffer.h: Add cairo bits
        * platform/graphics/cairo/ImageBufferCairo.cpp: Untested implementation of the ImagerBuffer using the image_surface
        (WebCore::ImageBuffer::create): Create a reasonable sized surface
        (WebCore::ImageBuffer::ImageBuffer): Use a cairo_surface and create a GraphicsContext. GraphicsContext takes the cairo_t ownership
        (WebCore::ImageBuffer::~ImageBuffer): Unref the surface
        (WebCore::ImageBuffer::context): simply return the GraphicsContext, it should be possible to directly draw on it.

2817
2818
2819
2820
2821
2822
2823
2007-05-11  Mitz Pettel  <mitz@webkit.org>

        Release build fix.

        * platform/mac/ShapeArabic.c:
        (shapeArabic):

ggaren's avatar
ggaren committed
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2007-05-11  Geoffrey Garen  <ggaren@apple.com>

        Reviewed by Darin Adler.

        Removed +[WebScriptObject scriptObjectForJSObject:frame:] because the
        WebScriptObject API has some serious limitations that make it not ready
        to be used everywhere the C API is used. Hopefully we can add a good
        ObjC API in the future that doesn't suffer from this problem.
        
        Preliminary notes about these limitations are in <rdar://problem/4876466>.

        * bindings/objc/WebScriptObject.mm:
        * bindings/objc/WebScriptObjectPendingPublic.h:

2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2007-05-11  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13635
          REGRESSION: Cannot log in to webmail.co.za account

        Test: fast/dom/HTMLOptionElement/option-text.html

        Despite the specification that the 'text' attribute of HTMLOptionElement
        is "the text contained within the option element", other browsers return
        the text as displayed in the list box or popup, which is without leading,
        trailing and collapsible whitespace.

        * html/HTMLOptionElement.cpp:
        (WebCore::HTMLOptionElement::text): Moved the code to trim and collapse
        whitespace and replace backslashes with the currency symbol into this
        function.
        (WebCore::HTMLOptionElement::optionText): Left only the code that adds
        the leading spaces for grouped options. Removed code that, in quirks mode,
        displayed the label if the option element contained no text. That behavior
        did not match WinIE and the description of the expected behavior in
        fast/forms/HTMLOptionElement_label06.html.

2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2007-05-11  Mitz Pettel  <mitz@webkit.org>

        Reviewed by Darin.

        - fix http://bugs.webkit.org/show_bug.cgi?id=13572
          Arabic characters are not correctly joined when using Arial

        No tests added because standard fonts do not use the character-based shaping
        code path.

        Added shapeArabic(), a private version of u_shapeArabic() from ICU,
        patched to shape Arabic characters used in Persian, Urdu, Sindhi, etc.
        (whose contextual forms belong to the Arabic Presentation Forms-A block).

        * WebCore.xcodeproj/project.pbxproj: Added ShapeArabic.{c,h}.
        * platform/mac/FontMac.mm:
        (WebCore::shapeArabic): Changed to call shapeArabic() instead of u_shapeArabic().
        * platform/mac/ShapeArabic.c: Added. Based on ushape.c from ICU, with
        additional shaping data and logic for Arabic Presentation Forms-A. Removed
        many options that are not used in WebKit and code that malloc()ed a temporary
        buffer and reversed the string.
        (changeLamAlef):
        (specialChar):
        (getLink):
        (isTashkeelChar):
        (shapeUnicode):
        (shapeArabic):
        * platform/mac/ShapeArabic.h: Added.

darin's avatar
darin committed
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2007-05-11  Darin Adler  <darin@apple.com>

        Reviewed by Mitz.

        - fix http://bugs.webkit.org/show_bug.cgi?id=7452
          <rdar://problem/3211749> line breaks ignored after <wbr> in <pre> block (affects livejournal.com)

        - fix http://bugs.webkit.org/show_bug.cgi?id=10657
          <rdar://problem/4274588> <wbr> tags are ignored

        - fix http://bugs.webkit.org/show_bug.cgi?id=12689
          <wbr> :before/:after content causes line break

        - fix <rdar://problem/5127366> DOM tree isn't correct when parsing with <wbr>

        Test: fast/text/wbr-pre.html
        Test: fast/text/wbr.html
        Test: fast/css-generated-content/wbr-with-before-content.html
        Test: fast/parser/parse-wbr.html

        * html/HTMLElement.h:
        * html/HTMLElement.cpp:
        (WebCore::HTMLElement::endTagRequirement): Use the same end tag requirement for a <wbr>
        element as for a <br> element, TagStatusForbidden.
        (WebCore::HTMLElement::tagPriority): Use the same priority for a <wbr> element as for a
        <br> element, 0.