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