2009-11-20 Roland Steiner <rolandsteiner@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-11-20  Roland Steiner  <rolandsteiner@chromium.org>
2
3         Reviewed by Darin Adler.
4
5         Change default stylesheet to reset text indentation for ruby elements by default.
6         (https://bugs.webkit.org/show_bug.cgi?id=31247)
7
8         Test: fast/ruby/ruby-text-indent.html
9
10         * css/html.css: reset text-indent on <ruby> and <rt> elements 
11
12 2009-11-19  Brian Weinstein  <bweinstein@apple.com>
13
14         Reviewed by Darin Adler.
15
16         Fixes <http://webkit.org/b/22754>.
17         Web Inspector: Keyboard shortcut for Element finder.
18
19         Use Command + Shift + C as a shortcut for Node Search, to 
20         match the Firebug shortcut to do the same thing.
21
22         * inspector/front-end/ElementsPanel.js:
23         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
24
25 2009-11-19  Alexey Proskuryakov  <ap@apple.com>
26
27         Reviewed by Darin Adler.
28
29         https://bugs.webkit.org/show_bug.cgi?id=31690
30         Make SocketStreamHandleCFNet work on Windows
31
32         * WebCore.vcproj/WebCore.vcproj: Added LoaderRunLoopCF.
33
34         * platform/network/ResourceHandle.h: Removed loaderRunLoop().
35
36         * platform/network/cf/LoaderRunLoopCF.cpp: Added.
37         (WebCore::emptyPerform):
38         (WebCore::runLoaderThread):
39         (WebCore::loaderRunLoop):
40         * platform/network/cf/LoaderRunLoopCF.h: Added.
41         Moved the run loop that we use for CFNetwork from ResourceHandle to its own file, because
42         it's needed for more than just resource loading.
43
44         * platform/network/cf/ResourceHandleCFNet.cpp: Use loaderRunLoop() from its new location.
45
46         * platform/network/cf/DNSCFNet.cpp: (WebCore::DNSResolveQueue::resolve): Ditto.
47
48         * platform/network/cf/SocketStreamHandle.h: Added static callbacks for forwarding events to
49         main thread.
50         * platform/network/cf/SocketStreamHandleCFNet.cpp:
51         (WebCore::SocketStreamHandle::SocketStreamHandle): Use loaderRunLoop() on Windows instead of
52         inoperable main run loop.
53
54         (WebCore::MainThreadEventCallbackInfo::MainThreadEventCallbackInfo): 
55         (WebCore::SocketStreamHandle::readStreamCallback):
56         (WebCore::SocketStreamHandle::writeStreamCallback):
57         (WebCore::SocketStreamHandle::readStreamCallbackMainThread):
58         (WebCore::SocketStreamHandle::writeStreamCallbackMainThread):
59         Forward stream events to main thread on Windows.
60
61 2009-11-19  Avi Drissman  <avi@chromium.org>
62
63         Reviewed by Darin Adler.
64
65         Quick style fix.
66         https://bugs.webkit.org/show_bug.cgi?id=27777
67
68         * platform/graphics/cg/PDFDocumentImage.cpp:
69
70 2009-11-19  Beth Dakin  <bdakin@apple.com>
71
72        Build fix. No review needed.
73
74         * platform/chromium/ScrollbarThemeChromium.cpp:
75         (WebCore::ScrollbarThemeChromium::paintTickmarks):
76         * rendering/RenderMediaControlsChromium.cpp:
77         (WebCore::paintMediaButton):
78
79 2009-11-19  Beth Dakin  <bdakin@apple.com>
80       
81        Build fix. No review needed.
82
83         * rendering/RenderThemeChromiumSkia.cpp:
84         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
85         (WebCore::RenderThemeChromiumSkia::paintRadio):
86         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
87         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
88         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
89
90 2009-11-19  Beth Dakin  <bdakin@apple.com>
91
92        Build fix. No review needed.
93
94         * platform/graphics/qt/StillImageQt.cpp:
95         (WebCore::StillImage::draw):
96         * platform/graphics/qt/StillImageQt.h:
97
98 2009-11-19  Beth Dakin  <bdakin@apple.com>
99
100        Build fix. No review needed.
101
102         * rendering/RenderThemeWin.cpp:
103         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
104         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
105         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
106
107 2009-11-19  Beth Dakin  <bdakin@apple.com>
108
109        Build fix. No review needed.
110
111         * plugins/PluginView.cpp:
112         (WebCore::PluginView::paintMissingPluginIcon):
113
114 2009-11-19  Beth Dakin  <bdakin@apple.com>
115
116         Build fix. No review needed.
117
118         * platform/graphics/win/ImageCGWin.cpp:
119         (WebCore::BitmapImage::getHBITMAPOfSize):
120         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
121
122 2009-11-19  Beth Dakin  <bdakin@apple.com>
123
124         Reviewed by Darin Adler.
125
126         Fix for https://bugs.webkit.org/show_bug.cgi?id=31321 Make -webkit-
127         color-correction work with untagged images
128
129         Image's draw(), drawPattern(), and fillWithSolidColor() functions 
130         now take a ColorSpace. A bunch of classes inherit from Image, so 
131         draw() and drawPattern() functions there must also take a 
132         ColorSpace.
133         * platform/graphics/Image.cpp:
134         (WebCore::Image::fillWithSolidColor):
135         (WebCore::Image::drawTiled):
136         * platform/graphics/Image.h:
137         * platform/graphics/BitmapImage.h:
138         * platform/graphics/GeneratedImage.cpp:
139         (WebCore::GeneratedImage::draw):
140         (WebCore::GeneratedImage::drawPattern):
141         * platform/graphics/GeneratedImage.h:
142         * platform/graphics/cg/PDFDocumentImage.cpp:
143         (WebCore::PDFDocumentImage::draw):
144         * platform/graphics/cg/PDFDocumentImage.h:
145         * svg/graphics/SVGImage.cpp:
146         (WebCore::SVGImage::draw):
147         * svg/graphics/SVGImage.h:
148
149         All of the drawImage() functions and drawTiled() functions of 
150         GraphicsContext now take a ColorSpace.
151         * platform/graphics/GraphicsContext.cpp:
152         (WebCore::GraphicsContext::drawImage):
153         (WebCore::GraphicsContext::drawTiledImage):
154         * platform/graphics/GraphicsContext.h:
155
156         This is where the actual work is done.
157         * platform/graphics/cg/ImageCG.cpp:
158         (WebCore::imageWithColorSpace): New static function that returns a 
159         copy of the given image in the given ColorSpace *IF* we should use 
160         the given ColorSpace. We will ignore the color space if the image 
161         is tagged and return 0. 
162         (WebCore::BitmapImage::draw): Now takes a ColorSpace and uses it to 
163         call imageWithColorSpace(). 
164         (WebCore::Image::drawPattern): Same.
165
166         Attempt to keep all ports building. 
167         * platform/graphics/cairo/ImageCairo.cpp:
168         (WebCore::BitmapImage::draw):
169         (WebCore::Image::drawPattern):
170         * platform/graphics/haiku/ImageHaiku.cpp:
171         (WebCore::BitmapImage::draw):
172         (WebCore::Image::drawPattern):
173         * platform/graphics/qt/ImageQt.cpp:
174         (WebCore::Image::drawPattern):
175         (WebCore::BitmapImage::draw):
176         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
177         * platform/graphics/skia/ImageSkia.cpp:
178         (WebCore::Image::drawPattern):
179         (WebCore::BitmapImage::draw):
180         (WebCore::BitmapImageSingleFrameSkia::draw):
181         * platform/graphics/wx/ImageWx.cpp:
182         (WebCore::BitmapImage::draw):
183         (WebCore::BitmapImage::drawPattern):
184
185         Callers of GraphicsContext's drawImage() and drawTiled() functions 
186         now need to send a ColorSpace.
187         * html/HTMLCanvasElement.cpp:
188         (WebCore::HTMLCanvasElement::paint):
189         * html/canvas/CanvasRenderingContext2D.cpp:
190         (WebCore::CanvasRenderingContext2D::drawImage):
191         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
192         * platform/ScrollView.cpp:
193         (WebCore::ScrollView::wheelEvent):
194         * platform/graphics/filters/FEColorMatrix.cpp:
195         (WebCore::FEColorMatrix::apply):
196         * platform/graphics/filters/FEComposite.cpp:
197         (WebCore::FEComposite::apply):
198         * platform/graphics/filters/SourceGraphic.cpp:
199         (WebCore::SourceGraphic::apply):
200         * platform/mac/ScrollbarThemeMac.mm:
201         (WebCore::ScrollbarThemeMac::paint):
202         * rendering/RenderBoxModelObject.cpp:
203         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
204         (WebCore::RenderBoxModelObject::paintNinePieceImage):
205         * rendering/RenderImage.cpp:
206         (WebCore::RenderImage::paintReplaced):
207         * rendering/RenderLayer.cpp:
208         (WebCore::RenderLayer::paintResizer):
209         * rendering/RenderListMarker.cpp:
210         (WebCore::RenderListMarker::paint):
211         * rendering/RenderSVGImage.cpp:
212         (WebCore::RenderSVGImage::paint):
213         * rendering/RenderWidget.cpp:
214         (WebCore::RenderWidget::paint):
215         * svg/graphics/SVGPaintServerPattern.cpp:
216         (WebCore::SVGPaintServerPattern::setup):
217         * svg/graphics/SVGResourceFilter.cpp:
218         (WebCore::SVGResourceFilter::applyFilter):
219         * svg/graphics/filters/SVGFEMerge.cpp:
220         (WebCore::FEMerge::apply):
221         * svg/graphics/filters/SVGFEOffset.cpp:
222         (WebCore::FEOffset::apply):
223         * svg/graphics/filters/SVGFETile.cpp:
224         (WebCore::FETile::apply):
225
226 2009-11-19  Avi Drissman  <avi@chromium.org>
227
228         Reviewed by Darin Adler.
229
230         Properly create a CGImageRef on non-PLATFORM(MAC).
231         https://bugs.webkit.org/show_bug.cgi?id=27777
232
233         * platform/graphics/cg/ImageSourceCG.cpp:
234         (WebCore::sharedBufferGetBytesAtPosition):
235         (WebCore::sharedBufferRelease):
236         (WebCore::ImageSource::setData):
237         * platform/graphics/cg/ImageSourceCG.h:
238         * platform/graphics/cg/PDFDocumentImage.cpp:
239         (WebCore::PDFDocumentImage::dataChanged):
240
241 2009-11-19  Oliver Hunt  <oliver@apple.com>
242
243         Reviewed by Dave Hyatt.
244
245         -webkit-user-drag: element Drag images include overflow decorations from incorrect nodes
246         https://bugs.webkit.org/show_bug.cgi?id=31656
247
248         Make sure we're a child of the painting root before drawing overflow features.
249
250         * manual-tests/user-drag-with-decorations.html: Added.
251         * rendering/RenderBlock.cpp:
252         (WebCore::RenderBlock::paint):
253
254 2009-11-19  Dmitry Titov  <dimich@chromium.org>
255
256         Not reviewed, attempt to fix Chromium build.
257
258         * rendering/RenderMediaControlsChromium.cpp:
259         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Add new enum values for Show/HideClosedCaptionButton to make it compile.
260
261 2009-11-19  Rahul Kuchhal  <kuchhal@chromium.org>
262
263         Reviewed by Darin Adler.
264
265         Do not assert when a high number is used for roman numerals in lists.
266         https://bugs.webkit.org/show_bug.cgi?id=31652
267
268         Test: fast/lists/ol-start-roman.html
269
270         * rendering/RenderListMarker.cpp:
271         (WebCore::toRoman): Increase the char array size.
272
273 2009-11-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
274
275         Rubber-stamped by Oliver Hunt.
276
277         Add translatable strings to cover validationMessage, after
278         r51172. Already covered by existing test.
279
280         * platform/gtk/LocalizedStringsGtk.cpp:
281         (WebCore::validationMessageValueMissingText):
282         (WebCore::validationMessageTypeMismatchText):
283         (WebCore::validationMessagePatternMismatchText):
284         (WebCore::validationMessageTooLongText):
285         (WebCore::validationMessageRangeUnderflowText):
286         (WebCore::validationMessageRangeOverflowText):
287         (WebCore::validationMessageStepMismatchText):
288
289 2009-11-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
290
291         Reviewed by Darin Adler.
292
293         Remove HAVE(FLOAT_H) guard
294         https://bugs.webkit.org/show_bug.cgi?id=31661
295
296         WebCore has a dependency on float.h, there is
297         no need to guard float.h.
298
299         No new tests as there is no functional change.
300
301         * html/HTMLInputElement.cpp: Remove include directive
302         for float.h as it is included in MathExtras.h already.
303
304 2009-11-19  Simon Fraser  <simon.fraser@apple.com>
305
306         Reviewed by Pavel Feldman.
307
308         Instrumentation should account for painting in compositing layers
309         https://bugs.webkit.org/show_bug.cgi?id=31674
310
311         Add calls to InspectorTimelineAgent for painting into compositing layers,
312         which is not accounted for in FrameView::paintContents().
313
314         * rendering/RenderLayerBacking.cpp:
315         (WebCore::RenderLayerBacking::paintIntoLayer):
316         Avoid fetching the FrameView multiple times.
317         
318         (WebCore::inspectorTimelineAgent):
319         (WebCore::RenderLayerBacking::paintContents):
320
321 2009-11-19  Eric Carlson  <eric.carlson@apple.com>
322
323         Reviewed by Dan Bernstein.
324
325         <rdar://problem/7035231>
326         Support closed caption in <video> element
327
328         Test: media/media-captions.html
329
330         * WebCore.base.exp:
331         * accessibility/AccessibilityMediaControls.cpp:
332         (WebCore::AccessibilityMediaControl::controlTypeName):
333             Define ShowClosedCaptionsButton and HideClosedCaptionsButton.
334
335         * css/CSSPrimitiveValueMappings.h:
336         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
337             Add MediaToggleClosedCaptionsButtonPart.
338
339         * css/CSSSelector.cpp:
340         (WebCore::CSSSelector::extractPseudoType):
341             Define and match mediaControlsToggleClosedCaptionsButton.
342
343         * css/CSSSelector.h:
344         (WebCore::CSSSelector::):
345         * css/CSSStyleSelector.cpp:
346         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
347             Define and match PseudoMediaControlsToggleClosedCaptions.
348
349         * css/CSSValueKeywords.in:
350             Define and use media-toggle-closed-captions-button.
351
352         * css/mediaControls.css:
353         * css/mediaControlsQuickTime.css:
354             Add webkit-media-controls-toggle-closed-captions-button.
355
356         * html/HTMLMediaElement.cpp:
357         (WebCore::HTMLMediaElement::HTMLMediaElement): 
358             Initialize m_closedCaptionsVisible.
359         (WebCore::HTMLMediaElement::loadInternal): 
360             Set m_closedCaptionsVisible to false.
361         (WebCore::HTMLMediaElement::hasClosedCaptions): 
362         (WebCore::HTMLMediaElement::closedCaptionsVisible): 
363         (WebCore::HTMLMediaElement::setClosedCaptionsVisible): 
364             New, captions internal methods.
365         (WebCore::HTMLMediaElement::setWebkitClosedCaptionsVisible): 
366         (WebCore::HTMLMediaElement::webkitClosedCaptionsVisible): 
367         (WebCore::HTMLMediaElement::webkitHasClosedCaptions): 
368             New, captions DOM API.
369
370         * html/HTMLMediaElement.h:
371         * html/HTMLMediaElement.idl:
372             Declare methods needed for captions API.
373
374         * platform/ThemeTypes.h:
375             Add MediaToggleClosedCaptionsButtonPart.
376
377         * platform/android/LocalizedStringsAndroid.cpp:
378         (WebCore::localizedMediaControlElementString):
379         (WebCore::localizedMediaControlElementHelpText):
380         (WebCore::localizedMediaTimeDescription):
381             Add empty implmentations.
382
383         * platform/graphics/MediaPlayer.cpp:
384         (WebCore::NullMediaPlayerPrivate::hasClosedCaptions):
385         (WebCore::NullMediaPlayerPrivate::setClosedCaptionsVisible):
386             New, empty implementations of media engine closed caption functions.
387         (WebCore::MediaPlayer::hasClosedCaptions):
388         (WebCore::MediaPlayer::setClosedCaptionsVisible):
389             New, call media engine closed caption functions.
390
391         * platform/graphics/MediaPlayer.h:
392         * platform/graphics/MediaPlayerPrivate.h:
393         (WebCore::MediaPlayerPrivateInterface::hasClosedCaptions):
394         (WebCore::MediaPlayerPrivateInterface::setClosedCaptionsVisible):
395             Declare new media engine methods.
396
397         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
398         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
399         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
400         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
401             New, QTKit implementation of closed caption methods.
402
403         * platform/gtk/LocalizedStringsGtk.cpp:
404         (WebCore::localizedMediaControlElementString):
405         (WebCore::localizedMediaControlElementHelpText):
406             Add help text for ShowClosedCaptionsButton and HideClosedCaptionsButton.
407
408         * platform/mac/WebCoreSystemInterface.h:
409         * platform/mac/WebCoreSystemInterface.mm:
410             Declare and initialize wkQTMovieHasClosedCaptions and wkQTMovieSetShowClosedCaptions.
411
412         * rendering/MediaControlElements.cpp:
413         (WebCore::MediaControlInputElement::MediaControlInputElement):
414             Deal with MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
415         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
416         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
417         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
418             New, implement the closed caption toggle button,
419
420         * rendering/MediaControlElements.h:
421             Define MediaShowClosedCaptionsButton and MediaHideClosedCaptionsButton,
422             declare MediaControlToggleClosedCaptionsButtonElement.
423
424         * rendering/RenderMedia.cpp:
425         (WebCore::RenderMedia::styleDidChange):
426         (WebCore::RenderMedia::createToggleClosedCaptionsButton):
427         (WebCore::RenderMedia::createStatusDisplay):
428         (WebCore::RenderMedia::updateControls):
429         (WebCore::RenderMedia::forwardEvent):
430         * rendering/RenderMedia.h:
431             Deal with m_toggleClosedCaptionsButton.
432
433         * rendering/RenderTheme.cpp:
434         (WebCore::RenderTheme::paint):
435             Deal with MediaToggleClosedCaptionsButtonPart.
436
437         * rendering/RenderTheme.h:
438         * rendering/RenderThemeMac.h:
439             Declare paintMediaToggleClosedCaptionsButton.
440
441         * rendering/RenderThemeMac.mm:
442         (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
443             New.
444         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
445             Don't render captions toggle button unless we are using the new theme, the
446             movie has captions, and the movie is in a <video> element since we currently
447             rely on QTKit to render the captions.
448
449         * rendering/style/RenderStyleConstants.h:
450             Define MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
451
452 2009-11-19  Kevin Ollivier  <kevino@theolliviers.com>
453
454         wx build fix. Add missing header.
455
456         * platform/wx/LocalizedStringsWx.cpp:
457
458 2009-11-19  Alexey Proskuryakov  <ap@apple.com>
459
460         Reviewed by Darin Adler.
461
462         https://bugs.webkit.org/show_bug.cgi?id=31634
463         Ignore realm for proxy protection spaces
464
465         Only affects WebSocket proxy authentication, cannot be tested in DRT.
466
467         * platform/network/ProtectionSpace.cpp:
468         (WebCore::operator==):
469         * platform/network/ProtectionSpaceHash.h:
470         (WebCore::ProtectionSpaceHash::hash):
471
472 2009-11-19  Olivier Goffart  <ogoffart@trolltech.com>
473
474         Reviewed by Simon Hausmann.
475
476         [Qt] Normalize signal and slot signatures.
477
478         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
479         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
480
481 2009-11-19  Alexander Pavlov  <apavlov@chromium.org>
482
483         Reviewed by Pavel Feldman.
484
485         Store cookie domains in the WebInspector object
486
487         The cookie domains have been moved from StoragePanel into WebInspector.
488         Also, the document URLs are now passed inside the WebInspector.addResource()
489         payload rather than pushed directly from InspectorController.
490         https://bugs.webkit.org/show_bug.cgi?id=31627
491
492         * inspector/InspectorController.cpp:
493         (WebCore::InspectorController::populateScriptObjects):
494         (WebCore::InspectorController::didFinishLoading):
495         * inspector/InspectorFrontend.cpp:
496         * inspector/InspectorFrontend.h:
497         * inspector/InspectorResource.cpp:
498         (WebCore::InspectorResource::createScriptObject):
499         (WebCore::InspectorResource::updateScriptObject):
500         * inspector/front-end/StoragePanel.js:
501         (WebInspector.StoragePanel.prototype.reset):
502         (WebInspector.StoragePanel.prototype.addCookieDomain):
503         * inspector/front-end/inspector.js:
504         (WebInspector.addResource):
505         (WebInspector.addCookieDomain):
506         (WebInspector.reset):
507
508 2009-11-19  Zoltan Horvath  <zoltan@webkit.org>
509
510         Reviewed by Darin Adler.
511
512         Allow custom memory allocation control for the other part of platform directory in WebCore
513         https://bugs.webkit.org/show_bug.cgi?id=31585
514
515         Inherits the following classes from FastAllocBase because these are
516         instantiated by 'new':
517
518         class RegularExpression    - instantiated at: WebCore/page/Frame.cpp:415
519         class TransformationMatrix - instantiated at: WebCore/rendering/TransformState.cpp:62
520         class Path                 - instantiated at: WebCore/html/HTMLAreaElement.cpp:73
521         class FontPlatformData     - instantiated at: WebCore/platform/graphics/qt/FontCacheQt.cpp:188
522
523         Inherits the following classes from Noncopyable because these are
524         instantiated by 'new' and no need to be copyable:
525
526         class Cursors                         - instantiated at: WebCore/platform/qt/CursorQt.cpp:146
527         class NetworkStateNotifier            - instantiated at: WebCore/platform/network/NetworkStateNotifier.cpp:37
528         struct CrossThreadResourceRequestData - instantiated at: WebCore/platform/network/ResourceRequestBase.cpp:71
529
530         class ImageDecoder - its child class is instantiated at: WebCore/platform/graphics/qt/ImageDecoderQt.cpp:46
531         class MediaPlayerPrivateInterface - its child class is instantiated at: WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:119
532
533         * platform/graphics/MediaPlayerPrivate.h:
534         * platform/graphics/Path.h:
535         * platform/graphics/qt/FontPlatformData.h:
536         * platform/graphics/transforms/TransformationMatrix.h:
537         * platform/image-decoders/ImageDecoder.h:
538         * platform/network/NetworkStateNotifier.h:
539         * platform/network/ResourceRequestBase.h:
540         * platform/qt/CursorQt.cpp:
541         * platform/text/RegularExpression.h:
542
543 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
544
545         Unreviewed.
546
547         [Qt] Build fix for QtWebKit after r51172.
548
549         * platform/qt/Localizations.cpp:
550         (WebCore::validationMessageValueMissingText):
551         (WebCore::validationMessageTypeMismatchText):
552         (WebCore::validationMessagePatternMismatchText):
553         (WebCore::validationMessageTooLongText):
554         (WebCore::validationMessageRangeUnderflowText):
555         (WebCore::validationMessageRangeOverflowText):
556         (WebCore::validationMessageStepMismatchText):
557
558 2009-11-18  Dan Bernstein  <mitz@apple.com>
559
560         Reviewed by Simon Fraser.
561
562         Fixed <rdar://problem/7398987> Assertion failure in
563         RenderLayer::updateClipRects when a plug-in’s enclosing layer is
564         enclosed by a transformed layer
565
566         Tests: fast/layers/clip-rects-transformed-2.html
567                fast/layers/clip-rects-transformed.html
568
569         * rendering/RenderLayer.cpp:
570         (WebCore::RenderLayer::clippingRoot): Added. Finds the nearest ancestor
571         that is either transformed or composited. During painting and hit
572         testing, when a transformed or composited layer is hit, it becomes the
573         new root layer, which ultimately gets passed to calculateRects().
574         (WebCore::RenderLayer::childrenClipRect): Pass the clipping root as the
575         root layer to calculateRects(), and return the bounding box of the
576         transformed rectangle.
577         (WebCore::RenderLayer::selfClipRect): Ditto.
578         * rendering/RenderLayer.h:
579
580 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
581
582         Reviewed by Kenneth Rohde Christiansen.
583
584         [Qt] Remove support for Qt v4.3 or older versions
585         https://bugs.webkit.org/show_bug.cgi?id=29469
586
587         No new tests as there is no change if compiled with 
588         Qt v4.4 or later version.
589
590         * WebCore.pro:
591         * dom/XMLTokenizerQt.cpp:
592         (WebCore::EntityResolver::resolveUndeclaredEntity):
593         (WebCore::XMLTokenizer::XMLTokenizer):
594         (WebCore::XMLTokenizer::~XMLTokenizer):
595         (WebCore::XMLTokenizer::doWrite):
596         (WebCore::XMLTokenizer::startDocument):
597         (WebCore::XMLTokenizer::parseDtd):
598         * platform/graphics/qt/FontQt.cpp:
599         * platform/graphics/qt/FontQt43.cpp: Removed.
600         * platform/graphics/qt/ImageQt.cpp:
601         * platform/network/ResourceHandleInternal.h:
602         * platform/network/qt/QNetworkReplyHandler.cpp:
603         * platform/network/qt/QNetworkReplyHandler.h:
604         * platform/network/qt/ResourceHandleQt.cpp:
605         (WebCore::ResourceHandle::start):
606         (WebCore::ResourceHandle::cancel):
607         (WebCore::ResourceHandle::loadResourceSynchronously):
608         (WebCore::ResourceHandle::setDefersLoading):
609         * platform/network/qt/ResourceRequest.h:
610         * platform/network/qt/ResourceRequestQt.cpp:
611         * platform/qt/ClipboardQt.cpp:
612         (WebCore::ClipboardQt::clearData):
613         * platform/qt/CookieJarQt.cpp:
614         (WebCore::cookieJar):
615         (WebCore::setCookies):
616         (WebCore::cookies):
617         (WebCore::cookiesEnabled):
618         * platform/qt/PlatformKeyboardEventQt.cpp:
619         (WebCore::keyIdentifierForQtKeyCode):
620         (WebCore::windowsKeyCodeForKeyEvent):
621         * platform/text/qt/TextBoundaries.cpp:
622         * platform/text/qt/TextBreakIteratorQt.cpp:
623         * plugins/qt/PluginDataQt.cpp:
624         (WebCore::PluginData::initPlugins):
625
626 2009-11-18  Michelangelo De Simone  <micdesim@gmail.com>
627
628         Reviewed by Darin Adler.
629
630         Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
631         Support for validationMessage attribute, as per HTML5 specs.
632
633         Test: fast/forms/validationMessage.html
634
635         * html/HTMLButtonElement.idl: validationMessage attribute
636         * html/HTMLFieldSetElement.idl: validationMessage attribute
637         * html/HTMLFormControlElement.cpp:
638         * html/HTMLFormControlElement.h:
639         * html/HTMLInputElement.idl: validationMessage attribute
640         * html/HTMLSelectElement.idl: validationMessage attribute
641         * html/HTMLTextAreaElement.idl: validationMessage attribute
642         * html/ValidityState.cpp: new method to retrieve pertinent localized text
643         * html/ValidityState.h:
644         * page/mac/WebCoreViewFactory.h:
645         * platform/LocalizedStrings.h:
646         * platform/android/LocalizedStringsAndroid.cpp:
647         * platform/gtk/LocalizedStringsGtk.cpp:
648         * platform/haiku/LocalizedStringsHaiku.cpp:
649         * platform/mac/LocalizedStringsMac.mm:
650         * platform/wx/LocalizedStringsWx.cpp:
651
652 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
653
654         Unreviewed.
655
656         Fix a typo. Remove the trailing semicolon
657         from an include directive after r51137.
658
659         No new tests as there is no functional change.
660
661         * platform/qt/QWebPageClient.h:
662
663 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
664
665         Unreviewed.
666
667         [Qt] Build fix for QtWebKit after r51159.
668
669         Include float.h for DBL_MANT_DIG. Not sure why this
670         is not a problem for other ports.
671
672         * html/HTMLInputElement.cpp:
673
674 2009-11-19  Roland Steiner  <rolandsteiner@chromium.org>
675
676         Reviewed by Darin Adler.
677
678         Bug 31574 -  Crashing bug when removing <ruby> element
679         (https://bugs.webkit.org/show_bug.cgi?id=31574)
680
681         Cause of the bug:
682         1.) RenderBlock::destroy() of the RenderRubyRun called destroyLeftoverChildren()
683         2.) that called destroy() of the RenderRubyBase(), which in RenderObject::destroy() calls remove()
684         3.) remove() is being redirected as parent()->removeChild() in RenderObject.h
685         4.) this triggers the special handling of child removal in RenderRubyRun that
686             causes it to destroy itself
687         5.) On returning from all this the renderer crashes when accessing a member
688             or virtual function on this now illegal object.
689
690         I therefore added a flag that tracks if the ruby run is being destroyed.
691         If so, avoid doing the special handling in removeChild that caused this.
692         It's not the most elegant solution, but the easiest to implement without
693         touching unrelated code. Also, it's self-documenting.
694
695         Test: fast/ruby/ruby-remove.html
696
697         * rendering/RenderRubyRun.cpp:
698         (WebCore::RenderRubyRun::RenderRubyRun):
699         (WebCore::RenderRubyRun::destroy):
700         (WebCore::RenderRubyRun::removeChild):
701         * rendering/RenderRubyRun.h:
702
703 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
704
705         Reviewed by Kenneth Rohde Christiansen.
706
707         [Qt] Remove WTF_USE_JAVASCRIPTCORE_BINDINGS as it is no longer used
708         https://bugs.webkit.org/show_bug.cgi?id=31643
709
710         No new tests as there is no functional change.
711
712         * WebCore.pro:
713
714 2009-11-18  Yong Li  <yong.li@torchmobile.com>
715
716         Reviewed by Eric Seidel.
717
718         Implement TextBoundaries for WINCE port.
719         https://bugs.webkit.org/show_bug.cgi?id=27371
720
721         * platform/text/wince/TextBoundariesWince.cpp: Added.
722
723 2009-11-18  Yong Li  <yong.li@torchmobile.com>
724
725         Reviewed by Eric Seidel.
726
727         Implement TextBreakIterator for WINCE port.
728         https://bugs.webkit.org/show_bug.cgi?id=27371
729
730         * platform/text/wince/TextBreakIteratorWince.cpp: Added.
731
732 2009-11-18  Kent Tamura  <tkent@chromium.org>
733
734         Reviewed by Darin Adler.
735
736         Add support for ValidityState.typeMismatch for the following INPUT types:
737           date datetime datetime-local month time week
738         https://bugs.webkit.org/show_bug.cgi?id=31342
739
740         Tests: fast/forms/ValidityState-typeMismatch-date.html
741                fast/forms/ValidityState-typeMismatch-datetime.html
742                fast/forms/ValidityState-typeMismatch-datetimelocal.html
743                fast/forms/ValidityState-typeMismatch-month.html
744                fast/forms/ValidityState-typeMismatch-time.html
745                fast/forms/ValidityState-typeMismatch-week.html
746
747         * html/HTMLInputElement.cpp:
748         (WebCore::HTMLInputElement::formStringToISODateTime): Check the type
749           validity of the specified type and string using the ISODateTime class.
750         * html/HTMLInputElement.h:
751         * html/ValidityState.cpp:
752         (WebCore::ValidityState::typeMismatch): Check the type validity
753           for date, datetime, datetime-local, month, time and week with
754           HTMLInputElemtn::formStringToISODateTime()
755
756 2009-11-18  Maciej Stachowiak  <mjs@apple.com>
757
758         Reviewed by Oliver Hunt.
759
760         Fix REGRESSION (r47022): Performance of DocumentFragment.appendChild is 1000x slower sometimes
761         https://bugs.webkit.org/show_bug.cgi?id=31237
762         
763         Also speeds up Dromaeo DOM Core tests by 1.31x.
764
765         * bindings/js/JSNodeCustom.cpp:
766         (WebCore::JSNode::markChildren): Change marking algorithm to avoid O(N^2) behavior. The subtree
767         mark bit was no longer effective; instead I changed things so only a node that has no ancestors
768         with wrappers would do marking; there should be only one in the typical case (the root of the
769         detached subtree).
770         * dom/Node.cpp:
771         (WebCore::Node::Node): Remove now useless m_inSubtreeMark bit and related functions.
772         * dom/Node.h: ditto
773
774 2009-11-18  Darin Adler  <darin@apple.com>
775
776         Reviewed by Sam Weinig.
777
778         Get rid of the redundant strokeType and fillType data members on
779         a GraphicsContext as well as the FillOrStrokeType enum. Use
780         null pointers instead.
781
782         * platform/graphics/GraphicsContext.cpp:
783         (WebCore::GraphicsContext::setStrokeColor): Null out the pattern
784         and gradient.
785         (WebCore::GraphicsContext::setFillColor): Ditto.
786         (WebCore::GraphicsContext::setStrokePattern): Null out the graident.
787         (WebCore::GraphicsContext::setFillPattern): Ditto.
788         (WebCore::GraphicsContext::setStrokeGradient): Null out the pattern.
789         (WebCore::GraphicsContext::setFillGradient): Ditto.
790
791         * platform/graphics/GraphicsContextPrivate.h: Remove all that stuff.
792
793         * platform/graphics/cairo/GraphicsContextCairo.cpp:
794         (WebCore::setPlatformFill): Use null checks on fillPattern and
795         fillGraident instead of a switch statement.
796         (WebCore::setPlatformStroke): Ditto.
797
798         * platform/graphics/cg/GraphicsContextCG.cpp:
799         (WebCore::GraphicsContext::applyStrokePattern): Removed unneeded get.
800         (WebCore::GraphicsContext::applyFillPattern): Ditto.
801         (WebCore::calculateDrawingMode): Use fillPattern and strokePattern
802         to see if there is a pattern instead of fillType and strokeType.
803         (WebCore::GraphicsContext::drawPath): Use fillGradient, strokeGradient,
804         fillPattern, and strokePattern instead of fillType and strokeType.
805         (WebCore::GraphicsContext::fillPath): Added FIXME about color space that
806         is used in the pattern and gradient case probably erroneously. Moved
807         gradient code inside an if statement. Streamlined pattern code and
808         use an if statement. No switch any more.
809         (WebCore::GraphicsContext::strokePath): Ditto.
810         (WebCore::GraphicsContext::fillRect): Ditto.
811         (WebCore::GraphicsContext::strokeRect): Ditto.
812
813         * platform/graphics/qt/GraphicsContextQt.cpp:
814         (WebCore::GraphicsContext::fillPath): Use null checks on fillPattern and
815         fillGraident instead of a switch statement.
816         (WebCore::GraphicsContext::strokePath): Ditto.
817         (WebCore::GraphicsContext::fillRect): Ditto.
818
819         * platform/graphics/wince/GraphicsContextWince.cpp:
820         (WebCore::GraphicsContext::fillPath): Removed unneeded check of fillType.
821         (WebCore::GraphicsContext::fillRect): Ditto.
822
823 2009-11-18  Kent Tamura  <tkent@chromium.org>
824
825         Reviewed by Darin Adler.
826
827         Support for step attribute and ValidityStae.stepMismatch for
828         type=number and range.  stepMismatch will be false if the
829         difference between the current value and a multiple of the step
830         value is very small.
831
832         Change the behavior of RenderSlider so that it always has a value
833         rounded to the step attribute value.
834
835         https://bugs.webkit.org/show_bug.cgi?id=31331
836
837         Tests: fast/forms/ValidityState-stepMismatch-number.html
838                fast/forms/ValidityState-stepMismatch-range.html
839                fast/forms/ValidityState-stepMismatch-unsupported.html
840                fast/forms/input-step.html
841
842         * html/HTMLAttributeNames.in: Add "step".
843         * html/HTMLInputElement.cpp:
844         (WebCore::HTMLInputElement::stepMismatch):
845         (WebCore::HTMLInputElement::getStepParameters):
846         (WebCore::HTMLInputElement::getAllowedValueStep):
847         * html/HTMLInputElement.h:
848         * html/HTMLInputElement.idl: Add "step".
849         * html/ValidityState.cpp:
850         (WebCore::ValidityState::stepMismatch): Forward to HTMLInputElement::stepMismatch().
851         * html/ValidityState.h:
852         * rendering/RenderSlider.cpp:
853         (WebCore::SliderRange::SliderRange):
854         (WebCore::SliderRange::clampValue):
855
856 2009-11-18  Dmitry Titov  <dimich@chromium.org>
857
858         Reviewed by Darin Adler.
859
860         Need to ASSERT(isMainThread()) in ThreadShared methods.
861         https://bugs.webkit.org/show_bug.cgi?id=31637
862
863         Added ASSERT(IsMainThread()) to all following methods:
864         * platform/TreeShared.h:
865         (WebCore::TreeShared::TreeShared):
866         (WebCore::TreeShared::~TreeShared):
867         (WebCore::TreeShared::ref):
868         (WebCore::TreeShared::deref):
869         (WebCore::TreeShared::setParent):
870         (WebCore::TreeShared::parent):
871
872 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
873
874         Reviewed by Eric Seidel.
875
876         Add plugin visibility manual test
877
878         https://bugs.webkit.org/show_bug.cgi?id=31542
879
880         * manual-tests/plugins/windowed.html:
881         * manual-tests/plugins/windowless.html:
882
883 2009-11-18  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
884
885         Reviewed by Pavel Feldman.
886
887         Web Inspector - remember last script displayed in Scripts panel
888         https://bugs.webkit.org/show_bug.cgi?id=27552
889
890         Manual test added
891         
892         * inspector/front-end/ScriptsPanel.js:
893         (WebInspector.ScriptsPanel.prototype.showScript):
894         (WebInspector.ScriptsPanel.prototype.showResource):
895         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
896         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
897         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
898         (WebInspector.ScriptsPanel.prototype._goBack):
899         (WebInspector.ScriptsPanel.prototype._goForward):
900         * manual-tests/inspector/remember-last-script.html: Added.
901
902 2009-11-18  Shinichiro Hamaji  <hamaji@chromium.org>
903
904         Reviewed by Dimitri Glazkov.
905
906         Win chromium is slow to draw transparent texts
907         https://bugs.webkit.org/show_bug.cgi?id=31258
908
909         Create bounded transparency layers instead of just clipping.
910
911         No new tests because this is just a performance improvement.
912
913         * platform/graphics/chromium/FontChromiumWin.cpp:
914         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
915
916 2009-11-18  Shu Chang  <Chang.Shu@nokia.com>
917
918         Reviewed by Eric Seidel.
919
920         [Qt] Add support for displaying deleteButton.
921         https://bugs.webkit.org/show_bug.cgi?id=31560
922
923         Test: LayoutTests/editing/deleting/5408255.html
924
925         * WebCore.qrc:
926         * platform/graphics/qt/ImageQt.cpp:
927         (loadResourcePixmap):
928
929 2009-11-18  Mikhail Naganov  <mnaganov@chromium.org>
930
931         Reviewed by Eric Seidel.
932
933         Fix Qt build without JavaScript debugger.
934
935         https://bugs.webkit.org/show_bug.cgi?id=31575
936
937         * page/Console.idl:
938
939 2009-11-18  Daniel Bates  <dbates@webkit.org>
940
941         Reviewed by Dave Hyatt.
942
943         https://bugs.webkit.org/show_bug.cgi?id=24971
944         And
945         <rdar://problem/7138265>
946
947         Fixes an issue where setting the height of a table row programmatically
948         (via JavaScript) causes the table to be improperly rendered because the
949         height of each row in the table is not recalculated with respect to the
950         CSS height property.
951
952         In particular, programmatically setting the height of some table row causes
953         the rows of that table to be rendered with a height equal to the minimum
954         height required by the cells in that row, regardless of any specified cell
955         heights. Instead, when RenderTableSection::recalcCells is called, the height
956         of each row should be set to the CSS height property just as we do in
957         RenderTableSection::addChild.
958
959         Test: fast/table/row-height-recalc2.html
960
961         * rendering/RenderTableSection.cpp:
962         (WebCore::setRowHeightToRowStyleHeightIfNotRelative): Added.
963         (WebCore::RenderTableSection::addChild): Moved code that set row height into
964         method WebCore::setRowHeightToRowStyleHeightIfNotRelative.
965         (WebCore::RenderTableSection::recalcCells): Modified to call
966         WebCore::setRowHeightToRowStyleHeightIfNotRelative.
967
968 2009-11-18  Zoltan Horvath  <zoltan@webkit.org>
969
970         Reviewed by Darin Adler.
971
972         Allow custom memory allocation control for the part of platform directory in WebCore
973         https://bugs.webkit.org/show_bug.cgi?id=31473
974
975         Inherits the following classes from FastAllocBase because these are
976         instantiated by 'new':
977
978         class  AnimationList         - instantiated at WebCore/rendering/style/StyleRareNonInheritedData.cpp:85
979         class  Color                 - instantiated at WebCore/rendering/RenderTheme.cpp:48
980         struct Length                - instantiated at WebCore/platform/Length.cpp:103
981         class  PlatformKeyboardEvent - instantiated at WebCore/dom/KeyboardEvent.cpp:63
982         class  ContextMenuItem       - instantiated at WebCore/platform/ContextMenu.cpp:70
983         class  DeprecatedPtrList     - instantiated at WebCore/rendering/RenderBlock.cpp:2284
984
985         Inherits the following classes from Noncopyable because these are
986         instantiated by 'new' and no need to be copyable:
987
988         class  GraphicsContextPrivate - instantiated at WebCore/platform/graphics/GraphicsContext.cpp:78
989         class  FontCache              - instantiated at WebCore/platform/graphics/qt/FontCacheQt.cpp:43
990         struct MediaPlayerFactory     - instantiated at WebCore/platform/graphics/MediaPlayer.cpp:163
991         class  DeprecatedPtrListNode  - instantiated at WebCore/platform/DeprecatedPtrListImpl.cpp:53
992
993         * platform/ContextMenuItem.h:
994         * platform/DeprecatedPtrList.h:
995         * platform/DeprecatedPtrListImpl.cpp:
996         * platform/Length.h:
997         * platform/PlatformKeyboardEvent.h:
998         * platform/animation/AnimationList.h:
999         * platform/graphics/Color.h:
1000         * platform/graphics/FontCache.h:
1001         * platform/graphics/GraphicsContextPrivate.h:
1002         * platform/graphics/MediaPlayer.cpp:
1003
1004 2009-11-18  Daniel Bates  <dbates@webkit.org>
1005
1006         Reviewed by Darin Adler.
1007
1008         https://bugs.webkit.org/show_bug.cgi?id=31186
1009
1010         Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
1011         m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
1012         These are more descriptive names so as to clear an ambiguity surrounding
1013         their usage. Also, renames associated setters and getters so that they
1014         coincide with the renamed fields.
1015
1016         No functionality was changed. So, no tests were included.
1017
1018         * bindings/objc/DOMHTML.mm:
1019         (-[DOMHTMLInputElement _isEdited]):
1020         (-[DOMHTMLTextAreaElement _isEdited]):
1021         * dom/Document.cpp:
1022         (WebCore::Document::setFocusedNode):
1023         * html/HTMLInputElement.cpp:
1024         (WebCore::HTMLInputElement::defaultEventHandler):
1025         * rendering/RenderTextControl.cpp:
1026         (WebCore::RenderTextControl::RenderTextControl):
1027         (WebCore::RenderTextControl::setInnerTextValue):
1028         (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
1029         (WebCore::RenderTextControl::subtreeHasChanged):
1030         * rendering/RenderTextControl.h:
1031         (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
1032         (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
1033         (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
1034         * rendering/RenderTextControlSingleLine.cpp:
1035         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
1036         * wml/WMLInputElement.cpp:
1037         (WebCore::WMLInputElement::defaultEventHandler):
1038
1039 2009-11-18  Tony Chang  <tony@chromium.org>
1040
1041         Reviewed by Adam Barth.
1042
1043         Remove V8CanvasPixelArrayCustom.cpp because it is no longer used by V8.
1044         https://bugs.webkit.org/show_bug.cgi?id=31499
1045
1046         No new tests, just a build cleanup.
1047
1048         * WebCore.gypi:
1049         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Removed.
1050         * bindings/v8/custom/V8CustomBinding.h:
1051
1052 2009-11-18  Kevin Watters  <kevinwatters@gmail.com>
1053
1054         Reviewed by Kevin Ollivier.
1055
1056         Enable wx plugin support using the Windows implementation as a base.
1057         
1058         https://bugs.webkit.org/show_bug.cgi?id=31636
1059
1060         * platform/graphics/GraphicsContext.h:
1061         (WebCore::GraphicsContext::inTransparencyLayer):
1062         * platform/graphics/wx/GraphicsContextWx.cpp:
1063         (WebCore::GraphicsContext::getWindowsContext):
1064         (WebCore::GraphicsContext::releaseWindowsContext):
1065         * platform/wx/FileSystemWx.cpp:
1066         (WebCore::unloadModule):
1067         (WebCore::listDirectory):
1068         * plugins/PluginDatabase.cpp:
1069         * plugins/PluginView.cpp:
1070         (WebCore::PluginView::stop):
1071         (WebCore::PluginView::PluginView):
1072         * plugins/PluginView.h:
1073         * plugins/win/PluginViewWin.cpp:
1074         (windowHandleForPageClient):
1075         (WebCore::PluginView::handleMouseEvent):
1076         (WebCore::PluginView::platformStart):
1077         (WebCore::PluginView::snapshot):
1078         * wscript:
1079
1080 2009-11-18  Andrei Popescu  <andreip@google.com>
1081
1082         Reviewed by Dimitri Glazkov.
1083
1084         [Android] Add shared timer and sound utilities to platform/android
1085         https://bugs.webkit.org/show_bug.cgi?id=31584
1086
1087         No new tests required, this is platform specific code.
1088
1089         * platform/android/SharedTimerAndroid.cpp: Added.
1090         (WebCore::setSharedTimerFiredFunction):
1091         (WebCore::setSharedTimerFireTime):
1092         (WebCore::stopSharedTimer):
1093         * platform/android/SoundAndroid.cpp: Added.
1094         (WebCore::systemBeep):
1095
1096 2009-11-18  Mikhail Naganov  <mnaganov@chromium.org>
1097
1098         Reviewed by Timothy Hatcher.
1099
1100         Fix profile tree nodes loss after focus / restore actions.
1101
1102         Focusing on a node is currently implemented via nodes reattaching
1103         with some caching involved. It seems that not all code was updated
1104         to handle this scenario correctly.
1105
1106         https://bugs.webkit.org/show_bug.cgi?id=31553
1107
1108         * inspector/front-end/BottomUpProfileDataGridTree.js:
1109         (WebInspector.BottomUpProfileDataGridNode):
1110         (WebInspector.BottomUpProfileDataGridNode.prototype._restore):
1111         (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
1112         (WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren):
1113         * inspector/front-end/DataGrid.js:
1114         (WebInspector.DataGrid.prototype.insertChild):
1115         (WebInspector.DataGridNode.prototype._detach):
1116         (WebInspector.DataGridNode.prototype.savePosition):
1117         (WebInspector.DataGridNode.prototype.restorePosition):
1118         * inspector/front-end/TopDownProfileDataGridTree.js:
1119         (WebInspector.TopDownProfileDataGridTree.prototype.focus):
1120         (WebInspector.TopDownProfileDataGridTree.prototype.restore):
1121
1122 2009-11-18  Carol Szabo  <carol.szabo@nokia.com>
1123
1124         Reviewed by Kenneth Rohde Christiansen.
1125
1126         [Qt] QWebPageClient.h needs in some cases QCursor, but it does not
1127         include it 
1128         https://bugs.webkit.org/show_bug.cgi?id=31527
1129
1130         No new tests as this is just a coding style fix that affects the 
1131         build of some not yet submitted patches (i.e. for bug 30173).
1132
1133         * platform/qt/QWebPageClient.h:
1134
1135 2009-11-18  Nicolas Roard   <nicolas@roard.com>
1136
1137         Reviewed by Dimitri Glazkov.
1138
1139         InspectorTimelineAgent.h should be guarded by ENABLE(INSPECTOR)
1140         https://bugs.webkit.org/show_bug.cgi?id=31504
1141
1142         * inspector/InspectorTimelineAgent.h:Added the guard.
1143
1144 2009-11-18  Jens Alfke  <snej@chromium.org>
1145
1146         Build fix to my previous checkin, for Windows Chromium
1147
1148         * svg/SVGAnimatedProperty.h:
1149         (WebCore::PropertySynchronizer::synchronize): Fix implicit-conversion error on AtomicString.
1150
1151 2009-11-18  Joseph Pecoraro  <joepeck@webkit.org>
1152
1153         Reviewed by Pavel Feldman.
1154
1155         Web Inspector: Directly Access <head> Instead of Searching for It
1156         https://bugs.webkit.org/show_bug.cgi?id=31641
1157         
1158         Changed old access of the head element (document.getElementsByTagName)
1159         to just use the document.head accessor.
1160
1161         * inspector/front-end/FontView.js:
1162         (WebInspector.FontView):
1163         * inspector/front-end/InjectedScript.js:
1164         (InjectedScript.addStyleSelector):
1165         * inspector/front-end/SourceFrame.js:
1166         (WebInspector.SourceFrame.prototype._loaded):
1167         * inspector/front-end/inspector.js:
1168         (windowLoaded):
1169
1170 2009-11-18  Sam Weinig  <sam@webkit.org>
1171
1172         Reviewed by Anders Carlsson.
1173
1174         Fix two Geolocation assertions.
1175
1176         * page/Chrome.cpp:
1177         (WebCore::Chrome::requestGeolocationPermissionForFrame): No need to use PageGroupLoadDeferrer since this
1178         is not called from JS. 
1179         * page/Geolocation.cpp:
1180         (WebCore::Geolocation::Watchers::set): The PassRefPtr was getting nulled out, so we need to put it in
1181         a RefPtr first.
1182
1183 2009-11-18  Alexey Proskuryakov  <ap@apple.com>
1184
1185         Case sensitive file system build fix.
1186
1187         * platform/network/Credential.h: It's not WTF, just wtf.
1188
1189 2009-11-18  Aaron Golden  <agolden@apple.com>
1190
1191         Reviewed by Alexey Proskuryakov.
1192
1193         Add support for certificates to WebCore::Credential so we can convert between NSURLCredential
1194         objects and WebCore::Credential objects without losing certificate information.
1195
1196         * platform/network/Credential.cpp:
1197         (WebCore::Credential::Credential):  Adding a constructor that takes an identity argument and a certificate chain argument
1198         (WebCore::Credential::isEmpty):  Modifying isEmpty to support certificate based credentials (which don't have a username or password)
1199         (WebCore::Credential::identity): Accessor for the m_identity property
1200         (WebCore::Credential::certificates): Accessor for the m_certificates property
1201         (WebCore::Credential::type):  Accessor for the m_type property
1202         (WebCore::operator==):  Modifying == to compare the identity and certificate chains of certificate based credentials.
1203         * platform/network/Credential.h:  Adding new fields to WebCore::Credential to support certificate based credentials.
1204         * platform/network/mac/AuthenticationMac.mm:
1205         (WebCore::mac):  Modifying the mac() conversion method to correctly convert certificate based WebCore::Credential objects.
1206         (WebCore::core):  Modifying the core() conversion method to correctly convert certificate based NSURLCredential objects.
1207
1208 2009-11-18  Dmitry Titov  <dimich@chromium.org>
1209
1210         Reviewed by Eric Seidel.
1211
1212         Reverting r50919 that has introduced a non-thread-safe refcounting in ScriptExecutionContext::postTaskToMainThread.
1213         https://bugs.webkit.org/show_bug.cgi?id=31615
1214
1215         * dom/Document.cpp:
1216         (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
1217         (WebCore::ScriptExecutionContextTaskTimer::fired):
1218         (WebCore::PerformTaskContext::PerformTaskContext):
1219         (WebCore::performTask):
1220         (WebCore::Document::postTask):
1221         * dom/ScriptExecutionContext.cpp:
1222         * dom/ScriptExecutionContext.h:
1223
1224 2009-11-18  Jens Alfke  <snej@chromium.org>
1225
1226         Reviewed by Darin Adler.
1227
1228         Eliminate unnecessary String-->AtomicString conversions from generated V8 bindings,
1229         by causing the right v8-to-WebCore conversion function to be called for every parameter.
1230         This no longer requires any IDL metadata, so I've removed the [HintAtomic] annotations.
1231         To enforce correctness, I added a mode that disables implicit
1232         String-->AtomicString conversions while compiling the generated bindings.
1233         https://bugs.webkit.org/show_bug.cgi?id=31168
1234
1235         * bindings/scripts/CodeGeneratorV8.pm:  Generate usage of V8Parameter class.
1236         * bindings/v8/DerivedSourcesAllInOne.cpp:  Enable NO_IMPLICIT_ATOMICSTRING.
1237         * bindings/v8/V8Binding.h:  Add V8Parameter class.
1238         * css/WebKitCSSKeyframesRule.h:  Make AtomicString conversions explicit.
1239         * dom/Document.idl:  Remove obsolete [HintAtomic] annotation.
1240         * platform/text/AtomicString.h:  Added NO_IMPLICIT_ATOMICSTRING option.
1241         * svg/SVGAnimatedTemplate.h:  Change some return types to String to avoid implicit conversion.
1242         * svg/SVGAnimatedProperty.h: Adapt to changed return types in SVGAnimatedTemplate.
1243
1244 2009-11-18  Darin Adler  <darin@apple.com>
1245
1246         Reviewed by Dan Bernstein.
1247
1248         Move FillOrStrokeType out of public header.
1249
1250         * platform/graphics/GraphicsContext.h: Updated copyright date to cover
1251         some years we published Apple changes, sorted forward declarations,
1252         removed FillOrStrokeType enum.
1253         * platform/graphics/GraphicsContextPrivate.h: Updated copyright date
1254         to cover some years we published Apple changes, sorted includes,
1255         moved FillOrStrokeType enum here.
1256
1257 2009-11-18  Chris Marrin  <cmarrin@apple.com>
1258
1259         Reviewed by Simon Fraser.
1260
1261         Add Settings for WebKitShowDebugBorders and WebKitShowRepaintCounter
1262         https://bugs.webkit.org/show_bug.cgi?id=31601
1263
1264         These are used to debug accelerated compositing layers. I removed
1265         the platform specific code from GraphicsLayerCA.mm and added calls
1266         to GraphicsLayerClient to get it from the higher levels. The values 
1267         now get cached in RenderLayerCompositing and are queried from there
1268         by RenderLayerBacking (which implements the GraphicsLayerClient interface).
1269
1270         * WebCore.base.exp:
1271         * page/FrameView.cpp:
1272         (WebCore::FrameView::updateCompositingLayers):
1273         * page/Settings.cpp:
1274         (WebCore::Settings::Settings):
1275         (WebCore::Settings::setShowDebugBorders):
1276         (WebCore::Settings::setShowRepaintCounter):
1277         * page/Settings.h:
1278         (WebCore::Settings::showDebugBorders):
1279         (WebCore::Settings::showRepaintCounter):
1280         * platform/graphics/GraphicsLayer.h:
1281         (WebCore::GraphicsLayer::showDebugBorders):
1282         (WebCore::GraphicsLayer::showRepaintCounter):
1283         * platform/graphics/GraphicsLayerClient.h:
1284         * platform/graphics/mac/GraphicsLayerCA.mm:
1285         * rendering/RenderLayerBacking.cpp:
1286         (WebCore::RenderLayerBacking::showDebugBorders):
1287         (WebCore::RenderLayerBacking::showRepaintCounter):
1288         * rendering/RenderLayerBacking.h:
1289         * rendering/RenderLayerCompositor.cpp:
1290         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1291         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
1292         * rendering/RenderLayerCompositor.h:
1293         (WebCore::RenderLayerCompositor::showDebugBorders):
1294         (WebCore::RenderLayerCompositor::showRepaintCounter):
1295
1296 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
1297
1298         Reviewed by Timothy Hatcher.
1299
1300         Web Inspector: Get rid of metrics and properties sidebars'
1301         flickering.
1302
1303         https://bugs.webkit.org/show_bug.cgi?id=31629
1304
1305         * inspector/front-end/MetricsSidebarPane.js:
1306         * inspector/front-end/PropertiesSidebarPane.js:
1307
1308 2009-11-17  Brian Weinstein  <bweinstein@apple.com>
1309
1310         Reviewed by Pavel Feldman.
1311
1312         Fixes <http://webkit.org/b/31606>.
1313         Web Inspector: Enter/Return key should enter edit mode for Editable Fields.
1314         
1315         This implements Enter starting editing mode in an editable DataGrid. If the
1316         DataGrid is editable and the user hits return, startEditing the first child
1317         of the selected node. Also refactored some editing functions to take an 
1318         event target instead of the event itself, because the functions only needed
1319         the target. Lastly, added had return in editing mode stop propogation, because
1320         when enter was hit to confirm text, it would propagate back to the datagrid
1321         and try to start editing again.
1322
1323         * inspector/front-end/DataGrid.js:
1324         (WebInspector.DataGrid.prototype._ondblclick):
1325         (WebInspector.DataGrid.prototype._startEditing):
1326         (WebInspector.DataGrid.prototype.handleKeyEvent):
1327         (WebInspector.DataGrid.prototype.dataGridNodeFromEvent):
1328         (WebInspector.DataGrid.prototype._mouseDownInDataTable):
1329         (WebInspector.DataGrid.prototype._clickInDataTable):
1330         * inspector/front-end/inspector.js:
1331         (WebInspector.startEditing.element.handleKeyEvent):
1332         (WebInspector.startEditing):
1333
1334 2009-11-18  Ben Murdoch  <benm@google.com>
1335
1336         Reviewed by Darin Adler.
1337
1338         HTMLAnchorElement is inconsistent with its internal handling of the value returned for the href attribute.
1339         https://bugs.webkit.org/show_bug.cgi?id=31593
1340
1341         Test: fast/dom/HTMLAnchorElement/set-href-attribute-whitespace.html
1342
1343         * html/HTMLAnchorElement.cpp:
1344         (WebCore::HTMLAnchorElement::href): Add call to deprecatedParseURL.
1345
1346 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
1347
1348         Not reviewed. Touch InspectorController so that frontend
1349         JS files are deployed on Windows.
1350
1351         * inspector/InspectorController.cpp:
1352
1353 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
1354
1355         Reviewed by Timothy Hatcher.
1356
1357         Web Inspector: clone timeline records array instead of
1358         copying reference on invalidate all.
1359
1360         https://bugs.webkit.org/show_bug.cgi?id=31596
1361
1362         * inspector/front-end/AbstractTimelinePanel.js:
1363         (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems):
1364
1365 2009-11-18  Simon Fraser  <simon.fraser@apple.com>
1366
1367         Reviewed by Dan Bernstein.
1368
1369         Elements don't drop out of compositing layers when animation ends
1370         https://bugs.webkit.org/show_bug.cgi?id=31613
1371         <rdar://problem/7402913>
1372
1373         Avoid setting the mustOverlapCompositedLayers flag on RenderLayers which
1374         are compositing anyway for other reasons. Doing so can cause those layers
1375         to stay in compositing mode even after animations finish, because needsToBeComposited()
1376         continues to return true.
1377         
1378         No new tests because it's not possible to determine which elements are in
1379         compositing layers from DRT output.
1380
1381         * rendering/RenderLayerCompositor.cpp:
1382         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1383
1384 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
1385
1386         Reviewed by Tor Arne Vestbø.
1387
1388         [Qt] Mac Plugins: Remove null timer
1389         
1390         A null timer was used to send mouse move events. Instead, we now use
1391         move events to send nullEvent. This brings down CPU usage by 20-30%.
1392         
1393         https://bugs.webkit.org/show_bug.cgi?id=31624
1394
1395         * plugins/PluginView.h:
1396         * plugins/mac/PluginViewMac.cpp:
1397         (WebCore::PluginView::platformStart):
1398         (WebCore::PluginView::handleMouseEvent):
1399
1400 2009-11-18  Benjamin Poulain  <benjamin.poulain@nokia.com>
1401
1402         Reviewed by Simon Hausmann.
1403
1404         [Qt] WebKit crashes when loading certain SVG images
1405
1406         Check if the familly exist before creating the PlatformData from it.
1407
1408         https://bugs.webkit.org/show_bug.cgi?id=29443
1409
1410         Test: svg/text/text-font-invalid.html
1411
1412         * platform/graphics/qt/FontFallbackListQt.cpp:
1413         (WebCore::FontFallbackList::fontDataAt):
1414
1415 2009-11-17  Nicolas Weber  <thakis@chromium.org>
1416
1417         Reviewed by Darin Fisher.
1418
1419         Fix crash in Chromium/Mac where dropdowns weren't dismissed correctly
1420         after navigation.
1421         https://bugs.webkit.org/show_bug.cgi?id=31609
1422
1423         * platform/chromium/PopupMenuChromium.cpp:
1424         (WebCore::PopupContainer::showExternal): Set parent for external
1425         dropdowns, so that |PopupListBox::hidePopup()| can successfully notify
1426         its parent's client.
1427
1428 2009-11-17  Hayato Ito  <hayato@google.com>
1429
1430         Reviewed by Darin Adler.
1431
1432         Avoid infinite mutual recursion when deeply nested tags are loaded
1433         https://bugs.webkit.org/show_bug.cgi?id=30651
1434
1435         Test: fast/parser/block-nesting-cap-table.html
1436
1437         * html/HTMLParser.cpp:
1438         (WebCore::HTMLParser::parseToken):
1439         (WebCore::tagPriorityOfNode):
1440         (WebCore::HTMLParser::limitBlockDepth):
1441         (WebCore::HTMLParser::insertNodeAfterLimitBlockDepth):
1442         (WebCore::HTMLParser::insertNode):
1443         * html/HTMLParser.h:
1444
1445 2009-11-17  Brent Fulgham  <bfulgham@webkit.org>
1446
1447         Rubber-stamped by Alexey Proskuryakov.
1448
1449         Final clean-ups for minor coding standard violations.
1450         https://bugs.webkit.org/show_bug.cgi?id=26102.
1451
1452         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1453
1454 2009-11-17  Johnny Ding  <jnd@chromium.org>
1455
1456         Reviewed by Darin Adler.
1457
1458         In all valid script tags for JavaScript, the event handler in <script...for> should not get executed.
1459         https://bugs.webkit.org/show_bug.cgi?id=31567
1460
1461         * dom/ScriptElement.cpp:
1462         (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
1463
1464 2009-11-17  Pavel Feldman  <pfeldman@chromium.org>
1465
1466         Reviewed by Timothy Hatcher.
1467
1468         Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
1469         - Updated DRT to show/close inspector for all tests under /inspector
1470         - Introduced LayoutTestController::setTimelineProfilingEnabled and
1471           WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
1472         - Removed reload on each inspector test
1473         - Renamed fast/inspector to fast/inspector-support in order not to trigger
1474         inspector for those.
1475         - Reimplemented timeline tests in order to get rid of reload there.
1476         - Moved tests that don't require harness into the fast group.
1477
1478         https://bugs.webkit.org/show_bug.cgi?id=31472
1479
1480         * WebCore.Inspector.exp:
1481         * inspector/front-end/TimelinePanel.js:
1482         (WebInspector.TimelinePanel.prototype._formatRecord):
1483
1484 2009-11-17  Andrei Popescu  <andreip@google.com>
1485
1486         Reviewed by Dimitri Glazkov.
1487
1488         [Android] Android is missing the implementation of the GeolocationService iface.
1489         https://bugs.webkit.org/show_bug.cgi?id=31554
1490
1491         No new tests required as this is platform specific code.
1492
1493         * platform/android/GeolocationServiceAndroid.cpp: Added.
1494         (WebCore::GeolocationServiceAndroid::create):
1495         (WebCore::GeolocationServiceAndroid::GeolocationServiceAndroid):
1496         (WebCore::GeolocationServiceAndroid::startUpdating):
1497         (WebCore::GeolocationServiceAndroid::stopUpdating):
1498         (WebCore::GeolocationServiceAndroid::suspend):
1499         (WebCore::GeolocationServiceAndroid::resume):
1500         (WebCore::GeolocationServiceAndroid::newPositionAvailable):
1501         (WebCore::GeolocationServiceAndroid::newErrorAvailable):
1502         (WebCore::GeolocationServiceAndroid::timerFired):
1503         (WebCore::GeolocationServiceAndroid::isPositionMovement):
1504         (WebCore::GeolocationServiceAndroid::isPositionMoreAccurate):
1505         (WebCore::GeolocationServiceAndroid::isPositionMoreTimely):
1506         * platform/android/GeolocationServiceAndroid.h: Added.
1507         (WebCore::GeolocationServiceAndroid::~GeolocationServiceAndroid):
1508         (WebCore::GeolocationServiceAndroid::lastPosition):
1509         (WebCore::GeolocationServiceAndroid::lastError):
1510         * platform/android/GeolocationServiceBridge.cpp: Added.
1511         (WebCore::):
1512         (WebCore::GeolocationServiceBridge::GeolocationServiceBridge):
1513         (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
1514         (WebCore::GeolocationServiceBridge::start):
1515         (WebCore::GeolocationServiceBridge::stop):
1516         (WebCore::GeolocationServiceBridge::setEnableGps):
1517         (WebCore::GeolocationServiceBridge::newLocationAvailable):
1518         (WebCore::GeolocationServiceBridge::newErrorAvailable):
1519         (WebCore::GeolocationServiceBridge::toGeoposition):
1520         (WebCore::GeolocationServiceBridge::startJavaImplementation):
1521         (WebCore::GeolocationServiceBridge::stopJavaImplementation):
1522         * platform/android/GeolocationServiceBridge.h: Added.
1523
1524 2009-11-16  Kent Tamura  <tkent@chromium.org>
1525
1526         Unreviewd build fix.
1527
1528         - Fix typo in WebCore.vcproj.
1529         - Intlude limits.h for INT_MAX.
1530         - Enclose with parenthesis to suspress warning.
1531
1532         * WebCore.vcproj/WebCore.vcproj:
1533         * html/ISODateTime.cpp:
1534         (WebCore::ISODateTime::addDay):
1535
1536 2009-11-16  Robin Dunn  <robin@alldunn.com>
1537
1538         Reviewed by Kevin Ollivier.
1539
1540         Make sure wx scrollbar drawing code factors in transforms when switching backends,
1541         fix calcs for scrollbar length, and tweak the Mac scrollbar tracking rects.
1542         
1543         https://bugs.webkit.org/show_bug.cgi?id=31570
1544
1545         * platform/wx/ScrollbarThemeWx.cpp:
1546         (WebCore::ScrollbarThemeWx::minimumThumbLength):
1547         (WebCore::ScrollbarThemeWx::splitTrack):
1548         (WebCore::ScrollbarThemeWx::forwardButtonRect):
1549         * platform/wx/ScrollbarThemeWx.h:
1550         * platform/wx/wxcode/gtk/scrollbar_render.cpp:
1551         (wxRenderer_DrawScrollbar):
1552         * platform/wx/wxcode/scrollbar_render.h:
1553         (calcThumbStartAndLength):
1554         * platform/wx/wxcode/win/scrollbar_render.cpp:
1555         (wxRenderer_DrawScrollbar):
1556
1557 2009-11-16  Kent Tamura  <tkent@chromium.org>
1558
1559         Reviewed by David Levin.
1560
1561         Introduce WebCore::ISODateTime class.
1562         https://bugs.webkit.org/show_bug.cgi?id=31340
1563
1564         This class represents a value of date/time types of the HTML5 INPUT
1565         element, and has some parsing methods for ISO 8601.
1566
1567         This change has no tests because the class is not used yet.
1568
1569         * GNUmakefile.am: Add ISODateTime.cpp and ISODateTime.h.
1570         * WebCore.gypi: ditto.
1571         * WebCore.pro: ditto.
1572         * WebCore.vcproj/WebCore.vcproj: ditto.
1573         * WebCore.xcodeproj/project.pbxproj: ditto.
1574         * WebCoreSources.bkl: ditto.
1575         * html/ISODateTime.cpp: Added. Implementation of WebCore::ISODateTime class.
1576         (WebCore::isLeapYear):
1577         (WebCore::maxDayOfMonth):
1578         (WebCore::dayOfWeek):
1579         (WebCore::ISODateTime::maxWeekNumberInYear):
1580         (WebCore::countDigits):
1581         (WebCore::toInt):
1582         (WebCore::ISODateTime::parseYear): Private helper for parseDate() and parseWeek().
1583         (WebCore::ISODateTime::addDay): Private helper for parseTimeZone().
1584         (WebCore::ISODateTime::addMinute): ditto.
1585         (WebCore::ISODateTime::parseTimeZone): Private helper for parseDateTime().
1586         (WebCore::ISODateTime::parseMonth): Parser for <input type=month>.
1587         (WebCore::ISODateTime::parseDate): Parser for <input type=date>.
1588         (WebCore::ISODateTime::parseWeek): Parser for <input type=week>.
1589         (WebCore::ISODateTime::parseTime): Parser for <input type=time>.
1590         (WebCore::ISODateTime::parseDateTimeLocal): Parser for <input type=datetime-local>.
1591         (WebCore::ISODateTime::parseDateTime): Parser for <input type=datetime>.
1592         * html/ISODateTime.h: Added.  Declare WebCore::ISODateTime class.
1593         (WebCore::ISODateTime::ISODateTime):
1594         (WebCore::ISODateTime::millisecond):
1595         (WebCore::ISODateTime::second):
1596         (WebCore::ISODateTime::minute):
1597         (WebCore::ISODateTime::hour):
1598         (WebCore::ISODateTime::monthDay):
1599         (WebCore::ISODateTime::month):
1600         (WebCore::ISODateTime::fullYear):
1601         (WebCore::ISODateTime::week):
1602
1603 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
1604
1605         Fix a typo in previous commit.
1606
1607         * platform/network/cf/SocketStreamHandleCFNet.cpp: #ifdef, not #if.
1608
1609 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
1610
1611         Fix a typo in previous commit.
1612
1613         * platform/network/cf/SocketStreamHandleCFNet.cpp:
1614
1615 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
1616
1617         Tiger build fix.
1618
1619         * platform/network/cf/SocketStreamHandleCFNet.cpp: Define CFN_EXPORT, as this macro was named
1620         differently in Tiger CFNetwork.
1621
1622 2009-11-16  Dimitri Glazkov  <dglazkov@chromium.org>
1623
1624         Reviewed by Darin Fisher.
1625
1626         [KURLGoogle] setHostAndPort doesn't handle arguments without port correctly.
1627
1628         Fix a bug in the code that was dormant until http://trac.webkit.org/changeset/50784.
1629
1630         Covered by existing test: LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-host.html
1631
1632         * platform/KURLGoogle.cpp:
1633         (WebCore::KURL::setHostAndPort): Added handling of arguments without port specified.
1634
1635 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
1636
1637         Rubber-stamped by Jon Honeycutt.
1638
1639         A better Windows build fix
1640
1641         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams):
1642         Use a macro that inserts __declspec(dllimport) when appropriate for CFNetwork imports.
1643
1644 2009-11-16  Yael Aharon  <yael.aharon@nokia.com>
1645
1646         Reviewed by Darin Adler.
1647
1648         Rename protocolIsValid to isValidProtocol.
1649         https://bugs.webkit.org/show_bug.cgi?id=31503
1650
1651         This name change was suggested in https://bugs.webkit.org/show_bug.cgi?id=29972#c19.
1652
1653         No new tests since no new functionality was introduced.
1654
1655         * html/HTMLAnchorElement.cpp:
1656         (WebCore::HTMLAnchorElement::setProtocol):
1657         * platform/KURL.cpp:
1658         (WebCore::isValidProtocol):
1659         * platform/KURL.h:
1660         * platform/KURLGoogle.cpp:
1661         (WebCore::isValidProtocol):
1662
1663 2009-11-16  Chris Fleizach  <cfleizach@apple.com>
1664
1665         Reviewed by Beth Dakin.
1666
1667         AX: aria-labelledby duplicates some of its WAI-ARIA label
1668         https://bugs.webkit.org/show_bug.cgi?id=31565
1669
1670         Test: accessibility/aria-labelledby-overrides-label.html
1671
1672         * accessibility/AccessibilityRenderObject.cpp:
1673         (WebCore::AccessibilityRenderObject::hasTextAlternative):
1674         (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
1675         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1676         * accessibility/AccessibilityRenderObject.h:
1677
1678 2009-11-16  Nate Chapin  <japhet@chromium.org>
1679
1680         Reviewed by Darin Fisher.
1681
1682         Handle the case of a null NPObject* in NPN_SetException in
1683         the V8 bindings.  This allow out of process plugins calling
1684         NPN_SetException to just send null instead of sending an
1685         NPObject* that would be an address in a different 
1686         process's memory space.
1687
1688         https://bugs.webkit.org/show_bug.cgi?id=31561
1689
1690         * bindings/v8/NPV8Object.cpp:
1691         (_NPN_SetException): Allow null NPObject* and just throw a general error.
1692
1693 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
1694
1695         Windows build fix.
1696
1697         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams):
1698         Disable CONNECT proxies on Windows until WebKitSupportLibrary includes support for those.
1699
1700 2009-11-14  Yael Aharon  <yael.aharon@nokia.com>
1701
1702         Reviewed by Kenneth Rohde Christiansen.
1703
1704         [Qt] ASSERT failure while running DRT
1705         https://bugs.webkit.org/show_bug.cgi?id=30978
1706
1707         Add needed Structure typeInfo flags to QtRuntimeObjectImpl and QtRuntimeMethod.
1708         These flags are needed after r49649, where HasDefaultmark was changed to OverrideMarkChildren.
1709
1710         * bridge/qt/qt_instance.cpp:
1711         (JSC::Bindings::QtRuntimeObjectImp::createStructure):
1712         * bridge/qt/qt_runtime.h:
1713         (JSC::Bindings::QtRuntimeMethod::createStructure):
1714
1715 2009-11-16  Mark Rowe  <mrowe@apple.com>
1716
1717         Attempt to fix the build.  Land a file that was missing from r51049.
1718
1719         * bindings/js/JSWebGLArrayHelper.h: Copied from WebCore/html/canvas/WebGLByteArray.idl.
1720         (WebCore::setWebGLArrayFromArray):
1721
1722 2009-11-16  Kenneth Russell  <kbr@google.com>
1723
1724         Reviewed by Oliver Hunt.
1725
1726         Update API of WebGLArray and friends
1727         https://bugs.webkit.org/show_bug.cgi?id=31175
1728
1729         * bindings/js/JSWebGLArrayCustom.cpp:
1730         (WebCore::toJS):
1731         * bindings/js/JSWebGLArrayHelper.h: Added.
1732         (WebCore::setWebGLArrayFromArray):
1733         * bindings/js/JSWebGLByteArrayCustom.cpp:
1734         (WebCore::JSWebGLByteArray::set):
1735         * bindings/js/JSWebGLFloatArrayCustom.cpp:
1736         (WebCore::JSWebGLFloatArray::set):
1737         * bindings/js/JSWebGLIntArrayCustom.cpp:
1738         (WebCore::JSWebGLIntArray::set):
1739         * bindings/js/JSWebGLShortArrayCustom.cpp:
1740         (WebCore::JSWebGLShortArray::set):
1741         * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
1742         (WebCore::JSWebGLUnsignedByteArray::set):
1743         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
1744         (WebCore::JSWebGLUnsignedIntArray::set):
1745         * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
1746         (WebCore::JSWebGLUnsignedShortArray::set):
1747         * bindings/scripts/CodeGeneratorV8.pm:
1748         * bindings/v8/V8DOMWrapper.cpp:
1749         (WebCore::V8DOMWrapper::convertToV8Object):
1750         * bindings/v8/custom/V8CustomBinding.h:
1751         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
1752         (WebCore::CALLBACK_FUNC_DECL):
1753         * bindings/v8/custom/V8WebGLArrayCustom.h:
1754         (WebCore::constructWebGLArray):
1755         (WebCore::getWebGLArrayElement):
1756         (WebCore::setWebGLArrayFromArray):
1757         (WebCore::setWebGLArray):
1758         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
1759         (WebCore::CALLBACK_FUNC_DECL):
1760         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
1761         (WebCore::CALLBACK_FUNC_DECL):
1762         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
1763         (WebCore::CALLBACK_FUNC_DECL):
1764         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
1765         (WebCore::CALLBACK_FUNC_DECL):
1766         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
1767         (WebCore::CALLBACK_FUNC_DECL):
1768         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
1769         (WebCore::CALLBACK_FUNC_DECL):
1770         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
1771         (WebCore::CALLBACK_FUNC_DECL):
1772         * html/canvas/WebGLArray.cpp:
1773         (WebCore::WebGLArray::WebGLArray):
1774         (WebCore::WebGLArray::~WebGLArray):
1775         (WebCore::WebGLArray::setImpl):
1776         * html/canvas/WebGLArray.h:
1777         (WebCore::WebGLArray::isByteArray):
1778         (WebCore::WebGLArray::isUnsignedByteArray):
1779         (WebCore::WebGLArray::isShortArray):
1780         (WebCore::WebGLArray::isUnsignedShortArray):
1781         (WebCore::WebGLArray::isIntArray):
1782         (WebCore::WebGLArray::isUnsignedIntArray):
1783         (WebCore::WebGLArray::isFloatArray):
1784         (WebCore::WebGLArray::buffer):
1785         (WebCore::WebGLArray::baseAddress):
1786         (WebCore::WebGLArray::byteOffset):
1787         * html/canvas/WebGLArray.idl:
1788         * html/canvas/WebGLArrayBuffer.cpp:
1789         (WebCore::WebGLArrayBuffer::create):
1790         (WebCore::WebGLArrayBuffer::WebGLArrayBuffer):
1791         (WebCore::WebGLArrayBuffer::data):
1792         (WebCore::WebGLArrayBuffer::byteLength):
1793         (WebCore::WebGLArrayBuffer::~WebGLArrayBuffer):
1794         * html/canvas/WebGLArrayBuffer.h:
1795         * html/canvas/WebGLByteArray.cpp:
1796         (WebCore::WebGLByteArray::create):
1797         (WebCore::WebGLByteArray::byteLength):
1798         (WebCore::WebGLByteArray::slice):
1799         (WebCore::WebGLByteArray::set):
1800         * html/canvas/WebGLByteArray.h:
1801         (WebCore::WebGLByteArray::isByteArray):
1802         (WebCore::WebGLByteArray::data):
1803         (WebCore::WebGLByteArray::set):
1804         (WebCore::WebGLByteArray::get):
1805         (WebCore::WebGLByteArray::item):
1806         * html/canvas/WebGLByteArray.idl:
1807         * html/canvas/WebGLFloatArray.cpp:
1808         (WebCore::WebGLFloatArray::create):
1809         (WebCore::WebGLFloatArray::WebGLFloatArray):
1810         (WebCore::WebGLFloatArray::length):
1811         (WebCore::WebGLFloatArray::byteLength):
1812         (WebCore::WebGLFloatArray::slice):
1813         (WebCore::WebGLFloatArray::set):
1814         * html/canvas/WebGLFloatArray.h:
1815         (WebCore::WebGLFloatArray::isFloatArray):
1816         (WebCore::WebGLFloatArray::data):
1817         (WebCore::WebGLFloatArray::set):
1818         (WebCore::WebGLFloatArray::get):
1819         (WebCore::WebGLFloatArray::item):
1820         * html/canvas/WebGLFloatArray.idl:
1821         * html/canvas/WebGLIntArray.cpp:
1822         (WebCore::WebGLIntArray::create):
1823         (WebCore::WebGLIntArray::WebGLIntArray):
1824         (WebCore::WebGLIntArray::length):
1825         (WebCore::WebGLIntArray::byteLength):
1826         (WebCore::WebGLIntArray::slice):
1827         (WebCore::WebGLIntArray::set):
1828         * html/canvas/WebGLIntArray.h:
1829         (WebCore::WebGLIntArray::isIntArray):
1830         (WebCore::WebGLIntArray::data):
1831         (WebCore::WebGLIntArray::set):
1832         (WebCore::WebGLIntArray::get):
1833         (WebCore::WebGLIntArray::item):
1834         * html/canvas/WebGLIntArray.idl:
1835         * html/canvas/WebGLShortArray.cpp:
1836         (WebCore::WebGLShortArray::create):
1837         (WebCore::WebGLShortArray::WebGLShortArray):
1838         (WebCore::WebGLShortArray::length):
1839         (WebCore::WebGLShortArray::byteLength):
1840         (WebCore::WebGLShortArray::slice):
1841         (WebCore::WebGLShortArray::set):
1842         * html/canvas/WebGLShortArray.h:
1843         (WebCore::WebGLShortArray::isShortArray):
1844         (WebCore::WebGLShortArray::data):
1845         (WebCore::WebGLShortArray::set):
1846         (WebCore::WebGLShortArray::get):
1847         (WebCore::WebGLShortArray::item):
1848         * html/canvas/WebGLShortArray.idl:
1849         * html/canvas/WebGLUnsignedByteArray.cpp:
1850         (WebCore::WebGLUnsignedByteArray::create):
1851         (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
1852         (WebCore::WebGLUnsignedByteArray::length):
1853         (WebCore::WebGLUnsignedByteArray::byteLength):
1854         (WebCore::WebGLUnsignedByteArray::slice):
1855         (WebCore::WebGLUnsignedByteArray::set):
1856         * html/canvas/WebGLUnsignedByteArray.h:
1857         (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
1858         (WebCore::WebGLUnsignedByteArray::data):
1859         (WebCore::WebGLUnsignedByteArray::set):
1860         (WebCore::WebGLUnsignedByteArray::get):
1861         (WebCore::WebGLUnsignedByteArray::item):
1862         * html/canvas/WebGLUnsignedByteArray.idl:
1863         * html/canvas/WebGLUnsignedIntArray.cpp:
1864         (WebCore::WebGLUnsignedIntArray::create):
1865         (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
1866         (WebCore::WebGLUnsignedIntArray::length):
1867         (WebCore::WebGLUnsignedIntArray::byteLength):
1868         (WebCore::WebGLUnsignedIntArray::slice):
1869         (WebCore::WebGLUnsignedIntArray::set):
1870         * html/canvas/WebGLUnsignedIntArray.h:
1871         (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
1872         (WebCore::WebGLUnsignedIntArray::data):
1873         (WebCore::WebGLUnsignedIntArray::set):
1874         (WebCore::WebGLUnsignedIntArray::get):
1875         (WebCore::WebGLUnsignedIntArray::item):
1876         * html/canvas/WebGLUnsignedIntArray.idl:
1877         * html/canvas/WebGLUnsignedShortArray.cpp:
1878         (WebCore::WebGLUnsignedShortArray::create):
1879         (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
1880         (WebCore::WebGLUnsignedShortArray::length):
1881         (WebCore::WebGLUnsignedShortArray::byteLength):
1882         (WebCore::WebGLUnsignedShortArray::slice):
1883         (WebCore::WebGLUnsignedShortArray::set):
1884         * html/canvas/WebGLUnsignedShortArray.h:
1885         (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):
1886         (WebCore::WebGLUnsignedShortArray::data):
1887         (WebCore::WebGLUnsignedShortArray::set):
1888         (WebCore::WebGLUnsignedShortArray::get):
1889         (WebCore::WebGLUnsignedShortArray::item):
1890         * html/canvas/WebGLUnsignedShortArray.idl:
1891         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1892         (WebCore::GraphicsContext3D::bufferData):
1893         (WebCore::GraphicsContext3D::bufferSubData):
1894
1895 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
1896
1897         Windows build fix.
1898
1899         * platform/network/cf/SocketStreamHandleCFNet.cpp: Declare constants as extern "C".
1900
1901 2009-11-15  Brent Fulgham  <bfulgham@webkit.org>
1902
1903         Reviewed by Oliver Hunt.
1904
1905         Enable support for webkit-box-shadow in Cairo builds.
1906         https://bugs.webkit.org/show_bug.cgi?id=26102.
1907
1908         Covered by existing fast/box-shadow tests.
1909
1910         * platform/graphics/cairo/GraphicsContextCairo.cpp:  Add
1911           support for fillRect shadows.
1912
1913 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
1914
1915         Windows build fix.
1916
1917         * platform/network/cf/SocketStreamHandleCFNet.cpp: Don't try to include a file that's not
1918         in WebKitSupportLibrary.
1919
1920 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
1921
1922         Reviewed by Darin Adler.
1923
1924         https://bugs.webkit.org/show_bug.cgi?id=31494
1925         Add unauthenticated proxy support to SocketStreamHandleCFNet
1926
1927         Cannot be tested in DRT.
1928
1929         * platform/network/cf/SocketStreamHandleCFNet.cpp:
1930         (WebCore::SocketStreamHandle::chooseProxy): Fetch proxy information from OS.
1931         (WebCore::SocketStreamHandle::createStreams): Apply it to the newly created streams.
1932
1933 2009-11-14  Antonio Gomes  <tonikitoo@webkit.org>
1934
1935         Reviewed by Antti Koivisto.
1936
1937         [Qt] Broken back/forward after using ErrorPageExtension to set error page
1938         https://bugs.webkit.org/show_bug.cgi?id=30573
1939
1940         Make FrameLoader::checkLoadCompleteForThisFrame method
1941         to check for any working DocumentLoader instance (through
1942         activeDocumentLoader()) instead of only checking for
1943         'm_provisionalDocumentLoader' in order to decide to if
1944         it is going to reset of not the back and forward history.
1945         after an error page has been loaded.
1946
1947         Test: LayoutTests/fast/history/back-forward-reset-after-error-handling.html
1948
1949         * loader/FrameLoader.cpp:
1950         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
1951
1952 2009-11-14  Chris Fleizach  <cfleizach@apple.com>
1953
1954         Reviewed by Darin Adler.
1955
1956         Need to implement ARIA role="directory"
1957         https://bugs.webkit.org/show_bug.cgi?id=31516
1958
1959         Test: platform/mac/accessibility/aria-directory.html
1960
1961         * accessibility/AXObjectCache.cpp:
1962         (WebCore::AXObjectCache::getOrCreate):
1963         * accessibility/AccessibilityList.cpp:
1964         (WebCore::AccessibilityList::isOrderedList):
1965         * accessibility/AccessibilityRenderObject.cpp:
1966         (WebCore::createARIARoleMap):
1967
1968 2009-11-15  Dave Tapuska  <dtapuska@rim.com>
1969
1970         Reviewed by George Staikos.
1971         
1972         Compare UChars single unit at a time as opposed to the uint32_t
1973         approach as casting to unaligned addresses may cause a bus failure
1974         on ARMv5 and below. This change replicates the same defines that
1975         exists in AtomicString.cpp
1976
1977         https://bugs.webkit.org/show_bug.cgi?id=31475
1978         
1979         * platform/text/StringHash.h:
1980         (WebCore::StringHash::equal):
1981
1982 2009-11-15  Evan Martin  <evan@chromium.org>
1983
1984         Reviewed by Adam Barth.
1985
1986         Wrap some SVG code in V8DOMWrapper with an ENABLE(SVG) test.
1987
1988         https://bugs.webkit.org/show_bug.cgi?id=31490
1989
1990         * bindings/v8/V8DOMWrapper.cpp:
1991
1992 2009-11-15  Maxime Simon  <simon.maxime@gmail.com>
1993
1994         Reviewed by Adam Barth.
1995
1996         [Haiku] Build fix. The FileChooser constructor doesn't need to be redefined.
1997
1998         * platform/haiku/FileChooserHaiku.cpp:
1999
2000 2009-11-15  Maxime Simon  <simon.maxime@gmail.com>
2001
2002         Reviewed by Adam Barth.
2003
2004         [Haiku] Build fix. ColorSpace name had a wrong CamelCase.
2005
2006         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
2007         (WebCore::GraphicsContext::setPlatformStrokeColor):
2008
2009 2009-11-15  Daniel Bates  <dbates@webkit.org>
2010
2011         No review, rolling out r50999.
2012         http://trac.webkit.org/changeset/50999
2013
2014         Need to fix some issues in the Windows build. Missed some places where
2015         RenderTextControl::isEdited is called.
2016
2017         * bindings/objc/DOMHTML.mm:
2018         (-[DOMHTMLInputElement _isEdited]):
2019         (-[DOMHTMLTextAreaElement _isEdited]):
2020         * dom/Document.cpp:
2021         (WebCore::Document::setFocusedNode):
2022         * html/HTMLInputElement.cpp:
2023         (WebCore::HTMLInputElement::defaultEventHandler):
2024         * rendering/RenderTextControl.cpp:
2025         (WebCore::RenderTextControl::RenderTextControl):
2026         (WebCore::RenderTextControl::setInnerTextValue):
2027         (WebCore::RenderTextControl::setUserEdited):
2028         (WebCore::RenderTextControl::subtreeHasChanged):
2029         * rendering/RenderTextControl.h:
2030         (WebCore::RenderTextControl::isEdited):
2031         (WebCore::RenderTextControl::setEdited):
2032         (WebCore::RenderTextControl::isUserEdited):
2033         * rendering/RenderTextControlSingleLine.cpp:
2034         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
2035         * wml/WMLInputElement.cpp:
2036         (WebCore::WMLInputElement::defaultEventHandler):
2037
2038 2009-11-15  Daniel Bates  <dbates@webkit.org>
2039
2040         Reviewed by Darin Adler.
2041
2042         https://bugs.webkit.org/show_bug.cgi?id=31186
2043
2044         Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
2045         m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
2046         These are more descriptive names so as to clear an ambiguity surrounding
2047         their usage. Also, renames associated setters and getters so that they
2048         coincide with the renamed fields.
2049
2050         No functionality was changed. So, no tests were included.
2051
2052         * bindings/objc/DOMHTML.mm:
2053         (-[DOMHTMLInputElement _isEdited]):
2054         (-[DOMHTMLTextAreaElement _isEdited]):
2055         * dom/Document.cpp:
2056         (WebCore::Document::setFocusedNode):
2057         * html/HTMLInputElement.cpp:
2058         (WebCore::HTMLInputElement::defaultEventHandler):
2059         * rendering/RenderTextControl.cpp:
2060         (WebCore::RenderTextControl::RenderTextControl):
2061         (WebCore::RenderTextControl::setInnerTextValue):
2062         (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
2063         (WebCore::RenderTextControl::subtreeHasChanged):
2064         * rendering/RenderTextControl.h:
2065         (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
2066         (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
2067         (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
2068         * rendering/RenderTextControlSingleLine.cpp:
2069         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
2070         * wml/WMLInputElement.cpp:
2071         (WebCore::WMLInputElement::defaultEventHandler):
2072
2073 2009-11-14  Adele Peterson  <adele@apple.com>
2074
2075         Reviewed by Dan Bernstein.
2076
2077         Fix for <rdar://problem/6946165> Would like to be able to specify the number of visible lines when using -webkit-line-clamp
2078
2079         Test: fast/overflow/line-clamp.html
2080
2081         * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated to handle different types of values.
2082         * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): ditto.
2083         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
2084
2085         * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
2086         Use the line count value if available.  Otherwise, convert the percentage to the line count, as we did before.  Also,
2087         if there is anchor as the last child box, still allow adding the ellipsis.
2088
2089         * rendering/RenderLayer.cpp:
2090         (WebCore::RenderLayer::scrollByRecursively): Call isNone on the LineClampValue to see if the line-clamp property has been set.
2091         (WebCore::RenderLayer::scrollRectToVisible): ditto.
2092
2093         * WebCore.xcodeproj/project.pbxproj: Added LineClampValue.h
2094         * rendering/style/LineClampValue.h: Added.
2095         (WebCore::LineClampValue::LineClampValue):
2096         (WebCore::LineClampValue::value):
2097         (WebCore::LineClampValue::isPercentage):
2098         (WebCore::LineClampValue::isNone):
2099         (WebCore::LineClampValue::operator==):
2100         (WebCore::LineClampValue::operator!=):
2101         * rendering/style/RenderStyleConstants.h: (WebCore::): Define ELineClampType enum for percentage or line count.
2102
2103         * rendering/style/RenderStyle.h: Use LineClampValue.
2104         (WebCore::InheritedFlags::lineClamp):
2105         (WebCore::InheritedFlags::setLineClamp):
2106         (WebCore::InheritedFlags::initialLineClamp):
2107         * rendering/style/StyleRareNonInheritedData.h:
2108
2109 2009-11-14  Eric Carlson  <eric.carlson@apple.com>
2110
2111         Reviewed by Oliver Hunt.
2112
2113         <rdar://problem/7287487> 
2114         Do not use QuickTime version to detect media controller theme
2115
2116         * WebCore.base.exp: Export wkMediaControllerThemeAvailable
2117         * platform/mac/WebCoreSystemInterface.h: Ditto.
2118         * platform/mac/WebCoreSystemInterface.mm: Ditto.
2119
2120         * rendering/RenderThemeMac.mm:
2121         (WebCore::mediaControllerTheme): Use wkMediaControllerThemeAvailable instead of the
2122         QuickTime version to see if it is possible to use MediaControllerThemeQuickTime.
2123
2124 2009-11-14  Kent Tamura  <tkent@chromium.org>
2125
2126         Reviewed by Darin Adler.
2127
2128         - Recognizes date/datetime/datetime-local/month/time/week types of INPUT element.
2129           They have no dedicated UI and no type validation for now.
2130         - Clean up setInputType() and formControlType() of HTMLInputElement.
2131         https://bugs.webkit.org/show_bug.cgi?id=29004
2132
2133         Test: fast/forms/input-type-change3.html
2134
2135         * html/HTMLInputElement.cpp:
2136         (WebCore::HTMLInputElement::valueMissing):
2137         (WebCore::HTMLInputElement::patternMismatch):
2138         (WebCore::HTMLInputElement::tooLong):
2139         (WebCore::createTypeMap):
2140         (WebCore::HTMLInputElement::setInputType):
2141         (WebCore::createFormControlTypes):
2142         (WebCore::HTMLInputElement::formControlType):
2143         (WebCore::HTMLInputElement::saveFormControlState):
2144         (WebCore::HTMLInputElement::restoreFormControlState):
2145         (WebCore::HTMLInputElement::accessKeyAction):
2146         (WebCore::HTMLInputElement::rendererIsNeeded):
2147         (WebCore::HTMLInputElement::createRenderer):
2148         (WebCore::HTMLInputElement::appendFormData):
2149         (WebCore::HTMLInputElement::isTextField):
2150         (WebCore::HTMLInputElement::valueWithDefault):
2151         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
2152         (WebCore::HTMLInputElement::defaultEventHandler):
2153         (WebCore::HTMLInputElement::isRequiredFormControl):
2154         (WebCore::HTMLInputElement::dataList):
2155         * html/HTMLInputElement.h:
2156         (WebCore::HTMLInputElement::):
2157
2158 2009-11-13  Chris Fleizach  <cfleizach@apple.com>
2159
2160         Reviewed by Darin Adler.
2161
2162         WAI-ARIA: checkbox does not determine its label from text content
2163         https://bugs.webkit.org/show_bug.cgi?id=31456
2164
2165         Test: accessibility/aria-checkbox-text.html
2166
2167         * accessibility/AccessibilityRenderObject.cpp:
2168         (WebCore::AccessibilityRenderObject::title):
2169
2170 2009-11-13  Dimitri Glazkov  <dglazkov@chromium.org>
2171
2172         Unreviewed, build fix.
2173
2174         [Chromium] Fix build to catch up with http://trac.webkit.org/changeset/50973.
2175         This is just enough changes to unbreak the port.
2176
2177         * bindings/v8/ScriptController.cpp:
2178         (WebCore::mainThreadNormalWorld):
2179         * bindings/v8/V8Proxy.cpp:
2180         (WebCore::V8Proxy::initContextIfNeeded):
2181         * loader/FrameLoaderClient.h:
2182
2183 2009-11-13  Aaron Boodman  <aa@chromium.org>
2184
2185         Unreviewed fix for Chromium build.
2186
2187         * loader/FrameLoaderClient.h:
2188         (WebCore::FrameLoaderClient::dispatchDidClearWindowObjectInWorld):
2189         Provide an empty implementation of this method because I don't know
2190         what it is supposed to do on Chromium.
2191
2192 2009-11-13  Aaron Boodman  <aa@chromium.org>
2193
2194         Unreviewed fix for Chromium build.
2195
2196         * loader/FrameLoader.h: Make dispatchDidClearWindowObjectsInAllWorlds()
2197         public, as Chromium's V8Proxy calls it.
2198
2199 2009-11-13  Aaron Boodman  <aa@chromium.org>
2200
2201         Unreviewed fix to Chromium build.
2202
2203         * bindings/v8/ScriptController.cpp:
2204         (WebCore::ScriptController::getAllWorlds): 
2205
2206 2009-11-13  Aaron Boodman  <aa@chromium.org>
2207
2208         Unreviewed fix for Chromium build.
2209
2210         * platform/text/TextBoundaries.cpp: Use longer path to refer to Unicode.h.
2211
2212 2009-11-13  Adam Barth  <abarth@webkit.org>
2213
2214         Unreviewed partial build fix for Chromium.  Should fix failure #4.
2215
2216         * bindings/v8/ScriptController.cpp:
2217         (WebCore::ScriptController::getAllWorlds):
2218         * bindings/v8/ScriptController.h:
2219         * bindings/v8/V8Proxy.cpp:
2220         (WebCore::V8Proxy::initContextIfNeeded):
2221
2222 2009-11-13  Adam Barth  <abarth@webkit.org>
2223
2224         Unreviewed partial build fix for Chromium.
2225
2226         * bindings/v8/ScriptController.h:
2227         (WebCore::ScriptController::getAllWorlds):
2228
2229 2009-11-13  Eric Seidel  <eric@webkit.org>
2230
2231         No review, build fix only.
2232
2233         Fix Windows and Chromium builds after http://trac.webkit.org/changeset/50977.
2234
2235         Unify TextBoundaries implementations by only relying on WTF Unicode abstractions
2236         https://bugs.webkit.org/show_bug.cgi?id=31468
2237
2238         * WebCore.gypi: Rename TextBoundariesICU -> TextBoundaries
2239         * WebCore.vcproj/WebCore.vcproj: Rename TextBoundariesICU -> TextBoundaries
2240
2241 2009-11-12  Jeremy Orlow  <jorlow@chromium.org>
2242
2243         Reviewed by Dmitry Titov.
2244
2245         LocalStorage quota should include key sizes in its count
2246         https://bugs.webkit.org/show_bug.cgi?id=31451
2247
2248         * storage/StorageMap.cpp:
2249         (WebCore::StorageMap::setItem):
2250             Count keys in the quota when adding a new item.
2251         (WebCore::StorageMap::removeItem):
2252             Remove the key's length from the quota if we're removing the item.
2253         (WebCore::StorageMap::importItem):
2254             Assume that we're adding things for the first time.
2255             Count keys in the quota.
2256
2257 2009-11-13  Dominik Röttsches  <dominik.roettsches@access-company.com>
2258
2259         Reviewed by Eric Seidel.
2260
2261         Unify TextBoundaries implementations by only relying on WTF Unicode abstractions
2262         https://bugs.webkit.org/show_bug.cgi?id=31468
2263
2264         Moving TextBoundariesICU.cpp to TextBoundaries.cpp
2265         by removing the direct ICU dependency and replacing it
2266         with WTF functions and WebCore's own TextBreakIterator
2267         abstractions.
2268
2269         * GNUmakefile.am:
2270         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
2271         * platform/text/TextBoundaries.cpp: Added.
2272         (WebCore::findNextWordFromIndex):
2273         (WebCore::findWordBoundary):
2274         * platform/text/TextBoundariesICU.cpp: Removed.
2275         * platform/text/TextBreakIterator.h:
2276         * platform/text/TextBreakIteratorICU.cpp:
2277         (WebCore::textBreakLast):
2278         (WebCore::textBreakPrevious):
2279
2280 2009-11-13  Shinichiro Hamaji  <hamaji@chromium.org>
2281
2282         Reviewed by Darin Adler.
2283
2284         WebCore::externalRepresentation should update layout before getting render object
2285         https://bugs.webkit.org/show_bug.cgi?id=31459
2286
2287         * rendering/RenderTreeAsText.cpp:
2288         (WebCore::externalRepresentation):
2289
2290 2009-11-13  Adam Roben  <aroben@apple.com>
2291
2292         Tell FrameLoaderClient when window objects in isolated worlds are
2293         cleared
2294
2295         Fixes <http://webkit.org/b/31124> Tell the WebFrameLoadDelegate when
2296         window objects in isolated worlds are cleared
2297
2298         Test: http/tests/security/isolatedWorld/didClearWindowObject.html
2299
2300         Reviewed by Dave Hyatt.
2301
2302         * bindings/js/JSDOMBinding.h:
2303         (WebCore::WebCoreJSClientData::getAllWorlds): Added. Copies all the
2304         worlds in m_worldSet to the passed-in Vector.
2305
2306         * bindings/js/ScriptController.cpp:
2307         (WebCore::ScriptController::getAllWorlds): Added. Calls through to
2308         WebCoreJSClientData.
2309         (WebCore::ScriptController::initScript): Changed to call
2310         FrameLoader::dispatchDidClearWindowObjectInWorld.
2311
2312         * bindings/js/ScriptController.h: Added getAllWorlds.
2313
2314         * loader/EmptyClients.h:
2315         (WebCore::EmptyFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
2316         Updated for FrameLoaderClient change.
2317
2318         * loader/FrameLoader.cpp:
2319         (WebCore::FrameLoader::receivedFirstData):
2320         (WebCore::FrameLoader::begin):
2321         Changed to call dispatchDidClearWindowObjectsInAllWorlds.
2322
2323         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
2324         Added. Retrieves all the worlds, then calls through to
2325         dispatchDidClearWindowObjectInWorld for each one.
2326         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): Replaces
2327         dispatchWindowObjectAvailable. Calls up to the client, then, if the
2328         world is the mainThreadNormalWorld(), tells the Inspector about it,
2329         too.
2330
2331         * loader/FrameLoader.h: Replaced dispatchWindowObjectAvailable with
2332         dispatchDidClearWindowObjectInWorld. Added
2333         dispatchDidClearWindowObjectsInAllWorlds.
2334
2335         * loader/FrameLoaderClient.h: Replaced windowObjectCleared with
2336         dispatchDidClearWindowObjectForWorld.
2337
2338 2009-11-13  Vitaly Repeshko  <vitalyr@chromium.org>
2339
2340         Reviewed by Dimitri Glazkov.
2341
2342         [V8] Fix SVG context assignment for pod types.
2343         https://bugs.webkit.org/show_bug.cgi?id=31497
2344
2345         I broke this in r50958.
2346
2347         Tested by svg/custom/viewport-update2.svg.
2348
2349         * bindings/scripts/CodeGeneratorV8.pm:
2350
2351 2009-11-13  Andrei Popescu  <andreip@google.com>
2352
2353         Reviewed by Dmitry Titov.
2354
2355         Bring the platform/android files inline with Android 2.0
2356         https://bugs.webkit.org/show_bug.cgi?id=31423
2357
2358         No new tests required: these are all Android-specific files.
2359
2360         * platform/android/ClipboardAndroid.cpp:
2361         (WebCore::ClipboardAndroid::files):
2362         * platform/android/ClipboardAndroid.h:
2363         * platform/android/FileChooserAndroid.cpp:
2364         (WebCore::FileChooser::basenameForWidth):
2365         (WebCore::fileButtonChooseFileLabel):
2366         * platform/android/KeyEventAndroid.cpp:
2367         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2368         * platform/android/LocalizedStringsAndroid.cpp:
2369         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
2370         (WebCore::contextMenuItemTagDownloadLinkToDisk):
2371         (WebCore::contextMenuItemTagCopyLinkToClipboard):
2372         (WebCore::contextMenuItemTagOpenImageInNewWindow):
2373         (WebCore::contextMenuItemTagDownloadImageToDisk):
2374         (WebCore::contextMenuItemTagCopyImageToClipboard):
2375         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
2376         (WebCore::contextMenuItemTagCopy):
2377         (WebCore::contextMenuItemTagGoBack):
2378         (WebCore::contextMenuItemTagGoForward):
2379         (WebCore::contextMenuItemTagStop):
2380         (WebCore::contextMenuItemTagReload):
2381         (WebCore::contextMenuItemTagCut):
2382         (WebCore::contextMenuItemTagPaste):
2383         (WebCore::contextMenuItemTagNoGuessesFound):
2384         (WebCore::contextMenuItemTagIgnoreSpelling):
2385         (WebCore::contextMenuItemTagLearnSpelling):
2386         (WebCore::contextMenuItemTagSearchWeb):
2387         (WebCore::contextMenuItemTagLookUpInDictionary):
2388         (WebCore::contextMenuItemTagOpenLink):
2389         (WebCore::contextMenuItemTagIgnoreGrammar):
2390         (WebCore::contextMenuItemTagSpellingMenu):
2391         (WebCore::contextMenuItemTagShowSpellingPanel):
2392         (WebCore::contextMenuItemTagCheckSpelling):
2393         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
2394         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2395         (WebCore::contextMenuItemTagFontMenu):
2396         (WebCore::contextMenuItemTagBold):
2397         (WebCore::contextMenuItemTagItalic):
2398         (WebCore::contextMenuItemTagUnderline):
2399         (WebCore::contextMenuItemTagOutline):
2400         (WebCore::contextMenuItemTagWritingDirectionMenu):
2401         (WebCore::contextMenuItemTagTextDirectionMenu):
2402         (WebCore::contextMenuItemTagDefaultDirection):
2403         (WebCore::contextMenuItemTagLeftToRight):
2404         (WebCore::contextMenuItemTagRightToLeft):
2405         (WebCore::mediaElementLoadingStateText):
2406         (WebCore::mediaElementLiveBroadcastStateText):
2407         (WebCore::searchableIndexIntroduction):
2408         (WebCore::resetButtonDefaultLabel):
2409         (WebCore::submitButtonDefaultLabel):
2410         (WebCore::inputElementAltText):
2411         * platform/android/RenderThemeAndroid.cpp:
2412         (WebCore::RenderTheme::themeForPage):
2413         (WebCore::RenderThemeAndroid::baselinePosition):
2414         (WebCore::RenderThemeAndroid::paintButton):
2415         (WebCore::adjustMenuListStyleCommon):
2416         (WebCore::RenderThemeAndroid::paintCombo):
2417         * platform/android/ScreenAndroid.cpp:
2418         * platform/android/ScrollViewAndroid.cpp:
2419         (WebCore::ScrollView::platformOffscreenContentRectangle):
2420         * platform/android/TemporaryLinkStubs.cpp:
2421         (JSC::Bindings::dispatchJNICall):
2422         * platform/android/WidgetAndroid.cpp:
2423         (WebCore::Widget::setFrameRect):
2424
2425 2009-11-13  Norbert Leser  <norbert.leser&nokia.com>
2426
2427         Reviewed by Eric Seidel.
2428
2429         Added macros for USERINCLUDE paths within symbian blocks
2430         to guarantee inclusion of respective header files from local path
2431         first (to avoid clashes with same names of header files in system include path).
2432
2433         * WebCore.pro:
2434
2435 2009-11-13  Hironori Bono  <hbono@chromium.org>
2436
2437         Reviewed by Oliver Hunt.
2438
2439         Implement composition events introduced in DOM Level 3.
2440         This change adds a new IDL which defines the composition events, adds a class which
2441         implements the composition events, and sends the composition events according to
2442         the specification.
2443         https://bugs.webkit.org/show_bug.cgi?id=26310
2444
2445         Test: fast/events/ime-composition-events-001.html
2446
2447         * DerivedSources.make: Added CompositionEvent so we can compile "CompositionEvent.idl".
2448         * GNUmakefile.am: Added "CompositionEvent.{cpp,h,idl}".
2449         * WebCore.gypi: ditto.
2450         * WebCore.pro: ditto
2451         * WebCore.vcproj/WebCore.vcproj: ditto.
2452         * WebCore.xcodeproj/project.pbxproj: Added "CompositionEvent.{cpp,h,idl}" and "JSCompositionEvent.{cpp,h}".
2453         * WebCoreSources.bkl: Added "JSCompositionEvent.{cpp,h}".
2454         * bindings/js/JSEventCustom.cpp:
2455         (WebCore::toJS): Call isCompositionEvent() to create the CompositionEvent wrapper.
2456         * bindings/v8/DOMObjectsInclude.h: Added "JSCompositionEvent.h".
2457         * bindings/v8/DerivedSourcesAllInOne.cpp: Added "JSCompositionEvent.cpp".
2458         * bindings/v8/V8DOMWrapper.cpp: Call isCompositionEvent() to identify an event as a CompositionEvent.
2459         (WebCore::V8DOMWrapper::convertEventToV8Object):
2460         * bindings/v8/V8Index.cpp: Added "V8CompositionEvent.h".
2461         * bindings/v8/V8Index.h: Added V8Index::COMPOSITIONEVENT.
2462         * dom/CompositionEvent.cpp: Implements the CompositionEvent class.
2463         (WebCore::CompositionEvent::CompositionEvent):
2464         (WebCore::CompositionEvent::~CompositionEvent):
2465         (WebCore::CompositionEvent::initCompositionEvent):
2466         (WebCore::CompositionEvent::isCompositionEvent):
2467         * dom/CompositionEvent.h: Declares the CompositionEvent class.
2468         (WebCore::CompositionEvent::create):
2469         (WebCore::CompositionEvent::data):
2470         * dom/CompositionEvent.idl: Added the IDL of DOM CompositionEvent.
2471         * dom/Event.cpp:
2472         (WebCore::Event::isCompositionEvent): Added a method to identify an event is a CompositionEvent.
2473         * dom/Event.h:
2474         * dom/EventNames.h: Added composition{start,update,end} to eventNames.
2475         * editing/Editor.cpp:
2476         (WebCore::Editor::confirmComposition): Sent a CompositionEnd event.
2477         (WebCore::Editor::setComposition): Sent a Composition{Start,Update,End} event.
2478
2479 2009-11-13  Jens Alfke  <snej@chromium.org>
2480
2481         Reviewed by Dimitri Glazkov.
2482
2483         Fix a link error in unofficial GCC 4.4 builds on Linux.
2484         https://bugs.webkit.org/show_bug.cgi?id=31477
2485
2486         * bindings/v8/V8Binding.cpp:  Add explicit instantiations of v8StringToWebCoreString template.
2487
2488 2009-11-13  Eric Seidel  <eric@webkit.org>
2489
2490         No review, build fix only.
2491
2492         Fix Debug build after http://trac.webkit.org/changeset/50960.
2493
2494         The CounterNode class does not support all methods necessary to efficiently update the counter tree as needed per CSS2.1
2495         https://bugs.webkit.org/show_bug.cgi?id=31213
2496
2497         * rendering/CounterNode.cpp:
2498         (WebCore::showTreeAndMark):
2499         * rendering/RenderCounter.cpp:
2500         (WebCore::destroyCounterNodeChildren):
2501
2502 2009-11-13  Dirk Schulze  <krit@webkit.org>
2503
2504         Reviewed by Gustavo Noronha.
2505
2506         [CAIRO] shadow support for Canvas and SVG
2507         [https://bugs.webkit.org/show_bug.cgi?id=30960]
2508
2509         We currently fill a path with solid color instead of filling
2510         a clipping path. This causes problems on some composite operators,
2511         since Cairo modifies the area outside the path.
2512         This fixes the behavior of WebKitGtk on fast/canvas/canvas-composite-alpha.html
2513
2514         Thanks to Benjamin Otte for tracking the bug down.
2515
2516         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2517         (WebCore::setPlatformFill):
2518
2519 2009-11-12  Dumitru Daniliuc  <dumi@chromium.org>
2520
2521         Reviewed by Dimitri Glazkov.
2522
2523         Adding Chromium's DatabaseTracker implementation.
2524
2525         https://bugs.webkit.org/show_bug.cgi?id=31440
2526
2527         * WebCore.gyp/WebCore.gyp:
2528         * WebCore.gypi:
2529         * storage/DatabaseTracker.h:
2530         * storage/chromium/DatabaseTrackerChromium.cpp:
2531         (WebCore::DatabaseTracker::fullPathForDatabase):
2532         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
2533         * storage/chromium/QuotaTracker.cpp:
2534         (WebCore::QuotaTracker::updateDatabaseSize):
2535         * storage/chromium/QuotaTracker.h:
2536
2537 2009-11-13  Carol Szabo  <carol.szabo@nokia.com>
2538
2539         Reviewed by Darin Adler.
2540
2541         The CounterNode class is missing some basic tree navigation methods common in other WebKit trees such as the rendering tree
2542         https://bugs.webkit.org/show_bug.cgi?id=31213
2543         Added tree navigation methods that permit full implementation of CSS2.1
2544         counter feature without using recursion proportional to the counter
2545         tree depth.
2546         No new tests because I did not find any bug that is fixed by this
2547         commit yet, this just reduces the size of the patch for 11031 and
2548         helps respond to some concerns regarding that patch.
2549
2550         * rendering/CounterNode.cpp:
2551         (WebCore::CounterNode::CounterNode):
2552
2553         (WebCore::CounterNode::nextInPreOrderAfterChildren):
2554         (WebCore::CounterNode::nextInPreOrder):
2555         Added to support non-recursive tree traversal necessary for
2556         efficient full implementation of CSS2.1 counters.
2557
2558         (WebCore::CounterNode::lastDescendant):
2559         (WebCore::CounterNode::previousInPreOrder):
2560         Moved this methods such that they occupy a place similar to that of
2561         identically named methods on the render tree. This allows for their
2562         broader use needed in full implementation of CSS2.1 counters.
2563
2564         (WebCore::CounterNode::resetRenderer):
2565         (WebCore::CounterNode::resetRenderers):
2566         (WebCore::CounterNode::recount):
2567         (WebCore::CounterNode::insertAfter):
2568         (WebCore::CounterNode::removeChild):
2569         Changed such that insertion/removal of a counter, triggers not only
2570         recalculation of PrefixWidths, but also reassesment of values in
2571         counter nodes. This is the basis full implementation of CSS2.1
2572         counters. It does not change current behavior by much because of
2573         changes needed to the recalculation algorithm, but those are comming
2574         in the patch for 11031.
2575         (WebCore::showTreeAndMark):
2576         * rendering/CounterNode.h:
2577         * rendering/RenderCounter.cpp:
2578         (WebCore::counter):
2579         Only changed argument type to prepare for implementation of Darin
2580         Adler's recommendation for the patch to 11031.
2581
2582         (WebCore::RenderCounter::invalidate):
2583         (WebCore::destroyCounterNodeChildren):
2584         (WebCore::RenderCounter::destroyCounterNodes):
2585         * rendering/RenderCounter.h:
2586         * rendering/RenderObjectChildList.cpp:
2587         (WebCore::invalidateCountersInContainer):
2588         (WebCore::RenderObjectChildList::invalidateCounters):
2589         * rendering/RenderObjectChildList.h:
2590         Added the ability to restrict invalidation to counters with a given
2591         identifier.
2592         Also invalidated counters that are on the child container itself
2593         which were missed by the previous algorithm, but were a valid case.
2594
2595 2009-11-13  Vitaly Repeshko  <vitalyr@chromium.org>
2596
2597         Reviewed by Dimitri Glazkov.
2598
2599         [V8] Protect SVG animated properties from destruction in bindings.
2600         https://bugs.webkit.org/show_bug.cgi?id=31474
2601
2602         See http://crbug.com/26719.
2603
2604         Tested by LayoutTests/svg/custom/js-update-transform-addition.svg
2605         under Valgrind.
2606
2607         Made sure we keep a reference to SVG properties while setting a
2608         context:
2609         * bindings/scripts/CodeGeneratorV8.pm:
2610         * bindings/v8/V8Proxy.h:
2611         (WebCore::V8Proxy::withSVGContext):
2612
2613 2009-11-13  Brent Fulgham  <bfulgham@webkit.org>
2614
2615         Reviewed by Alexey Proskuryakov.
2616
2617         [CAIRO] shadow support for Canvas and SVG.
2618         [https://bugs.webkit.org/show_bug.cgi?id=30960]
2619
2620         Incorporate Benjamin Otte's recommendations to avoid
2621         a buffer overrun, and small performance improvement.
2622
2623         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2624         (WebCore::copyContextProperties): Correctly size output
2625          storage for cairo_get_dash to avoid buffer overrun.
2626         (WebCore::drawPathShadow): Prefer cairo_fill_extents
2627          to slower cairo_stroke_extents when not drawing shadows.
2628
2629 2009-11-13  Dumitru Daniliuc  <dumi@chromium.org>
2630
2631         Reviewed by Dimitri Glazkov.
2632
2633         Do not register Chromium's HTML5 DB VFS as the default
2634         VFS. Otherwise, other sqlite DB users in the same process will
2635         stop working.
2636
2637         https://bugs.webkit.org/show_bug.cgi?id=31462
2638
2639         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
2640         (WebCore::SQLiteFileSystem::openDatabase):
2641         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
2642         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
2643         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
2644         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
2645
2646 2009-11-13  Alexey Proskuryakov  <ap@apple.com>
2647
2648         Windows build fix
2649
2650         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2651         (WebCore::SocketStreamHandle::SocketStreamHandle): Explicitly cast "-1" to CFOptionFlags,
2652         avoiding a sign mismatch warning.
2653
2654 2009-11-13  Alexey Proskuryakov  <ap@apple.com>
2655
2656         Release build fix.
2657
2658         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2659         (WebCore::SocketStreamHandle::readStreamCallback):
2660         (WebCore::SocketStreamHandle::writeStreamCallback):
2661         Use ASSERT_UNUSED for unused stream parameter.
2662
2663 2009-11-12  Alexey Proskuryakov  <ap@apple.com>
2664
2665         Reviewed by Darin Adler.
2666
2667         https://bugs.webkit.org/show_bug.cgi?id=31441
2668         Implement SocketStreamHandleCFNet
2669
2670         Existing WebSocket tests now pass on Mac. No proxy support yet.
2671
2672         * platform/network/SocketStreamHandleClient.h:
2673         * platform/network/cf/SocketStreamHandle.h:
2674         (WebCore::SocketStreamHandle::shouldUseSSL):
2675         (WebCore::SocketStreamHandle::refAuthenticationClient):
2676         (WebCore::SocketStreamHandle::derefAuthenticationClient):
2677         (WebCore::SocketStreamHandle::):
2678         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2679         (WebCore::SocketStreamHandle::SocketStreamHandle):
2680         (WebCore::SocketStreamHandle::chooseProxy):
2681         (WebCore::SocketStreamHandle::createStreams):
2682         (WebCore::SocketStreamHandle::copyCFStreamDescription):
2683         (WebCore::SocketStreamHandle::readStreamCallback):
2684         (WebCore::SocketStreamHandle::writeStreamCallback):
2685         (WebCore::SocketStreamHandle::~SocketStreamHandle):
2686         (WebCore::SocketStreamHandle::platformSend):
2687         (WebCore::SocketStreamHandle::platformClose):
2688         (WebCore::SocketStreamHandle::receivedCredential):
2689         (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential):
2690         (WebCore::SocketStreamHandle::receivedCancellation):
2691
2692 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
2693
2694         Reviewed by Timothy Hatcher.
2695
2696         Web Inspector: preload status bar button glyphs
2697         in order to prevent them from flickering (take 2).
2698
2699         https://bugs.webkit.org/show_bug.cgi?id=31439
2700
2701         * inspector/front-end/inspector.js:
2702         (preloadImages):
2703
2704 2009-11-13  Pavel Feldman  <pfeldman@chromium.org>
2705
2706         Reviewed by Adam Barth.
2707
2708         Chromium: [REGRESSION] Crash while stopping on a breakpoint.
2709         Rolling back r50890.
2710
2711         https://bugs.webkit.org/show_bug.cgi?id=31467
2712
2713         * bindings/v8/V8Proxy.cpp:
2714         (WebCore::V8Proxy::canAccessPrivate):
2715
2716 2009-11-13  Dirk Schulze  <krit@webkit.org>
2717
2718         Reviewed by Gustavo Noronha.
2719
2720         [CAIRO] shadow support for Canvas and SVG
2721         [https://bugs.webkit.org/show_bug.cgi?id=30960]
2722         
2723         This is the fix of a regression, caused by the shadow patch
2724         from the bug above. Reinserted the save and restore calls
2725         that were accidently removed by the previous patch.
2726
2727         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2728         (WebCore::setPlatformFill):
2729         (WebCore::setPlatformStroke):
2730
2731 2009-11-13  Pavel Feldman  <pfeldman@chromium.org>
2732
2733         Not reviewed. Reverting r50908 since it makes inspector tests
2734         time out.
2735
2736         https://bugs.webkit.org/show_bug.cgi?id=31439
2737
2738         * inspector/front-end/inspector.js:
2739
2740 2009-11-13  Mikhail Naganov  <mnaganov@chromium.org>
2741
2742         Reviewed by Timothy Hatcher.
2743
2744         Enable 'console.profile()' and 'console.profileEnd()'
2745         regardless of JAVASCRIPT_DEBUGGER.
2746
2747         https://bugs.webkit.org/show_bug.cgi?id=31293
2748
2749         * WebCore.gypi:
2750         * bindings/js/JSConsoleCustom.cpp:
2751         (WebCore::JSConsole::profile):
2752         (WebCore::JSConsole::profileEnd):
2753         * bindings/v8/custom/V8ConsoleCustom.cpp: Added.
2754         (WebCore::CALLBACK_FUNC_DECL):
2755         * bindings/v8/custom/V8CustomBinding.h:
2756         * page/Console.idl:
2757
2758 2009-11-12  David Levin  <levin@chromium.org>
2759
2760         Reviewed by NOBODY.
2761
2762         Chromium build fix.
2763
2764         * bindings/v8/ScriptController.h:
2765         (WebCore::ScriptController::evaluateInWorld): Add a dummy
2766          method which isn't called in chromium to make things compile.
2767
2768 2009-11-12  Anantanarayanan G Iyengar  <ananta@chromium.org>
2769
2770         Reviewed by Adam Barth.
2771         
2772         The document-open.html test was flaky at times. The test invokes the layout test plugin
2773         which in its destroy stream handler opens a new document. This basically tears down the
2774         stream and the associated plugin instance, which causes a crash when the plugin stream
2775         dereferences an invalid m_client pointer which points to the PluginView instance which
2776         is invalid at this time. Fix is to set the m_client pointer to NULL in the stop function
2777         and check for the same.
2778        
2779         https://bugs.webkit.org/show_bug.cgi?id=31067
2780
2781         * plugins/PluginStream.cpp:
2782         (WebCore::PluginStream::stop):
2783         (WebCore::PluginStream::destroyStream):
2784
2785 2009-11-12  Dumitru Daniliuc  <dumi@chromium.org>
2786
2787         Reviewed by Dimitri Glazkov.
2788
2789         Renaming some parameters passed to DB-related methods to better
2790         indicate their purpose.
2791
2792         https://bugs.webkit.org/show_bug.cgi?id=31449
2793
2794         * platform/chromium/ChromiumBridge.h:
2795
2796 2009-11-12  Simon Fraser  <simon.fraser@apple.com>
2797
2798         Reviewed by Dan Bernstein.
2799
2800         Transformed reflected elements are clipped inside element with opacity
2801         https://bugs.webkit.org/show_bug.cgi?id=30957
2802         
2803         transparencyClipBox() attemped to minimize the size of the transparency layer by mapping
2804         each clip rect into painting space before taking the unions. This, however, did not work
2805         correctly with combinations of reflections and transforms. Fixed by unioning the
2806         clipRect and mapping through transforms along the way.
2807         
2808         Also leave some #ifdeffed code in beginTransparencyLayers() that makes it easy to see
2809         where the transparency layers are.
2810
2811         Test: fast/reflections/opacity-reflection-transform.html
2812
2813         * rendering/RenderLayer.cpp:
2814         (WebCore::expandClipRectForDescendantsAndReflection):
2815         (WebCore::transparencyClipBox):
2816         (WebCore::RenderLayer::beginTransparencyLayers):
2817
2818 2009-11-12  Adam Barth  <abarth@webkit.org>
2819
2820         Reviewed by Darin Fisher.
2821
2822         Improve SecurityOrigin::toString comment
2823         https://bugs.webkit.org/show_bug.cgi?id=31041
2824
2825         * page/SecurityOrigin.h:
2826
2827 2009-11-12  Shinichiro Hamaji  <hamaji@chromium.org>
2828
2829         Reviewed by Darin Adler.
2830
2831         externalRepresentation should take Frame as the argument
2832         https://bugs.webkit.org/show_bug.cgi?id=31393
2833
2834         No new tests as this is just a refactoring.
2835
2836         * WebCore.base.exp:
2837         * rendering/RenderTreeAsText.cpp:
2838         (WebCore::externalRepresentation):
2839         * rendering/RenderTreeAsText.h:
2840
2841 2009-11-12  Ben Murdoch  <benm@google.com>
2842
2843         Reviewed by Dimitri Glazkov.
2844
2845         [Android] The Android specific files in page/Android are out of date.
2846         https://bugs.webkit.org/show_bug.cgi?id=31437
2847
2848         No tests required.
2849
2850         * page/android/DragControllerAndroid.cpp:
2851         (WebCore::DragController::dragOperation): Added.
2852         (WebCore::DragController::cleanupAfterSystemDrag):
2853         * page/android/EventHandlerAndroid.cpp:
2854         (WebCore::EventHandler::accessKeyModifiers): Added.
2855         * page/android/InspectorControllerAndroid.cpp: Removed.
2856
2857 2009-11-12  Brent Fulgham  <bfulgham@webkit.org>
2858
2859         Reviewed by Simon Fraser.
2860
2861         [CAIRO] shadow support for Canvas and SVG.
2862         [https://bugs.webkit.org/show_bug.cgi?id=30960]
2863
2864         Implement Canvas/SVG shadow support for Cairo.  This patch
2865         uses the filter code from SVG Filters.  That means that it is
2866         necessary to activate filters to see the shadows.
2867
2868         Test: fast/canvas/canvas-shadow.html
2869
2870         * GNUmakefile.am:
2871         * WebCore.vcproj/WebCore.vcproj: Add new ImageBufferFilter files.
2872         * platform/graphics/GraphicsContext.h:
2873         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2874         (GraphicsContext::calculateShadowBufferDimensions): New helper routine.
2875         (WebCore::setPlatformFill):
2876         (WebCore::setPlatformStroke):
2877         (WebCore::copyContextProperties):
2878         (WebCore::drawPathShadow):
2879         (WebCore::GraphicsContext::fillPath):
2880         (WebCore::GraphicsContext::strokePath):
2881         (WebCore::GraphicsContext::drawPath):
2882         (WebCore::GraphicsContext::setPlatformShadow):
2883         (WebCore::GraphicsContext::createPlatformShadow):
2884         * platform/graphics/cairo/ImageCairo.cpp:
2885         (WebCore::BitmapImage::draw): Add filter effect.
2886         * platform/graphics/filters/Filter.h: Correct 'const' signatures.
2887         * platform/graphics/filters/ImageBufferFilter.cpp: Added.
2888         * platform/graphics/filters/ImageBufferFilter.h: Added.
2889         * svg/graphics/filters/SVGFilter.cpp: Correct 'const' signatures.
2890         * svg/graphics/filters/SVGFilter.h: Correct 'const' signatures.
2891
2892 2009-11-12  Dmitry Titov  <dimich@chromium.org>
2893
2894         Reviewed by Alexey Proskuryakov.
2895
2896         Add postTaskToMainThread to ScriptExecutionContext.
2897         Move the code to post task to the main thread into a new method on ScriptExecutionContext,
2898         to use as a helper implementation of the virtual ScriptExecutionContext::postTask(Task) in
2899         contexts that live on the main thread.
2900         https://bugs.webkit.org/show_bug.cgi?id=31427
2901
2902         No new tests - simply moving the code.
2903
2904         * dom/Document.cpp:
2905         (WebCore::Document::postTask):
2906         * dom/ScriptExecutionContext.cpp:
2907         (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
2908         (WebCore::ScriptExecutionContextTaskTimer::fired):
2909         (WebCore::PerformTaskData::PerformTaskData):
2910         (WebCore::PerformTaskData::performTask):
2911         (WebCore::ScriptExecutionContext::postTaskToMainThread):
2912         * dom/ScriptExecutionContext.h:
2913
2914 2009-11-12  Simon Fraser  <simon.fraser@apple.com>
2915
2916         Reviewed by Darin Adler.
2917
2918         Fix crash when removing compositing layers when GC is enabled
2919         https://bugs.webkit.org/show_bug.cgi?id=31429
2920
2921         Workaround <rdar://problem/7390716> by special-casing the removal
2922         of all sublayers when GC is enabled.
2923
2924         * platform/graphics/mac/GraphicsLayerCA.mm:
2925         (WebCore::safeSetSublayers):
2926         (WebCore::GraphicsLayerCA::updateSublayerList):
2927         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
2928
2929 2009-11-12  Jens Alfke  <snej@chromium.org>
2930
2931         Reviewed by Dimitri Glazkov.
2932
2933         The last of the V8 binding optimizations.
2934         - Replace string-valued element accessors with a shared getter/setter function.
2935         - Change error handling flow of control to avoid extra branches and function calls.
2936         https://bugs.webkit.org/show_bug.cgi?id=31443
2937         
2938         * bindings/scripts/CodeGeneratorV8.pm:
2939         * bindings/v8/V8Binding.cpp:
2940         (WebCore::getElementStringAttr):  Body of string-valued Element getter function.
2941         (WebCore::setElementStringAttr):  Body of string-valued Element setter function.
2942         * bindings/v8/V8Binding.h:
2943
2944 2009-11-12  Sam Weinig  <sam@webkit.org>
2945
2946         Reviewed by Oliver Hunt.
2947
2948         Fix for <rdar://problem/7267951>
2949         Canvas methods should reject uses of NaN and Infinity.
2950
2951         Test: fast/canvas/canvas-with-illegal-args.html
2952
2953         * html/canvas/CanvasRenderingContext2D.cpp:
2954         (WebCore::CanvasRenderingContext2D::scale):
2955         (WebCore::CanvasRenderingContext2D::rotate):
2956         (WebCore::CanvasRenderingContext2D::translate):
2957         (WebCore::CanvasRenderingContext2D::transform):
2958         (WebCore::CanvasRenderingContext2D::setTransform):
2959
2960 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
2961
2962         Reviewed by Timothy Hatcher.
2963
2964         Web Inspector: profile timeline panel, fix obvious problems.
2965
2966         https://bugs.webkit.org/show_bug.cgi?id=31432
2967
2968         * inspector/front-end/AbstractTimelinePanel.js:
2969         (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
2970         * inspector/front-end/TimelinePanel.js:
2971         (WebInspector.TimelinePanel.prototype._setWindowPosition):
2972         (WebInspector.TimelineCalculator):
2973         (WebInspector.TimelineCalculator.prototype.get minimumBoundary):
2974         (WebInspector.TimelineCalculator.prototype.get maximumBoundary):
2975         (WebInspector.TimelineCalculator.prototype.reset):
2976         (WebInspector.TimelineCalculator.prototype.updateBoundaries):
2977         (WebInspector.TimelineCalculator.prototype.formatValue):
2978         (WebInspector.TimelineGraph):
2979         (WebInspector.TimelineGraph.prototype.refresh):
2980         * inspector/front-end/utilities.js:
2981         (Element.prototype.hasStyleClass):
2982
2983 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
2984
2985         Reviewed by Timothy Hatcher.
2986
2987         Web Inspector: preload status bar button glyphs
2988         in order to prevent them from flickering.
2989
2990         https://bugs.webkit.org/show_bug.cgi?id=31439
2991
2992         * inspector/front-end/inspector.js:
2993         (preloadImages):
2994
2995 2009-11-12  Adam Roben  <aroben@apple.com>
2996
2997         Replace worldIDs with world objects
2998
2999         Part of <http://webkit.org/b/31414> Implement new SPI for dealing with
3000         user scripts/stylesheets and isolated worlds
3001
3002         Reviewed by Sam Weinig.
3003
3004         Covered by existing tests.
3005
3006         * WebCore.base.exp: Update exported symbols to match what now exists
3007         and is needed by WebKit.
3008
3009         * bindings/js/ScheduledAction.cpp:
3010         (WebCore::ScheduledAction::execute): Updated for function rename.
3011
3012         * bindings/js/ScriptController.cpp: Removed code that dealt with
3013         worldIDs.
3014         (WebCore::ScriptController::createWorld): Added. Returns a new world
3015         suitable for use on the main thread.
3016         (WebCore::ScriptController::executeScriptInWorld): Renamed from
3017         executeScriptInIsolatedWorld, since this works just fine with a
3018         "normal" world.
3019
3020         * bindings/js/ScriptController.h: Added createWorld, removed functions
3021         that took worldIDs, renamed executeScriptInIsolatedWorld to
3022         executeScriptInWorld.
3023
3024         * page/Frame.cpp:
3025         (WebCore::Frame::injectUserScripts):
3026         (WebCore::Frame::injectUserScriptsForWorld):
3027         Updated for changes to UserScriptMap and ScriptController.
3028
3029         * page/Frame.h: Changed injectUserScriptsForWorld to take a
3030         DOMWrapperWorld* instead of a worldID.
3031
3032         * page/PageGroup.cpp:
3033         (WebCore::PageGroup::addUserScriptToWorld):
3034         (WebCore::PageGroup::addUserStyleSheetToWorld):
3035         (WebCore::PageGroup::removeUserScriptFromWorld):
3036         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
3037         (WebCore::PageGroup::removeUserScriptsFromWorld):
3038         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
3039         * page/PageGroup.h:
3040         Changed these functions to take a DOMWrapperWorld* instead of a
3041         worldID. Also updated for changes to UserScript and UserStyleSheet.
3042
3043         * page/UserScript.h:
3044         * page/UserStyleSheet.h: Changed not to hold a worldID, since it was
3045         never used.
3046
3047         * page/UserScriptTypes.h:
3048         * page/UserStyleSheetTypes.h: Changed UserScriptMap and
3049         UserStyleSheetMap to use a RefPtr<DOMWrapperWorld> instead of a
3050         worldID as their key type.
3051
3052
3053 2009-11-12  Brian Weinstein  <bweinstein@apple.com>
3054
3055         Reviewed by Tim Hatcher.
3056
3057         Fixes <http://webkit.org/b/31260>.
3058         Web Inspector: Main Resources Other than HTML are mis-detected.
3059         
3060         Even if the resource is a main resource, look at its CachedResource type, 
3061         because it might be an image, stylesheet, or JavaScript file, and we
3062         want to show them all correctly.
3063
3064         * inspector/InspectorResource.cpp:
3065         (WebCore::InspectorResource::cachedResourceType): Move this method out so it can be called in multiple places.
3066         (WebCore::InspectorResource::type): 
3067         * inspector/InspectorResource.h:
3068
3069 2009-11-12  Jens Alfke  <snej@chromium.org>
3070
3071         Reviewed by Dimitri Glazkov.
3072
3073         Table-driven setup for V8 binding template callback functions. 100k in code savings.
3074         https://bugs.webkit.org/show_bug.cgi?id=31420
3075
3076         * bindings/scripts/CodeGeneratorV8.pm:  Change generated ConfigureXXXTemplate fn
3077             to call configureTemplate().
3078         * bindings/v8/V8Binding.cpp:
3079         (WebCore::configureTemplate):  New function; does all the standard configuration work.
3080         (WebCore::createCallback):  De-inlined wrapper for FunctionTemplate creation.
3081         * bindings/v8/V8Binding.h:
3082         * bindings/v8/V8Proxy.cpp:
3083         (WebCore::batchConfigureAttributes):  Just wrapped the very long fn parameter list.
3084         (WebCore::batchConfigureCallbacks):  New function, used by configureTemplate.
3085         (WebCore::batchConfigureConstants):  Just wrapped the very long fn parameter list.
3086         * bindings/v8/V8Proxy.h:
3087
3088 2009-11-12  Dumitru Daniliuc  <dumi@chromium.org>
3089
3090         Unreviewed, fix Chromium build after http://trac.webkit.org/changeset/50876.
3091
3092         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
3093
3094 2009-11-12  Eric Carlson  <eric.carlson@apple.com>
3095
3096         Reviewed by Dan Bernstein.
3097
3098         <rdar://problem/7388969> Add DOM API for fullscreen video
3099         
3100         DOM API for fullscreen <video>.
3101
3102         Tests: media/media-fullscreen-inline.html
3103                media/media-fullscreen-not-in-document.html
3104
3105         * dom/EventNames.h:
3106             Add webkitbeginfullscreen and webkitendfullscreen.
3107
3108         * html/HTMLAttributeNames.in:
3109             Add onwebkitbeginfullscreen and onwebkitendfullscreen.
3110
3111         * html/HTMLMediaElement.cpp:
3112         (WebCore::HTMLMediaElement::parseMappedAttribute):
3113             Deal with onwebkitbeginfullscreen and onwebkitendfullscreen.
3114         (WebCore::HTMLMediaElement::enterFullscreen):
3115             Schedule webkitbeginfullscreenEvent event, don't set m_isFullscreen unless we
3116             actually do enter fullscreen.
3117         (WebCore::HTMLMediaElement::exitFullscreen):
3118             Schedule webkitendfullscreenEvent event.
3119         (WebCore::HTMLMediaElement::webkitEnterFullScreen):
3120         (WebCore::HTMLMediaElement::webkitExitFullScreen):
3121         (WebCore::HTMLMediaElement::webkitSupportsFullscreen):
3122         (WebCore::HTMLMediaElement::webkitDisplayingFullscreen):
3123             New, access to fullscreen properties and methods.
3124
3125         * html/HTMLMediaElement.h:
3126         * html/HTMLMediaElement.idl:
3127             Declare methods needed for fullscreen API.
3128
3129         * html/HTMLVideoElement.cpp:
3130         (WebCore::HTMLVideoElement::supportsFullscreen):
3131             Return false if a movie does not have video.
3132
3133         * page/DOMWindow.h:
3134             Add webkitbeginfullscreen and webkitendfullscreen.
3135
3136 2009-11-12  Adam Barth  <abarth@webkit.org>
3137
3138         Reviewed by Dimitri Glazkov.
3139
3140         [Chromium] Sify compose button alerts error
3141         https://bugs.webkit.org/show_bug.cgi?id=31394
3142
3143         Test: http/tests/security/calling-versus-current.html
3144
3145         We're supposed to use the calling context for security checks.  In JSC
3146         land, this is the lexicalGlobalObject.
3147
3148         * bindings/v8/V8Proxy.cpp:
3149         (WebCore::V8Proxy::canAccessPrivate):
3150
3151 2009-11-12  Daniel Bates  <dbates@webkit.org>
3152
3153         Reviewed by Darin Adler.
3154
3155         https://bugs.webkit.org/show_bug.cgi?id=30291
3156
3157         Fixes an issue where the returned drop effect is incorrect when
3158         effectAllowed == "uninitialized".
3159
3160         According to section 7.9.2 of the HTML 5 spec.
3161         <http://dev.w3.org/html5/spec/Overview.html#the-dragevent-and-datatransfer-interfaces>
3162         when effectAllowed = "uninitialized" the resulting dropEffect should be the
3163         user-specified dropEffect (i.e. "copy", "move", "link") and "none" for any
3164         other case.
3165         
3166         No test cases are included because we have an existing test case from
3167         bug #24731.
3168
3169         * dom/Clipboard.cpp:
3170         (WebCore::dragOpFromIEOp): Added case for op == "uninitialized".
3171
3172 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
3173
3174         Reviewed by Timothy Hatcher.
3175
3176         Web Inspector: Do not highlight node on refresh.
3177
3178         https://bugs.webkit.org/show_bug.cgi?id=31419
3179
3180         * inspector/front-end/ElementsPanel.js:
3181         (WebInspector.ElementsPanel.prototype.reset):
3182
3183 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
3184
3185         Reviewed by Timothy Hatcher.
3186
3187         Web Inspector: Minor timeline fixes.
3188
3189         https://bugs.webkit.org/show_bug.cgi?id=31417
3190
3191         * inspector/front-end/TimelinePanel.js:
3192         (WebInspector.TimelinePanel.prototype._getRecordDetails):
3193         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
3194         (WebInspector.TimelineRecordTreeElement.prototype._updateDetails):
3195         (WebInspector.TimelineRecordTreeElement.prototype.refresh):
3196
3197 2009-11-12  Alexey Proskuryakov  <ap@apple.com>
3198
3199         SnowLeopard build fix.
3200
3201         Renamed initWithClient to initWithAuthenticationClient.
3202
3203         * platform/network/mac/AuthenticationMac.mm:
3204         (-[WebCoreAuthenticationClientAsChallengeSender initWithAuthenticationClient:]):
3205         (WebCore::AuthenticationChallenge::setAuthenticationClient):
3206
3207 2009-11-12  Chris Fleizach  <cfleizach@apple.com>
3208
3209         Reviewed by Darin Adler.
3210
3211         ARIA: add alert type roles
3212         https://bugs.webkit.org/show_bug.cgi?id=31392
3213
3214         Test: platform/mac/accessibility/aria-alerts.html
3215
3216         * accessibility/AccessibilityObject.h:
3217         * accessibility/AccessibilityRenderObject.cpp:
3218         * accessibility/mac/AccessibilityObjectWrapper.mm:
3219
3220 2009-11-11  Alexey Proskuryakov  <ap@apple.com>
3221
3222         Reviewed by Darin Adler.
3223
3224         https://bugs.webkit.org/show_bug.cgi?id=31386
3225         Make Mac AuthenticationChallenge usable from cross-platform code
3226
3227         No change in behavior, so no tests.
3228
3229         * platform/network/ResourceHandle.cpp:
3230         (WebCore::ResourceHandle::clearAuthentication):
3231         * platform/network/ResourceHandleInternal.h:
3232         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3233         Don't store m_currentCFChallenge, which was only used for a single assertion. Unlike the
3234         NSURLConnection case, CF challenge doesn't carry a sender with it, so the copy in web challenge
3235         is identical.
3236
3237         * platform/network/cf/AuthenticationChallenge.h:
3238         (WebCore::AuthenticationChallenge::setAuthenticationClient): Added a setter to match the new
3239         Mac interface. Previously, one had to create a new AuthenticationChallenge to replace client.
3240
3241         * platform/network/cf/ResourceHandleCFNet.cpp:
3242         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Fixed assertions after removal
3243         of m_currentCFChallenge. Also, there is no need to set client now, as it's guaranteed to
3244         be already set.
3245
3246         * platform/network/mac/AuthenticationChallenge.h:
3247         (WebCore::AuthenticationChallenge::m_sender): Explained the existence of this member to the
3248         best of my understanding.
3249         (WebCore::AuthenticationChallenge::m_nsChallenge): Renamed from m_macChallenge to prevent
3250         confusion with "mac" and "web" challenges in ResourceHandleInternal.
3251
3252         * platform/network/mac/AuthenticationMac.mm:
3253         (WebCoreAuthenticationClientAsChallengeSender): Added a Obj-C wrapper for AuthenticationClient,
3254         making it possible to use the latter with NSURLAuthenticationChallenge.
3255         (WebCore::AuthenticationChallenge::AuthenticationChallenge): Updated for m_macChallenge ->
3256         m_nsChallenge renaming.
3257         (WebCore::AuthenticationChallenge::setAuthenticationClient): Wrap the client in Obj-C and
3258         set it as sender (or unset, if client is null).
3259
3260         * platform/network/mac/ResourceHandleMac.mm:
3261         (WebCoreResourceHandleAsDelegate) WebCoreResourceHandleAsDelegate no longer doubles as
3262         authentication challenge sender.
3263         (WebCore::ResourceHandle::~ResourceHandle): A navigation can happen underneath an
3264         authentication sheet.
3265         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Form m_currentWebChallenge
3266         using the new setAuthenticationClient() method.
3267         (WebCore::ResourceHandle::didCancelAuthenticationChallenge): Fixed an incorrect assertion.
3268         Since didCancelAuthenticationChallenge is called by connection, the passed challenge is
3269         the original Mac one, not the one we created for use with authentication sheet. I don't
3270         know when a connection would cancel authentication in practice, so I haven't tested this.
3271
3272 2009-11-12  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
3273
3274         Reviewed by Timothy Hatcher.
3275
3276         Web Inspector: breakpoint sidebar entries should allow click over entire list item
3277         https://bugs.webkit.org/show_bug.cgi?id=31411
3278
3279         No new tests; no new functionality, small usability change. 
3280
3281         * inspector/front-end/BreakpointsSidebarPane.js:
3282         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
3283         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.breakpointClicked):
3284
3285 2009-11-12  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
3286
3287         Reviewed by Timothy Hatcher.
3288
3289         Web Inspector: breakpoints in named evals are not restored after a reload
3290         https://bugs.webkit.org/show_bug.cgi?id=31375
3291
3292         Manual test added
3293
3294         * inspector/front-end/ScriptsPanel.js:
3295         (WebInspector.ScriptsPanel.prototype.addScript):
3296         * manual-tests/inspector/bp-in-named-eval-after-reload.html: Added.
3297
3298 2009-11-12  Benjamin Poulain  <benjamin.poulain@nokia.com>
3299
3300         Reviewed by Kenneth Rohde Christiansen.
3301
3302         Custom printing shrink factors
3303         https://bugs.webkit.org/show_bug.cgi?id=29042
3304
3305         This reverts commit r49769. The public API for this needs to be reviewed
3306         before its inclusion in Qt.
3307
3308         * page/PrintContext.cpp:
3309         (WebCore::PrintContext::begin):
3310         * page/Settings.cpp:
3311         (WebCore::Settings::Settings):
3312         * page/Settings.h:
3313
3314 2009-11-12  Alexander Pavlov  <apavlov@chromium.org>
3315
3316         Reviewed by Pavel Feldman.
3317
3318         Web Inspector: Resource errors/warnings not shown in the Resource tree.
3319
3320         Error/Warning bubbles are not displayed next to the resource in the 
3321         Resources panel if those occur before the resource is attached to the tree.
3322         https://bugs.webkit.org/show_bug.cgi?id=31404
3323
3324         Test: manual-tests/inspector/styled-error-bubbles-in-scripts.html
3325
3326         * inspector/front-end/AbstractTimelinePanel.js:
3327         (WebInspector.AbstractTimelinePanel.prototype.removeItem):
3328         * inspector/front-end/ResourcesPanel.js:
3329         (WebInspector.ResourceSidebarTreeElement.prototype.onattach):
3330
3331 2009-11-12  Philippe Normand  <pnormand@igalia.com>
3332
3333         Reviewed by Jan Alonzo.
3334
3335         https://bugs.webkit.org/show_bug.cgi?id=31047
3336         [GTK] Failing test media/video-played-ranges-1.html
3337
3338         Follow-up of r50726, don't block the UI thread when calling
3339         gst_element_get_state(). Also fixed a compilation warning and some
3340         static casts.
3341
3342         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3343         (WebCore::playbackPosition):
3344         (WebCore::MediaPlayerPrivate::seek):
3345         (WebCore::MediaPlayerPrivate::setRate):
3346
3347 2009-11-12  Philippe Normand  <pnormand@igalia.com>
3348
3349         Reviewed by Jan Alonzo.
3350
3351         https://bugs.webkit.org/show_bug.cgi?id=31047
3352         [GTK] Failing test media/video-played-ranges-1.html
3353
3354         don't pause pipeline if already paused, same for play()
3355
3356         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3357         (WebCore::MediaPlayerPrivate::play):
3358         (WebCore::MediaPlayerPrivate::pause):
3359
3360 2009-11-12  Kinuko Yasuda  <kinuko@google.com>
3361
3362         Reviewed by David Levin.
3363
3364         Support Gtk scrollwheel behavior for horizontal scrollbars on Linux
3365         Chromium too.
3366         https://bugs.webkit.org/show_bug.cgi?id=31292
3367
3368         No new tests. (Corresponding test for Gtk+ is
3369         platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html)
3370
3371         * page/EventHandler.cpp:
3372         * page/chromium/EventHandlerChromium.cpp:
3373
3374 2009-11-12  Yuta Kitamura  <yutak@chromium.org>
3375
3376         Reviewed by Eric Seidel.
3377
3378         Prevent text inside a multi-column block from being split into columns.
3379         
3380         If the tentative height of a multi-column block was too small, we need to
3381         expand the block height and try to layout again, in order to prevent text
3382         from being split into different columns.
3383
3384         CSS Multicolumn text is split awkwardly
3385         https://bugs.webkit.org/show_bug.cgi?id=22249
3386
3387         Test: fast/multicol/single-line.html
3388
3389         * rendering/RenderBlock.cpp:
3390         (WebCore::RenderBlock::layoutColumns):
3391         * rendering/RenderBlock.h:
3392         * rendering/RenderLineBoxList.cpp:
3393         (WebCore::RenderLineBoxList::paint):
3394         * rendering/RenderView.h:
3395         (WebCore::RenderView::setTruncatedAt):
3396         (WebCore::RenderView::setMinimumColumnHeight):
3397         (WebCore::RenderView::minimumColumnHeight):
3398
3399 2009-11-11  Kent Tamura  <tkent@chromium.org>
3400
3401         Reviewed by Darin Adler.
3402
3403         Fix a bug that RenderFileUploadControl isn't initialized with multiple files.
3404         https://bugs.webkit.org/show_bug.cgi?id=31195
3405
3406         Test: fast/forms/input-file-re-render.html
3407
3408         * rendering/RenderFileUploadControl.cpp:
3409         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
3410
3411 2009-11-09  Dumitru Daniliuc  <dumi@chromium.org>
3412
3413         Reviewed by Dimitri Glazkov.
3414
3415         Fixing Chromium's POSIX VFS implementation, by adding the required
3416         "used file descriptors" logic.
3417
3418         https://bugs.webkit.org/show_bug.cgi?id=31275
3419
3420         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
3421
3422 2009-11-11  Chris Fleizach  <cfleizach@apple.com>
3423
3424         Reviewed by Oliver Hunt.
3425
3426         need to implement aria tree roles
3427         https://bugs.webkit.org/show_bug.cgi?id=31284
3428
3429         Tests: platform/mac/accessibility/aria-multiselectable.html
3430                platform/mac/accessibility/aria-tree.html
3431
3432         * accessibility/AccessibilityList.cpp:
3433         (WebCore::AccessibilityList::accessibilityIsIgnored):
3434         * accessibility/AccessibilityObject.cpp:
3435         (WebCore::AccessibilityObject::ariaTreeRows):
3436         (WebCore::AccessibilityObject::ariaTreeItemContent):
3437         (WebCore::AccessibilityObject::ariaTreeItemDisclosedRows):
3438         * accessibility/AccessibilityObject.h:
3439         (WebCore::):
3440         (WebCore::AccessibilityObject::isTree):
3441         (WebCore::AccessibilityObject::isTreeItem):
3442         (WebCore::AccessibilityObject::setIsExpanded):
3443         (WebCore::AccessibilityObject::canSetExpandedAttribute):
3444         (WebCore::AccessibilityObject::hierarchicalLevel):
3445         (WebCore::AccessibilityObject::setSelectedRows):
3446         (WebCore::AccessibilityObject::performDefaultAction):
3447         * accessibility/AccessibilityRenderObject.cpp:
3448         (WebCore::AccessibilityRenderObject::hierarchicalLevel):
3449         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3450         (WebCore::AccessibilityRenderObject::isExpanded):
3451         (WebCore::AccessibilityRenderObject::setElementAttributeValue):
3452         (WebCore::AccessibilityRenderObject::elementAttributeValue):
3453         (WebCore::AccessibilityRenderObject::setIsExpanded):
3454         (WebCore::AccessibilityRenderObject::isSelected):
3455         (WebCore::AccessibilityRenderObject::setSelected):
3456         (WebCore::AccessibilityRenderObject::setSelectedRows):
3457         (WebCore::createARIARoleMap):
3458         (WebCore::AccessibilityRenderObject::canSetExpandedAttribute):
3459         (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
3460         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
3461         (WebCore::AccessibilityRenderObject::selectedChildren):
3462         * accessibility/AccessibilityRenderObject.h:
3463         * accessibility/mac/AccessibilityObjectMac.mm:
3464         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
3465         * accessibility/mac/AccessibilityObjectWrapper.mm:
3466         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
3467         (RoleEntry::):
3468         (-[AccessibilityObjectWrapper subrole]):
3469         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3470         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
3471         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
3472         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
3473         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
3474         * html/HTMLAttributeNames.in:
3475
3476 2009-11-11  Brent Fulgham  <bfulgham@webkit.org>
3477
3478         Build fix after @r50760 with ENABLE_FILTERS.
3479
3480         * platform/graphics/filters/SourceAlpha.cpp:
3481         (WebCore::SourceAlpha::apply): Supply ColorSpace to fillRect.
3482         * svg/graphics/filters/SVGFEFlood.cpp: Supply ColorSpace argument
3483           to fillRect.
3484
3485 2009-11-11  Fumitoshi Ukai  <ukai@chromium.org>
3486
3487         Reviewed by Alexey Proskuryakov.
3488
3489         Fix WebSocket frame parser of frame_type with high-order bit set.
3490         https://bugs.webkit.org/show_bug.cgi?id=30668
3491
3492         If buffer is smaller than frame's length, it should break the loop
3493         instead of reading next byte.
3494
3495         Tests: websocket/tests/frame-length-longer-than-buffer.html
3496                websocket/tests/frame-length-skip.html
3497
3498         * websockets/WebSocketChannel.cpp:
3499         (WebCore::WebSocketChannel::didReceiveData):
3500
3501 2009-11-11  Yusuke Sato  <yusukes@chromium.org>
3502
3503         Reviewed by Adam Barth.
3504
3505         [chromium] Remove t2embed.dll functions from FontCustomPlatformData.cpp for Chromium
3506         https://bugs.webkit.org/show_bug.cgi?id=31345
3507
3508         Remove dependency on t2embed.dll so that Chromium for Windows can start even if t2embed.dll cannot be accessed.
3509
3510         * platform/graphics/chromium/FontCustomPlatformData.cpp:
3511         (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Remove TTDeleteEmbeddedFont() call. Always use RemoveFontMemResourceEx().
3512         (WebCore::FontCustomPlatformData::fontPlatformData): Remove TTGetNewFontName() call.
3513         (WebCore::createFontCustomPlatformData): Remove TTLoadEmbeddedFont() call. Always use AddFontMemResourceEx() via renameAndActivateFont() in opentype/OpenTypeUtility.h. Remove EOTStream class as well.
3514
3515 2009-11-11  Beth Dakin  <bdakin@apple.com>
3516
3517         Build fix. No review needed.
3518
3519         * platform/graphics/gtk/FontGtk.cpp:
3520         (WebCore::Font::drawComplexText):
3521
3522 2009-11-11  Beth Dakin  <bdakin@apple.com>
3523
3524         Build fix. No review needed.
3525
3526         * platform/graphics/cairo/FontCairo.cpp:
3527         (WebCore::Font::drawGlyphs):
3528
3529 2009-11-11  Beth Dakin  <bdakin@apple.com>
3530
3531         Windows build fix. No review needed. 
3532
3533         * platform/graphics/win/FontCGWin.cpp:
3534         (WebCore::Font::drawGlyphs):
3535
3536 2009-11-11  Beth Dakin  <bdakin@apple.com>
3537
3538         Reviewed by Simon Fraser.
3539
3540         Fix for https://bugs.webkit.org/show_bug.cgi?id=31382
3541         Make -webkit-color-correction work with shadows
3542
3543         From canvas, just send DeviceColorSpace to setShadow() for now. 
3544         Will fix soon when I address https://bugs.webkit.org/show_bug.cgi?id=31319
3545         * html/canvas/CanvasRenderingContext2D.cpp:
3546         (WebCore::CanvasRenderingContext2D::setShadow):
3547         (WebCore::CanvasRenderingContext2D::applyShadow):
3548
3549         setShadow() and setPlatformShadow() now take a ColorSpace.
3550         * platform/graphics/GraphicsContext.cpp:
3551         (WebCore::GraphicsContext::setShadow):
3552         * platform/graphics/GraphicsContext.h:
3553         * platform/graphics/cg/GraphicsContextCG.cpp:
3554         (WebCore::createCGColorWithColorSpace): New helper to create a 
3555         color in a ColorSpace.
3556         (WebCore::setCGFillColor): Call new helper.
3557         (WebCore::setCGStrokeColor): Call new helper.
3558         (WebCore::GraphicsContext::setPlatformShadow): Call new helper.
3559         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
3560         (WebCore::GraphicsContext::setPlatformShadow):
3561
3562         Send appropriate ColorSpace to setShadow().
3563         * platform/graphics/mac/FontMac.mm:
3564         (WebCore::Font::drawGlyphs):
3565         * rendering/EllipsisBox.cpp:
3566         (WebCore::EllipsisBox::paint):
3567         * rendering/InlineFlowBox.cpp:
3568         (WebCore::InlineFlowBox::paintTextDecorations):
3569         * rendering/InlineTextBox.cpp:
3570         (WebCore::paintTextWithShadows):
3571         (WebCore::InlineTextBox::paintDecoration):
3572         * rendering/RenderBoxModelObject.cpp:
3573         (WebCore::RenderBoxModelObject::paintBoxShadow):
3574         * rendering/SVGInlineTextBox.cpp:
3575         (WebCore::SVGInlineTextBox::paintCharacters):
3576         * rendering/SVGRenderSupport.cpp:
3577         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
3578
3579         Attempt to keep ports building.
3580         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3581         (WebCore::GraphicsContext::setPlatformShadow):
3582         * platform/graphics/qt/GraphicsContextQt.cpp:
3583         (WebCore::GraphicsContext::setPlatformShadow):
3584         * platform/graphics/skia/GraphicsContextSkia.cpp:
3585         (WebCore::GraphicsContext::setPlatformShadow):
3586         * platform/graphics/wince/GraphicsContextWince.cpp:
3587         (WebCore::GraphicsContext::setPlatformShadow):
3588         * platform/graphics/wx/GraphicsContextWx.cpp:
3589         (WebCore::GraphicsContext::setPlatformShadow):
3590
3591 2009-11-11  Kent Tamura  <tkent@chromium.org>
3592
3593         Reviewed by Darin Adler.
3594
3595         Print the file text of a file upload control in DumpRenderTree for ease of tests.
3596         https://bugs.webkit.org/show_bug.cgi?id=31195
3597
3598         * rendering/RenderFileUploadControl.cpp:
3599         (WebCore::RenderFileUploadControl::paintObject):
3600         (WebCore::RenderFileUploadControl::fileTextValue):
3601         * rendering/RenderFileUploadControl.h:
3602         (WebCore::RenderFileUploadControl::isFileUploadControl):
3603         (WebCore::toRenderFileUploadControl):
3604         * rendering/RenderObject.h:
3605         (WebCore::RenderObject::isFileUploadControl):
3606         * rendering/RenderTreeAsText.cpp:
3607         (WebCore::operator<<):
3608
3609 2009-11-11  Gavin Barraclough  <barraclough@apple.com>
3610
3611         Reviewed by Sam Weinig.
3612
3613         DOM Wrappers for some nodes may not be marked.
3614         https://bugs.webkit.org/show_bug.cgi?id=31380
3615
3616         Some markChildren methods are calling getCachedDOMNodeWrapper, which will find
3617         the wrapper for the current world only.  This means that wrappers may be GC'ed
3618         prematurely, and properties lost.
3619
3620         Move to a model more like markDOMObjectWrapper, mark wrappers for all worlds.
3621
3622        &nbs