9c8b73d676e66128bb135168f7546005d70c3fa7
[WebKit-https.git] / WebCore / ChangeLog
1 2011-01-03  Csaba Osztrogon√°c  <ossy@webkit.org>
2
3         [Qt] Unreviewed buildfix for --minimal build after r74895.
4
5         * html/InputType.cpp: Missing include added.
6         * html/NumberInputType.cpp: Missing include added.
7
8 2011-01-02  Darin Adler  <darin@apple.com>
9
10         Reviewed by Kent Tamura.
11
12         Eliminate HTMLInputElement::m_deprecatedTypeNumber, other input refactoring and renaming
13         https://bugs.webkit.org/show_bug.cgi?id=51791
14
15         * dom/InputElement.h: Make sanitizeValueForTextField public so it can
16         be called by InputType.
17
18         * html/BaseButtonInputType.cpp:
19         (WebCore::BaseButtonInputType::accessKeyAction): Added.
20         (WebCore::BaseButtonInputType::storesValueSeparateFromAttribute): Added.
21         * html/BaseButtonInputType.h: Ditto.
22
23         * html/BaseCheckableInputType.cpp:
24         (WebCore::BaseCheckableInputType::canSetStringValue): Added.
25         (WebCore::BaseCheckableInputType::accessKeyAction): Added.
26         (WebCore::BaseCheckableInputType::fallbackValue): Added.
27         (WebCore::BaseCheckableInputType::storesValueSeparateFromAttribute): Added.
28         (WebCore::BaseCheckableInputType::isCheckable): Added.
29         * html/BaseCheckableInputType.h: Ditto.
30
31         * html/BaseDateAndTimeInputType.cpp:
32         (WebCore::BaseDateAndTimeInputType::hasSpinButton): Added.
33         * html/BaseDateAndTimeInputType.h: Ditto.
34
35         * html/BaseTextInputType.h: Made more functions private.
36
37         * html/ButtonInputType.cpp:
38         (WebCore::ButtonInputType::isTextButton): Added.
39         * html/ButtonInputType.h: Ditto.
40
41         * html/CheckboxInputType.cpp:
42         (WebCore::CheckboxInputType::willDispatchClick): Added.
43         (WebCore::CheckboxInputType::didDispatchClick): Added.
44         (WebCore::CheckboxInputType::isCheckbox): Added.
45         * html/CheckboxInputType.h: Ditto.
46
47         * html/DateTimeInputType.cpp:
48         (WebCore::DateTimeInputType::scaledStepValueShouldBeInteger): Fixed
49         typo in name of this function.
50         * html/DateTimeInputType.h: Ditto.
51         * html/DateTimeLocalInputType.cpp:
52         (WebCore::DateTimeLocalInputType::scaledStepValueShouldBeInteger): Ditto.
53         * html/DateTimeLocalInputType.h: Ditto.
54
55         * html/EmailInputType.cpp:
56         (WebCore::EmailInputType::isEmailField): Added.
57         * html/EmailInputType.h: Ditto.
58
59         * html/FileInputType.cpp:
60         (WebCore::FileInputType::FileInputType): Added.
61         (WebCore::FileInputType::canSetStringValue): Added.
62         (WebCore::FileInputType::canChangeFromAnotherType): Added.
63         (WebCore::FileInputType::files): Added.
64         (WebCore::FileInputType::canSetValue): Added.
65         (WebCore::FileInputType::getTypeSpecificValue): Added.
66         (WebCore::FileInputType::storesValueSeparateFromAttribute): Added.
67         (WebCore::FileInputType::setFileList): Added.
68         (WebCore::FileInputType::isFileUpload): Added.
69         * html/FileInputType.h: Ditto.
70
71         * html/HTMLInputElement.cpp:
72         (WebCore::HTMLInputElement::HTMLInputElement): Updated for data member
73         renaming and removal.
74         (WebCore::HTMLInputElement::isValidValue): Call canSetStringValue
75         instead of checking specific type numbers.
76         (WebCore::HTMLInputElement::getAllowedValueStepWithDecimalPlaces):
77         Use fastGetAttribute and fixed typo in the name of the
78         scaledStepValueShouldBeInteger function.
79         (WebCore::HTMLInputElement::isKeyboardFocusable): Call
80         InputType::isKeyboardFocusable; moved most of the type-specific
81         logic there.
82         (WebCore::HTMLInputElement::shouldUseInputMethod): Call
83         InputType::shouldUseInputMethod; moved the type-specific logic there.
84         (WebCore::HTMLInputElement::handleBlurEvent): Call
85         InputType::handleBlurEvent; moved the type-specific logic there.
86         (WebCore::HTMLInputElement::setType): Tweak the names and types
87         in this function.
88         (WebCore::HTMLInputElement::updateType): Removed the code that
89         set m_deprecatedTypeNumber. Compare types by comparing the value
90         from formControlType. Removed file-specific logic and instead call
91         InputType::canChangeFromAnotherType. Streamlined the logic for
92         activation callbacks.
93         (WebCore::HTMLInputElement::accessKeyAction): Call
94         InputType::accessKeyAction; moved the type-specific logic there.
95         (WebCore::HTMLInputElement::mapToEntry): Call
96         InputType::shouldRespectHeightAndWidthAttributes and
97         InputType::shouldRespectAlignAttribute.
98         (WebCore::HTMLInputElement::parseMappedAttribute): Updated
99         for name changes and the removal of m_defaultChecked. Changed the
100         alt attribute logic to be based on the class of the renderer.
101         Call InputType::srcAttributeChanged and moved the type-specific
102         logic there. Call shouldRespectAlignAttribute and
103         shouldRespectHeightAndWidthAttributes rather than having
104         type-specific logic here. Call minOrMaxAttributeChanged.
105         (WebCore::HTMLInputElement::rendererIsNeeded): Call
106         InputType::rendererIsNeeded; moved the type-specific logic there.
107         (WebCore::HTMLInputElement::attach): Removed the unneeded m_inited
108         flag, which was redundant with the m_haveType flag. Call
109         InputType::attach; moved the type-specific logic there.
110         (WebCore::HTMLInputElement::altText): Use fastGetAttribute.
111         (WebCore::HTMLInputElement::isSuccessfulSubmitButton): Call
112         InputType::canBeSuccessfulSubmitButton; moved the type-specific
113         logic there.
114         (WebCore::HTMLInputElement::isActivatedSubmit): Updated for
115         name changes.
116         (WebCore::HTMLInputElement::setActivatedSubmit): Ditto.
117         (WebCore::HTMLInputElement::reset): Updated to use
118         InputType::storesValueSeparateFromAttribute. Also use
119         hasAttribute(checkedAttr) rather than m_defaultChecked,
120         since both are the same. Also updated for name change.
121         (WebCore::HTMLInputElement::setChecked): Updated for name
122         changes. Also added call to
123         InputType::shouldSendChangeEventAfterCheckedChanged and
124         moved the type-specific logic there.
125         (WebCore::HTMLInputElement::setIndeterminate): Call
126         isCheckable to see if indeterminate is allowed.
127         Also updated for name changes.
128         (WebCore::HTMLInputElement::copyNonAttributeProperties):
129         Updated for name changes and removed data members.
130         (WebCore::HTMLInputElement::value): Call
131         InputType::getTypeSpecificValue and InputType::fallbackValue.
132         Moved the type-specific logic there.
133         (WebCore::HTMLInputElement::valueWithDefault): Call
134         InputType::defaultValue. Moved the type-specific logic there.
135         (WebCore::HTMLInputElement::setSuggestedValue): Call
136         InputType::canSetSuggestedValue. Moved the type-specific logic
137         there.
138         (WebCore::HTMLInputElement::setValue): Call
139         InputType::canSetValue. Moved the type-specific logic there.
140         Clear the file list if it exists rather than checking the
141         type explicitly. We could probably do that a more elegant way.
142         (WebCore::HTMLInputElement::placeholder): Use fastGetAttribute.
143         (WebCore::HTMLInputElement::setValueFromRenderer): Use the
144         isFileUpload function in the assertion.
145         (WebCore::HTMLInputElement::setFileListFromRenderer): Put most
146         of the code from this function into FileInputType::setFileList.
147         (WebCore::HTMLInputElement::preDispatchEventHandler): Changed
148         to call InputType::willDispatchClick, which does the type-specific
149         work. Still need to use a single struct for all types, because
150         the type of the element could change during the event handling.
151         (WebCore::HTMLInputElement::postDispatchEventHandler): Changed
152         to call InputType::didDispatchClick.
153         (WebCore::HTMLInputElement::defaultValue): Use fastGetAttribute.
154         (WebCore::HTMLInputElement::accept): Use fastGetAttribute.
155         (WebCore::HTMLInputElement::alt): Use fastGetAttribute.
156         (WebCore::HTMLInputElement::src): Use fastGetAttribute.
157         (WebCore::HTMLInputElement::setAutofilled): Updated for name
158         changes.
159         (WebCore::HTMLInputElement::files): Use InputType::files.
160         (WebCore::HTMLInputElement::isAcceptableValue): Use
161         InputType::isAcceptableValue.
162         (WebCore::HTMLInputElement::sanitizeValue): Use
163         InputType::sanitizeValue.
164         (WebCore::HTMLInputElement::hasUnacceptableValue): Use
165         InputType::hasUnacceptableValue.
166         (WebCore::HTMLInputElement::needsActivationCallback): Use
167         InputType::shouldResetOnDocumentActivation.
168         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): Use
169         InputType::willMoveToNewOwnerDocument.
170         (WebCore::HTMLInputElement::dataList): Use
171         InputType::shouldRespectListAttribute.
172         (WebCore::HTMLInputElement::selectedOption): Tweaked logic
173         and naming a bit.
174         (WebCore::HTMLInputElement::stepUpFromRenderer): Use
175         fastGetAttribute.
176         (WebCore::HTMLInputElement::isSpeechEnabled): Use
177         InputType::shouldRespectSpeechAttribute.
178         (WebCore::HTMLInputElement::isTextButton): No longer inline.
179         Calls through to InputType.
180         (WebCore::HTMLInputElement::isRadioButton): Ditto.
181         (WebCore::HTMLInputElement::isSearchField): Ditto.
182         (WebCore::HTMLInputElement::isInputTypeHidden): Ditto.
183         (WebCore::HTMLInputElement::isPasswordField): Ditto.
184         (WebCore::HTMLInputElement::isCheckbox): Ditto.
185         (WebCore::HTMLInputElement::isText): Ditto.
186         (WebCore::HTMLInputElement::isEmailField): Ditto.
187         (WebCore::HTMLInputElement::isFileUpload): Ditto.
188         (WebCore::HTMLInputElement::isImageButton): Ditto.
189         (WebCore::HTMLInputElement::isNumberField): Ditto.
190         (WebCore::HTMLInputElement::isSubmitButton): Ditto.
191         (WebCore::HTMLInputElement::isTelephoneField): Ditto.
192         (WebCore::HTMLInputElement::isURLField): Ditto.
193         (WebCore::HTMLInputElement::isEnumeratable): Ditto.
194         (WebCore::HTMLInputElement::isChecked): No longer inline.
195         Calls InputType::isCheckable.
196         (WebCore::HTMLInputElement::hasSpinButton): No longer inline.
197         Calls through to InputType.
198         (WebCore::HTMLInputElement::supportsPlaceholder): No longer
199         inline. Calls isTextType as before, but with no special case
200         for ISINDEX. That special case was unneeded since it returns
201         true from isTextType.
202         (WebCore::HTMLInputElement::checkedRadioButtons): No longer
203         inline.
204         (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
205         No longer inline.
206
207         * html/HTMLInputElement.h: Removed multiple unneeded includes.
208         The big one is probably InputType.h, but also HTMLFormElement.h.
209         Removed unneeded forward declarations. Made many functions
210         no longer inline since they now need to make virtual function
211         dispatches. Removed the unneeded defaultChecked and
212         webkitdirectory functions. Both are handled by HTML attribute
213         reflection for DOM bindings, and the callers instead can get
214         at the attribute. Made updateCheckedRadioButtons public so it
215         can be called by an InputType class. Removed
216         DeprecatedInputType, InputTypeMap, createTypeMap,
217         deprecatedInputType, allowsIndeterminate,
218         respectHeightAndWidthAttrs, storesValueSeparateFromAttribute,
219         m_imageLoader, m_fileList, m_deprecatedTypeNumber,
220         m_defaultChecked, and m_inited. Renamed m_checked to
221         m_isChecked, m_useDefaultChecked to m_reflectsCheckedAttribute,
222         m_indeterminate tom_isIndeterminate, m_haveType to m_hasType,
223         m_activeSubmit to m_isActivatedSubmit, and m_autofilled to
224         m_isAutofilled.
225         
226         * html/HiddenInputType.cpp:
227         (WebCore::HiddenInputType::accessKeyAction): Added.
228         (WebCore::HiddenInputType::rendererIsNeeded) Added.:
229         (WebCore::HiddenInputType::storesValueSeparateFromAttribute): Added.
230         (WebCore::HiddenInputType::isHiddenType): Added.
231         (WebCore::HiddenInputType::shouldRespectHeightAndWidthAttributes): Added.
232         * html/HiddenInputType.h: Ditto.
233
234         * html/ImageInputType.cpp:
235         (WebCore::ImageInputType::ImageInputType): Moved out of the header file.
236         (WebCore::ImageInputType::srcAttributeChanged): Added.
237         (WebCore::ImageInputType::attach): Added.
238         (WebCore::ImageInputType::willMoveToNewOwnerDocument): Added.
239         (WebCore::ImageInputType::shouldRespectAlignAttribute): Added.
240         (WebCore::ImageInputType::canBeSuccessfulSubmitButton): Added.
241         (WebCore::ImageInputType::isImageButton): Added.
242         (WebCore::ImageInputType::isEnumeratable): Added.
243         (WebCore::ImageInputType::shouldRespectHeightAndWidthAttributes): Added.
244         * html/ImageInputType.h: Ditto.
245
246         * html/InputType.cpp:
247         (WebCore::InputType::create): Changed argument type to String. There
248         is no value in taking an AtomicString here.
249         (WebCore::InputType::scaledStepValueShouldBeInteger): Fixed typo in
250         this function name.
251         (WebCore::InputType::canSetStringValue): Added.
252         (WebCore::InputType::isKeyboardFocusable): Added.
253         (WebCore::InputType::shouldUseInputMethod): Added.
254         (WebCore::InputType::handleBlurEvent): Added.
255         (WebCore::InputType::accessKeyAction): Added.
256         (WebCore::InputType::attach): Added.
257         (WebCore::InputType::srcAttributeChanged): Added.
258         (WebCore::InputType::willMoveToNewOwnerDocument): Added.
259         (WebCore::InputType::shouldRespectAlignAttribute): Added.
260         (WebCore::InputType::canChangeFromAnotherType): Added.
261         (WebCore::InputType::minOrMaxAttributeChanged): Added.
262         (WebCore::InputType::canBeSuccessfulSubmitButton): Added.
263         (WebCore::InputType::rendererIsNeeded): Added.
264         (WebCore::InputType::files): Added.
265         (WebCore::InputType::getTypeSpecificValue): Added.
266         (WebCore::InputType::fallbackValue): Added.
267         (WebCore::InputType::defaultValue): Added.
268         (WebCore::InputType::canSetSuggestedValue): Added.
269         (WebCore::InputType::shouldSendChangeEventAfterCheckedChanged): Added.
270         (WebCore::InputType::storesValueSeparateFromAttribute): Added.
271         (WebCore::InputType::canSetValue): Added.
272         (WebCore::InputType::willDispatchClick): Added.
273         (WebCore::InputType::didDispatchClick): Added.
274         (WebCore::InputType::isAcceptableValue): Added.
275         (WebCore::InputType::sanitizeValue): Added.
276         (WebCore::InputType::hasUnacceptableValue): Added.
277         (WebCore::InputType::setFileList): Added.
278         (WebCore::InputType::shouldResetOnDocumentActivation): Added.
279         (WebCore::InputType::shouldRespectListAttribute): Added.
280         (WebCore::InputType::shouldRespectSpeechAttribute): Added.
281         (WebCore::InputType::isTextButton): Added.
282         (WebCore::InputType::isRadioButton): Added.
283         (WebCore::InputType::isSearchField): Added.
284         (WebCore::InputType::isHiddenType): Added.
285         (WebCore::InputType::isPasswordField): Added.
286         (WebCore::InputType::isCheckbox): Added.
287         (WebCore::InputType::isEmailField): Added.
288         (WebCore::InputType::isFileUpload): Added.
289         (WebCore::InputType::isImageButton): Added.
290         (WebCore::InputType::isNumberField): Added.
291         (WebCore::InputType::isSubmitButton): Added.
292         (WebCore::InputType::isTelephoneField): Added.
293         (WebCore::InputType::isURLField): Added.
294         (WebCore::InputType::isEnumeratable): Added.
295         (WebCore::InputType::isCheckable): Added.
296         (WebCore::InputType::hasSpinButton): Added.
297         (WebCore::InputType::shouldRespectHeightAndWidthAttributes): Added.
298
299         * html/InputType.h: Removed unneeded ExceptionCode.h include and
300         used a typedef instead as we do when we want for forward declare it.
301         Added includes and forward declarations needed for new functions.
302         Added ClickHandlingState structure. Changed the argument to create
303         to a String rather than AtomicString. Added many virtual functions.
304         
305         * html/IsIndexInputType.cpp:
306         (WebCore::IsIndexInputType::shouldRespectListAttribute): Added.
307         * html/IsIndexInputType.h: Ditto.
308
309         * html/NumberInputType.cpp:
310         (WebCore::NumberInputType::handleBlurEvent): Added.
311         (WebCore::NumberInputType::isAcceptableValue): Added.
312         (WebCore::NumberInputType::sanitizeValue): Added.
313         (WebCore::NumberInputType::hasUnacceptableValue): Added.
314         (WebCore::NumberInputType::shouldRespectSpeechAttribute): Added.
315         (WebCore::NumberInputType::isNumberField): Added.
316         (WebCore::NumberInputType::hasSpinButton): Added.
317         * html/NumberInputType.h: Ditto.
318
319         * html/PasswordInputType.cpp:
320         (WebCore::PasswordInputType::shouldUseInputMethod): Added.
321         (WebCore::PasswordInputType::shouldResetOnDocumentActivation): Added.
322         (WebCore::PasswordInputType::shouldRespectListAttribute): Added.
323         (WebCore::PasswordInputType::shouldRespectSpeechAttribute): Added.
324         (WebCore::PasswordInputType::isPasswordField): Added.
325         * html/PasswordInputType.h: Ditto.
326
327         * html/RadioInputType.cpp:
328         (WebCore::RadioInputType::isKeyboardFocusable): Added.
329         (WebCore::RadioInputType::attach): Added.
330         (WebCore::RadioInputType::shouldSendChangeEventAfterCheckedChanged): Added.
331         (WebCore::RadioInputType::willDispatchClick): Added.
332         (WebCore::RadioInputType::didDispatchClick): Added.
333         (WebCore::RadioInputType::isRadioButton): Added.
334         * html/RadioInputType.h: Ditto.
335
336         * html/RangeInputType.cpp:
337         (WebCore::RangeInputType::accessKeyAction): Added.
338         (WebCore::RangeInputType::minOrMaxAttributeChanged): Added.
339         (WebCore::RangeInputType::fallbackValue): Added.
340         (WebCore::RangeInputType::sanitizeValue): Added.
341         (WebCore::RangeInputType::shouldRespectListAttribute): Added.
342         * html/RangeInputType.h: Ditto.
343
344         * html/ResetInputType.cpp:
345         (WebCore::ResetInputType::defaultValue): Added.
346         (WebCore::ResetInputType::isTextButton): Added.
347         * html/ResetInputType.h: Ditto.
348
349         * html/SearchInputType.cpp:
350         (WebCore::SearchInputType::shouldRespectSpeechAttribute): Added.
351         (WebCore::SearchInputType::isSearchField): Added.
352         * html/SearchInputType.h: Ditto.
353
354         * html/SubmitInputType.cpp:
355         (WebCore::SubmitInputType::canBeSuccessfulSubmitButton): Added.
356         (WebCore::SubmitInputType::defaultValue): Added.
357         (WebCore::SubmitInputType::isSubmitButton): Added.
358         (WebCore::SubmitInputType::isTextButton): Added.
359         * html/SubmitInputType.h: Ditto.
360
361         * html/TelephoneInputType.cpp:
362         (WebCore::TelephoneInputType::shouldRespectSpeechAttribute): Added.
363         (WebCore::TelephoneInputType::isTelephoneField): Added.
364         * html/TelephoneInputType.h: Ditto.
365
366         * html/TextFieldInputType.cpp:
367         (WebCore::TextFieldInputType::shouldUseInputMethod): Added.
368         (WebCore::TextFieldInputType::sanitizeValue): Added.
369         (WebCore::TextFieldInputType::shouldRespectListAttribute): Added.
370         * html/TextFieldInputType.h: Ditto.
371
372         * html/TextInputType.cpp:
373         (WebCore::TextInputType::canSetSuggestedValue): Added.
374         (WebCore::TextInputType::shouldRespectSpeechAttribute): Added.
375         * html/TextInputType.h: Ditto.
376
377         * html/TimeInputType.cpp:
378         (WebCore::TimeInputType::scaledStepValueShouldBeInteger): Fixed
379         typo in the name of this function.
380         * html/TimeInputType.h: Ditto.
381
382         * html/URLInputType.cpp:
383         (WebCore::URLInputType::isURLField): Added.
384         * html/URLInputType.h: Ditto.
385
386 2011-01-03  Mihai Parparita  <mihaip@chromium.org>
387
388         Unreviewed.
389
390         NSScrollView-based scrollbars and ScrollBarTheme-based scrollbars don't look the same
391         https://bugs.webkit.org/show_bug.cgi?id=51151
392
393         Flip switch to use WebThemeEngine for Chromium/Mac scrollbar rendering,
394         so that it can match Safari's (and thus use the same baselines).
395
396         No new tests, should be covered by layout tests (which will need
397         expectation changes)
398
399         * platform/chromium/ScrollbarThemeChromiumMac.mm:
400
401 2011-01-03  Antonio Gomes  <agomes@rim.com>
402
403         Unreviewed build fix for WebKit/Gtk+.
404
405         RenderThemeGtk::initMediaColors() in RenderThemeGtk2.cpp needs to be
406         guarded by ENABLE(VIDEO), as it is in its header.
407
408         No new tests.
409
410         * platform/gtk/RenderThemeGtk2.cpp:
411
412 2011-01-02  Dan Bernstein  <mitz@apple.com>
413
414         Rubber-stamped by Simon Fraser.
415
416         <rdar://problem/8812159> Update copyright strings
417
418         * Info.plist:
419
420 2011-01-02  Dan Bernstein  <mitz@apple.com>
421
422         Reviewed by Sam Weinig.
423
424         <rdar://problem/8806570> REGRESSION (r73337): Incorrect text match count when a match occurs in a text field
425         https://bugs.webkit.org/show_bug.cgi?id=51623
426
427         * editing/Editor.cpp:
428         (WebCore::Editor::countMatchesForText): Actually remember the original search range end
429         container and offset and restore them when needed, instead of using two references to the
430         same Range.
431         * manual-tests/find-count-matches-after-text-control.html: Added.
432
433 2011-01-02  Benjamin Poulain  <benjamin.poulain@nokia.com>
434
435         Reviewed by Csaba Osztrogon√°c.
436
437         WebKit 2 does not build on 64bits with a recent GCC
438         https://bugs.webkit.org/show_bug.cgi?id=51754
439
440         Use explicitely 64 bits types for the attributes of DatabaseDetails.
441
442         * storage/DatabaseDetails.h:
443         (WebCore::DatabaseDetails::expectedUsage):
444         (WebCore::DatabaseDetails::currentUsage):
445
446 2011-01-02  Patrick Gansterer  <paroga@webkit.org>
447
448         Unreviewed WinCE build fix for r74868.
449
450         * platform/graphics/wince/ImageBufferWinCE.cpp:
451         (WebCore::getImageData):
452
453 2011-01-02  Sheriff Bot  <webkit.review.bot@gmail.com>
454
455         Unreviewed, rolling out r74847.
456         http://trac.webkit.org/changeset/74847
457         https://bugs.webkit.org/show_bug.cgi?id=51803
458
459         "Preprocessor guards should be in header files" (Requested by
460         ap on #webkit).
461
462         * bindings/js/JSDOMWindowBase.cpp:
463         * dom/Document.cpp:
464         (WebCore::Document::recalcStyle):
465         * html/HTMLDocument.cpp:
466         * loader/FrameLoader.cpp:
467         * loader/ResourceLoadNotifier.cpp:
468         * page/Chrome.cpp:
469         * page/Console.cpp:
470         * page/ContextMenuController.cpp:
471         * page/DOMWindow.cpp:
472         (WebCore::DOMWindow::dispatchEvent):
473         * page/EventHandler.cpp:
474         * page/Page.cpp:
475         * storage/Database.cpp:
476         * workers/AbstractWorker.cpp:
477         * workers/DefaultSharedWorkerRepository.cpp:
478         * workers/SharedWorker.cpp:
479         * workers/Worker.cpp:
480         * workers/WorkerContext.cpp:
481         * workers/WorkerMessagingProxy.cpp:
482         * xml/XMLHttpRequest.cpp:
483         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
484
485 2011-01-02  Patrick Gansterer  <paroga@webkit.org>
486
487         [CMake] Unreviewed build fix.
488
489         * CMakeLists.txt:
490
491 2011-01-02  Dirk Schulze  <krit@webkit.org>
492
493         Reviewed by Simon Fraser.
494
495         Clarify ImageBuffer and ImageData relationship
496         https://bugs.webkit.org/show_bug.cgi?id=51297
497
498         Remove references to ImageData and CanvasPixelArray from ImageBuffer and SVG filter/masker code,
499         since this was a layering violation, and replaced it by ByteArray.
500
501         No change of functionality, so no new test added.
502
503         * html/ImageData.cpp:
504         (WebCore::ImageData::create):
505         (WebCore::ImageData::ImageData):
506         * html/ImageData.h: Added new constructor with ByteArray input.
507         (WebCore::ImageData::width):
508         (WebCore::ImageData::height):
509         (WebCore::ImageData::data):
510         * html/canvas/CanvasPixelArray.cpp:
511         (WebCore::CanvasPixelArray::create):
512         (WebCore::CanvasPixelArray::CanvasPixelArray):
513         * html/canvas/CanvasPixelArray.h: New conctructor with ByteArray input, used by HTML Canvas.
514         (WebCore::CanvasPixelArray::data):
515         (WebCore::CanvasPixelArray::length):
516         (WebCore::CanvasPixelArray::set):
517         (WebCore::CanvasPixelArray::get):
518         * html/canvas/CanvasRenderingContext2D.cpp:
519         (WebCore::CanvasRenderingContext2D::getImageData):
520         (WebCore::CanvasRenderingContext2D::putImageData):
521         * platform/graphics/ImageBuffer.h:
522         * platform/graphics/cairo/ImageBufferCairo.cpp:
523         (WebCore::getImageData):
524         (WebCore::ImageBuffer::getUnmultipliedImageData):
525         (WebCore::ImageBuffer::getPremultipliedImageData):
526         (WebCore::putImageData):
527         (WebCore::ImageBuffer::putUnmultipliedImageData):
528         (WebCore::ImageBuffer::putPremultipliedImageData):
529         * platform/graphics/cg/ImageBufferCG.cpp:
530         (WebCore::getImageData):
531         (WebCore::ImageBuffer::getUnmultipliedImageData):
532         (WebCore::ImageBuffer::getPremultipliedImageData):
533         (WebCore::putImageData):
534         (WebCore::ImageBuffer::putUnmultipliedImageData):
535         (WebCore::ImageBuffer::putPremultipliedImageData):
536         * platform/graphics/filters/FEBlend.cpp:
537         (WebCore::FEBlend::apply):
538         * platform/graphics/filters/FEColorMatrix.cpp:
539         (WebCore::FEColorMatrix::apply):
540         * platform/graphics/filters/FEComponentTransfer.cpp:
541         (WebCore::FEComponentTransfer::apply):
542         * platform/graphics/filters/FEComposite.cpp:
543         (WebCore::FEComposite::apply):
544         * platform/graphics/filters/FEConvolveMatrix.cpp:
545         (WebCore::setDestinationPixels):
546         (WebCore::FEConvolveMatrix::apply):
547         * platform/graphics/filters/FEConvolveMatrix.h:
548         * platform/graphics/filters/FEDisplacementMap.cpp:
549         (WebCore::FEDisplacementMap::apply):
550         * platform/graphics/filters/FEGaussianBlur.cpp:
551         (WebCore::FEGaussianBlur::apply):
552         * platform/graphics/filters/FELighting.cpp:
553         (WebCore::FELighting::apply):
554         * platform/graphics/filters/FEMorphology.cpp:
555         (WebCore::FEMorphology::apply):
556         * platform/graphics/filters/FETurbulence.cpp:
557         (WebCore::FETurbulence::apply):
558         * platform/graphics/filters/FilterEffect.cpp:
559         (WebCore::FilterEffect::asImageBuffer):
560         (WebCore::FilterEffect::asUnmultipliedImage):
561         (WebCore::FilterEffect::asPremultipliedImage):
562         (WebCore::FilterEffect::copyImageBytes):
563         (WebCore::FilterEffect::copyUnmultipliedImage):
564         (WebCore::FilterEffect::copyPremultipliedImage):
565         (WebCore::FilterEffect::createUnmultipliedImageResult):
566         (WebCore::FilterEffect::createPremultipliedImageResult):
567         * platform/graphics/filters/FilterEffect.h:
568         * platform/graphics/qt/ImageBufferQt.cpp:
569         (WebCore::getImageData):
570         (WebCore::ImageBuffer::getUnmultipliedImageData):
571         (WebCore::ImageBuffer::getPremultipliedImageData):
572         (WebCore::putImageData):
573         (WebCore::ImageBuffer::putUnmultipliedImageData):
574         (WebCore::ImageBuffer::putPremultipliedImageData):
575         * platform/graphics/skia/ImageBufferSkia.cpp:
576         (WebCore::getImageData):
577         (WebCore::ImageBuffer::getUnmultipliedImageData):
578         (WebCore::ImageBuffer::getPremultipliedImageData):
579         (WebCore::putImageData):
580         (WebCore::ImageBuffer::putUnmultipliedImageData):
581         (WebCore::ImageBuffer::putPremultipliedImageData):
582         * platform/graphics/wince/ImageBufferWinCE.cpp:
583         (WebCore::getImageData):
584         (WebCore::ImageBuffer::getUnmultipliedImageData):
585         (WebCore::ImageBuffer::getPremultipliedImageData):
586         (WebCore::putImageData):
587         (WebCore::ImageBuffer::putUnmultipliedImageData):
588         (WebCore::ImageBuffer::putPremultipliedImageData):
589         * platform/graphics/wx/ImageBufferWx.cpp:
590         (WebCore::ImageBuffer::getUnmultipliedImageData):
591         (WebCore::ImageBuffer::getPremultipliedImageData):
592         (WebCore::ImageBuffer::putUnmultipliedImageData):
593         (WebCore::ImageBuffer::putPremultipliedImageData):
594         * rendering/RenderSVGResourceMasker.cpp:
595         (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
596
597 2011-01-01  Adam Barth  <abarth@webkit.org>
598
599         Reviewed by Eric Seidel.
600
601         Move JavaScriptCore to Source
602         https://bugs.webkit.org/show_bug.cgi?id=51604
603
604         Update references to JavaScriptCore.
605
606         * Android.derived.jscbindings.mk:
607         * Android.v8bindings.mk:
608         * CMakeLists.txt:
609         * WebCore.gyp/WebCore.gyp:
610         * WebCore.pro:
611           - These changes are subtle and might not be 100% correct.
612         * move-js-headers.sh:
613
614 2011-01-01  Adam Barth  <abarth@webkit.org>
615
616         Reviewed by Eric Seidel.
617
618         forbid sandboxed frames to call top.close() when allow-same-origin is not setted
619         https://bugs.webkit.org/show_bug.cgi?id=38340
620
621         We now pass the ScriptExecutionContext to window.close so it can find
622         the Frame and check whether navigation is allowed.  This check will
623         almost always pass because you can only close top-level frames, but the
624         check will fail when the calling script is sandboxed.
625
626         Tests: fast/frames/sandboxed-iframe-close-top-noclose.html
627                fast/frames/sandboxed-iframe-close-top.html
628
629         * page/DOMWindow.cpp:
630         (WebCore::DOMWindow::close):
631         * page/DOMWindow.h:
632         * page/DOMWindow.idl:
633
634 2011-01-01  Adam Barth  <abarth@webkit.org>
635
636         Reviewed by Eric Seidel.
637
638         sandbox iframes have access to top.history methods
639         https://bugs.webkit.org/show_bug.cgi?id=38152
640
641         To enforce the sandbox restrictions on History, we need to pass the
642         ScriptExecutionContext to WebCore.  This patch leaves the original
643         History methods in place because they are used directly by folks who
644         don't care about security checks.
645
646         Test: fast/frames/sandboxed-iframe-history-denied.html
647
648         * page/History.cpp:
649         (WebCore::History::back):
650         (WebCore::History::forward):
651         (WebCore::History::go):
652         * page/History.h:
653         * page/History.idl:
654
655 2011-01-01  Adam Barth  <abarth@webkit.org>
656
657         Remove empty file.
658
659         * Android.mk:
660         * CMakeLists.txt:
661         * GNUmakefile.am:
662         * WebCore.gypi:
663         * WebCore.pro:
664         * WebCore.vcproj/WebCore.vcproj:
665         * WebCore.xcodeproj/project.pbxproj:
666         * dom/DOMAllInOne.cpp:
667         * dom/Entity.cpp: Removed.
668
669 2011-01-01  Adam Barth  <abarth@webkit.org>
670
671         Remove empty file.
672
673         * CMakeLists.txt:
674         * GNUmakefile.am:
675         * WebCore.pro:
676         * WebCore.vcproj/WebCore.vcproj:
677         * WebCore.xcodeproj/project.pbxproj:
678         * bindings/js/JSBindingsAllInOne.cpp:
679         * bindings/js/JSPopStateEventCustom.cpp: Removed.
680
681 2011-01-01  Adam Barth  <abarth@webkit.org>
682
683         Remove empty files.
684
685         * GNUmakefile.am:
686         * WebCore.gypi:
687         * WebCore.vcproj/WebCore.vcproj:
688         * WebCore.xcodeproj/project.pbxproj:
689         * bindings/generic/BindingFrame.h: Removed.
690         * bindings/generic/BindingLocation.h: Removed.
691
692 2011-01-01  Konstantin Tokarev  <annulen@yandex.ru>
693
694         Reviewed by Darin Adler.
695
696         Don't include Inspector headers when Inspector is disabled
697         https://bugs.webkit.org/show_bug.cgi?id=51789
698
699         * bindings/js/JSDOMWindowBase.cpp: Include Inspector headers when
700         Inspector is enabled
701         * dom/Document.cpp: Include Inspector headers when
702         Inspector is enabled
703         (WebCore::Document::recalcStyle): Disabled InspectorInstrumentationCookie
704         handling
705         * html/HTMLDocument.cpp: Include Inspector headers when
706         Inspector is enabled
707         * loader/FrameLoader.cpp: Include Inspector headers when
708         Inspector is enabled
709         * loader/ResourceLoadNotifier.cpp: Include Inspector headers when
710         Inspector is enabled
711         * page/Chrome.cpp: Include Inspector headers when
712         Inspector is enabled
713         * page/Console.cpp: Include Inspector headers when
714         Inspector is enabled
715         * page/ContextMenuController.cpp: Include Inspector headers when
716         Inspector is enabled
717         * page/DOMWindow.cpp: Include Inspector headers when
718         Inspector is enabled
719         (WebCore::DOMWindow::dispatchEvent): Disabled InspectorInstrumentationCookie
720         handling
721         * page/EventHandler.cpp: Include Inspector headers when
722         Inspector is enabled
723         * page/Page.cpp: Include Inspector headers when
724         Inspector is enabled
725         * storage/Database.cpp: Include Inspector headers when
726         Inspector is enabled
727         * workers/AbstractWorker.cpp: Include Inspector headers when
728         Inspector is enabled
729         * workers/DefaultSharedWorkerRepository.cpp: Include Inspector headers when
730         Inspector is enabled
731         * workers/SharedWorker.cpp: Include Inspector headers when
732         Inspector is enabled
733         * workers/Worker.cpp: Include Inspector headers when
734         Inspector is enabled
735         * workers/WorkerContext.cpp: Include Inspector headers when
736         Inspector is enabled
737         * workers/WorkerMessagingProxy.cpp: Include Inspector headers when
738         Inspector is enabled
739         * xml/XMLHttpRequest.cpp: Include Inspector headers when
740         Inspector is enabled
741         (WebCore::XMLHttpRequest::callReadyStateChangeListener): Disabled
742         InspectorInstrumentationCookie handling
743
744 2010-12-31  Adam Barth  <abarth@webkit.org>
745
746         Reviewed by Darin Adler.
747
748         fast/loader/about-blank-hash-change.html fails on Chromium
749         https://bugs.webkit.org/show_bug.cgi?id=51788
750
751         I'm unable to reproduce the failure locally, so this patch is slightly
752         speculative.  We need to be slighly more careful how we compare the
753         fragment identifiers for Chromium because Chromium uses a URL parser
754         that is more agressive about canonicalization.
755
756         * page/Location.cpp:
757         (WebCore::Location::setHash):
758
759 2010-12-31  Martin Robinson  <mrobinson@igalia.com>
760
761         Reviewed by Xan Lopez.
762
763         [GTK] Use GLib/GIO API for FileSystemGtk implementation
764         https://bugs.webkit.org/show_bug.cgi?id=51617
765
766         Complete implementation of FileSystem platform code for GLib. This
767         converts remaining API points using POSIX calls to platform-independent
768         GLib calls and fixes other compilation errors.
769
770         No new tests. This code will be tested when an implementation
771         of beginDragWithFiles is complete.
772
773         (WebCore::JSDirectoryEntry::getFile):
774         (WebCore::JSDirectoryEntry::getDirectory):
775         * platform/FileSystem.h: Added forward declarations for GLib types to
776         avoid GLib includes and changed the PlatformFileHandle to be a GIOStream.
777         * platform/gtk/FileSystemGtk.cpp:
778         (WebCore::openTemporaryFile): Reimplement using only GLib calls.
779         (WebCore::openFile): Ditto.
780         (WebCore::closeFile): Ditto.
781         (WebCore::seekFile): Added implementation.
782         (WebCore::writeToFile): Reimplement using only GLib calls.
783         (WebCore::readFromFile): Ditto.
784
785 2010-12-31  Darin Adler  <darin@apple.com>
786
787         Reviewed by Dan Bernstein.
788
789         Some renaming and refactoring of form element code
790         https://bugs.webkit.org/show_bug.cgi?id=51784
791
792         * bindings/js/JSHTMLSelectElementCustom.cpp:
793         (WebCore::JSHTMLSelectElement::remove): Call new overload of remove
794         for option elements instead of putting the logic in the binding.
795
796         * html/HTMLButtonElement.cpp:
797         (WebCore::HTMLButtonElement::HTMLButtonElement): Updated for name changes.
798         (WebCore::HTMLButtonElement::defaultEventHandler): Renamed argument to
799         "event" instead of "evt". Also updated for name changes.
800         (WebCore::HTMLButtonElement::isActivatedSubmit): Ditto.
801         (WebCore::HTMLButtonElement::setActivatedSubmit): Ditto.
802         (WebCore::HTMLButtonElement::appendFormData): Ditto.
803         * html/HTMLButtonElement.h: Renamed m_activeSubmit to m_isActivatedSubmit
804         to match the getter function name. The name still doesn't seem great.
805
806         * html/HTMLFormElement.cpp:
807         (WebCore::HTMLFormElement::HTMLFormElement): Updated for name changes.
808         (WebCore::HTMLFormElement::~HTMLFormElement): Use autoComplete function
809         instead of m_autocomplete data member.
810         (WebCore::HTMLFormElement::rendererIsNeeded): Use m_wasDemoted data member
811         instead of otherwise-unused isDemoted function.
812         (WebCore::HTMLFormElement::submitImplicitly): Updated for name changes.
813         (WebCore::HTMLFormElement::validateInteractively): Removed code to clear
814         m_insubmit. This is now handled by the caller, prepareForSubmission.
815         (WebCore::HTMLFormElement::prepareForSubmission): Renamed. Updated for
816         name changes. Moved code to clear m_isSubmittingOrPreparingForSubmission
817         here from validateInteractively. Removed unneeded check of m_doingsubmit
818         boolean before setting it.
819         (WebCore::HTMLFormElement::submit): Factored this function into two.
820         One for JavaScript and one for non-JavaScript. Neither function needs a frame
821         argument, because the question being asked, anyPageIsProcessingUserGesture,
822         is a question asked of an entire page group, not a specific frame or page,
823         so it's not important which is the active frame.
824         (WebCore::HTMLFormElement::submitFromJavaScript): Ditto.
825         (WebCore::HTMLFormElement::reset): Updated for name changes.
826         (WebCore::HTMLFormElement::parseMappedAttribute): Removed code to parse
827         acceptAttr and got rid of code to set m_autocomplete.
828         (WebCore::HTMLFormElement::elementForAlias): Changed return type to a raw
829         pointer.
830         (WebCore::HTMLFormElement::getNamedElements): Updated to use raw pointer
831         and the vector find function. Added a FIXME about the comment.
832         (WebCore::HTMLFormElement::documentDidBecomeActive): Use autoComplete
833         function instead of m_autocomplete data member.
834         (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Ditto.
835         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto.
836         (WebCore::HTMLFormElement::autoComplete): Ditto.
837         * html/HTMLFormElement.h: Added a FIXME about renaming the autoComplete
838         function. Renamed prepareSubmit to prepareForSubmission. Got rid of the
839         frame argument from the submit function and added a new submitFromJavaScript
840         variant. Removed the unneeded isDemoted function. Changed the return type
841         of elementForAlias to a raw pointer. Removed m_autocomplete. Renamed
842         m_insubmit to m_isSubmittingOrPreparingForSubmission, m_doingsubmit to
843         m_shouldSubmit, m_inreset to m_inResetFunction, m_malformed to m_wasMalformed,
844         m_demoted to m_wasDemoted. Use plain bool instead of bitfields.
845
846         * html/HTMLFormElement.idl: Use the function named submitFromJavaScript
847         instead of using CallWith=DynamicFrame because we don't need to know
848         what frame is calling. If we did, it's not clear that the "dynamic"
849         frame would be the right one anyway.
850
851         * html/HTMLSelectElement.cpp:
852         (WebCore::HTMLSelectElement::remove): Added an overload that takes an option
853         element, since the JavaScript binding supports this.
854         * html/HTMLSelectElement.h: Ditto.
855
856         * html/ImageInputType.cpp:
857         (WebCore::ImageInputType::handleDOMActivateEvent): Updated for name changes.
858         * html/ImageInputType.h: Ditto.
859         * html/SubmitInputType.cpp:
860         (WebCore::SubmitInputType::handleDOMActivateEvent): Ditto.
861
862 2010-12-31  Daniel Bates  <dbates@rim.com>
863
864         Reviewed by Darin Adler.
865
866         Pass style for <area> instead of associated <img> when querying whether
867         the theme draws the focus ring for an <area>
868         https://bugs.webkit.org/show_bug.cgi?id=51632
869
870         Fixes an issue where the style for the associated <img> of an <area>
871         was passed when considering whether the theme should draw a focus ring
872         for the <area>. Instead, we should pass the theme the style for the <area>.
873
874         It's not possible to test this at this time since there are no themes
875         that override focus ring drawing for <area>s.
876
877         * rendering/RenderImage.cpp:
878         (WebCore::RenderImage::paintFocusRing): Moved call to RenderTheme::supportsFocusRing()
879         such that it's called with respect to the focused <area>.
880
881 2010-12-31  Darin Adler  <darin@apple.com>
882
883         * WebCore.xcodeproj/project.pbxproj: Added back the language.
884         Developers should be using Xcode 3.2.5 or newer.
885
886 2010-12-31  Adam Barth  <abarth@webkit.org>
887
888         Reviewed by Eric Seidel.
889
890         Move V8 to WebCore Location implementation
891         https://bugs.webkit.org/show_bug.cgi?id=51768
892
893         * bindings/generic/BindingFrame.h:
894         * bindings/generic/BindingLocation.h:
895         * bindings/v8/V8Binding.h:
896         * bindings/v8/V8DOMWindowShell.cpp:
897         (WebCore::V8DOMWindowShell::setLocation):
898         * bindings/v8/V8Utilities.cpp:
899         * bindings/v8/V8Utilities.h:
900         * bindings/v8/custom/V8LocationCustom.cpp:
901         (WebCore::V8Location::hashAccessorSetter):
902         (WebCore::V8Location::hostAccessorSetter):
903         (WebCore::V8Location::hostnameAccessorSetter):
904         (WebCore::V8Location::hrefAccessorSetter):
905         (WebCore::V8Location::pathnameAccessorSetter):
906         (WebCore::V8Location::portAccessorSetter):
907         (WebCore::V8Location::protocolAccessorSetter):
908         (WebCore::V8Location::searchAccessorSetter):
909         (WebCore::V8Location::reloadCallback):
910         (WebCore::V8Location::replaceCallback):
911         (WebCore::V8Location::assignCallback):
912
913 2010-12-31  Yi Shen  <yi.4.shen@nokia.com>
914
915         Reviewed by Eric Seidel.
916
917         Make retrieving extraMediaControlsStyleSheet be page dependent.
918         https://bugs.webkit.org/show_bug.cgi?id=51752
919
920         Use themeForPage to retrieve extraMediaControlsStyleSheet for media
921         controls.
922
923         No new tests because no platform-specific theme implementation uses
924         the passed page pointer yet.
925
926         * css/CSSStyleSelector.cpp:
927         (WebCore::CSSStyleSelector::styleForElement):
928
929 2010-12-31  Ilya Tikhonovsky  <loislo@chromium.org>
930
931         Reviewed by Pavel Feldman.
932
933         Web Inspector: [REGRESSION] WebInspector.ResourcesPanel.prototype.canShowSourceLine() broken.
934
935         https://bugs.webkit.org/show_bug.cgi?id=51709
936
937         * inspector/front-end/ResourcesPanel.js:
938         (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
939
940 2010-12-31  Patrick Gansterer  <paroga@webkit.org>
941
942         Unreviewed build fix after r74800.
943
944         * bindings/js/JSDOMWindowCustom.cpp: Add missing header.
945         * bindings/js/JSLocationCustom.cpp: Ditto.
946
947 2010-12-31  Adam Barth  <abarth@webkit.org>
948
949         Rubber-stamped by Eric Seidel.
950
951         Move HTML and XML parser benchmarks into PerformanceTests/Parser
952         https://bugs.webkit.org/show_bug.cgi?id=51772
953
954         Remove the benchmarks folder now that it's empty.  Future benchmarks
955         should go in the PerformanceTests directory.
956
957         * benchmarks: Removed.
958         * benchmarks/parser: Removed.
959         * benchmarks/parser/html-parser.html: Removed.
960         * benchmarks/parser/resources: Removed.
961         * benchmarks/parser/resources/html5.html: Removed.
962         * benchmarks/parser/resources/runner.js: Removed.
963         * benchmarks/parser/xml-parser.html: Removed.
964
965 2010-12-31  Patrick Gansterer  <paroga@webkit.org>
966
967         Reviewed by Adam Barth.
968
969         Add XML parser benchmark
970         https://bugs.webkit.org/show_bug.cgi?id=51612
971
972         Move the JavaScript code of html parser into a separate file to share it with xml parser.
973
974         * benchmarks/parser/html-parser.html:
975         * benchmarks/parser/resources/runner.js: Copied from WebCore/benchmarks/parser/html-parser.html.
976         (runFunction):
977         (run):
978         (start):
979         * benchmarks/parser/xml-parser.html: Copied from WebCore/benchmarks/parser/html-parser.html.
980
981 2010-12-29  Zhenyao Mo  <zmo@google.com>
982
983         Reviewed by Kenneth Russell.
984
985         Update validation of stencil mask and ref values
986         https://bugs.webkit.org/show_bug.cgi?id=50716
987
988         * html/canvas/WebGLRenderingContext.cpp:
989         (WebCore::WebGLRenderingContext::initializeNewContext): Initialize cached stencil settings.
990         (WebCore::WebGLRenderingContext::drawArrays): Validate stencil settings.
991         (WebCore::WebGLRenderingContext::drawElements): Ditto.
992         (WebCore::WebGLRenderingContext::stencilFunc): Cache stencil settings, but generate no error.
993         (WebCore::WebGLRenderingContext::stencilFuncSeparate): Ditto.
994         (WebCore::WebGLRenderingContext::stencilMask): Ditto.
995         (WebCore::WebGLRenderingContext::stencilMaskSeparate): Ditto.
996         (WebCore::WebGLRenderingContext::validateStencilSettings): Helper function to validate stencil settings.
997         * html/canvas/WebGLRenderingContext.h: Declare stencil setting members.
998
999 2010-12-30  Martin Robinson  <mrobinson@igalia.com>
1000
1001         Reviewed by Xan Lopez.
1002
1003         [GTK] Fork pieces of RenderThemeGtk that will differ for GTK+ 3
1004         https://bugs.webkit.org/show_bug.cgi?id=51755
1005
1006         Split out pieces of RenderThemeGtk into RenderThemeGtk2 and RenderThemeGtk3
1007         if they are going to differ between GTK+ 2.x and GTK+ 3.x. This is the preliminary
1008         step to landing support for the new GTK+ 3.x theming API.
1009
1010         No new tests. This should not change functionality.
1011
1012         * GNUmakefile.am: Add RenderThemeGtk2 and RenderThemeGtk3 to the sources list.
1013         * platform/gtk/RenderThemeGtk.cpp:
1014         (WebCore::RenderThemeGtk::adjustTextFieldStyle): Call the setTextInputBorders static method.
1015         (WebCore::RenderThemeGtk::adjustTextAreaStyle): Ditto.
1016         (WebCore::RenderThemeGtk::paintMediaButton): Ditto.
1017         (WebCore::RenderThemeGtk::adjustProgressBarStyle): ditto.
1018         * platform/gtk/RenderThemeGtk.h: Make setTextInputBorders a method, so that
1019         it can be exist in RenderThemeGtk{2,3} and be called from RenderThemeGtk.
1020         * platform/gtk/RenderThemeGtk2.cpp: Added. A fork of the bits of RenderThemeGtk
1021         that will eventually be platform-dependent.
1022         * platform/gtk/RenderThemeGtk3.cpp: Added. Ditto.
1023
1024 2010-12-30  Justin Schuh  <jschuh@chromium.org>
1025
1026         Reviewed by James Robinson.
1027
1028         Reverting r74292 because it introduced a crash with ruby text.
1029         https://bugs.webkit.org/show_bug.cgi?id=51637
1030
1031         Test: fast/css/counters/counter-ruby-text-cleared.html
1032
1033         * rendering/RenderCounter.cpp:
1034         (WebCore::findPlaceForCounter):
1035         * rendering/RenderObject.cpp:
1036         (WebCore::RenderObject::addChild):
1037         * rendering/RenderObjectChildList.cpp:
1038         (WebCore::RenderObjectChildList::appendChildNode):
1039         (WebCore::RenderObjectChildList::insertChildNode):
1040
1041 2010-12-30  Darin Adler  <darin@apple.com>
1042
1043         Reviewed by David Kilzer.
1044
1045         Remove unused JSBinding source files
1046         https://bugs.webkit.org/show_bug.cgi?id=51762
1047
1048         * bindings/js/JSBinding.h: Removed.
1049         * bindings/js/specialization: Removed.
1050         * bindings/js/specialization/JSBindingState.cpp: Removed.
1051         * bindings/js/specialization/JSBindingState.h: Removed.
1052
1053         * CMakeLists.txt: Removed references to files.
1054         * GNUmakefile.am: Ditto.
1055         * WebCore.gypi: Ditto.
1056         * WebCore.pro: Ditto.
1057         * WebCore.vcproj/WebCore.vcproj: Ditto.
1058         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
1059
1060 2010-12-30  Tony Gentilcore  <tonyg@chromium.org>
1061
1062         Reviewed by Darin Adler.
1063
1064         Remove Document.h include from some headers where it isn't necessary
1065         https://bugs.webkit.org/show_bug.cgi?id=51730
1066
1067         No new tests because no new functionality.
1068
1069         * editing/EditingStyle.cpp:
1070         * editing/EditingStyle.h:
1071         * editing/SelectionController.h:
1072         * editing/visible_units.h:
1073         * html/HTMLAudioElement.h:
1074         * html/HTMLBodyElement.h:
1075         * inspector/InspectorCSSAgent.h:
1076         * inspector/InspectorDOMAgent.h:
1077         * inspector/InspectorInstrumentation.h:
1078         * xml/DOMParser.cpp:
1079         * xml/DOMParser.h:
1080         (WebCore::DOMParser::create):
1081         (WebCore::DOMParser::DOMParser):
1082
1083 2010-12-30  Benjamin C Meyer  <bmeyer@rim.com>
1084
1085         Reviewed by Darin Adler.
1086
1087         bindings/js/JSDesktopNotificationsCustom.cpp is not included in the cmake build
1088         which is required when NOTIFICATIONS is enabled.
1089
1090         https://bugs.webkit.org/show_bug.cgi?id=51761
1091
1092         * CMakeLists.txt:
1093
1094 2010-12-30  Antti Koivisto  <antti@apple.com>
1095
1096         Not reviewed.
1097
1098         Revert accidental project file change.
1099
1100         * WebCore.xcodeproj/project.pbxproj:
1101
1102 2010-12-30  Antti Koivisto  <antti@apple.com>
1103
1104         Reviewed by Darin Adler.
1105
1106         https://bugs.webkit.org/show_bug.cgi?id=51134
1107         Move loading related code from MemoryCache to CachedResourceLoader
1108
1109         - Merge MemoryCache::requestResource to CachedResourceLoader::requestResource
1110         - Merge MemoryCache::requestUserCSSStyleSheet to CachedResourceLoader::requestUserCSSStyleSheet
1111         - Move MemoryCache::revalidateResource to CachedResourceLoader::revalidateResource
1112         - Add MemoryCache::add
1113         - Refactor the decision on whether to reload, revalidate or use the existing resource to 
1114           a single function, CachedResourceLoader::determineRevalidationPolicy
1115
1116         * css/CSSImageValue.cpp:
1117         (WebCore::CSSImageValue::cachedImage):
1118             
1119             Remove a code path that called MemoryCache::requestResource directly. This code path would have crashed
1120             if ever taken (since it passes null CachedResourceLoader pointer).
1121             
1122         * loader/ImageLoader.cpp:
1123         (WebCore::ImageLoader::updateFromElement):
1124         * loader/cache/CachedImage.cpp:
1125         * loader/cache/CachedResource.cpp:
1126         (WebCore::CachedResource::CachedResource):
1127         (WebCore::CachedResource::~CachedResource):
1128         (WebCore::CachedResource::mustRevalidateDueToCacheHeaders):
1129         
1130             Moved tests that were not about cache headers to CachedResourceLoader::determineRevalidationPolicy and renamed.
1131         
1132         (WebCore::CachedResource::setLoadPriority):
1133         
1134             Check for Unresolved value before setting.
1135         
1136         * loader/cache/CachedResource.h:
1137         (WebCore::CachedResource::setOwningCachedResourceLoader):
1138         
1139             Rename to be bit less mysterious.
1140         
1141         * loader/cache/CachedResourceLoader.cpp:
1142         (WebCore::createResource):
1143         
1144             This was moved from MemoryCache.
1145         
1146         (WebCore::CachedResourceLoader::~CachedResourceLoader):
1147         (WebCore::CachedResourceLoader::determineRevalidationPolicy):
1148         (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
1149         
1150             This was moved/merged from MemoryCache.
1151         
1152         (WebCore::CachedResourceLoader::canRequest):
1153         (WebCore::CachedResourceLoader::requestResource):
1154         
1155             This combines MemoryCache::requestResource and the existing method.
1156         
1157         (WebCore::CachedResourceLoader::revalidateResource):
1158         
1159             This was moved from MemoryCache.
1160         
1161         (WebCore::CachedResourceLoader::loadResource):
1162         
1163             New method for initiating loading.
1164         
1165         (WebCore::CachedResourceLoader::notifyLoadedFromMemoryCache):
1166         
1167             Renamed the mysterious CachedResourceLoader::checkCacheObjectStatus
1168         
1169         * loader/cache/CachedResourceLoader.h:
1170         * loader/cache/MemoryCache.cpp:
1171         (WebCore::MemoryCache::add):
1172         * loader/cache/MemoryCache.h:
1173         (WebCore::MemoryCache::remove):
1174
1175 2010-12-30  Steve Block  <steveblock@google.com>
1176
1177         Reviewed by Gavin Barraclough.
1178
1179         Enable JSC Rich Source Info for Android even when Inspector and Debugger are disabled
1180         https://bugs.webkit.org/show_bug.cgi?id=51740
1181
1182         This is a policy decision for Android.
1183
1184         No new tests, simply enabling existing, tested code on Android.
1185
1186         * bindings/js/JSDOMWindowBase.cpp:
1187         (WebCore::JSDOMWindowBase::supportsRichSourceInfo):
1188
1189 2010-12-30  Yael Aharon  <yael.aharon@nokia.com>
1190
1191         Reviewed by Adam Barth.
1192
1193         REGRESSION: fast/dom/cssTarget-crash.html fails
1194         https://bugs.webkit.org/show_bug.cgi?id=20342
1195
1196         Do not reload the page when submitting a form, using "GET" method, and the
1197         form action url matches the location url, except for the fragment.
1198       
1199         Test: fast/forms/submit-change-fragment.html
1200
1201         * loader/FrameLoader.cpp:
1202         (WebCore::FrameLoader::loadURL):
1203         (WebCore::FrameLoader::loadWithDocumentLoader):
1204         (WebCore::FrameLoader::shouldScrollToAnchor):
1205         * loader/FrameLoader.h:
1206
1207 2010-12-30  Darin Adler  <darin@apple.com>
1208
1209         Reviewed by Adam Barth.
1210
1211         Move security logic out of the JavaScript binding for location into the DOM class
1212         https://bugs.webkit.org/show_bug.cgi?id=51714
1213
1214         * WebCore.xcodeproj/project.pbxproj: Removed JSBindingState.cpp, JSBindingState.h,
1215         and JSBinding.h. Later, we'll remove them from other project files and delete
1216         the source files.
1217
1218         * bindings/js/JSBinding.h: Emptied out, marked for later deletion.
1219
1220         * bindings/js/JSDOMBinding.cpp: Removed unused overload of the jsOwnedStringOrNull
1221         function, unused shouldAllowNavigation function, unused allowSettingSrcToJavascriptURL
1222         function, unused toLexicalFrame function, unused completeURL function, unused
1223         getCachedDOMStructure and cacheDOMStructure overloads, and unused
1224         getCachedDOMConstructor and cacheDOMConstruction functions.
1225         (WebCore::activeDOMWindow): Added.
1226         (WebCore::firstDOMWindow): Added.
1227         (WebCore::toDynamicFrame): Changed to use firstDOMWindow instead of calling through
1228         JSBindingState, since the latter is an unneeded abstraction.
1229         (WebCore::processingUserGesture): Changed to call ScriptController's function
1230         rather than calling through JSBindingState, which is an unneeded abstraction
1231
1232         * bindings/js/JSDOMBinding.h: Removed the functions mentioned above. Added
1233         activeDOMWindow and firstDOMWindow. Also added a FIXME for the extremely poorly
1234         named allowsAccessFromFrame functions, which answer the question of whether
1235         script is allowed access *to* a frame.
1236
1237         * bindings/js/JSDOMWindowCustom.cpp: Removed many unneeded includes.
1238         (WebCore::JSDOMWindow::setLocation): Streamlined by using the new
1239         activeDOMWindow and firstDOMWindow functions.
1240         (WebCore::JSDOMWindow::open): Ditto.
1241         (WebCore::JSDOMWindow::showModalDialog): Ditto.
1242         (WebCore::JSDOMWindow::postMessage): Ditto.
1243
1244         * bindings/js/JSLocationCustom.cpp:
1245         (WebCore::JSLocation::setHref): Changed to pass the active and first windows through
1246         to the Location::setHref function, with it doing the rest of the work. This moves
1247         work out of the DOM binding that belongs in the DOM itself. Eventually such functions
1248         could even be automatically generated by the bindings script.
1249         (WebCore::JSLocation::setProtocol): Ditto.
1250         (WebCore::JSLocation::setHost): Ditto.
1251         (WebCore::JSLocation::setHostname): Ditto.
1252         (WebCore::JSLocation::setPort): Ditto.
1253         (WebCore::JSLocation::setPathname): Ditto.
1254         (WebCore::JSLocation::setSearch): Ditto.
1255         (WebCore::JSLocation::setHash): Ditto.
1256         (WebCore::JSLocation::replace): Ditto.
1257         (WebCore::JSLocation::reload): Ditto.
1258         (WebCore::JSLocation::assign): Ditto.
1259
1260         * bindings/js/specialization/JSBindingState.cpp: Emptied out, marked for later deletion.
1261         * bindings/js/specialization/JSBindingState.h: Emptied out, marked for later deletion.
1262
1263         * page/DOMWindow.cpp:
1264         (WebCore::DOMWindow::setLocation): Added a SetLocationLocking argument that allows us
1265         to use this function for Location::replace, which is the same as setLocation except that
1266         it locks both history and the back/forward list.
1267         * page/DOMWindow.h: Ditto.
1268
1269         * page/Location.cpp:
1270         (WebCore::Location::setHref): Added. Uses DOMWindow::setLocation so that the security
1271         logic there does not have to be repeated or even refactored.
1272         (WebCore::Location::setProtocol): Ditto.
1273         (WebCore::Location::setHost): Ditto.
1274         (WebCore::Location::setHostname): Ditto.
1275         (WebCore::Location::setPort): Ditto.
1276         (WebCore::Location::setPathname): Ditto.
1277         (WebCore::Location::setSearch): Ditto.
1278         (WebCore::Location::setHash): Ditto.
1279         (WebCore::Location::assign): Ditto.
1280         (WebCore::Location::replace): Ditto.
1281         (WebCore::Location::reload): Added. Security logic was refactored from the code in
1282         JSLocationCustom.cpp. Added a FIXME about the fact that this security logic seems
1283         possibly unneeded.
1284
1285         * page/Location.h: Fixed indentation on the whole file. Added the new functions above.
1286         (WebCore::Location::create):
1287         (WebCore::Location::frame):
1288
1289 2010-12-30  Alexander Pavlov  <apavlov@chromium.org>
1290
1291         Reviewed by Pavel Feldman.
1292
1293         Web Inspector: Pasting a style property with value should automatically split it into prop/value
1294         https://bugs.webkit.org/show_bug.cgi?id=51581
1295
1296         The "paste" DOM event is handled for the CSS property name field to parse out the name and value parts
1297         of a CSS property being pasted (by the first ':' found). The property is committed (if not a new one),
1298         and the edit focus is transferred to the value field.
1299
1300         * inspector/front-end/StylesSidebarPane.js:
1301         (WebInspector.StylePropertyTreeElement.prototype.selectElement):
1302         (WebInspector.StylePropertyTreeElement.prototype):
1303         * inspector/front-end/inspector.js:
1304         (WebInspector.completeURL): Drive-by: return full URLs as-is.
1305         (WebInspector.startEditing.cleanUpAfterEditing):
1306         (WebInspector.startEditing):
1307         (WebInspector.startEditing.pasteEventListener):
1308         (WebInspector.startEditing.keyDownEventListener):
1309
1310 2010-12-30  Pavel Podivilov  <podivilov@chromium.org>
1311
1312         Reviewed by Pavel Feldman.
1313
1314         Web Inspector: breakpoint is not disabled when clicking on breakpoints sidebar pane checkbox.
1315         https://bugs.webkit.org/show_bug.cgi?id=51745
1316
1317         * inspector/front-end/Breakpoint.js:
1318         (WebInspector.Breakpoint.prototype.set enabled):
1319
1320 2010-12-30  Pavel Podivilov  <podivilov@chromium.org>
1321
1322         Reviewed by Pavel Feldman.
1323
1324         Web Inspector: call stack shows "Paused on a JavaScript breakpoint" when stepping.
1325         https://bugs.webkit.org/show_bug.cgi?id=51748
1326
1327         * inspector/front-end/CallStackSidebarPane.js:
1328         (WebInspector.CallStackSidebarPane.prototype.update):
1329         (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
1330         (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
1331         (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
1332
1333 2010-12-30  Mikhail Naganov  <mnaganov@chromium.org>
1334
1335         Reviewed by Pavel Feldman.
1336
1337         Fix leak of MemoryInfo wrappers introduced in r57004 (see issue 51712).
1338
1339         https://bugs.webkit.org/show_bug.cgi?id=51713
1340
1341         * WebCore.gypi:
1342         * WebCore.pro:
1343         * bindings/v8/custom/V8ConsoleCustom.cpp:
1344         (WebCore::V8Console::memoryAccessorGetter):
1345         * bindings/v8/custom/V8PerformanceCustom.cpp: Copied from V8ConsoleCustom.cpp.
1346         (WebCore::V8Performance::memoryAccessorGetter):
1347         * page/Console.idl:
1348         * page/Performance.idl:
1349
1350 2010-12-30  Steve Block  <steveblock@google.com>
1351
1352         Reviewed by Sam Weinig.
1353
1354         Visiting macnn.com often causes SQL spew via geolocation database
1355         https://bugs.webkit.org/show_bug.cgi?id=51557
1356
1357         If the Geolocation position cache database path has not been set, early-out
1358         rather than using an empty path and thus failing to open the database.
1359         This avoids SQL log spew.
1360
1361         Also, avoid starting the database thread until the path has been set, and
1362         shorten the thread name to avoid warnings due to exceeding 30 characters.
1363
1364         No new tests, implementation clean-up only.
1365
1366         * page/GeolocationPositionCache.cpp:
1367         (WebCore::GeolocationPositionCache::addUser):
1368         (WebCore::GeolocationPositionCache::removeUser):
1369         (WebCore::GeolocationPositionCache::setDatabasePath):
1370         (WebCore::GeolocationPositionCache::startBackgroundThread):
1371
1372 2010-12-29  Philippe Normand  <pnormand@igalia.com>
1373
1374         Reviewed by Martin Robinson.
1375
1376         [GTK] minimal build fails at link time due to missing sqlite3 symbols
1377         https://bugs.webkit.org/show_bug.cgi?id=51327
1378
1379         Guard the code calling sqlite3 with the ENABLE(DATABASE) check.
1380
1381         No new tests, build fix only.
1382
1383         * platform/sql/SQLiteAuthorizer.cpp:
1384         * platform/sql/SQLiteDatabase.cpp:
1385         * platform/sql/SQLiteFileSystem.cpp:
1386         * platform/sql/SQLiteStatement.cpp:
1387         * platform/sql/SQLiteTransaction.cpp:
1388
1389 2010-12-30  Justin Schuh  <jschuh@chromium.org>
1390
1391         Reviewed by Dirk Schulze.
1392
1393         Prevent stringToLengthType() from skipping past end-of-string on invalid length unit. 
1394         https://bugs.webkit.org/show_bug.cgi?id=51692
1395
1396         * svg/SVGLength.cpp:
1397         (WebCore::stringToLengthType):
1398         (WebCore::SVGLength::setValueAsString):
1399
1400 2010-12-30  Abhishek Arya  <inferno@chromium.org>
1401
1402         Reviewed by Eric Seidel.
1403
1404         Create a helper function for finding descendent video elements for a node.
1405         https://bugs.webkit.org/show_bug.cgi?id=51696
1406
1407         Test: media/video-element-other-namespace-crash.html
1408
1409         * html/MediaDocument.cpp:
1410         (WebCore::descendentVideoElement): helper function.
1411         (WebCore::MediaDocument::defaultEventHandler): use the new helper function. fix code repetitions.
1412         (WebCore::MediaDocument::replaceMediaElementTimerFired): use the new helper function.
1413
1414 2010-12-29  Pavel Feldman  <pfeldman@chromium.org>
1415
1416         Reviewed by Yury Semikhatsky.
1417
1418         Web Inspector: extract Database & DOM Storage agents; remove InspectorBackend.
1419         https://bugs.webkit.org/show_bug.cgi?id=51707
1420
1421         This change brushes up storage agents + removes redundant InspectorBackend class.
1422
1423         * CMakeLists.txt:
1424         * GNUmakefile.am:
1425         * WebCore.gypi:
1426         * WebCore.pro:
1427         * WebCore.vcproj/WebCore.vcproj:
1428         * WebCore.xcodeproj/project.pbxproj:
1429         * inspector/CodeGeneratorInspector.pm:
1430         * inspector/InjectedScriptHost.cpp:
1431         (WebCore::InjectedScriptHost::databaseForId):
1432         (WebCore::InjectedScriptHost::selectDatabase):
1433         (WebCore::InjectedScriptHost::selectDOMStorage):
1434         (WebCore::InjectedScriptHost::inspectorDOMAgent):
1435         * inspector/Inspector.idl:
1436         * inspector/InspectorBackend.cpp: Removed.
1437         * inspector/InspectorBackend.h: Removed.
1438         * inspector/InspectorController.cpp:
1439         (WebCore::InspectorController::InspectorController):
1440         (WebCore::InspectorController::~InspectorController):
1441         (WebCore::InspectorController::connectFrontend):
1442         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
1443         (WebCore::InspectorController::didUseDOMStorage):
1444         (WebCore::InspectorController::setInjectedScriptSource):
1445         (WebCore::InspectorController::dispatchOnInjectedScript):
1446         (WebCore::InspectorController::releaseWrapperObjectGroup):
1447         * inspector/InspectorController.h:
1448         * inspector/InspectorDOMStorageAgent.cpp: Added.
1449         (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
1450         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
1451         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
1452         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
1453         (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
1454         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
1455         (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
1456         * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h.
1457         (WebCore::InspectorDOMStorageAgent::create):
1458         (WebCore::InspectorDOMStorageAgent::frontend):
1459         * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp.
1460         (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
1461         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
1462         (WebCore::InspectorDatabaseAgent::executeSQL):
1463         (WebCore::InspectorDatabaseAgent::databaseForId):
1464         (WebCore::InspectorDatabaseAgent::selectDatabase):
1465         (WebCore::InspectorDatabaseAgent::clearFrontend):
1466         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
1467         * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h.
1468         (WebCore::InspectorDatabaseAgent::create):
1469         (WebCore::InspectorDatabaseAgent::frontend):
1470         * inspector/front-end/ScriptsPanel.js:
1471         (WebInspector.ScriptsPanel.prototype.show):
1472         (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
1473         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
1474
1475 2010-12-29  Dirk Schulze  <krit@webkit.org>
1476
1477         Reviewed by Darin Adler.
1478
1479         Cleanup SVG code according to the webkit style rules 3
1480         https://bugs.webkit.org/show_bug.cgi?id=51490
1481
1482         Last patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
1483         Just one file can't be fixed for check-webkit-style.
1484         * SVGAllInOne.cpp: check-webkit-style wants a config.h at the beginning
1485
1486         No changes of functionality, so no new tests. 
1487
1488         * svg/SVGAllInOne.cpp:
1489         * svg/SVGImage.cpp:
1490         * svg/SVGLength.cpp:
1491         (WebCore::SVGLength::setValue):
1492         * svg/SVGPolygonElement.h:
1493         * svg/SVGPolylineElement.h:
1494         * svg/SVGPreserveAspectRatio.cpp:
1495         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
1496         (WebCore::SVGPreserveAspectRatio::transformRect):
1497         * svg/SVGSVGElement.cpp:
1498         (WebCore::SVGSVGElement::viewport):
1499         * svg/SVGSetElement.h:
1500         * svg/SVGStylable.h:
1501         (WebCore::SVGStylable::~SVGStylable):
1502         * svg/SVGStyledLocatableElement.h:
1503         (WebCore::SVGStyledLocatableElement::localCoordinateSpaceTransform):
1504         (WebCore::SVGStyledLocatableElement::isStyledLocatable):
1505         * svg/SVGStyledTransformableElement.cpp:
1506         (WebCore::SVGStyledTransformableElement::isKnownAttribute):
1507         * svg/SVGSwitchElement.cpp:
1508         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
1509         * svg/SVGTests.cpp:
1510         (WebCore::SVGTests::parseMappedAttribute):
1511         * svg/SVGTextContentElement.cpp:
1512         (WebCore::SVGTextContentElement::isKnownAttribute):
1513         * svg/SVGTextPathElement.cpp:
1514         * svg/SVGTextPathElement.h:
1515         * svg/SVGTitleElement.h:
1516         (WebCore::SVGTitleElement::rendererIsNeeded):
1517         * svg/SVGTransformDistance.cpp:
1518         (WebCore::SVGTransformDistance::SVGTransformDistance):
1519         (WebCore::SVGTransformDistance::scaledDistance):
1520         (WebCore::SVGTransformDistance::addSVGTransforms):
1521         (WebCore::SVGTransformDistance::addSVGTransform):
1522         (WebCore::SVGTransformDistance::addToSVGTransform):
1523         (WebCore::SVGTransformDistance::isZero):
1524         * svg/SVGTransformList.cpp:
1525         * svg/SVGURIReference.cpp:
1526         (WebCore::SVGURIReference::getTarget):
1527         * svg/SVGVKernElement.h:
1528         * svg/SVGViewSpec.cpp:
1529         (WebCore::SVGViewSpec::parseViewSpec):
1530         * svg/SVGZoomAndPan.h:
1531         (WebCore::SVGZoomAndPan::SVGZoomAndPan):
1532         (WebCore::SVGZoomAndPan::~SVGZoomAndPan):
1533         (WebCore::SVGZoomAndPan::zoomAndPan):
1534         * svg/SVGZoomEvent.h:
1535         (WebCore::SVGZoomEvent::create):
1536         * svg/animation/SMILTime.cpp:
1537         (WebCore::operator*):
1538         * svg/animation/SMILTime.h:
1539         (WebCore::SMILTime::SMILTime):
1540         (WebCore::SMILTime::unresolved):
1541         (WebCore::SMILTime::indefinite):
1542         (WebCore::SMILTime::operator=):
1543         (WebCore::SMILTime::value):
1544         (WebCore::SMILTime::isFinite):
1545         (WebCore::SMILTime::isIndefinite):
1546         (WebCore::SMILTime::isUnresolved):
1547         (WebCore::operator==):
1548         (WebCore::operator!): new operator checks for 0 or infinite values.
1549         (WebCore::operator!=):
1550         (WebCore::operator>):
1551         (WebCore::operator<):
1552         (WebCore::operator>=):
1553         (WebCore::operator<=):
1554         * svg/animation/SMILTimeContainer.h:
1555         (WebCore::SMILTimeContainer::create):
1556         (WebCore::SMILTimeContainer::setDocumentOrderIndexesDirty):
1557         * svg/animation/SVGSMILElement.cpp:
1558         (WebCore::ConditionEventListener::operator==):
1559         (WebCore::SVGSMILElement::repeatingDuration):
1560         (WebCore::SVGSMILElement::resolveInterval):
1561         (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
1562         * svg/animation/SVGSMILElement.h:
1563         (WebCore::SVGSMILElement::timeContainer):
1564         (WebCore::SVGSMILElement::intervalBegin):
1565         (WebCore::SVGSMILElement::intervalEnd):
1566         (WebCore::SVGSMILElement::previousIntervalBegin):
1567         (WebCore::SVGSMILElement::documentOrderIndex):
1568         (WebCore::SVGSMILElement::setDocumentOrderIndex):
1569         * svg/graphics/SVGImage.h:
1570         (WebCore::SVGImage::create):
1571         (WebCore::SVGImage::destroyDecodedData):
1572         (WebCore::SVGImage::decodedSize):
1573         (WebCore::SVGImage::frameAtIndex):
1574         * svg/graphics/filters/SVGFilterBuilder.h:
1575         (WebCore::SVGFilterBuilder::create):
1576         (WebCore::SVGFilterBuilder::lastEffect):
1577         (WebCore::SVGFilterBuilder::getEffectReferences):
1578         (WebCore::SVGFilterBuilder::addBuiltinEffects):
1579
1580 2010-12-29  Abhishek Arya  <inferno@chromium.org>
1581
1582         Reviewed by Darin Adler.
1583
1584         ASSERT(oldchild->parent() == owner) fails.
1585         https://bugs.webkit.org/show_bug.cgi?id=50480
1586
1587         In RenderBlock removeChild function, when the inlineChildrenBlock(equal to prev or next)
1588         is reparented to blockChildrenBlock, it is no longer a child of "this". This causes the
1589         assertion failure when removeChildNode executes on the child(equal to prev or next).
1590         Fix a typo in canMergeContiguousAnonymousBlocks.
1591
1592         Test: fast/multicol/span/double-merge-anonymous-block-crash.html
1593
1594         * rendering/RenderBlock.cpp:
1595         (WebCore::canMergeContiguousAnonymousBlocks): fix typo, change prev to next.
1596         (WebCore::RenderBlock::removeChild): if prev or not is reparented, then set it to zero.
1597
1598 2010-12-29  Justin Schuh  <jschuh@chromium.org>
1599
1600         Reviewed by Darin Adler.
1601
1602         Check SVG element type in FrameView::scrollToAnchor
1603         https://bugs.webkit.org/show_bug.cgi?id=51718
1604
1605         Test: svg/custom/scroll-to-anchor-in-symbol.svg
1606
1607         * page/FrameView.cpp:
1608         (WebCore::FrameView::scrollToAnchor):
1609
1610 2010-12-29  Anton Muhin  <antonm@chromium.org>
1611
1612         Reviewed by Eric Seidel.
1613
1614         [v8] Minor cleanup: remove unused method (the only method which can mutate context of V8DOMWindowShell)
1615         https://bugs.webkit.org/show_bug.cgi?id=51704
1616
1617         * bindings/v8/V8DOMWindowShell.cpp:
1618         * bindings/v8/V8DOMWindowShell.h:
1619
1620 2010-12-29  Kenichi Ishibashi  <bashi@google.com>
1621
1622         Reviewed by Darin Adler.
1623
1624         Use a HashMap for m_continuation to save memory
1625         https://bugs.webkit.org/show_bug.cgi?id=43716
1626
1627         Saving memory consumption by applying a HashMap convention to
1628         continuation pointers of RenderInline and RenderBlock classes.
1629
1630         * rendering/RenderBlock.cpp: Removed m_continuation.
1631         (WebCore::RenderBlock::RenderBlock):
1632         (WebCore::RenderBlock::destroy):
1633         (WebCore::RenderBlock::inlineElementContinuation):
1634         (WebCore::RenderBlock::blockElementContinuation):
1635         * rendering/RenderBlock.h: Removed m_continuation.
1636         * rendering/RenderBoxModelObject.cpp: Added a hash map for continuations.
1637         (WebCore::RenderBoxModelObject::destroy): Added an assertion.
1638         (WebCore::RenderBoxModelObject::continuation): Added.
1639         (WebCore::RenderBoxModelObject::setContinuation): Added.
1640         * rendering/RenderBoxModelObject.h:
1641         * rendering/RenderInline.cpp: Removed m_continuation.
1642         (WebCore::RenderInline::RenderInline):
1643         (WebCore::RenderInline::destroy):
1644         (WebCore::RenderInline::inlineElementContinuation):
1645         * rendering/RenderInline.h: Removed m_continuation.
1646
1647 2010-12-27  Amruth Raj  <amruthraj@motorola.com> and Ravi Kasibhatla  <ravi.kasibhatla@motorola.com>
1648
1649         Reviewed by Martin Robinson.
1650
1651         [GTK] Enable building whatever already exists of WebKit2
1652         https://bugs.webkit.org/show_bug.cgi?id=37369
1653
1654         No new functionality added or deleted. Only makefile change. Hence, no tests added.
1655
1656         * GNUmakefile.am: Removed bindings/gobject from webcore_sources & webcore_cppflags and
1657         added them to WebKit/gtk/GNUmakefile.am
1658         * platform/network/soup/cache/webkit/soup-cache.h: Remove include <webkit/webkitdefines.h>
1659         and declare WEBKIT_API directly
1660
1661 2010-12-29  Eric Seidel  <eric@webkit.org>
1662
1663         Unreviewed.
1664
1665         Simplify make-hash-tools.pl
1666         https://bugs.webkit.org/show_bug.cgi?id=49922
1667
1668         Added HashTools.h to the project file now that its not autogenerated.
1669         I also sorted the project file using sort-xcode-project-file
1670
1671         * WebCore.xcodeproj/project.pbxproj:
1672
1673 2010-12-29  Pavel Feldman  <pfeldman@chromium.org>
1674
1675         Not reviewed: revert r74755 and 74757.
1676
1677 2010-12-29  Martin Robinson  <mrobinson@igalia.com>
1678
1679         Reviewed by Sam Weinig.
1680
1681         JSDataViewCustom.cpp gives the fastcall calling convention to functions called via C++
1682         https://bugs.webkit.org/show_bug.cgi?id=51722
1683
1684         Remove the JSC_HOST_CALL from methods that are called from C++. JSC_HOST_CALL gives
1685         methods the fastcall calling convention, which leads to runtime errors when they are
1686         called from C++. Also remove a bit of unnecessary code duplication.
1687
1688         No new tests. This is covered by fast/canvas/webgl/data-view-test.html.
1689
1690         * bindings/js/JSDataViewCustom.cpp:
1691         (WebCore::getDataViewMember): Remove duplicated code.
1692         (WebCore::JSDataView::getInt8): Remove JSC_HOST_CALL.
1693         (WebCore::JSDataView::getUint8): Ditto.
1694         (WebCore::JSDataView::getFloat32): Ditto.
1695         (WebCore::JSDataView::getFloat64): Ditto.
1696         (WebCore::setDataViewMember): Remove duplicated code.
1697         (WebCore::JSDataView::setInt8): Remove JSC_HOST_CALL.
1698         (WebCore::JSDataView::setUint8): Ditto.
1699
1700 2010-12-29  Dan Bernstein  <mitz@apple.com>
1701
1702         Reviewed by Kenneth Russel.
1703
1704         A more robust fix for https://bugs.webkit.org/show_bug.cgi?id=51681
1705
1706         * html/HTMLCanvasElement.cpp:
1707         (WebCore::HTMLCanvasElement::attach): Added. Like recalcStyle(), calls
1708         CanvasRenderingContext2D::updateFont() if necessary. This covers the case of a detach/
1709         attach-type style recalc.
1710         * html/HTMLCanvasElement.h:
1711         * html/canvas/CanvasRenderingContext2D.cpp:
1712         (WebCore::CanvasRenderingContext2D::drawTextInternal): Removed the early return added in
1713         r74716. A font that is loading custom fonts is okay to use, as long as it is valid.
1714         (WebCore::CanvasRenderingContext2D::accessFont): Added a call to
1715         Document::updateStyleIfNeeded(). This ensures that any pending style recalc will take place
1716         and update the font if it is invalid.
1717         * platform/graphics/Font.h:
1718         (WebCore::Font::loadingCustomFonts): Made this private.
1719
1720 2010-12-29  Pavel Feldman  <pfeldman@chromium.org>
1721
1722         Not reviewed: Qt build fix.
1723
1724         * inspector/InspectorController.cpp:
1725
1726 2010-12-29  Pavel Feldman  <pfeldman@chromium.org>
1727
1728         Reviewed by Yury Semikhatsky.
1729
1730         Web Inspector: extract Database & DOM Storage
1731         agents; remove InspectorBackend.
1732         https://bugs.webkit.org/show_bug.cgi?id=51707
1733
1734         This change brushes up storage agents + removes redundant
1735         InspectorBackend class.
1736
1737         * CMakeLists.txt:
1738         * GNUmakefile.am:
1739         * WebCore.gypi:
1740         * WebCore.pro:
1741         * WebCore.vcproj/WebCore.vcproj:
1742         * WebCore.xcodeproj/project.pbxproj:
1743         * inspector/CodeGeneratorInspector.pm:
1744         * inspector/InjectedScriptHost.cpp:
1745         (WebCore::InjectedScriptHost::databaseForId):
1746         (WebCore::InjectedScriptHost::selectDatabase):
1747         (WebCore::InjectedScriptHost::selectDOMStorage):
1748         (WebCore::InjectedScriptHost::inspectorDOMAgent):
1749         * inspector/Inspector.idl:
1750         * inspector/InspectorBackend.cpp: Removed.
1751         * inspector/InspectorBackend.h: Removed.
1752         * inspector/InspectorController.cpp:
1753         (WebCore::InspectorController::InspectorController):
1754         (WebCore::InspectorController::~InspectorController):
1755         (WebCore::InspectorController::connectFrontend):
1756         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
1757         (WebCore::InspectorController::didUseDOMStorage):
1758         (WebCore::InspectorController::setInjectedScriptSource):
1759         (WebCore::InspectorController::dispatchOnInjectedScript):
1760         (WebCore::InspectorController::releaseWrapperObjectGroup):
1761         * inspector/InspectorController.h:
1762         * inspector/InspectorDOMStorageAgent.cpp: Added.
1763         (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
1764         (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
1765         (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
1766         (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
1767         (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
1768         (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
1769         (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
1770         * inspector/InspectorDOMStorageAgent.h: Copied from WebCore/inspector/InspectorStorageAgent.h.
1771         (WebCore::InspectorDOMStorageAgent::create):
1772         (WebCore::InspectorDOMStorageAgent::frontend):
1773         * inspector/InspectorDatabaseAgent.cpp: Renamed from WebCore/inspector/InspectorStorageAgent.cpp.
1774         (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
1775         (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
1776         (WebCore::InspectorDatabaseAgent::executeSQL):
1777         (WebCore::InspectorDatabaseAgent::databaseForId):
1778         (WebCore::InspectorDatabaseAgent::selectDatabase):
1779         (WebCore::InspectorDatabaseAgent::clearFrontend):
1780         (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
1781         * inspector/InspectorDatabaseAgent.h: Renamed from WebCore/inspector/InspectorStorageAgent.h.
1782         (WebCore::InspectorDatabaseAgent::create):
1783         (WebCore::InspectorDatabaseAgent::frontend):
1784         * inspector/InspectorFrontendClientLocal.cpp:
1785         * inspector/InspectorFrontendClientLocal.h:
1786         * inspector/front-end/ScriptsPanel.js:
1787         (WebInspector.ScriptsPanel.prototype.show):
1788
1789 2010-12-29  Tony Gentilcore  <tonyg@chromium.org>
1790
1791         Reviewed by Eric Seidel.
1792
1793         Assertion failure: element->inDocument() in AsyncScriptRunner::executeScriptSoon()
1794         https://bugs.webkit.org/show_bug.cgi?id=51067
1795
1796         Typically when a script element is removed from the document, the cached script
1797         client is removed. However, during the before load event, the cached script client
1798         hasn't been created yet so it can't be removed.
1799
1800         This patch handles that case by explicitly checking if the script element was
1801         removed during the beforeload event. Also, it avoids caching the Document references
1802         over the arbitrary script execution in the before load event.
1803
1804         Test: fast/dom/HTMLScriptElement/move-in-beforeload.html
1805               fast/dom/HTMLScriptElement/remove-in-beforeload.html
1806
1807         * dom/ScriptElement.cpp:
1808         (WebCore::ScriptElement::requestScript):
1809
1810 2010-12-29  Alexander Pavlov  <apavlov@chromium.org>
1811
1812         Reviewed by Yury Semikhatsky.
1813
1814         Web Inspector: Element highlight tooltip displays wrong element size when zoomed in
1815         https://bugs.webkit.org/show_bug.cgi?id=51703
1816
1817         * inspector/InspectorController.cpp:
1818         (WebCore::InspectorController::drawElementTitle):
1819
1820 2010-12-29  Yael Aharon  <yael.aharon@nokia.com>
1821
1822         Reviewed by Kent Tamura.
1823
1824         [HTML5][Forms] Support for :in-range and :out-of-range CSS selectors
1825         https://bugs.webkit.org/show_bug.cgi?id=29071
1826
1827         Use InputType::rangeUnderflow() and InputType::rangeOverflow()
1828         to determine if a control is in-range or out-of-range.
1829
1830         Tests: fast/css/pseudo-in-range-invalid-value.html
1831                fast/css/pseudo-in-range.html
1832                fast/css/pseudo-out-of-range.html
1833
1834         * css/CSSSelector.cpp:
1835         (WebCore::CSSSelector::pseudoId):
1836         (WebCore::nameToPseudoTypeMap):
1837         (WebCore::CSSSelector::extractPseudoType):
1838         * css/CSSSelector.h:
1839         * css/CSSStyleSelector.cpp:
1840         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1841         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1842         * dom/Element.h:
1843         (WebCore::Element::isInRange):
1844         (WebCore::Element::isOutOfRange):
1845         * html/BaseDateAndTimeInputType.cpp:
1846         (WebCore::BaseDateAndTimeInputType::supportsRangeLimitation):
1847         * html/BaseDateAndTimeInputType.h:
1848         * html/HTMLInputElement.cpp:
1849         (WebCore::HTMLInputElement::isInRange):
1850         (WebCore::HTMLInputElement::isOutOfRange):
1851         * html/HTMLInputElement.h:
1852         * html/InputType.cpp:
1853         (WebCore::InputType::supportsRangeLimitation):
1854         * html/InputType.h:
1855         * html/NumberInputType.cpp:
1856         (WebCore::NumberInputType::supportsRangeLimitation):
1857         * html/NumberInputType.h:
1858         * html/RangeInputType.cpp:
1859         (WebCore::RangeInputType::supportsRangeLimitation):
1860         * html/RangeInputType.h:
1861
1862 2010-12-29  Abhishek Arya  <inferno@chromium.org>
1863
1864         Reviewed by Eric Seidel.
1865
1866         When cloning an anonymous block, make sure to set the childrenInline flag based
1867         on the state of the block to be cloned.
1868         https://bugs.webkit.org/show_bug.cgi?id=51489
1869
1870         Test: fast/multicol/span/clone-anonymous-block-non-inline-child-crash.html
1871
1872         * rendering/RenderBlock.cpp:
1873         (WebCore::RenderBlock::clone): add code to handle cloning of anonymous blocks.
1874         (WebCore::RenderBlock::splitBlocks): remove anonymous block creation calls since it is now handled by clone().
1875
1876 2010-12-29  Patrick Gansterer  <paroga@webkit.org>
1877
1878         Unreviewed build fix for WinCE after r73802.
1879
1880         Reapply parts from r72585:
1881         Port ContextMenuWin.cpp to WinCE
1882         https://bugs.webkit.org/show_bug.cgi?id=48408
1883
1884         * CMakeLists.txt:
1885         * platform/ContextMenu.h:
1886         * platform/win/ContextMenuWin.cpp:
1887         (WebCore::ContextMenu::getContextMenuItems):
1888         (WebCore::ContextMenu::createNativeMenuFromItems):
1889
1890 2010-12-29  Kent Hansen  <kent.hansen@nokia.com>
1891
1892         Reviewed by Simon Hausmann.
1893
1894         [Qt] Fix compilation with Qt in namespace
1895         https://bugs.webkit.org/show_bug.cgi?id=51701
1896
1897         * platform/graphics/ContextShadow.h:
1898         * platform/graphics/GraphicsContext3D.h:
1899         * platform/network/NetworkingContext.h:
1900         * platform/network/qt/QtNAMThreadSafeProxy.h:
1901         * plugins/PluginView.h:
1902
1903 2010-12-28  Alexander Pavlov  <apavlov@chromium.org>
1904
1905         Reviewed by Pavel Feldman.
1906
1907         Web Inspector: A disabled style property should get enabled when edited
1908         https://bugs.webkit.org/show_bug.cgi?id=51679
1909
1910         Test: inspector/styles-disable-then-change.html
1911
1912         * inspector/front-end/CSSStyleModel.js:
1913         (WebInspector.CSSProperty.prototype.setText):
1914         (WebInspector.CSSProperty.prototype.setText.callback):
1915
1916 2010-12-29  Patrick Gansterer  <paroga@webkit.org>
1917
1918         Reviewed by Andreas Kling.
1919
1920         [CMake] Remove WebKitGenerators
1921         https://bugs.webkit.org/show_bug.cgi?id=50445
1922
1923         * CMakeLists.txt: Pass preprocessor to generate-bindings.pl.
1924
1925 2010-12-28  Pratik Solanki  <psolanki@apple.com>
1926
1927         Reviewed by Eric Seidel.
1928
1929         https://bugs.webkit.org/show_bug.cgi?id=51522
1930         Use deviceRGBColorSpaceRef() instead of calling CGColorSpaceCreateDeviceRGB()
1931
1932         * page/win/FrameCGWin.cpp:
1933         (WebCore::imageFromRect):
1934         * platform/graphics/cg/GradientCG.cpp:
1935         (WebCore::Gradient::platformGradient):
1936         * platform/graphics/cg/GraphicsContext3DCG.cpp:
1937         (WebCore::GraphicsContext3D::paintToCanvas):
1938         * platform/graphics/cg/ImageCG.cpp:
1939         (WebCore::BitmapImage::checkForSolidColor):
1940         * platform/graphics/gstreamer/ImageGStreamerCG.mm:
1941         (ImageGStreamer::ImageGStreamer):
1942         * platform/graphics/win/GraphicsContextCGWin.cpp:
1943         (WebCore::CGContextWithHDC):
1944         (WebCore::GraphicsContext::releaseWindowsContext):
1945         (WebCore::GraphicsContext::drawWindowsBitmap):
1946         * platform/graphics/win/ImageCGWin.cpp:
1947         (WebCore::BitmapImage::create):
1948         (WebCore::BitmapImage::getHBITMAPOfSize):
1949         * platform/image-decoders/cg/ImageDecoderCG.cpp:
1950         (WebCore::createColorSpace):
1951         * platform/win/DragImageCGWin.cpp:
1952         (WebCore::allocImage):
1953         (WebCore::createCgContextFromBitmap):
1954         * rendering/RenderThemeMac.mm:
1955         (WebCore::RenderThemeMac::paintMenuListButtonGradients):
1956         (WebCore::RenderThemeMac::paintSliderTrack):
1957         * rendering/RenderThemeSafari.cpp:
1958         (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
1959         (WebCore::RenderThemeSafari::paintSliderTrack):
1960
1961 2010-12-28  Daniel Bates  <dbates@rim.com>
1962
1963         Reviewed by Sam Weinig.
1964
1965         Substitute // MARK: for compiler-specific #pragma mark
1966         https://bugs.webkit.org/show_bug.cgi?id=51657
1967
1968         Fix compilation warnings about "#pragma mark" on GTK+ bots by
1969         substituting  "// MARK:" for "#pragma mark", which provides
1970         analogous code-bookmarking functionality under Xcode.
1971
1972         * platform/graphics/cg/PathCG.cpp:
1973         * platform/graphics/mac/WebLayer.mm:
1974
1975 2010-12-28  Jan Erik Hanssen  <jhanssen@sencha.com>
1976
1977         Reviewed by Eric Seidel.
1978
1979         [Qt] GraphicsContext::getCTM() does not need to make a copy of QPainter::combinedTransform()
1980         https://bugs.webkit.org/show_bug.cgi?id=51687
1981
1982         Use a const reference instead of a copy of QPainter::combinedTransform() 
1983         in GraphicsContext::getCTM()
1984
1985         * platform/graphics/qt/GraphicsContextQt.cpp:
1986         (WebCore::GraphicsContext::getCTM):
1987
1988 2010-12-28  Takashi Toyoshima  <toyoshim@google.com>
1989
1990         Reviewed by Eric Seidel.
1991
1992         gcc detected 'control reaches end of non-void function' with
1993         -finstrument-functions option.
1994         https://bugs.webkit.org/show_bug.cgi?id=51669
1995
1996         No new tests. These fixes are trivial.
1997
1998         * dom/Element.cpp:
1999         (WebCore::Element::childTypeAllowed):
2000         * inspector/InspectorResourceAgent.cpp:
2001         (WebCore::cachedResourceTypeString):
2002
2003 2010-12-28  Tony Gentilcore  <tonyg@chromium.org>
2004
2005         Reviewed by Eric Seidel.
2006
2007         Remove unused member of PendingScript
2008         https://bugs.webkit.org/show_bug.cgi?id=51684
2009
2010         This was used when HTMLScriptRunner::runScript created a PendingScript
2011         for inline scripts. But now it just calls executeScript() directly.
2012         External scripts always have the minimum starting line number.
2013
2014         No new tests because no changed functionality.
2015
2016         * dom/PendingScript.cpp:
2017         (WebCore::PendingScript::releaseElementAndClear):
2018         * dom/PendingScript.h:
2019         (WebCore::PendingScript::PendingScript):
2020         (WebCore::PendingScript::operator=):
2021         * html/parser/HTMLScriptRunner.cpp:
2022         (WebCore::HTMLScriptRunner::sourceFromPendingScript):
2023
2024 2010-12-20  Antonio Gomes  <agomes@rim.com>
2025
2026         Reviewed by Daniel Bates.
2027
2028         Spatial Navigation: code clean up (Part VI)
2029         https://bugs.webkit.org/show_bug.cgi?id=50666
2030
2031         No new tests needed.
2032
2033         * page/FocusController.cpp:
2034         (WebCore::updatFocusCandidateIfNeeded): Assert renderer() and
2035         isElementNode() now that we are bailing out earlier in both the
2036         FocusCandidate constructor and FocusController::findFocusCandidateInContainer().
2037         * page/SpatialNavigation.h: Swapped the parameters order in canScrollInDirection
2038         and virtualRectForAreaElementAndDirection functions.
2039         (WebCore::FocusController::findFocusCandidateInContainer):
2040         (WebCore::FocusController::advanceFocusDirectionallyInContainer): Adjusted callsites
2041         of canScrollInDirection(), and added an early return if !isElementNode().
2042         (WebCore::FocusController::advanceFocusDirectionally): Adjusted callsite of
2043         virtualRectForAreaElementAndDirection();
2044         * page/SpatialNavigation.cpp:
2045         (WebCore::FocusCandidate::FocusCandidate): Assert if node is not a element node;
2046         (WebCore::isScrollableNode): Renamed from isScrollableContainerNode;
2047         (WebCore::scrollInDirection): Adjusted callsite after function name change;
2048         (WebCore::scrollableEnclosingBoxOrParentFrameForNodeInDi:rection): Assert if node is
2049         a documentNode.
2050         (WebCore::canScrollInDirection): Signature changed.
2051         (WebCore::canBeScrolledIntoView): Ditto.
2052         (WebCore::virtualRectForAreaElementAndDirection): Ditto.
2053
2054 2010-12-28  Adrienne Walker  <enne@google.com>
2055
2056         Reviewed by Kenneth Russell.
2057
2058         [chromium] Fix tiled compositor assertion after GPU process recovery.
2059         https://bugs.webkit.org/show_bug.cgi?id=51682
2060
2061         After the GPU process recovers, the layer size is set to IntSize(),
2062         but IntRect::unite() has a special case for empty rects.  This
2063         behavior was causing the layer size to be too small, causing an
2064         out-of-bounds array access elsewhere.
2065
2066         No new tests.
2067
2068         * platform/graphics/chromium/LayerTilerChromium.cpp:
2069         (WebCore::LayerTilerChromium::growLayerToContain):
2070
2071 2010-12-23  Zhenyao Mo  <zmo@google.com>
2072
2073         Reviewed by Kenneth Russell.
2074
2075         Initialize to 0 for undefined values in CopyTexImage2D
2076         https://bugs.webkit.org/show_bug.cgi?id=51421
2077
2078         * html/canvas/WebGLFramebuffer.cpp: Track width/height/internalFormat of color buffer.
2079         (WebCore::WebGLFramebuffer::WebGLFramebuffer):
2080         (WebCore::WebGLFramebuffer::setAttachment):
2081         (WebCore::WebGLFramebuffer::getWidth):
2082         (WebCore::WebGLFramebuffer::getHeight):
2083         (WebCore::WebGLFramebuffer::getColorBufferFormat):
2084         * html/canvas/WebGLFramebuffer.h:
2085         * html/canvas/WebGLRenderingContext.cpp:
2086         (WebCore::WebGLRenderingContext::copyTexImage2D): Initialize undefined pixels to 0.
2087         (WebCore::WebGLRenderingContext::copyTexSubImage2D):
2088         (WebCore::WebGLRenderingContext::framebufferTexture2D):
2089         (WebCore::WebGLRenderingContext::renderbufferStorage):
2090         (WebCore::WebGLRenderingContext::getBoundFramebufferWidth):
2091         (WebCore::WebGLRenderingContext::getBoundFramebufferHeight):
2092         * html/canvas/WebGLRenderingContext.h:
2093         * html/canvas/WebGLTexture.cpp: Track width/height/internalFormat of a texture by target/level.
2094         (WebCore::WebGLTexture::getInternalFormat):
2095         (WebCore::WebGLTexture::getWidth):
2096         (WebCore::WebGLTexture::getHeight):
2097         (WebCore::WebGLTexture::mapTargetToIndex):
2098         (WebCore::WebGLTexture::getLevelInfo):
2099         * html/canvas/WebGLTexture.h:
2100         (WebCore::WebGLTexture::isTexture):
2101         * platform/graphics/GraphicsContext3D.h: Add getInternalFramebufferSize() function.
2102         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
2103         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
2104         * platform/graphics/qt/GraphicsContext3DQt.cpp:
2105         (WebCore::GraphicsContext3D::getInternalFramebufferSize):
2106
2107 2010-12-23  Zhenyao Mo  <zmo@google.com>
2108
2109         Reviewed by Kenneth Russell.
2110
2111         Map GLsizei to long instead of unsigned long in WebGLRenderingContext and GraphicsContext3D
2112         https://bugs.webkit.org/show_bug.cgi?id=39855
2113
2114         * html/canvas/WebGLRenderingContext.cpp:
2115         (WebCore::WebGLRenderingContext::copyTexImage2D): Map GLsizei to long.
2116         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
2117         (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
2118         (WebCore::WebGLRenderingContext::scissor): Ditto.
2119         (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
2120         (WebCore::WebGLRenderingContext::texImage2D): Ditto.
2121         (WebCore::WebGLRenderingContext::texSubImage2DBase): Ditto.
2122         (WebCore::WebGLRenderingContext::texSubImage2DImpl): Ditto.
2123         (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
2124         (WebCore::WebGLRenderingContext::viewport): Ditto.
2125         (WebCore::WebGLRenderingContext::validateSize): Check the sizes are non-negative.
2126         * html/canvas/WebGLRenderingContext.h:
2127         * html/canvas/WebGLRenderingContext.idl:
2128
2129 2010-12-28  Abhishek Arya  <inferno@chromium.org>
2130
2131         Reviewed by Kenneth Russell.
2132
2133         Fix crash with invalid font in m_fontList by not drawing text when a custom font is in the
2134         process of loading.
2135         https://bugs.webkit.org/show_bug.cgi?id=51681
2136
2137         Test: canvas/philip/tests/2d.text-custom-font-load-crash.html
2138
2139         * html/canvas/CanvasRenderingContext2D.cpp:
2140         (WebCore::CanvasRenderingContext2D::drawTextInternal): bail out if a custom font is loading.
2141         * platform/graphics/Font.cpp:
2142         (WebCore::Font::operator==): Replace condition with new function loadingCustomFonts()
2143         (WebCore::Font::drawText): Replace condition with new function loadingCustomFonts()
2144         (WebCore::Font::drawEmphasisMarks): Replace condition with new function loadingCustomFonts()
2145         * platform/graphics/Font.h:
2146         (WebCore::Font::loadingCustomFonts): new function that returns if a custom font is loading.
2147
2148 2010-12-28  Dimitri Glazkov  <dglazkov@chromium.org>
2149
2150         Reviewed by Eric Seidel.
2151
2152         Combine setShadowRoot and clearShadowRoot into a simpler API
2153         https://bugs.webkit.org/show_bug.cgi?id=50971
2154
2155         No change in behavior, and API is not used yet.
2156
2157         * dom/Element.cpp:
2158         (WebCore::Element::setShadowRoot): Combined clearing and setting of
2159             the shadowRoot, also hooked up with setting and clearing of the
2160             corresponding shadowHost values.
2161         * dom/Element.h: renamed clearShadowRoot to removeShadowRoot and made it
2162             private.
2163         * dom/Node.h: Made shadow host-related functions public so that
2164             Element::setShadowRoot can access setShadowHost. It seems logical
2165             to make shadowHost public as well to keep the defs together.
2166
2167 2010-12-28  Andrey Kosyakov  <caseq@chromium.org>
2168
2169         Reviewed by Pavel Feldman.
2170
2171         Web Inspector: [Chromium] Expose extension API to select a node in WebInspector
2172         Do not request content for resources with non-numeric identifiers.
2173         https://bugs.webkit.org/show_bug.cgi?id=49727
2174
2175         Test: http/tests/inspector/extensions-resources-redirect.html
2176
2177         * inspector/front-end/NetworkManager.js:
2178         (WebInspector.NetworkManager.prototype._appendRedirect):
2179
2180 2010-12-28  Ilya Tikhonovsky  <loislo@chromium.org>
2181
2182         Unreviewed build fix for Qt.
2183
2184         ResourceTreeModel.js was added.
2185
2186         * inspector/front-end/WebKit.qrc:
2187
2188 2010-12-28  Mikhail Naganov  <mnaganov@chromium.org>
2189
2190         Reviewed by Pavel Feldman.
2191
2192         [Chromium] Fix memory leak in Profiles tab concerned with heap profiles views.
2193
2194         https://bugs.webkit.org/show_bug.cgi?id=51680
2195
2196         * inspector/front-end/ProfilesPanel.js:
2197         (WebInspector.ProfilesPanel.prototype._reset):
2198
2199 2010-12-28  Alexander Pavlov  <apavlov@chromium.org>
2200
2201         Reviewed by Pavel Feldman.
2202
2203         Web Inspector: REGRESSION: Clicking image resource in style sidebar doesn't actually go to resource anymore
2204         https://bugs.webkit.org/show_bug.cgi?id=51663
2205
2206         The base URI is now computed correctly for links from CSS property uri(...) values. Additionally,
2207         optional quotes/apostrophes and spaces are now allowed inside uri(...).
2208
2209         Test: inspector/styles-url-linkify.html
2210
2211         * inspector/front-end/StylesSidebarPane.js:
2212         (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
2213         (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
2214
2215 2010-12-21  Ilya Tikhonovsky  <loislo@chromium.org>
2216
2217         Reviewed by Pavel Feldman.
2218
2219         Web Inspector: Protocol cleanup task. Introduce Network, DOMStorage and Database domains.
2220
2221         Domain was changed for Resources, FileSystem etc. related methods.
2222         ResourcesManager was renamed to NetworkManager.
2223         ResourceTreeModel was extracted as separate file.
2224         FileSystem, Database, DOMStorage and ApplicationCache methods were
2225         removed from NetworkManager and added to corresponding classes.
2226
2227         https://bugs.webkit.org/show_bug.cgi?id=51334
2228
2229         * WebCore.gypi:
2230         * WebCore.vcproj/WebCore.vcproj:
2231         * inspector/CodeGeneratorInspector.pm:
2232         * inspector/Inspector.idl:
2233         * inspector/front-end/AuditRules.js:
2234         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
2235         * inspector/front-end/CSSStyleModel.js:
2236         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
2237         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
2238         * inspector/front-end/ConsoleView.js:
2239         (WebInspector.ConsoleView.prototype.addMessage):
2240         (WebInspector.ConsoleView.prototype.clearMessages):
2241         * inspector/front-end/DOMAgent.js:
2242         (WebInspector.ApplicationCache.updateApplicationCacheStatus):
2243         (WebInspector.ApplicationCache.updateNetworkState):
2244         * inspector/front-end/DOMStorage.js:
2245         (WebInspector.DOMStorage.addDOMStorage):
2246         (WebInspector.DOMStorage.selectDOMStorage):
2247         (WebInspector.DOMStorage.updateDOMStorage):
2248         * inspector/front-end/Database.js:
2249         (WebInspector.Database.prototype.executeSql):
2250         (WebInspector.Database.addDatabase):
2251         (WebInspector.Database.selectDatabase):
2252         (WebInspector.Database.sqlTransactionSucceeded):
2253         (WebInspector.Database.sqlTransactionFailed):
2254         * inspector/front-end/FileSystemView.js:
2255         (WebInspector.FileSystem.didGetFileSystemPath):
2256         (WebInspector.FileSystem.didGetFileSystemError):
2257         (WebInspector.FileSystem.didGetFileSystemDisabled):
2258         * inspector/front-end/NetworkItemView.js:
2259         (WebInspector.NetworkItemView):
2260         * inspector/front-end/NetworkManager.js: Added.
2261         (WebInspector.NetworkManager):
2262         (WebInspector.NetworkManager.prototype._createResource):
2263         (WebInspector.NetworkManager.prototype.identifierForInitialRequest):
2264         (WebInspector.NetworkManager.prototype.willSendRequest):
2265         (WebInspector.NetworkManager.prototype._updateResourceWithRequest):
2266         (WebInspector.NetworkManager.prototype._appendRedirect):
2267         (WebInspector.NetworkManager.prototype.markResourceAsCached):
2268         (WebInspector.NetworkManager.prototype.didReceiveResponse):
2269         (WebInspector.NetworkManager.prototype._updateResourceWithResponse):
2270         (WebInspector.NetworkManager.prototype.didReceiveContentLength):
2271         (WebInspector.NetworkManager.prototype.didFinishLoading):
2272         (WebInspector.NetworkManager.prototype.didFailLoading):
2273         (WebInspector.NetworkManager.prototype.didLoadResourceFromMemoryCache):
2274         (WebInspector.NetworkManager.prototype._updateResourceWithCachedResource):
2275         (WebInspector.NetworkManager.prototype.setInitialContent):
2276         (WebInspector.NetworkManager.prototype.didCommitLoadForFrame):
2277         (WebInspector.NetworkManager.prototype.frameDetachedFromParent):
2278         (WebInspector.NetworkManager.prototype.didCreateWebSocket):
2279         (WebInspector.NetworkManager.prototype.willSendWebSocketHandshakeRequest):
2280         (WebInspector.NetworkManager.prototype.didReceiveWebSocketHandshakeResponse):
2281         (WebInspector.NetworkManager.prototype.didCloseWebSocket):
2282         (WebInspector.NetworkManager.prototype._processCachedResources):
2283         (WebInspector.NetworkManager.prototype._addFramesRecursively):
2284         (WebInspector.NetworkManager.requestContent):
2285         * inspector/front-end/NetworkPanel.js:
2286         (WebInspector.NetworkPanel.prototype.refreshResource):
2287         * inspector/front-end/Resource.js:
2288         (WebInspector.Resource.prototype._innerRequestContent):
2289         * inspector/front-end/ResourceManager.js: Removed.
2290         * inspector/front-end/ResourceTreeModel.js: Added.
2291         (WebInspector.ResourceTreeModel):
2292         (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
2293         (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
2294         (WebInspector.ResourceTreeModel.prototype.frameDetachedFromParent):
2295         (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
2296         (WebInspector.ResourceTreeModel.prototype.addResourceToFrame):
2297         (WebInspector.ResourceTreeModel.prototype._clearResources):
2298         (WebInspector.ResourceTreeModel.prototype.forAllResources):
2299         (WebInspector.ResourceTreeModel.prototype.addConsoleMessage):
2300         (WebInspector.ResourceTreeModel.prototype.clearConsoleMessages):
2301         (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
2302         (WebInspector.ResourceTreeModel.prototype.resourceForURL):
2303         (WebInspector.ResourceTreeModel.prototype.bindResourceURL):
2304         (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
2305         (WebInspector.ResourceTreeModel.createResource):
2306         * inspector/front-end/ResourceView.js:
2307         (WebInspector.ResourceView.createResourceView):
2308         (WebInspector.ResourceView.resourceViewTypeMatchesResource):
2309         (WebInspector.ResourceView.resourceViewForResource):
2310         (WebInspector.ResourceView.recreateResourceView):
2311         (WebInspector.ResourceView.existingResourceViewForResource):
2312         * inspector/front-end/ResourcesPanel.js:
2313         (WebInspector.ResourcesPanel.prototype.canShowSourceLine):
2314         (WebInspector.ResourcesPanel.prototype.showSourceLine):
2315         (WebInspector.ResourcesPanel.prototype.showResource):
2316         (WebInspector.ResourcesPanel.prototype.get searchableViews.callback):
2317         (WebInspector.ResourcesPanel.prototype.get searchableViews):
2318         (WebInspector.FrameResourceTreeElement.prototype._errorsWarningsUpdated):
2319         (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
2320         * inspector/front-end/ScriptsPanel.js:
2321         (WebInspector.ScriptsPanel.prototype._addScript):
2322         (WebInspector.ScriptsPanel.prototype.reset):
2323         (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
2324         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
2325         * inspector/front-end/WebKit.qrc:
2326         * inspector/front-end/inspector.html:
2327         * inspector/front-end/inspector.js:
2328         (WebInspector.forAllResources):
2329         (WebInspector.resourceForURL):
2330
2331 2010-12-27  Helder Correia  <helder@sencha.com>
2332
2333         Reviewed by Ariya Hidayat.
2334
2335         ContextShadow should use AffineTransform instead of TransformationMatrix
2336         https://bugs.webkit.org/show_bug.cgi?id=51661
2337
2338         ContextShadow needs the CTM to make sure shadows are not affected by
2339         transformations when drawing on a canvas. AffineTransform is sufficient
2340         in this case.
2341
2342         Existing tests: fast/canvas/canvas*shadow*html
2343
2344         * platform/graphics/ContextShadow.cpp:
2345         (WebCore::ContextShadow::mustUseContextShadow):
2346         (WebCore::ContextShadow::adjustBlurDistance):
2347         (WebCore::ContextShadow::calculateLayerBoundingRect):
2348         * platform/graphics/ContextShadow.h:
2349         * platform/graphics/cairo/ContextShadowCairo.cpp:
2350         (WebCore::ContextShadow::getTransformationMatrixFromContext):
2351         * platform/graphics/qt/ContextShadowQt.cpp:
2352         (WebCore::ContextShadow::getTransformationMatrixFromContext):
2353
2354 2010-12-27  Daniel Bates  <dbates@rim.com>
2355
2356         Reviewed by Antonio Gomes.
2357
2358         Clean up: Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight()
2359         https://bugs.webkit.org/show_bug.cgi?id=51634
2360
2361         Rename HTMLFrameElementBase::getMarginWidth() and HTMLFrameElementBase::getMarginHeight()
2362         to HTMLFrameElementBase::marginWidth() and HTMLFrameElementBase::marginHeight(), respectively.
2363         This will make the names of these getters consistent with the naming convention we use for
2364         getters.
2365
2366         * html/HTMLBodyElement.cpp:
2367         (WebCore::HTMLBodyElement::insertedIntoDocument):
2368         * html/HTMLFrameElementBase.h:
2369         (WebCore::HTMLFrameElementBase::marginWidth): Renamed; Formerly getMarginWidth().
2370         (WebCore::HTMLFrameElementBase::marginHeight): Renamed; Formerly getMarginHeight().
2371         * loader/SubframeLoader.cpp:
2372         (WebCore::SubframeLoader::loadSubframe):
2373         * page/FrameView.cpp:
2374         (WebCore::FrameView::init):
2375         * rendering/RenderEmbeddedObject.cpp:
2376         (WebCore::RenderEmbeddedObject::viewCleared): Also renamed variables marginw and marginh
2377         to marginWidth and marginHeight, respectively. This makes the names of these variables
2378         consistent with the names of similar variables in SubframeLoader::loadSubframe() and FrameView::init().
2379         * rendering/RenderFrame.cpp:
2380         (WebCore::RenderFrame::viewCleared): Ditto.
2381
2382 2010-12-27  Martin Robinson  <mrobinson@igalia.com>
2383
2384         Reviewed by Daniel Bates.
2385
2386         [GTK] RenderThemeGtk::m_HScale and RenderThemeGtk::m_VScale are not initialized
2387         https://bugs.webkit.org/show_bug.cgi?id=51654
2388
2389         Properly initialize slider members of RenderThemeGtk. This can lead to test crashes
2390         on some debug configurations.
2391
2392         No new tests. This is already covered by current slider tests. It isn't crashing on
2393         the bots, but it does crash locally.
2394
2395         * platform/gtk/RenderThemeGtk.cpp:
2396         (WebCore::RenderThemeGtk::RenderThemeGtk): Properly initialize members.
2397
2398 2010-12-27  Anton Muhin  <antonm@chromium.org>
2399
2400         Reviewed by David Levin.
2401
2402         [v8] Remove unused methods to protect/unprotect wrappers during garbage collection
2403         https://bugs.webkit.org/show_bug.cgi?id=51648
2404
2405         * bindings/v8/ScriptController.cpp:
2406         * bindings/v8/ScriptController.h:
2407         * bindings/v8/V8GCController.cpp:
2408         (WebCore::V8GCController::gcEpilogue):
2409         * bindings/v8/V8GCController.h:
2410
2411 2010-12-27  Yury Semikhatsky  <yurys@chromium.org>
2412
2413         Unreviewed. Removed trailing spaces from a localized
2414         string to make it the same as the one used in the code.
2415
2416         * English.lproj/localizedStrings.js:
2417
2418 2010-12-27  Yael Aharon  <yael.aharon@nokia.com>
2419
2420         Reviewed by Eric Seidel.
2421
2422         Browser is failing 16 baseline test from Selector API Test Suite
2423         https://bugs.webkit.org/show_bug.cgi?id=42968
2424
2425         Throw an exception if there is no argument to querySelector or 
2426         querySelectorAll. This replaces the current behavior of passing the string
2427         "undefined" as the argument.
2428
2429         No new tests, just updating the existing results for 
2430         fast/dom/SelectorAPI/resig-SelectorAPI-test.xhtml.
2431
2432         * dom/Document.idl:
2433         * dom/DocumentFragment.idl:
2434         * dom/Element.idl:
2435
2436 2010-12-26  MORITA Hajime  <morrita@google.com>
2437
2438         Reviewed by Dan Bernstein.
2439
2440         For box-shadow, non-primary shadows should have specified radii.
2441         https://bugs.webkit.org/show_bug.cgi?id=51386
2442
2443         On paintBoxShadow(), the spread value accidentally accumulated accidentally
2444         during the loop, which should be applied individually for radius of each shadow. 
2445         This change makes the radii for rects computed for each shadow.
2446         
2447         Test: fast/box-shadow/spread-multiple-normal.html
2448
2449         * rendering/RenderBoxModelObject.cpp:
2450         (WebCore::RenderBoxModelObject::paintBoxShadow):
2451
2452 2010-12-26  Patrick Gansterer  <paroga@webkit.org>
2453
2454         Reviewed by Eric Seidel.
2455
2456         Improve output of HTML parser benchmark
2457         https://bugs.webkit.org/show_bug.cgi?id=51611
2458
2459         Calculate and show median, min and max values.
2460
2461         * benchmarks/parser/html-parser.html:
2462
2463 2010-12-26  Abhishek Arya  <inferno@chromium.org>
2464
2465         Reviewed by Simon Fraser.
2466
2467         Remove the bad assert in paintPaginatedChildLayer, hitTestPaginatedChildLayer. 
2468         https://bugs.webkit.org/show_bug.cgi?id=48772
2469
2470         Test: fast/multicol/renderer-positioned-assert-crash.html
2471
2472         * rendering/RenderLayer.cpp:
2473         (WebCore::RenderLayer::paintPaginatedChildLayer):
2474         (WebCore::RenderLayer::hitTestPaginatedChildLayer):
2475
2476 2010-12-25  Peter Rybin  <peter.rybin@gmail.com>
2477
2478         Reviewed by Adam Barth.
2479
2480         Adds currentColumn (and currentLine) to SegmentedString. Switches
2481         HTMLTreeBuilder to HTMLDocumentParser::textPosition when it
2482         needs position for a <script> tag.
2483
2484         SegmentedString should provide column position
2485         https://bugs.webkit.org/show_bug.cgi?id=51311
2486
2487         * html/parser/HTMLDocumentParser.cpp:
2488         (WebCore::HTMLDocumentParser::HTMLDocumentParser):
2489         (WebCore::HTMLDocumentParser::textPosition):
2490         * html/parser/HTMLInputStream.h:
2491         (WebCore::HTMLInputStream::current):
2492         (WebCore::InsertionPointRecord::InsertionPointRecord):
2493         (WebCore::InsertionPointRecord::~InsertionPointRecord):
2494         * html/parser/HTMLTreeBuilder.cpp:
2495         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
2496         (WebCore::HTMLTreeBuilder::processScriptStartTag):
2497         * html/parser/HTMLTreeBuilder.h:
2498         (WebCore::HTMLTreeBuilder::create):
2499         * platform/text/SegmentedString.cpp:
2500         (WebCore::SegmentedString::operator=):
2501         (WebCore::SegmentedString::numberOfCharactersConsumedSlow):
2502         (WebCore::SegmentedString::advanceSlowCase):
2503         (WebCore::SegmentedString::currentLine):
2504         (WebCore::SegmentedString::currentColumn):
2505         (WebCore::SegmentedString::setCurrentPosition):
2506         * platform/text/SegmentedString.h:
2507         (WebCore::SegmentedString::SegmentedString):
2508         (WebCore::SegmentedString::advancePastNewline):
2509         (WebCore::SegmentedString::advance):
2510         (WebCore::SegmentedString::numberOfCharactersConsumed):
2511
2512 2010-12-25  Andreas Kling  <kling@webkit.org>
2513
2514         Reviewed by Kenneth Rohde Christiansen.
2515
2516         GraphicsContext: Don't pass StrokeStyle (enum) as const reference
2517         https://bugs.webkit.org/show_bug.cgi?id=51608
2518
2519         * platform/graphics/GraphicsContext.cpp:
2520         (WebCore::GraphicsContext::setStrokeStyle):
2521         (WebCore::GraphicsContext::setPlatformStrokeStyle):
2522         (WebCore::GraphicsContext::adjustLineToPixelBoundaries):
2523         * platform/graphics/GraphicsContext.h:
2524         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2525         (WebCore::GraphicsContext::setPlatformStrokeStyle):
2526         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
2527         (WebCore::GraphicsContext::setPlatformStrokeStyle):
2528         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
2529         (WebCore::GraphicsContext::setPlatformStrokeStyle):
2530         * platform/graphics/openvg/PainterOpenVG.cpp:
2531         (WebCore::PainterOpenVG::setStrokeStyle):
2532         * platform/graphics/openvg/PainterOpenVG.h:
2533         * platform/graphics/qt/GraphicsContextQt.cpp:
2534         (WebCore::GraphicsContext::setPlatformStrokeStyle):
2535         * platform/graphics/skia/GraphicsContextSkia.cpp:
2536         (WebCore::GraphicsContext::setPlatformStrokeStyle):
2537
2538 2010-12-24  Dan Bernstein  <mitz@apple.com>
2539
2540         Reviewed by Alexey Proskuryakov.
2541
2542         REGRESSION (r74648): XHR layout test failures
2543         https://bugs.webkit.org/show_bug.cgi?id=51603
2544
2545         Reverted r74648.
2546
2547         * WebCore.exp.in:
2548
2549 2010-12-24  Dan Bernstein  <mitz@apple.com>
2550
2551         Try to fix the Qt build after r74648.
2552
2553         * WebCore.gypi:
2554         * WebCore.pro:
2555         * platform/network/qt/CredentialStorageQt.cpp: Added.
2556         (WebCore::CredentialStorage::getFromPersistentStorage):
2557
2558 2010-12-24  Simon Fraser  <simon.fraser@apple.com>
2559
2560         Reviewed by Dan Bernstein.
2561
2562         CSSStyleSelector cleanup
2563         https://bugs.webkit.org/show_bug.cgi?id=51597
2564
2565         Make some methods const. Add assertion to checkOneSelector, with the
2566         intention of later removing the if (!e) check (this is hot code).
2567
2568         * css/CSSStyleSelector.cpp:
2569         (WebCore::CSSStyleSelector::locateCousinList):
2570         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2571         (WebCore::CSSStyleSelector::locateSharedStyle):
2572         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2573         (WebCore::CSSStyleSelector::mmLength):
2574         (WebCore::CSSStyleSelector::inchLength):
2575         (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
2576         (WebCore::CSSStyleSelector::hasSelectorForAttribute):
2577         * css/CSSStyleSelector.h:
2578         (WebCore::CSSStyleSelector::fontSelector):
2579
2580 2010-12-24  Dan Bernstein  <mitz@apple.com>
2581
2582         Reviewed by Anders Carlsson.
2583
2584         <rdar://problem/8758386> The web process uses its own credential storage
2585         https://bugs.webkit.org/show_bug.cgi?id=51599
2586
2587         * WebCore.exp.in: Export CredentialStorage::getFromPersistentStorage(), Credential::hasPassword(),
2588         and Credential::isEmpty().
2589
2590 2010-12-24  Yury Semikhatsky  <yurys@chromium.org>
2591
2592         Reviewed by Darin Adler.
2593
2594         [V8] Rename V8CustomEventListener.{h,cpp} to V8EventListener.{h,cpp}
2595         https://bugs.webkit.org/show_bug.cgi?id=51595
2596
2597         * WebCore.gypi:
2598         * bindings/v8/V8DOMWrapper.cpp:
2599         * bindings/v8/V8EventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.cpp.
2600         (WebCore::V8EventListener::V8EventListener):
2601         (WebCore::V8EventListener::getListenerFunction):
2602         (WebCore::V8EventListener::callListenerFunction):
2603         * bindings/v8/V8EventListener.h: Renamed from WebCore/bindings/v8/custom/V8CustomEventListener.h.
2604         (WebCore::V8EventListener::create):
2605         * bindings/v8/V8EventListenerList.h:
2606         * bindings/v8/V8WorkerContextEventListener.h:
2607         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2608         * bindings/v8/custom/V8LocationCustom.cpp:
2609         * bindings/v8/custom/V8NodeCustom.cpp:
2610         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2611
2612 2010-12-24  Carlos Garcia Campos  <cgarcia@igalia.com>
2613
2614         Reviewed by Xan Lopez.
2615
2616         [GTK] Show current time / total in media player
2617         https://bugs.webkit.org/show_bug.cgi?id=51535
2618
2619         * css/mediaControlsGtk.css:
2620         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
2621         * platform/gtk/RenderThemeGtk.cpp:
2622         (WebCore::RenderThemeGtk::formatMediaControlsCurrentTime):
2623         (WebCore::RenderThemeGtk::paintMediaCurrentTime):
2624         * platform/gtk/RenderThemeGtk.h:
2625
2626 2010-12-24  Jan Erik Hanssen  <jhanssen@sencha.com>
2627
2628         Reviewed by Eric Seidel.
2629
2630         Clean up CSSRuleData in CSSStyleSelector.h
2631         https://bugs.webkit.org/show_bug.cgi?id=27753
2632
2633         Move CSSRuleData and CSSRuleDataList from CSSStyleSelector.h to the .cpp file.
2634
2635         * css/CSSStyleSelector.cpp:
2636         (WebCore::CSSRuleData::CSSRuleData):
2637         (WebCore::CSSRuleData::~CSSRuleData):
2638         (WebCore::CSSRuleData::position):
2639         (WebCore::CSSRuleData::rule):
2640         (WebCore::CSSRuleData::selector):
2641         (WebCore::CSSRuleData::next):
2642         (WebCore::CSSRuleDataList::CSSRuleDataList):
2643         (WebCore::CSSRuleDataList::~CSSRuleDataList):
2644         (WebCore::CSSRuleDataList::first):
2645         (WebCore::CSSRuleDataList::last):
2646         (WebCore::CSSRuleDataList::append):
2647         * css/CSSStyleSelector.h:
2648
2649 2010-12-24  Yury Semikhatsky  <yurys@chromium.org>
2650
2651         Unreviewed. Fix compilation on Windows.
2652
2653         * inspector/InspectorStyleSheet.cpp:
2654         (WebCore::InspectorStyle::~InspectorStyle): added explicit empty destructor
2655         * inspector/InspectorStyleSheet.h:
2656
2657 2010-12-24  Yury Semikhatsky  <yurys@chromium.org>
2658
2659         Reviewed by Darin Adler.
2660
2661         inspector/debugger-step-out.html crashing intermittently in the bots
2662         https://bugs.webkit.org/show_bug.cgi?id=50868
2663
2664         Use RefPtr rather instead of raw pointers when keeping references
2665         to refcounted objects.
2666
2667         * inspector/InspectorCSSAgent.cpp:
2668         (WebCore::InspectorCSSAgent::getStylesForNode2):
2669         (WebCore::InspectorCSSAgent::getComputedStyleForNode2):
2670         * inspector/InspectorStyleSheet.cpp:
2671         (WebCore::InspectorStyle::create):
2672         (WebCore::InspectorStyle::InspectorStyle):
2673         (WebCore::InspectorStyle::buildObjectForStyle):
2674         (WebCore::InspectorStyle::setPropertyText):
2675         (WebCore::InspectorStyle::toggleProperty):
2676         (WebCore::InspectorStyle::styleText):
2677         (WebCore::InspectorStyle::populateAllProperties):
2678         (WebCore::InspectorStyle::replacePropertyInStyleText):
2679         (WebCore::InspectorStyleSheet::create):
2680         (WebCore::InspectorStyleSheet::InspectorStyleSheet):
2681         (WebCore::InspectorStyleSheetForInlineStyle::create):
2682         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
2683         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
2684         * inspector/InspectorStyleSheet.h:
2685         (WebCore::InspectorStyle::cssStyle):
2686         (WebCore::InspectorStyleSheet::pageStyleSheet):
2687
2688 2010-12-24  Justin Schuh  <jschuh@chromium.org>
2689
2690         Reviewed by Nikolas Zimmermann.
2691
2692         SVGElementInstance::m_useElement should be cleared when use element is removed from document
2693         https://bugs.webkit.org/show_bug.cgi?id=51486
2694
2695         Test: svg/custom/use-instanceRoot-with-use-removed.svg
2696
2697         * svg/SVGElementInstance.cpp:
2698         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
2699         * svg/SVGElementInstance.h:
2700         (WebCore::SVGElementInstance::clearUseElement):
2701         * svg/SVGUseElement.cpp:
2702         (WebCore::SVGUseElement::removedFromDocument):
2703         (WebCore::ShadowTreeUpdateBlocker::if):
2704         (WebCore::SVGUseElement::detachInstance):
2705         (WebCore::SVGUseElement::detach):
2706         * svg/SVGUseElement.h:
2707
2708 2010-12-23  Joseph Pecoraro  <joepeck@webkit.org>
2709
2710         Reviewed by Yury Semikhatsky.
2711
2712         Web Inspector: Missing Localized Strings
2713         https://bugs.webkit.org/show_bug.cgi?id=51542
2714
2715         Added missing strings: "WebSocket",  "Frames", "Text", "Transfer",
2716         "Preserve Log upon Navigation", and "Go to Line".
2717
2718         * English.lproj/localizedStrings.js:
2719
2720 2010-12-24  Alexander Pavlov  <apavlov@chromium.org>
2721
2722         Reviewed by Yury Semikhatsky.
2723
2724         Web Inspector: Inline HTML style property out of sync with element.style in Sidebar
2725         https://bugs.webkit.org/show_bug.cgi?id=51478
2726
2727         Now the element attribute modifications (including "style") are tracked, which results in the
2728         source offsets update (in the backend) and Styles/Metrics pane updates (in the frontend)
2729         on the "style" attribute modification through the Elements tree. Also, it appears that
2730         a complete "style" attribute removal destroys the inline style declaration
2731         (StyledElement::m_inlineStyleDecl), while the code used to rely on it being immutable (hence a crash).
2732
2733         Test: inspector/elements-delete-inline-style.html
2734
2735         * inspector/InspectorCSSAgent.cpp:
2736         (WebCore::InspectorCSSAgent::didModifyDOMAttr):
2737         * inspector/InspectorCSSAgent.h:
2738         * inspector/InspectorDOMAgent.cpp:
2739         (WebCore::InspectorDOMAgent::didModifyDOMAttr):
2740         * inspector/InspectorDOMAgent.h:
2741         * inspector/InspectorStyleSheet.cpp:
2742         (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
2743         (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
2744         (WebCore::InspectorStyleSheetForInlineStyle::text):
2745         (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
2746         (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
2747         * inspector/InspectorStyleSheet.h:
2748         * inspector/front-end/ElementsTreeOutline.js:
2749         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
2750
2751 2010-12-24  Noel Gordon  <noel.gordon@gmail.com>
2752
2753         Reviewed by Andreas Kling.
2754
2755         [chromium] Fix a style nit in the JPEG encoder
2756         https://bugs.webkit.org/show_bug.cgi?id=51574
2757
2758         * platform/image-encoders/skia/JPEGImageEncoder.cpp: nit begone.
2759
2760 2010-12-23  Alexander Pavlov  <apavlov@chromium.org>
2761
2762         Reviewed by Maciej Stachowiak.
2763
2764         Web Inspector: CSS shorthand properties expand unnecessarily
2765         https://bugs.webkit.org/show_bug.cgi?id=36304
2766
2767         "border-radius" is a shorthand property that has a "non-standard" format and longhands, see
2768         http://www.w3.org/TR/css3-background/#border-radius for reference. CSSParser does not use the
2769         standard parseShorthand() or parse4Values() methods but instead a custom parseBorderRadius() method.
2770         This method didn't use to create a ShorthandScope instance and set the m_implicitShorthand value
2771         appropriately when adding implicit longhands, thus they were added as normal properties
2772         found in the CSS (neither implicit, nor longhands). This is now fixed.
2773
2774         * css/CSSParser.cpp:
2775         (WebCore::CSSParser::parseBorderRadius):
2776
2777 2010-12-24  Justin Schuh  <jschuh@chromium.org>
2778
2779         Reviewed by Darin Adler.
2780
2781         setTargetAttributeAnimatedValue should check for a null shadowTreeElement.
2782         https://bugs.webkit.org/show_bug.cgi?id=51576
2783
2784         Disallowed elements may be pruned from the shadow tree, leaving a null
2785         shadowTreeElement. We should check for that before setting attributes.
2786
2787         Test: svg/custom/animate-disallowed-use-element.svg
2788
2789         * svg/SVGAnimationElement.cpp:
2790         (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
2791
2792 2010-12-24  Evan Martin  <evan@chromium.org>
2793
2794         Reviewed by Darin Adler.
2795
2796         TextMetrics::width is an integer, but the member is a float
2797         https://bugs.webkit.org/show_bug.cgi?id=51566
2798
2799         Change the return type to a float.
2800
2801         No tests, fixing a compiler warning.
2802         (I was unable to produce a difference in the values exposed to pages
2803         with a float versus the previous conversion to an integer.)
2804
2805         * html/TextMetrics.h:
2806         (WebCore::TextMetrics::width):
2807
2808 2010-12-24  Ryuan Choi  <ryuan.choi@samsung.com>
2809
2810         Reviewed by Kenneth Rohde Christiansen.
2811
2812         [EFL] Add option to enable Touch Events.
2813         https://bugs.webkit.org/show_bug.cgi?id=49125
2814
2815         Add files for EFL to support TOUCH_EVENTS.
2816
2817         * CMakeLists.txt:
2818         * CMakeListsEfl.txt:
2819         * platform/PlatformTouchEvent.h: Add EFL related constructor.
2820         * platform/PlatformTouchPoint.h: ditto.
2821         * platform/efl/PlatformTouchEventEfl.cpp: Added.
2822         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
2823         * platform/efl/PlatformTouchPointEfl.cpp: Added.
2824         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
2825
2826 2010-12-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2827
2828         Reviewed by Kenneth Rohde Christiansen.
2829
2830         [EFL] Return an empty string instead of 'application/octet-stream' in getMIMETypeForExtension()
2831         https://bugs.webkit.org/show_bug.cgi?id=51457
2832
2833         WebKit EFL can't play html5 audio because of wrong mime type checking.
2834         So, 'application/octet-stream' is changed with an empty string.
2835
2836         * platform/efl/MIMETypeRegistryEfl.cpp:
2837         (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
2838         Returns an empty string instead of application/octet-stream when it can't find proper mime type.
2839
2840 2010-12-24  Justin Schuh  <jschuh@chromium.org>
2841
2842         Reviewed by Darin Adler.
2843
2844         SVGFontFaceElement::rebuildFontFace() should exit when not in document
2845         https://bugs.webkit.org/show_bug.cgi?id=51571
2846
2847         We were hitting a NULL deref crash. Since most of the callers checked
2848         inDocument() anyway, I moved it into the start of rebuildFontFace.
2849
2850         Test: svg/custom/use-invalid-font-face.svg
2851
2852         * svg/SVGFontFaceElement.cpp:
2853         (WebCore::SVGFontFaceElement::parseMappedAttribute):
2854         (WebCore::SVGFontFaceElement::rebuildFontFace):
2855         (WebCore::SVGFontFaceElement::childrenChanged):
2856
2857 2010-12-24  Justin Schuh  <jschuh@chromium.org>
2858
2859         Reviewed by Darin Adler.
2860
2861         Remove unnecessary check in CSSCanvasValue::canvasDestroyed().
2862         https://bugs.webkit.org/show_bug.cgi?id=51564
2863
2864         This check was duplicating an ASSERT for a case fixed in r73927.
2865         Now that the bug is fixed the check is no longer necessary.
2866
2867         Removing dead code, so no new tests needed.
2868
2869         * css/CSSCanvasValue.cpp:
2870         (WebCore::CSSCanvasValue::canvasDestroyed):
2871
2872 2010-12-23  Evan Martin  <evan@chromium.org>
2873
2874         Reviewed by Darin Adler.
2875
2876         ViewportArguments.h uses an enum to intialize a bool
2877         https://bugs.webkit.org/show_bug.cgi?id=50982
2878
2879         Initialize userScalable to true, rather than -1.
2880         No tests; fixes a compiler warning.
2881
2882         * dom/ViewportArguments.h:
2883         (WebCore::ViewportArguments::ViewportArguments):
2884
2885 2010-12-23  Jan Erik Hanssen  <jhanssen@sencha.com>
2886
2887         Reviewed by Adam Barth.
2888
2889         [Qt] User name/password stripped from URLs
2890         https://bugs.webkit.org/show_bug.cgi?id=36232
2891
2892         If a username but no password or no username but a password is present
2893         in a URL, QtWebKit won't send any authentication information down to Qt
2894         as it should.
2895
2896         Tests: http/tests/xmlhttprequest/basic-auth-nopassword.html
2897                http/tests/xmlhttprequest/basic-auth-nouser.html
2898
2899         * platform/network/qt/ResourceHandleQt.cpp:
2900         (WebCore::ResourceHandle::start):
2901         (WebCore::ResourceHandle::loadResourceSynchronously):
2902
2903 2010-12-23  Ryosuke Niwa  <rniwa@webkit.org>
2904
2905         Reviewed by Darin Adler.
2906
2907         queryCommandValue("FormatBlock") does not respect editing boundaries
2908         https://bugs.webkit.org/show_bug.cgi?id=51219
2909
2910         Fixed the bug by checking the element we found in elementForFormatBlockCommand
2911         does not contain the editable root.
2912
2913         * editing/FormatBlockCommand.cpp:
2914         (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
2915
2916 2010-12-23  Ryosuke Niwa  <rniwa@webkit.org>
2917
2918         Reviewed by Darin Adler.
2919
2920         FormatBlock doesn't preserve typing style but it should
2921         https://bugs.webkit.org/show_bug.cgi?id=51140
2922
2923         Fixed the bug by making preserveTypingStyle return true.
2924
2925         Test: editing/execCommand/format-block-typing-style.html
2926
2927         * editing/FormatBlockCommand.h:
2928         (WebCore::FormatBlockCommand::preservesTypingStyle):
2929
2930 2010-12-23  Jessie Berlin  <jberlin@apple.com>
2931
2932         Reviewed by Sam Weinig.
2933
2934         Need WebKit2 API to create a SecurityOrigin from protocol, host, and port
2935         https://bugs.webkit.org/show_bug.cgi?id=51563
2936
2937         Add SecurityOrigin::create(const String& protocol, const String& host, int port).
2938
2939         * WebCore.exp.in:
2940         Export the symbols for WebCore::SecurityOrigin::create(String, String, int).
2941
2942         * page/SecurityOrigin.cpp:
2943         (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
2944         Use the constant MaxAllowedPort.
2945         (WebCore::SecurityOrigin::create):
2946         Sanitizing based off of that done in createFromDatabaseIdentifier.
2947         * page/SecurityOrigin.h:
2948
2949 2010-12-23  Patrick Gansterer  <paroga@webkit.org>
2950
2951         Unreviewed build fix for WinCE after r73802.
2952
2953         Reapply r70812:
2954         Port ContextMenuItemWin.cpp to WinCE
2955         https://bugs.webkit.org/show_bug.cgi?id=48407
2956
2957         * platform/win/ContextMenuItemWin.cpp:
2958
2959 2010-12-23  Adam Barth  <abarth@webkit.org>
2960
2961         Remove include of non-existant file.
2962
2963         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2964
2965 2010-12-23  Ryosuke Niwa  <rniwa@webkit.org>
2966
2967         Reviewed by Darin Adler.
2968
2969         Selection becomes stale when CharacterData is manipulated directly
2970         https://bugs.webkit.org/show_bug.cgi?id=51389
2971
2972         The bug was caused by SelectionController's not adjusting selection when CharacterData's
2973         m_data is modified by its API.
2974
2975         Fixed the bug by adding textWillBeReplaced to SelectionController and calling it in
2976         CharacterData::textWillBeReplaced. Added newLength to setDataAndUpdate, which is passed to
2977         textWillBeReplaced because inserting, replacing, or removing data may require moving
2978         the offset of the selection end points (done by shouldRemovePositionAfterAdoptingTextReplacement).
2979
2980         Also fixed the condition for determining whether or not a node intersects the selection
2981         in respondToNodeModification, which is extracted from nodeWillBeRemoved. The old condition
2982         failed to recognize certain cases when selection started and ended with non-zero offsets.
2983
2984         Tests: editing/selection/character-data-mutation-crash.html
2985                editing/selection/character-data-mutation.html
2986
2987         * dom/CharacterData.cpp:
2988         (WebCore::CharacterData::setData): Passes newLegnth to setDataAndUpdate.
2989         (WebCore::CharacterData::appendData): Ditto.
2990         (WebCore::CharacterData::insertData): Ditto.
2991         (WebCore::CharacterData::deleteData): Ditto.
2992         (WebCore::CharacterData::replaceData): Ditto.
2993         (WebCore::CharacterData::setDataAndUpdate): Added newLegnth to the argument list,
2994         and renamed lengthOfReplacedData to oldLength; calls textWillBeReplaced.
2995         * dom/CharacterData.h:
2996         * editing/SelectionController.cpp:
2997         (WebCore::removingNodeRemovesPosition): Removed indentations from blank lines.
2998         (WebCore::SelectionController::nodeWillBeRemoved): Calls nodeWillBeRemoved.
2999         (WebCore::SelectionController::respondToNodeModification): Extracted from nodeWillBeRemoved;
3000         fixed the logic to figure out whether a node is inside the range or not.
3001         (WebCore::shouldRemovePositionAfterAdoptingTextReplacement): Added.
3002         (WebCore::SelectionController::textWillBeReplaced): Added.
3003         * editing/SelectionController.h:
3004
3005 2010-12-23  Adam Barth  <abarth@webkit.org>
3006
3007         Reviewed by Darin Adler.
3008
3009         Remove unneeded V8 bindings files
3010         https://bugs.webkit.org/show_bug.cgi?id=51570
3011
3012         * WebCore.gypi:
3013         * bindings/generic/BindingDOMWindow.h: Removed.
3014         * bindings/v8/specialization/V8BindingDOMWindow.h: Removed.
3015
3016 2010-12-23  Dan Bernstein  <mitz@apple.com>
3017
3018         Build fix.
3019
3020         * editing/EditorCommand.cpp:
3021         (WebCore::enabledDismissCorrectionPanel):
3022
3023 2010-12-23  Darin Adler  <darin@apple.com>
3024
3025         Try to fix crash seen on GTK bot.
3026
3027         * editing/EditorCommand.cpp:
3028         (WebCore::internalCommand): Add back empty string check I accidentally deleted in r74580.
3029
3030         * WebCore.xcodeproj/project.pbxproj: Let Xcode edit the file.
3031
3032 2010-12-23  Sheriff Bot  <webkit.review.bot@gmail.com>
3033
3034         Unreviewed, rolling out r74561.
3035         http://trac.webkit.org/changeset/74561
3036         https://bugs.webkit.org/show_bug.cgi?id=51565
3037
3038         "Broke Chromium UI tests on Vista" (Requested by kbr_google on
3039         #webkit).
3040
3041         * platform/graphics/chromium/ImageLayerChromium.cpp:
3042         (WebCore::ImageLayerChromium::updateContentsIfDirty):
3043         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
3044         (WebCore::GraphicsContext3D::getImageData):
3045
3046 2010-12-23  Mihai Parparita  <mihaip@chromium.org>
3047
3048         Reviewed by Kent Tamura.
3049
3050         [Chromium] Add WebThemeEngine for Mac to allow scrollbar rendering to be overridden for the DRT
3051         https://bugs.webkit.org/show_bug.cgi?id=51507
3052         
3053         Adds WebThemeEngine for the Mac (it already has parallel definitions for
3054         Windows and Linux) so that scrollbar thumb rendering can be overridden
3055         for the DRT (to be consistent with the NSScroller-based rendering
3056         used by the Mac port).
3057
3058         No new tests since the functionality is not exposed yet. Eventually will
3059         result in the Chromium/Mac port being able to use the same pixel
3060         baselines for layout tests as the Mac port.
3061
3062         * platform/chromium/ChromiumBridge.h:
3063         * platform/chromium/ScrollbarThemeChromiumMac.mm:
3064         (WebCore::scrollbarStateToThemeState):
3065         (WebCore::ScrollbarThemeChromiumMac::paint):
3066
3067 2010-12-23  Darin Adler  <darin@apple.com>
3068
3069         Reviewed by Sam Weinig.
3070
3071         WKView should not try to do asynchronous validation for selectors that are not editor commands
3072         https://bugs.webkit.org/show_bug.cgi?id=51555
3073
3074         * WebCore.exp.in: Added commandIsSupportedFromMenuOrKeyBinding.
3075         * editing/Editor.h: Reordered arguments in the Editor::Command constructor
3076         and the data members too so the frame is last. Added
3077         commandIsSupportedFromMenuOrKeyBinding.
3078
3079         * editing/EditorCommand.cpp:
3080         (WebCore::supported): Removed the EditorCommandSource argument. These
3081         functions are now only used when called from DOM.
3082         (WebCore::supportedFromMenuOrKeyBinding): Ditto.
3083         (WebCore::supportedCopyCut): Ditto.
3084         (WebCore::supportedPaste): Ditto.
3085         (WebCore::enabledDismissCorrectionPanel): Changed the supported function to
3086         an enabled function. It was incorrect to say that this is "supported" only
3087         when the correction panel is up. Correct to say that it is "enabled" only
3088         then. And also probably OK to enable it even when the selection is not in
3089         editable text, as long as the panel is up.
3090         (WebCore::createCommandMap): Moved conditional commands out of the main
3091         array into a separate section at the end.
3092         (WebCore::internalCommand): Added.
3093         (WebCore::Editor::command): Changed to use the new internalCommand function
3094         and simplified by relying on the null check in the Command constructor.
3095         (WebCore::Editor::commandIsSupportedFromMenuOrKeyBinding): Added.
3096         (WebCore::Editor::Command::Command): Removed unneeded initialization of
3097         m_source, which is never looked at if m_command is 0. Added feature of
3098         passing a null command pointer to the non-default constructor.
3099         (WebCore::Editor::Command::isSupported): Changed to only call the
3100         per-command isSupported function when the command source is DOM.
3101         Accordingly that function is now called isSupportedFromDOM.
3102
3103 2010-12-23  Matthew Delaney  <mdelaney@apple.com>
3104
3105         Reviewed by Simon Fraser.
3106
3107         Incorrect layer property used noted as changed in GraphicsLayerCA::setAcceleratesDrawing
3108         https://bugs.webkit.org/show_bug.cgi?id=51560
3109
3110         No new tests.
3111
3112         * platform/graphics/ca/GraphicsLayerCA.cpp:
3113         (WebCore::GraphicsLayerCA::setAcceleratesDrawing):
3114
3115 2010-12-23  Jan Erik Hanssen  <jhanssen@sencha.com>
3116
3117         Reviewed by Andreas Kling.
3118
3119         [Qt] copy and paste greek symbols to Word, TextEdit results in ?'s being shown
3120         https://bugs.webkit.org/show_bug.cgi?id=35635
3121
3122         Explicitly set text/html data on QClipboard as UTF-8 and also include a <meta>
3123         tag informing the OS that the data is in UTF-8 format.
3124
3125         * platform/qt/PasteboardQt.cpp:
3126         (WebCore::Pasteboard::writeSelection):
3127
3128 2010-12-23  Justin Schuh  <jschuh@chromium.org>
3129
3130         Reviewed by Eric Seidel.
3131
3132         CSSCursorImageValue destructor should clear referenced element.
3133         https://bugs.webkit.org/show_bug.cgi?id=51417
3134
3135         Calls correct method to clear image and renames method to avoid future confusion.
3136
3137         Test: svg/css/cursor-image-replace.svg
3138
3139         * css/CSSCursorImageValue.cpp:
3140         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
3141         * svg/SVGElement.cpp:
3142         (WebCore::SVGElement::cursorImageValueRemoved):
3143         * svg/SVGElement.h:
3144
3145 2010-12-22  Sam Weinig  <sam@webkit.org>
3146
3147         Reviewed by Darin Adler.
3148
3149         WebKit2 needs to mirror the frame tree in the UIProcess
3150         https://bugs.webkit.org/show_bug.cgi?id=51546
3151
3152         - Add client functions to notify that a frame has been added or
3153           removed from the page cache.
3154
3155         * history/CachedFrame.cpp:
3156         (WebCore::CachedFrameBase::restore):
3157         (WebCore::CachedFrame::CachedFrame):
3158         * history/CachedFrame.h:
3159         * loader/EmptyClients.h:
3160         (WebCore::EmptyFrameLoaderClient::didSaveToPageCache):
3161         (WebCore::EmptyFrameLoaderClient::didRestoreFromPageCache):
3162         * loader/FrameLoaderClient.h:
3163
3164 2010-12-22  Matthew Delaney  <mdelaney@apple.com>
3165
3166         Reviewed by Simon Fraser.
3167
3168         Add setNeedsStyleRecalc for getting canvas contexts that use IOSurfaces
3169         This patch also changes USE_IOSURFACE to instead follow USE(IOSURFACE)
3170         https://bugs.webkit.org/show_bug.cgi?id=51279
3171
3172         * html/HTMLCanvasElement.cpp: For IOSurface, use setNeedsStyleRecalc
3173         * html/canvas/CanvasRenderingContext2D.cpp: Use new flag
3174         * platform/graphics/ImageBuffer.h: Use new flag
3175         * platform/graphics/cg/ImageBufferCG.cpp: Use new flag
3176
3177 2010-12-20  Adrienne Walker  <enne@google.com>
3178
3179         Reviewed by Kenneth Russell.
3180
3181         [chromium] Tile root layer of the compositor.
3182         https://bugs.webkit.org/show_bug.cgi?id=49947
3183
3184         Refactor root layer update and drawing from LayerRendererChromium into
3185         LayerTilerChromium.  The root layer is now drawn as multiple tiles
3186         rather than as one single large texture.  Scrollbars are now drawn
3187         separately rather than as part of the root layer.
3188
3189         Test: LayoutTests/compositing/
3190
3191         * WebCore.gypi:
3192         * page/FrameView.cpp:
3193         (WebCore::FrameView::repaintContentRectangle):
3194         * platform/ScrollView.cpp:
3195         (WebCore::ScrollView::ScrollView):
3196         (WebCore::ScrollView::setClipsRepaints):
3197         * platform/ScrollView.h:
3198         (WebCore::ScrollView::clipsRepaints):
3199         * platform/graphics/chromium/LayerChromium.h:
3200         * platform/graphics/chromium/LayerRendererChromium.cpp:
3201         (WebCore::LayerRendererChromium::LayerRendererChromium):
3202         (WebCore::LayerRendererChromium::~LayerRendererChromium):
3203         (WebCore::LayerRendererChromium::useShader):
3204         (WebCore::LayerRendererChromium::verticalScrollbarRect):
3205         (WebCore::LayerRendererChromium::horizontalScrollbarRect):
3206         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
3207         (WebCore::LayerRendererChromium::updateAndDrawRootLayer):
3208         (WebCore::LayerRendererChromium::drawLayers):
3209         (WebCore::LayerRendererChromium::setRootLayer):
3210         (WebCore::LayerRendererChromium::initializeSharedObjects):
3211         (WebCore::LayerRendererChromium::cleanupSharedObjects):
3212         * platform/graphics/chromium/LayerRendererChromium.h:
3213         * platform/graphics/chromium/LayerTilerChromium.cpp: Added.
3214         (WebCore::LayerTilerChromium::create):
3215         (WebCore::LayerTilerChromium::LayerTilerChromium):
3216         (WebCore::LayerTilerChromium::~LayerTilerChromium):
3217         (WebCore::LayerTilerChromium::layerRendererContext):
3218         (WebCore::LayerTilerChromium::setTileSize):
3219         (WebCore::LayerTilerChromium::reset):
3220         (WebCore::LayerTilerChromium::createTile):
3221         (WebCore::LayerTilerChromium::invalidateTiles):
3222         (WebCore::LayerTilerChromium::contentRectToTileIndices):
3223         (WebCore::LayerTilerChromium::contentRectToLayerRect):
3224         (WebCore::LayerTilerChromium::layerRectToContentRect):
3225         (WebCore::LayerTilerChromium::tileIndex):
3226         (WebCore::LayerTilerChromium::tileContentRect):
3227         (WebCore::LayerTilerChromium::tileLayerRect):
3228         (WebCore::LayerTilerChromium::invalidateRect):
3229         (WebCore::LayerTilerChromium::invalidateEntireLayer):
3230         (WebCore::LayerTilerChromium::update):
3231         (WebCore::LayerTilerChromium::setLayerPosition):
3232         (WebCore::LayerTilerChromium::draw):
3233         (WebCore::LayerTilerChromium::resizeLayer):
3234         (WebCore::LayerTilerChromium::growLayerToContain):
3235         (WebCore::LayerTilerChromium::Tile::~Tile):
3236         (WebCore::LayerTilerChromium::Tile::releaseTextureId):
3237         * platform/graphics/chromium/LayerTilerChromium.h: Added.
3238         (WebCore::LayerTilerChromium::Tile::Tile):
3239         (WebCore::LayerTilerChromium::Tile::textureId):
3240         (WebCore::LayerTilerChromium::Tile::dirty):
3241         (WebCore::LayerTilerChromium::Tile::clearDirty):
3242         (WebCore::LayerTilerChromium::layerRenderer):
3243
3244 2010-12-22  Ryosuke Niwa  <rniwa@webkit.org>
3245
3246         Reviewed by Eric Seidel.
3247
3248         Editor.h doesn't need to include SelectionController.h
3249         https://bugs.webkit.org/show_bug.cgi?id=51441
3250
3251         Removed #include <Selection.h> from Editor.h.
3252         Also extracted WritingDirection.h from EditingStyle.h and renamed SelectionController::EDirection
3253         to SelectionDirection and moved its declaration from SelectionController.h to VisibleSelection.h
3254
3255         * WebCore.exp.in: Signature changes.
3256         * WebCore.xcodeproj/project.pbxproj: Added WritingDirection.h
3257         * accessibility/AccessibilityRenderObject.cpp:
3258         (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): Change due to SelectionDirection.
3259         * editing/EditingStyle.h: Removed WritingDirection and included WritingDirection.h
3260         * editing/Editor.cpp:
3261         (WebCore::Editor::deleteWithDirection): Change due to SelectionDirection.
3262         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Ditto.
3263         (WebCore::Editor::markMisspellingsAfterTypingToWord): Ditto.
3264         * editing/Editor.h: Removed SelectionController.h; added DocumentMarker.h, Timer.h, VisibleSelection.h
3265         and WritingDirection.h; forward declared CSSMutableStyleDeclaration.
3266         * editing/EditorCommand.cpp:
3267         (WebCore::executeDeleteBackward): Change due to SelectionDirection.
3268         (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
3269         (WebCore::executeDeleteForward): Ditto.
3270         (WebCore::executeDeleteToBeginningOfLine): Ditto.
3271         (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
3272         (WebCore::executeDeleteToEndOfLine): Ditto.
3273         (WebCore::executeDeleteToEndOfParagraph): Ditto.
3274         (WebCore::executeDeleteWordBackward): Ditto.
3275         (WebCore::executeDeleteWordForward): Ditto.
3276         (WebCore::executeForwardDelete): Ditto.
3277         (WebCore::executeMoveBackward): Ditto.
3278         (WebCore::executeMoveBackwardAndModifySelection): Ditto.
3279         (WebCore::executeMoveDown): Ditto.
3280         (WebCore::executeMoveDownAndModifySelection): Ditto.
3281         (WebCore::executeMoveForward): Ditto.
3282         (WebCore::executeMoveForwardAndModifySelection): Ditto.
3283         (WebCore::executeMoveLeft): Ditto.
3284         (WebCore::executeMoveLeftAndModifySelection): Ditto.
3285         (WebCore::executeMoveRight): Ditto.
3286         (WebCore::executeMoveRightAndModifySelection): Ditto.
3287         (WebCore::executeMoveToBeginningOfDocument): Ditto.
3288         (WebCore::executeMoveToBeginningOfDocumentAndModifySelection): Ditto.
3289         (WebCore::executeMoveToBeginningOfLine): Ditto.
3290         (WebCore::executeMoveToBeginningOfLineAndModifySelection): Ditto.
3291         (WebCore::executeMoveToBeginningOfParagraph): Ditto.
3292         (WebCore::executeMoveToBeginningOfParagraphAndModifySelection): Ditto.
3293         (WebCore::executeMoveToBeginningOfSentence): Ditto.
3294         (WebCore::executeMoveToBeginningOfSentenceAndModifySelection): Ditto.
3295         (WebCore::executeMoveToEndOfDocument): Ditto.
3296         (WebCore::executeMoveToEndOfDocumentAndModifySelection): Ditto.
3297         (WebCore::executeMoveToEndOfSentence): Ditto.
3298         (WebCore::executeMoveToEndOfSentenceAndModifySelection): Ditto.
3299         (WebCore::executeMoveToEndOfLine): Ditto.
3300         (WebCore::executeMoveToEndOfLineAndModifySelection): Ditto.
3301         (WebCore::executeMoveToEndOfParagraph): Ditto.
3302         (WebCore::executeMoveToEndOfParagraphAndModifySelection): Ditto.
3303         (WebCore::executeMoveParagraphBackwardAndModifySelection): Ditto.
3304         (WebCore::executeMoveParagraphForwardAndModifySelection): Ditto.
3305         (WebCore::executeMoveUp): Ditto.
3306         (WebCore::executeMoveUpAndModifySelection): Ditto.
3307         (WebCore::executeMoveWordBackward): Ditto.
3308         (WebCore::executeMoveWordBackwardAndModifySelection): Ditto.
3309         (WebCore::executeMoveWordForward): Ditto.
3310         (WebCore::executeMoveWordForwardAndModifySelection): Ditto.
3311         (WebCore::executeMoveWordLeft): Ditto.
3312         (WebCore::executeMoveWordLeftAndModifySelection): Ditto.
3313         (WebCore::executeMoveWordRight): Ditto.
3314         (WebCore::executeMoveWordRightAndModifySelection): Ditto.
3315         (WebCore::executeMoveToLeftEndOfLine): Ditto.
3316         (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Ditto.
3317         (WebCore::executeMoveToRightEndOfLine): Ditto.
3318         (WebCore::executeMoveToRightEndOfLineAndModifySelection): Ditto.
3319         * editing/SelectionController.cpp:
3320         (WebCore::SelectionController::willBeModified): Takes SelectionDirection instead of EDirection.
3321         (WebCore::SelectionController::modify): Ditto.
3322         * editing/SelectionController.h: Change due to SelectionDirection.
3323         * editing/TypingCommand.cpp:
3324         (WebCore::TypingCommand::deleteKeyPressed): Ditto.
3325         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
3326         * editing/VisibleSelection.h: Added SelectionDirection, renamed and moved from EDirection
3327         in SelectionController.h
3328         * editing/WritingDirection.h: Added.
3329         * page/DOMSelection.cpp:
3330         (WebCore::DOMSelection::modify): Change due to SelectionDirection.
3331         (WebCore::DOMSelection::deleteFromDocument): Ditto.
3332         * page/EventHandler.cpp:
3333         (WebCore::EventHandler::handleKeyboardSelectionMovement): Ditto.
3334         * page/Frame.h: Includes SelectionController.h.
3335
3336 2010-12-23  Adam Barth  <abarth@webkit.org>
3337
3338         Reviewed by Darin Adler.
3339
3340         Move V8 to WebCore's implementation of showModalDialog
3341         https://bugs.webkit.org/show_bug.cgi?id=51527
3342
3343         This code is basically verbatim translation from the JavaScriptCore
3344         bindings.  The only intentional difference is in the world selection
3345         for the dialog's frame.  I suspect JavaScriptCore's bindings have a
3346         subtle bug there.
3347
3348         In this patch, I also remove a bunch of now-unneeded code in the
3349         generic bindings.
3350
3351         * bindings/generic/BindingDOMWindow.h:
3352         * bindings/js/JSDOMWindowCustom.cpp:
3353         (WebCore::DialogHandler::dialogCreated):
3354         (WebCore::setUpDialog):
3355         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3356         (WebCore::DialogHandler::DialogHandler):
3357         (WebCore::DialogHandler::dialogCreated):
3358         (WebCore::DialogHandler::returnValue):
3359         (WebCore::setUpDialog):
3360         (WebCore::V8DOMWindow::showModalDialogCallback):
3361         (WebCore::V8DOMWindow::openCallback):
3362         * bindings/v8/specialization/V8BindingDOMWindow.h:
3363
3364 2010-12-23  Alexander Pavlov  <apavlov@chromium.org>
3365
3366         Reviewed by Joseph Pecoraro.
3367
3368         Web Inspector: Can't backspace from CSS value to CSS key field
3369         https://bugs.webkit.org/show_bug.cgi?id=51476
3370
3371         * inspector/front-end/StylesSidebarPane.js:
3372         (WebInspector.StylePropertyTreeElement.prototype.):
3373         (WebInspector.StylePropertyTreeElement.prototype):
3374
3375 2010-12-23  W. James MacLean  <wjmaclean@chromium.org>
3376
3377         Reviewed by Kenneth Russell.
3378
3379         [chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
3380         https://bugs.webkit.org/show_bug.cgi?id=51186
3381
3382         No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated.
3383
3384         * platform/graphics/chromium/ImageLayerChromium.cpp:
3385         (WebCore::ImageLayerChromium::updateContentsIfDirty):
3386         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
3387         (WebCore::GraphicsContext3D::getImageData):
3388
3389 2010-12-23  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
3390
3391         Reviewed by Kenneth Rohde Christiansen.
3392
3393         Fix check by undefined macro
3394         https://bugs.webkit.org/show_bug.cgi?id=51531
3395
3396         Fix check by undefined macro
3397
3398         When building EFL port with libsoup, BUILDING_GTK__ is not defined,
3399         leading to warnings during compile. We actually have to use an #ifdef
3400         instead of an #if.
3401
3402         No change in functionality so no new tests.
3403
3404         * platform/network/soup/cache/webkit/soup-cache.h:
3405
3406 2010-12-23  Jonathan Dixon  <joth@chromium.org>
3407
3408         Reviewed by Steve Block.
3409
3410         TouchEvents does not support multi-touch on a page with multiple touch targets
3411         https://bugs.webkit.org/show_bug.cgi?id=51258
3412
3413         Test: fast/events/touch/multi-touch-grouped-targets.html
3414
3415         * page/EventHandler.cpp:
3416         (WebCore::eventNameForTouchPointState):
3417         (WebCore::EventHandler::handleTouchEvent):
3418         Redesigned event handler to ensure all event targets involved in a given
3419         multitouch event get the appropriate event(s) fired.
3420
3421         * platform/PlatformTouchPoint.h: Added end-stop marker for State enum.
3422
3423 2010-12-23  Philippe Normand  <pnormand@igalia.com>
3424
3425         Reviewed by Xan Lopez.
3426
3427         [GTK] media/audio-data-url.html fails since r75504
3428         https://bugs.webkit.org/show_bug.cgi?id=51525
3429
3430         Make the GStreamer media-player advertize 3gpp mime-types as
3431         supported if the 3gp caps are in the typefind factories.
3432
3433         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3434         (WebCore::mimeTypeCache):
3435
3436 2010-12-23  Kent Tamura  <tkent@chromium.org>
3437
3438         Reviewed by Dimitri Glazkov.
3439
3440         Refactor HTMLInputElement: Move a part of HTMLInputElement::defaultEventHandler()
3441         to InputTypes.
3442         https://bugs.webkit.org/show_bug.cgi?id=51093
3443
3444         Move BeforeTextInserted and Wheel event handling, event forwarding to
3445         renderers, and the isindex form submission quirk code to InputTypes.
3446         Also, change the return types of InputType event handlers from 'bool'
3447         to 'void'. We use Event::defaultHandled() to decide whether event
3448         handling should be stopped.
3449
3450         No new tests because this is just a refactoring.
3451
3452         * html/BaseButtonInputType.cpp: bool->void changes
3453         (WebCore::BaseButtonInputType::handleKeydownEvent):
3454         (WebCore::BaseButtonInputType::handleKeypressEvent):
3455         (WebCore::BaseButtonInputType::handleKeyupEvent):
3456         * html/BaseButtonInputType.h: ditto.
3457         * html/BaseCheckableInputType.cpp: ditto.
3458         (WebCore::BaseCheckableInputType::handleKeydownEvent):
3459         (WebCore::BaseCheckableInputType::handleKeypressEvent):
3460         * html/BaseCheckableInputType.h: ditto.
3461         * html/BaseDateAndTimeInputType.cpp:
3462         (WebCore::BaseDateAndTimeInputType::handleKeydownEvent): ditto.
3463         (WebCore::BaseDateAndTimeInputType::handleWheelEvent): Just calls handleWheelEventForSpinButton().
3464         * html/BaseDateAndTimeInputType.h: bool->void change and handleWhellEvent() addition.
3465         * html/CheckboxInputType.cpp: bool->void change
3466         (WebCore::CheckboxInputType::handleKeyupEvent):
3467         * html/CheckboxInputType.h: ditto.
3468         * html/FileInputType.cpp: ditto.
3469         (WebCore::FileInputType::handleDOMActivateEvent):
3470         * html/FileInputType.h: ditto.
3471         * html/HTMLInputElement.cpp:
3472         (WebCore::HTMLInputElement::defaultEventHandler):
3473          - Change return-value handling of InputType event handlers
3474          - Move out beforeTextInserted/wheel event handling and isindex form quirk.
3475         * html/HTMLInputElement.h:
3476         (WebCore::HTMLInputElement::handleBeforeTextInsertedEvent):
3477          Added so that InputType can call InputElement::handleBeforeTextInsertedEvent().
3478         * html/ImageInputType.cpp: bool->void change
3479         (WebCore::ImageInputType::handleDOMActivateEvent):
3480         * html/ImageInputType.h: ditto.
3481         * html/InputType.cpp: ditto.
3482         (WebCore::InputType::handleClickEvent):
3483         (WebCore::InputType::handleDOMActivateEvent):
3484         (WebCore::InputType::handleKeydownEvent):
3485         (WebCore::InputType::handleKeypressEvent):
3486         (WebCore::InputType::handleKeyupEvent):
3487         (WebCore::InputType::handleBeforeTextInsertedEvent):
3488         (WebCore::InputType::handleWheelEvent): Added default implementation.
3489         (WebCore::InputType::forwardEvent): ditto.
3490         (WebCore::InputType::formForSubmission): ditto.
3491         * html/InputType.h:
3492         * html/IsIndexInputType.cpp:
3493         (WebCore::IsIndexInputType::formForSubmission): Moved from HTMLInputElement.cpp.
3494         * html/IsIndexInputType.h:
3495         * html/NumberInputType.cpp:
3496         (WebCore::isNumberCharacter): Moved from HTMLInputElement.cpp.
3497         (WebCore::NumberInputType::handleKeydownEvent): bool->void change.
3498         (WebCore::NumberInputType::handleBeforeTextInsertedEvent): Moved from HTMInputElement.cpp.
3499         (WebCore::NumberInputType::handleWheelEvent): Added. Just calls handleWheelEventForSpinButton().
3500         * html/NumberInputType.h:
3501         * html/RadioInputType.cpp: bool->void changes.
3502         (WebCore::RadioInputType::handleClickEvent):
3503         (WebCore::RadioInputType::handleKeydownEvent):
3504         (WebCore::RadioInputType::handleKeyupEvent):
3505         * html/RadioInputType.h:
3506         * html/RangeInputType.cpp:
3507         (WebCore::RangeInputType::handleKeydownEvent): ditto.
3508         (WebCore::RangeInputType::forwardEvent): Moved from HTMLInputElement.cpp.
3509         * html/RangeInputType.h:
3510         * html/ResetInputType.cpp: bool->void change.
3511         (WebCore::ResetInputType::handleDOMActivateEvent):
3512         * html/ResetInputType.h: ditto.
3513         * html/SubmitInputType.cpp: ditto.
3514         (WebCore::SubmitInputType::handleDOMActivateEvent):
3515         * html/SubmitInputType.h: ditto.
3516         * html/TextFieldInputType.cpp:
3517         (WebCore::TextFieldInputType::handleKeydownEvent): bool->void change.
3518         (WebCore::TextFieldInputType::handleKeydownEventForSpinButton): ditto.
3519         (WebCore::TextFieldInputType::handleWheelEventForSpinButton): Moved from HTMLInputElement.cpp.
3520         (WebCore::TextFieldInputType::forwardEvent): ditto.
3521         * html/TextFieldInputType.h:
3522
3523 2010-12-23  Alexander Pavlov  <apavlov@chromium.org>
3524
3525         Reviewed by Joseph Pecoraro.
3526
3527         Web Inspector: After scrolling new property value and cancelling, removed property remains active in page style
3528         https://bugs.webkit.org/show_bug.cgi?id=51390
3529
3530         * inspector/front-end/StylesSidebarPane.js:
3531         (WebInspector.StylePropertyTreeElement.prototype):
3532
3533 2010-12-23  Noel Gordon  <noel.gordon@gmail.com>
3534
3535         Reviewed by Adam Barth.
3536
3537         [chromium] Reduce canvas.toDataURL("image/png") run-time costs 300%
3538         https://bugs.webkit.org/show_bug.cgi?id=51455
3539
3540         Chromium uses the libpng compression defaults.  Good compression results,
3541         but at much larger run-time cost compared to other browsers.  Chrome is 2
3542         times slower than Mozilla 3.6.12 and 3-4 times slower than Safari 5.0.3.
3543
3544         libpng has supported alternative compression methods for some time, they
3545         better meet the dual goals of good compression and run-time cost for the
3546         on-line case, and are well-documented.  Here use Huffman encoding.  It's
3547         2-20% faster than other encodings (Z_RLE, Z_FILTERED) and the compressed
3548         size is within 1% of the Safari 5.0.3 result independent of image size.
3549
3550         No change in behaviour, so no new tests.
3551
3552         * platform/image-encoders/skia/PNGImageEncoder.cpp:
3553         (WebCore::PNGImageEncoder::encode): Apply Huffman image encoding.
3554
3555 2010-12-22  Noel Gordon  <noel.gordon@gmail.com>
3556
3557         Reviewed by Darin Fisher.
3558
3559         [chromium] Optimize canvas.toDataURL("image/png") unpremultiplication loop
3560         https://bugs.webkit.org/show_bug.cgi?id=51321
3561
3562         Follow on from r73890, unroll the SkUnPreMultiply::PMColorToColor() call for
3563         the "image/png" encoder case viz., compute the unpremultiplication in-place.
3564         See https://bugs.webkit.org/show_bug.cgi?id=50804 for reference.
3565
3566         No new tests: canvas.toDataURL() is covered by existing tests.
3567
3568         * platform/image-encoders/skia/PNGImageEncoder.cpp:
3569         (WebCore::preMultipliedBGRAtoRGBA):
3570
3571 2010-12-22  Ariya Hidayat  <ariya@sencha.com>
3572
3573         Reviewed by Simon Fraser.
3574
3575         Implement skewX() and skewY() for CSSMatrix.
3576         https://bugs.webkit.org/show_bug.cgi?id=38335
3577
3578         * css/WebKitCSSMatrix.cpp:
3579         (WebCore::WebKitCSSMatrix::skew): Implemented skewX() and skewY().
3580         * css/WebKitCSSMatrix.h: Added skewX() and skewY().
3581         * css/WebKitCSSMatrix.idl: Added skewX() and skewY().
3582
3583 2010-12-22  Simon Fraser  <simon.fraser@apple.com>
3584
3585         Reviewed by Dan Bernstein.
3586
3587         Support unprefixed box-shadow property
3588         https://bugs.webkit.org/show_bug.cgi?id=51448
3589         
3590         Add support for the box-shadow CSS property. We'll currently render this
3591         similarly to -webkit-box-shadow, but a later fix will adjust the blur radius
3592         handling to match the spec.
3593
3594         Test: fast/css/box-shadow.html
3595
3596         * css/CSSComputedStyleDeclaration.cpp:
3597         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Implement getComputedStyle
3598         for box-shadow
3599         
3600         * css/CSSParser.cpp:
3601         (WebCore::CSSParser::parseValue):
3602         (WebCore::ShadowParseContext::ShadowParseContext):
3603         (WebCore::ShadowParseContext::commitValue):
3604         (WebCore::ShadowParseContext::commitLength):
3605         (WebCore::ShadowParseContext::commitColor): Support CSSPropertyBoxShadow
3606
3607         * css/CSSPropertyNames.in: add box-shadow
3608
3609         * css/CSSStyleSelector.cpp:
3610         (WebCore::CSSStyleSelector::applyProperty): Add CSSPropertyBoxShadow, and
3611         store in the ShadowData if this is -webkit-box-shadow or not. We'll use this
3612         to adjust radii later.
3613
3614         * css/SVGCSSStyleSelector.cpp:
3615         (WebCore::CSSStyleSelector::applySVGProperty): Add CSSPropertyBoxShadow.
3616         
3617         * page/animation/AnimationBase.cpp:
3618         (WebCore::blendFunc):
3619         (WebCore::PropertyWrapperShadow::blend):
3620         (WebCore::AnimationBase::ensurePropertyMap): Support animations of box-shadow.
3621         
3622         * rendering/style/ShadowData.cpp: Store a flag to say if this is a -webkit-box-shadow.
3623         (WebCore::ShadowData::ShadowData):
3624         (WebCore::ShadowData::operator==):
3625         * rendering/style/ShadowData.h:
3626         (WebCore::ShadowData::ShadowData):
3627         (WebCore::ShadowData::isWebkitBoxShadow):
3628
3629 2010-12-22  Michael Saboff  <msaboff@apple.com>
3630
3631         Reviewed by Sam Weinig.
3632
3633         REGRESSION: Can't shadow/overwrite window.constructor 
3634         (causes TypeError exception)
3635         https://bugs.webkit.org/show_bug.cgi?id=48953
3636
3637         Added code in the javascript code generator to create a setter for
3638         a constructor if the new extended attribute ReplaceableConstructor
3639         is present for the interface.
3640
3641         * bindings/scripts/CodeGeneratorJS.pm:
3642         * page/DOMWindow.idl:
3643
3644 2010-12-22  Steve Lacey  <sjl@chromium.org>
3645
3646         Reviewed by David Levin.
3647
3648         Change css for chromium media controls to deal with the timeline
3649         not expanding when the current time disappears. This happens when
3650         the width of the control drops below 240px.
3651
3652         This change results in a minor pixel difference - the timebar now
3653         aligns better with the time and when the time is not displayed is
3654         now perfectly centered. Disabling the affected tests for now
3655         and will rebaseline.
3656
3657         https://bugs.webkit.org/show_bug.cgi?id=51500
3658
3659         * css/mediaControlsChromium.css:
3660         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
3661         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
3662         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
3663         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
3664
3665 2010-12-22  Mihai Parparita  <mihaip@chromium.org>
3666
3667         Reviewed by Simon Fraser.
3668
3669         the shadow direction is negated in canvas context shadowOffsetY.
3670         https://bugs.webkit.org/show_bug.cgi?id=25619
3671         
3672         Invert shadow offset Y direction in 0-blur path in FontMac::drawGlyps
3673         if we're not transforming shadows (i.e. are rendering in a canvas). Also
3674         use CG shadows if there's a non-translate/flip transform applied
3675         (shadow offsets are supposed to ignore transforms, but the naive/simple
3676         implementation was taking them into account).
3677         
3678         Also does the equivalent changes to FontCGWin.
3679
3680         Test: fast/canvas/fillText-shadow.html
3681
3682         * platform/graphics/GraphicsContext.cpp:
3683         (WebCore::GraphicsContext::shadowsIgnoreTransforms):
3684         * platform/graphics/GraphicsContext.h:
3685         * platform/graphics/mac/FontMac.mm:
3686         (WebCore::Font::drawGlyphs):
3687         * platform/graphics/win/FontCGWin.cpp:
3688         (WebCore::Font::drawGlyphs):
3689
3690 2010-12-22  Sheriff Bot  <webkit.review.bot@gmail.com>
3691
3692         Unreviewed, rolling out r74503.
3693         http://trac.webkit.org/changeset/74503
3694         https://bugs.webkit.org/show_bug.cgi?id=51513
3695
3696         breaks chromium mac debug compile (Requested by tonyg-cr on
3697         #webkit).
3698
3699         * platform/graphics/chromium/ImageLayerChromium.cpp:
3700         (WebCore::ImageLayerChromium::updateContentsIfDirty):
3701         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
3702         (WebCore::GraphicsContext3D::getImageData):
3703
3704 2010-12-22  Dan Bernstein  <mitz@apple.com>
3705
3706         Reviewed by Darin Adler.
3707
3708         Replace runtime checks for hyphenation API availability with compile-time checks.
3709
3710         * platform/text/cf/HyphenationCF.cpp:
3711         (WebCore::::createValueForNullKey): Changed to use CFLocaleCopyCurrent() instead of using the
3712         search locale, which is empty on Windows. On Mac, this is equivalent to using the search locale.
3713         (WebCore::canHyphenate): Added this implementation for when the hyphenation API is not available.
3714         It is identical to the implementation in Hyphenation.cpp.
3715         (WebCore::lastHyphenLocation): Ditto.
3716
3717 2010-12-22  Simon Fraser  <simon.fraser@apple.com>
3718
3719         Reviewed by Darin Adler.
3720
3721         Cache snapshots of plug-ins before painting, to avoid script running during painting
3722         https://bugs.webkit.org/show_bug.cgi?id=51493
3723         
3724         When FrameView is asked to do a flattening paint (e.g. when Safari snapshots,
3725         or when printing), plug-ins which otherwise use the CA rendering model
3726         are sent a paint event. Some plug-ins may run script while handling this event,
3727         or out of process plug-ins may process queued requests at this time. Running
3728         script while inside layout or painting can have bad consequences, because it
3729         can result in arbitrary changes to the render tree.
3730         
3731         This patch avoids sending plug-ins paint events inside of painting. Instead,
3732         we ask the plug-ins to cache a snapshot before we paint, and then the software
3733         paint simply draws that snapshot.
3734         
3735         Requires manual test, because the bug happens when Safari does
3736         a page snapshot. It's not possible to tell the Test Netscape Plug-in
3737         to paint without laying out, making an automated test impossible.
3738
3739         * manual-tests/plugins/plugin-paint-causes-layout.html: Added.
3740
3741         * page/FrameView.h:
3742         * page/FrameView.cpp:
3743         (WebCore::FrameView::paintContents): Notify all enclosed widgets
3744         that a flattening paint is going to happen.
3745         (WebCore::FrameView::notifyWidgetsInAllFrames): Utility method 
3746         that tells the RenderView in all subframes to notify their widgets.
3747
3748         * platform/Widget.h:
3749         (WebCore::Widget::notifyWidget): Generic method that can be used
3750         to send messages to widgets. Current messages are just 'before flattening paint'
3751         and 'after flattening paint'. Message has no payload.
3752
3753         * rendering/RenderView.h:
3754         * rendering/RenderView.cpp:
3755         (WebCore::RenderView::getRetainedWidgets):
3756         (WebCore::RenderView::releaseWidgets): Factor code out of updateWidgetPositions(),
3757         since we use it in two places now.
3758         
3759         (WebCore::RenderView::updateWidgetPositions): Use getRetainedWidgets() etc.
3760         (WebCore::RenderView::notifyWidgets): Retain all the widgets, then send
3761         them all the message.
3762
3763         * rendering/RenderWidget.h:
3764         * rendering/RenderWidget.cpp:
3765         (WebCore::RenderWidget::notifyWidget): Pass the message to the widget.
3766
3767 2010-12-22  Adrienne Walker  <enne@google.com>
3768
3769         Reviewed by Kenneth Russell.
3770
3771         Fix null pointer deref when restoring a lost WebGL context.
3772         https://bugs.webkit.org/show_bug.cgi?id=51494
3773
3774         No new tests, as context restored events are not currently testable.
3775
3776         * html/canvas/WebGLRenderingContext.cpp:
3777         (WebCore::WebGLRenderingContext::initializeNewContext):
3778         (WebCore::WebGLRenderingContext::restoreContext):
3779
3780 2010-12-22  Adam Bergkvist  <adam.bergkvist@ericsson.com>
3781
3782         Reviewed by Martin Robinson.
3783
3784         [GTK] Building with Blob support fails again
3785         https://bugs.webkit.org/show_bug.cgi?id=51392
3786
3787         Build fix.
3788
3789         * GNUmakefile.am:
3790
3791 2010-12-22  Dan Bernstein  <mitz@apple.com>
3792
3793         Reviewed by Anders Carlsson.
3794
3795         canHyphenate() always returns true for the default locale
3796         https://bugs.webkit.org/show_bug.cgi?id=51506
3797
3798         No test, since this change only affects performance.
3799
3800         * platform/text/cf/HyphenationCF.cpp:
3801         (WebCore::::createValueForNullKey): Return 0 if hyphenation is not supported for the default locale.
3802         (WebCore::::createValueForKey): Removed whitespace.
3803
3804 2010-12-22  Yury Semikhatsky  <yurys@chromium.org>
3805
3806         Reviewed by Joseph Pecoraro.
3807
3808         Web Inspector: script name gets parsed as HTML in Call stack panel
3809         https://bugs.webkit.org/show_bug.cgi?id=51468
3810
3811         * inspector/front-end/Placard.js:
3812         (WebInspector.Placard.prototype.set subtitle):
3813
3814 2010-12-22  Eric Carlson  <eric.carlson@apple.com>
3815
3816         Reviewed by Darin Adler.
3817
3818         MediaPlayer should look for MIME type in data: URL
3819         https://bugs.webkit.org/show_bug.cgi?id=51195
3820
3821         If no MIME type is passed from the media element for a data: URL, try to get it from
3822         the URL itself.
3823
3824         No new tests are possible because the MIME type is just passed to the media engine.
3825
3826         * platform/graphics/MediaPlayer.cpp:
3827         (WebCore::MediaPlayer::load):
3828
3829 2010-12-22  W. James MacLean  <wjmaclean@chromium.org>
3830
3831         Reviewed by Kenneth Russell.
3832
3833         [chromium] Add asserts to test for contiguous-pixel Skia bitmaps.
3834         https://bugs.webkit.org/show_bug.cgi?id=51186
3835
3836         No new tests. Behaviour not changed, but need the asserts to detect when assumptions violated.
3837
3838         * platform/graphics/chromium/ImageLayerChromium.cpp:
3839         (WebCore::ImageLayerChromium::updateContentsIfDirty):
3840         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
3841         (WebCore::GraphicsContext3D::getImageData):
3842
3843 2010-12-22  Chris Fleizach  <cfleizach@apple.com>
3844
3845         Reviewed by Darin Adler.
3846
3847         WAI-ARIA menubar role mapped to AXGroup, should be AXMenuBar
3848         https://bugs.webkit.org/show_bug.cgi?id=51488
3849
3850         Test: platform/mac/accessibility/aria-menubar.html
3851
3852         * accessibility/AccessibilityObject.cpp:
3853         (WebCore::createARIARoleMap):
3854
3855 2010-12-22  Zhenyao Mo  <zmo@google.com>
3856
3857         Reviewed by Kenneth Russell.
3858
3859         CopyTex{Sub}Image2D check always if the bound fbo's internal color format is compatible
3860         https://bugs.webkit.org/show_bug.cgi?id=51423
3861
3862         * html/canvas/WebGLRenderingContext.cpp:
3863         (WebCore::WebGLRenderingContext::copyTexImage2D): Remove the isGLES2Compliant flag around format compatibility checking.
3864         (WebCore::WebGLRenderingContext::copyTexSubImage2D): Ditto.
3865         (WebCore::WebGLRenderingContext::getBoundFramebufferColorFormat): Helper function to get bound framebuffer's color format; deal with the case of webgl's internal fbo.
3866         * html/canvas/WebGLRenderingContext.h:
3867
3868 2010-12-22  Xan Lopez  <xlopez@igalia.com>
3869
3870         Reviewed by Gustavo Noronha.
3871
3872         [GTK] Compilation fixes with GTK+ 2.91.7
3873         https://bugs.webkit.org/show_bug.cgi?id=51487
3874
3875         * platform/gtk/GtkVersioning.h: do not define GDK_DISPLAY for
3876         backwards compatibility, it's now defined again in GTK+ 3.x.
3877         * platform/gtk/PasteboardHelper.cpp: do not call GDK functions to
3878         initialize global static variables (!). These are called when the
3879         .so is loaded, and they now require GType to be initialized and
3880         will crash. Initialize them once from the ctor, which is a more
3881         common pattern anyway.
3882         (WebCore::initGdkAtoms): new method to initialize static variables.
3883         (WebCore::PasteboardHelper::PasteboardHelper): call it.
3884         * plugins/gtk/PluginViewGtk.cpp: do not include gdkconfig.h when
3885         using GTK+ 3.x, since it's no longer installed.
3886
3887 2010-12-22  Dirk Schulze  <krit@wbekit.org>
3888
3889         Reviewed by Nikolas Zimmermann.
3890
3891         Cleanup SVG code according to the webkit style rules 2
3892         https://bugs.webkit.org/show_bug.cgi?id=51461
3893
3894         Second patch to fix indention and other style issues according to the WebKit style rules in the SVG code.
3895
3896         No changes of functionality, so no new tests. 
3897
3898         * svg/SVGFEDisplacementMapElement.cpp:
3899         (WebCore::SVGFEDisplacementMapElement::stringToChannel):
3900         * svg/SVGFEDistantLightElement.h:
3901         * svg/SVGFEFuncAElement.h:
3902         * svg/SVGFEFuncBElement.h:
3903         * svg/SVGFEFuncGElement.h:
3904         * svg/SVGFEFuncRElement.h:
3905         * svg/SVGFEMergeElement.cpp:
3906         (WebCore::SVGFEMergeElement::build):
3907         * svg/SVGFEMorphologyElement.cpp:
3908         * svg/SVGFEPointLightElement.h:
3909         * svg/SVGFESpecularLightingElement.cpp:
3910         (WebCore::SVGFESpecularLightingElement::findLights):
3911         * svg/SVGFESpotLightElement.h:
3912         * svg/SVGFitToViewBox.cpp:
3913         (WebCore::SVGFitToViewBox::parseViewBox):
3914         (WebCore::SVGFitToViewBox::isKnownAttribute):
3915         * svg/SVGFontFaceElement.cpp:
3916         (WebCore::cssPropertyIdForSVGAttributeName):
3917         * svg/SVGFontFaceElement.h:
3918         (WebCore::SVGFontFaceElement::associatedFontElement):
3919         * svg/SVGFontFaceNameElement.h:
3920         * svg/SVGFontFaceSrcElement.cpp:
3921         * svg/SVGFontFaceSrcElement.h:
3922         * svg/SVGFontFaceUriElement.h:
3923         * svg/SVGForeignObjectElement.h:
3924         * svg/SVGGlyphElement.cpp:
3925         (WebCore::parseArabicForm):
3926         (WebCore::parseOrientation):
3927         * svg/SVGGlyphElement.h:
3928         (WebCore::SVGGlyphIdentifier::SVGGlyphIdentifier):
3929         (WebCore::SVGGlyphIdentifier::inheritedValue):
3930         (WebCore::SVGGlyphIdentifier::operator==):
3931         (WebCore::SVGGlyphElement::rendererIsNeeded):
3932         * svg/SVGGlyphMap.h:
3933         (WebCore::GlyphMapNode::GlyphMapNode):
3934         (WebCore::GlyphMapNode::create):
3935         (WebCore::SVGGlyphMap::SVGGlyphMap):
3936         (WebCore::SVGGlyphMap::add):
3937         (WebCore::SVGGlyphMap::compareGlyphPriority):
3938         (WebCore::SVGGlyphMap::get):
3939         (WebCore::SVGGlyphMap::clear):
3940         * svg/SVGGradientElement.cpp:
3941         * svg/SVGHKernElement.cpp:
3942         * svg/SVGHKernElement.h:
3943         (WebCore::SVGHKernElement::rendererIsNeeded):
3944         * svg/SVGImageElement.h:
3945         * svg/SVGImageLoader.cpp:
3946         * svg/SVGImageLoader.h:
3947         * svg/SVGLangSpace.cpp:
3948         (WebCore::SVGLangSpace::parseMappedAttribute):
3949         (WebCore::SVGLangSpace::isKnownAttribute):
3950         * svg/SVGLangSpace.h:
3951         (WebCore::SVGLangSpace::xmllang):
3952         * svg/SVGMetadataElement.h:
3953         * svg/SVGMissingGlyphElement.h:
3954         (WebCore::SVGMissingGlyphElement::rendererIsNeeded):
3955         * svg/SVGPaint.cpp:
3956         (WebCore::SVGPaint::cssText):
3957         * svg/SVGPaint.h:
3958         (WebCore::SVGPaint::create):
3959         (WebCore::SVGPaint::paintType):
3960         (WebCore::SVGPaint::isSVGPaint):
3961         * svg/SVGParserUtilities.cpp:
3962         * svg/SVGParserUtilities.h:
3963         (WebCore::isWhitespace):
3964         (WebCore::skipOptionalSpaces):
3965         (WebCore::skipOptionalSpacesOrDelimiter):
3966         * svg/SVGPathElement.cpp:
3967         * svg/SVGPathParserFactory.h:
3968         * svg/SVGPathSegList.h:
3969
3970 2010-12-22  Chris Fleizach  <cfleizach@apple.com>
3971
3972         Reviewed by Sam Weinig.
3973
3974         AX: WAI-ARIA textbox role needs different AXRole, depending on value of aria-multiline property
3975         https://bugs.webkit.org/show_bug.cgi?id=51481
3976
3977         Support aria-multiline and use it to change the role of an ARIA "textbox" 
3978         from AXTextArea to AXTextField.
3979
3980         Test: platform/mac/accessibility/aria-multiline.html
3981
3982         * accessibility/AccessibilityObject.cpp:
3983         (WebCore::AccessibilityObject::ariaIsMultiline):
3984         * accessibility/AccessibilityObject.h:
3985         (WebCore::AccessibilityObject::isPasswordField):
3986         (WebCore::AccessibilityObject::isTextControl):
3987         * accessibility/AccessibilityRenderObject.cpp:
3988         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
3989         * accessibility/AccessibilityRenderObject.h:
3990         * html/HTMLAttributeNames.in:
3991
3992 2010-12-22  Simon Fraser  <simon.fraser@apple.com>
3993
3994         Reviewed by Dan Bernstein.
3995
3996         CSS 2.1 failure: counter-increment-013 fails
3997         https://bugs.webkit.org/show_bug.cgi?id=51483
3998         
3999         Clamp the counter-increment property to the valid range of signed
4000         integers.
4001
4002         Test: fast/css/counters/counter-increment-overflow.html
4003
4004         * css/CSSParser.cpp:
4005         (WebCore::clampToSignedInteger):
4006         (WebCore::CSSParser::parseCounter):
4007
4008 2010-12-22  Dan Bernstein  <mitz@apple.com>
4009
4010         Rubber-stamped by Mark Rowe.
4011
4012         Changed WebKitTools to Tools in script build phases.
4013
4014         * WebCore.xcodeproj/project.pbxproj:
4015
4016 2010-12-21  Vangelis Kokkevis  <vangelis@chromium.org>
4017
4018         Reviewed by Kenneth Russell.
4019
4020         [chromium] Fixing crash with empty render surfaces.
4021         https://bugs.webkit.org/show_bug.cgi?id=51432
4022
4023         Test: platform/chromium/compositing/empty-render-surface-crasher.html
4024
4025         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
4026         (WebCore::RenderSurfaceChromium::draw):
4027
4028 2010-12-21  Pavel Podivilov  <podivilov@chromium.org>
4029
4030         Reviewed by Yury Semikhatsky.
4031
4032         Web Inspector: persist JavaScript breakpoints in frontend settings.
4033         https://bugs.webkit.org/show_bug.cgi?id=48434
4034
4035         * bindings/js/ScriptDebugServer.cpp:
4036         (WebCore::ScriptDebugServer::setBreakpoint):
4037         (WebCore::ScriptDebugServer::removeBreakpoint):
4038         * bindings/js/ScriptDebugServer.h:
4039         * bindings/v8/DebuggerScript.js:
4040         ():
4041         * bindings/v8/ScriptDebugServer.cpp:
4042         (WebCore::ScriptDebugServer::setBreakpoint):
4043         (WebCore::ScriptDebugServer::removeBreakpoint):
4044         * bindings/v8/ScriptDebugServer.h:
4045         * inspector/Inspector.idl:
4046         * inspector/InspectorBackend.cpp:
4047         * inspector/InspectorController.cpp:
4048         (WebCore::InspectorController::InspectorController):
4049         (WebCore::InspectorController::enableDebuggerFromFrontend):
4050         (WebCore::InspectorController::setStickyBreakpoints):
4051         (WebCore::InspectorController::restoreStickyBreakpoint):
4052         * inspector/InspectorController.h:
4053         * inspector/InspectorDebuggerAgent.cpp:
4054         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
4055         (WebCore::InspectorDebuggerAgent::setStickyBreakpoint):
4056         (WebCore::InspectorDebuggerAgent::setBreakpoint):
4057         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
4058         (WebCore::InspectorDebuggerAgent::restoreBreakpoint):
4059         (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
4060         (WebCore::InspectorDebuggerAgent::didParseSource):
4061         * inspector/InspectorDebuggerAgent.h:
4062         * inspector/front-end/Breakpoint.js:
4063         (WebInspector.Breakpoint):
4064         (WebInspector.Breakpoint.prototype.remove):
4065         * inspector/front-end/BreakpointManager.js:
4066         (WebInspector.BreakpointManager):
4067         (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
4068         (WebInspector.JavaScriptBreakpoint):
4069         (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
4070         * inspector/front-end/DebuggerModel.js:
4071         (WebInspector.DebuggerModel):
4072         * inspector/front-end/ScriptsPanel.js:
4073         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
4074         * inspector/front-end/SourceFrame.js:
4075
4076 2010-12-20  Antti Koivisto  <antti@apple.com>
4077
4078         Reviewed by Alexey Proskuryakov.
4079
4080         https://bugs.webkit.org/show_bug.cgi?id=51354
4081         Don't block rendering and script execution on deferred stylesheets
4082         
4083         - Don't add low priority stylesheets to the document pending sheet count.
4084         - Resolve media attribute fully for the link element stylesheet load.
4085
4086         Test: http/tests/local/stylesheet-and-script-load-order-media-print.html
4087
4088         * html/HTMLLinkElement.cpp:
4089         (WebCore::HTMLLinkElement::HTMLLinkElement):
4090         (WebCore::HTMLLinkElement::~HTMLLinkElement):
4091         (WebCore::HTMLLinkElement::setDisabledState):
4092         (WebCore::HTMLLinkElement::process):
4093         (WebCore::HTMLLinkElement::sheetLoaded):
4094         (WebCore::HTMLLinkElement::addPendingSheet):
4095         (WebCore::HTMLLinkElement::removePendingSheet):
4096         * html/HTMLLinkElement.h:
4097
4098 2010-12-22  Sheriff Bot  <webkit.review.bot@gmail.com>
4099
4100         Unreviewed, rolling out r74473.
4101         http://trac.webkit.org/changeset/74473
4102         https://bugs.webkit.org/show_bug.cgi?id=51463
4103
4104         broke compilation on leopard intel release (Requested by
4105         podivilov on #webkit).
4106
4107         * bindings/js/ScriptDebugServer.cpp:
4108         (WebCore::ScriptDebugServer::setBreakpoint):
4109         (WebCore::ScriptDebugServer::removeBreakpoint):
4110         * bindings/js/ScriptDebugServer.h:
4111         * bindings/v8/DebuggerScript.js:
4112         ():
4113         * bindings/v8/ScriptDebugServer.cpp:
4114         (WebCore::ScriptDebugServer::setBreakpoint):
4115         (WebCore::ScriptDebugServer::removeBreakpoint):
4116         * bindings/v8/ScriptDebugServer.h:
4117         * inspector/Inspector.idl:
4118         * inspector/InspectorBackend.cpp:
4119         * inspector/InspectorController.cpp:
4120         (WebCore::InspectorController::InspectorController):
4121         (WebCore::InspectorController::enableDebuggerFromFrontend):
4122         (WebCore::InspectorController::setStickyBreakpoints):
4123         (WebCore::InspectorController::restoreStickyBreakpoint):
4124         (WebCore::InspectorController::breakpointsSettingKey):
4125         (WebCore::InspectorController::loadBreakpoints):
4126         (WebCore::InspectorController::saveBreakpoints):
4127         * inspector/InspectorController.h:
4128         * inspector/InspectorDebuggerAgent.cpp:
4129         (WebCore::formatBreakpointId):
4130         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
4131         (WebCore::InspectorDebuggerAgent::setBreakpoint):
4132         (WebCore::InspectorDebuggerAgent::removeBreakpoint):
4133         (WebCore::InspectorDebuggerAgent::clearForPageNavigation):
4134         (WebCore::InspectorDebuggerAgent::md5Base16):
4135         (WebCore::InspectorDebuggerAgent::loadBreakpoints):
4136         (WebCore::InspectorDebuggerAgent::saveBreakpoints):
4137         (WebCore::InspectorDebuggerAgent::didParseSource):
4138         * inspector/InspectorDebuggerAgent.h:
4139         * inspector/front-end/Breakpoint.js:
4140         (WebInspector.Breakpoint):
4141         (WebInspector.Breakpoint.jsBreakpointId):
4142         (WebInspector.Breakpoint.prototype.set enabled):
4143         (WebInspector.Breakpoint.prototype.get id):
4144         (WebInspector.Breakpoint.prototype.set condition):
4145         (WebInspector.Breakpoint.prototype.remove):
4146         * inspector/front-end/BreakpointManager.js:
4147         (WebInspector.BreakpointManager):
4148         (WebInspector.BreakpointManager.prototype._createDOMBreakpoint):
4149         (WebInspector.BreakpointManager.prototype._createEventListenerBreakpoint):
4150         (WebInspector.BreakpointManager.prototype._createXHRBreakpoint):
4151         (WebInspector.BreakpointManager.prototype._setNativeBreakpoint):
4152         (WebInspector.BreakpointManager.prototype._setNativeBreakpointEnabled):
4153         (WebInspector.BreakpointManager.prototype._removeNativeBreakpoint):
4154         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
4155         (WebInspector.BreakpointManager.prototype._projectChanged):
4156         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
4157         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
4158         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
4159         (WebInspector.DOMBreakpoint.prototype._serializeToJSON):
4160         (WebInspector.EventListenerBreakpoint.prototype._serializeToJSON):
4161         (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
4162         (WebInspector.NativeBreakpointView.prototype.set enabled):
4163         (WebInspector.NativeBreakpointView.prototype.remove):
4164         * inspector/front-end/DebuggerModel.js:
4165         (WebInspector.DebuggerModel):
4166         (WebInspector.DebuggerModel.prototype.setOneTimeBreakpoint):
4167         (WebInspector.DebuggerModel.prototype.removeOneTimeBreakpoint):
4168         (WebInspector.DebuggerModel.prototype.setBreakpoint):
4169         (WebInspector.DebuggerModel.prototype.findBreakpoint):
4170         (WebInspector.DebuggerModel.prototype.reset):
4171         (WebInspector.DebuggerModel.prototype._setBreakpoint):
4172         (WebInspector.DebuggerModel.prototype._breakpointRemoved):
4173         (WebInspector.DebuggerModel.prototype._setBreakpointOnBackend):
4174         (WebInspector.DebuggerModel.prototype.breakpointRestored):
4175         (WebInspector.DebuggerModel.prototype.pausedScript):
4176         (WebInspector.DebuggerModel.prototype.resumedScript):
4177         * inspector/front-end/ScriptsPanel.js:
4178         (WebInspector.ScriptsPanel.prototype.continueToLine):
4179         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
4180         * inspector/front-end/SourceFrame.js:
4181         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
4182         (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
4183         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
4184         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
4185         (WebInspector.SourceFrame.prototype._contextMenu):
4186         (WebInspector.SourceFrame.prototype._mouseDown):
4187         (WebInspector.SourceFrame.prototype._continueToLine):
4188         (WebInspector.SourceFrame.prototype._setBreakpoint):
4189
4190 2010-12-21  Pavel Podivilov  <po