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