5eba82a97f44ee42c56c1a84ef67ade581071c7d
[WebKit.git] / WebCore / ChangeLog
1 2010-12-09  Abhishek Arya  <inferno@chromium.org>
2
3         Reviewed by Dimitri Glazkov.
4
5         As part of r73559, I added the referenceNode check to validate whether the root
6         node of the iterator matches the node which is getting moved to other document.
7         referenceNode is initialized to root, however can get moved using previousNode
8         and nextNode methods, so it is required to use root directly.
9         https://bugs.webkit.org/show_bug.cgi?id=50764
10
11         Test: fast/dom/node-iterator-reference-node-moved-crash.html
12
13         * dom/Document.cpp:
14         (WebCore::Document::moveNodeIteratorsToNewDocument): change referenceNode to root.
15
16 2010-12-08  Dimitri Glazkov  <dglazkov@chromium.org>
17
18         Reviewed by Darin Adler.
19
20         Provide a generic way to store shadowParent on a Node.
21         https://bugs.webkit.org/show_bug.cgi?id=50184
22
23         This patch makes TreeShared::m_parent act as either parentNode() or
24         shadowHost() for Node. The distinction is controlled by IsShadowRootFlag.
25
26         Refactoring, so no new tests. See performance result testing in bug.
27
28         * dom/Element.cpp:
29         (WebCore::Element::recalcStyle): Changed to use parentOrHostNode().
30         * dom/Node.cpp:
31         (WebCore::Node::shadowHost): Added.
32         (WebCore::Node::setShadowHost): Added.
33         (WebCore::Node::isContentEditable): Changed to use parentOrHostNode().
34         (WebCore::Node::isContentRichlyEditable): Ditto.
35         (WebCore::Node::nextRenderer): Ditto.
36         (WebCore::Node::virtualComputedStyle): Ditto.
37         (WebCore::Node::canStartSelection): Ditto.
38         (WebCore::Node::shadowTreeRootNode): Changed to use parentNodeGuaranteedHostFree().
39         (WebCore::Node::getEventAncestors): Ditto.
40         (WebCore::Node::defaultEventHandler): Changed to use parentOrHostNode(). 
41         * dom/Node.h: Added an extra flag and adjusted bit counts.
42         (WebCore::Node::isShadowNode): Made non-virtual, switched to use flag.
43         (WebCore::Node::parentNode): Made to recognize flag.
44         (WebCore::Node::parentOrHostNode): Changed to use straight parent() and made const.
45         (WebCore::Node::parentNodeGuaranteedHostFree): Added.
46         (WebCore::Node::shadowParentNode): Made non-virtual and const.
47         * editing/TextIterator.cpp:
48         (WebCore::depthCrossingShadowBoundaries): Changed to use parentOrHostNode();
49         (WebCore::nextInPreOrderCrossingShadowBoundaries): Ditto.
50         (WebCore::previousInPostOrderCrossingShadowBoundaries):  Ditto.
51         (WebCore::setUpFullyClippedStack): Ditto.
52         (WebCore::TextIterator::advance): Ditto.
53         (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto.
54         * page/DOMSelection.cpp:
55         (WebCore::DOMSelection::anchorNode): Changed to use parentNodeGuaranteedHostFree().
56         (WebCore::DOMSelection::focusNode): Ditto.
57         (WebCore::DOMSelection::baseNode): Ditto.
58         (WebCore::DOMSelection::extentNode): Ditto.
59         (WebCore::DOMSelection::getRangeAt): Ditto.
60         * rendering/MediaControlElements.cpp:
61         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
62             Changed to setShadowHost().
63         (WebCore::MediaControlShadowRootElement::updateStyle): Changed to use shadowHost().
64         (WebCore::MediaControlShadowRootElement::detach): Added an override to
65             explicitly set shadowHost to 0. Otherwise, the element will leak.
66         * rendering/MediaControlElements.h: Added detach def, removed members that are
67             no longer needed.
68         * rendering/RenderSVGShadowTreeRootContainer.cpp:
69         (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
70             Added explicit clearing of shadowHost to avoid leaking and crashes,
71             because SVG shadow DOM can be dynamically attached/detached, producing
72             stale nodes in over/out event handling.
73         * rendering/RenderSlider.cpp:
74         (WebCore::SliderThumbElement::defaultEventHandler): Changed to use shadowHost().
75         * rendering/RenderTextControlSingleLine.cpp:
76         (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
77             Added explicit clearing of shadowHost and explicit destruction to
78             avoid out-of-order removal of children.
79         * rendering/RenderTreeAsText.cpp:
80         (WebCore::nodePosition): Simplified code.
81         * rendering/SVGShadowTreeElements.cpp:
82         (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement): Added
83             setting of shadowHost.
84         (WebCore::SVGShadowTreeRootElement::attachElement): Changed to use shadowHost().
85         (WebCore::SVGShadowTreeRootElement::clearShadowHost): Added.
86         * rendering/SVGShadowTreeElements.h: Added def, removed members that are
87              no longer needed.
88         * rendering/ShadowElement.cpp:
89         (WebCore::ShadowBlockElement::initAsPart): Changed to use shadowHost().
90         * rendering/ShadowElement.h: Removed members that are no longer needed.
91         (WebCore::ShadowElement::ShadowElement): Added setting of shadowHost.
92         (WebCore::ShadowElement::detach): Added.
93         * rendering/TextControlInnerElements.cpp:
94         (WebCore::TextControlInnerElement::TextControlInnerElement): Added setting
95             of shadowHost.
96         (WebCore::TextControlInnerElement::attachInnerElement): Changed to use
97             isShadowNode().
98         (WebCore::TextControlInnerElement::detach): Added.
99         * rendering/TextControlInnerElements.h: Removed members that are no
100             longer needed.
101         * svg/SVGElement.cpp:
102         (WebCore::SVGElement::ownerSVGElement): Simplified code.
103         (WebCore::SVGElement::viewportElement): Ditto.
104         * svg/SVGLocatable.cpp:
105         (WebCore::SVGLocatable::computeCTM): Ditto.
106         * svg/SVGStyledElement.cpp:
107         (WebCore::SVGStyledElement::title): Ditto.
108         * svg/SVGUseElement.cpp:
109         (WebCore::ShadowTreeUpdateBlocker::while): Ditto.
110
111 2010-12-09  Hans Wennborg  <hans@chromium.org>
112
113         Reviewed by Jeremy Orlow.
114
115         IndexedDB: Numeric keys are floats.
116         https://bugs.webkit.org/show_bug.cgi?id=50674
117
118         Use floating point to represent numeric keys,
119         add version meta data to the SQLite db,
120         and migrate object stores that use integers.
121
122         * bindings/v8/IDBBindingUtilities.cpp:
123         (WebCore::createIDBKeyFromValue):
124         * bindings/v8/custom/V8IDBKeyCustom.cpp:
125         (WebCore::toV8):
126         * storage/IDBFactoryBackendImpl.cpp:
127         (WebCore::createTables):
128         (WebCore::migrateDatabase):
129         (WebCore::IDBFactoryBackendImpl::open):
130         * storage/IDBKey.cpp:
131         (WebCore::IDBKey::IDBKey):
132         (WebCore::IDBKey::fromQuery):
133         (WebCore::IDBKey::bind):
134         (WebCore::IDBKey::bindWithNulls):
135         * storage/IDBKey.h:
136         (WebCore::IDBKey::create):
137         (WebCore::IDBKey::number):
138
139 2010-12-09  Brady Eidson  <beidson@apple.com>
140
141         Reviewed by Maciej Stachowiak.
142
143         <rdar://problem/7660733> and https://bugs.webkit.org/show_bug.cgi?id=50191
144         WebKit2 Authentication Support
145
146         * WebCore.exp.in:
147
148 2010-12-09  Peter Beverloo  <peter@lvp-media.com>
149
150         Reviewed by Maciej Stachowiak.
151
152         Default CSS definitions for the figure and figcaption elements.
153
154         Tests: fast/html/figcaption-element.html
155                fast/html/figure-element.html
156
157         * css/html.css:
158         (figure): The default figure-style equals a blockquote
159         (figcaption): A non-sectioning block-level element
160
161 2010-12-09  Yury Semikhatsky  <yurys@chromium.org>
162
163         Reviewed by Pavel Feldman.
164
165         Web Inspector: Console records for failed XHRs should contain call stack and request method
166         https://bugs.webkit.org/show_bug.cgi?id=50390
167
168         When inspector front-end is open we capture call stack at the place where request is sent and
169         pass the stack along with other request data. There is a new type of console messages which
170         is NetworkErrorMessageType, all messages of that type will have requestId field initialized
171         with the corresponding network request identifier so that later on when we need to display
172         that message in the front-end we could pull request data from the Network panel using
173         this identifier. If there are no data for given requestId message formatting falls back to
174         the old implementation which lacks such things as call stack, request method and exact
175         source location.
176
177         * inspector/ConsoleMessage.cpp:
178         (WebCore::ConsoleMessage::ConsoleMessage):
179         (WebCore::ConsoleMessage::addToFrontend):
180         (WebCore::ConsoleMessage::isEqual):
181         * inspector/ConsoleMessage.h:
182         * inspector/Inspector.idl:
183         * inspector/InspectorController.cpp:
184         (WebCore::InspectorController::didReceiveResponse):
185         (WebCore::InspectorController::didFailLoading):
186         * inspector/InspectorResourceAgent.cpp:
187         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
188         * inspector/front-end/ConsoleView.js:
189         (WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
190         (WebInspector.ConsoleMessage):
191         (WebInspector.ConsoleMessage.prototype._formatMessage):
192         (WebInspector.ConsoleMessage.prototype.toMessageElement):
193         (WebInspector.ConsoleMessage.prototype.toString):
194         (WebInspector.ConsoleMessage.prototype.isEqual):
195         * inspector/front-end/ResourceManager.js:
196         (WebInspector.ResourceManager.prototype.identifierForInitialRequest):
197         * inspector/front-end/inspector.js:
198         (WebInspector.addConsoleMessage):
199         * page/Console.h:
200
201 2010-12-09  Dai Mikurube  <dmikurube@google.com>
202
203         Reviewed by Kent Tamura.
204
205         Implement "required" attribute for select tags
206         https://bugs.webkit.org/show_bug.cgi?id=50380
207
208         Test: fast/forms/select-live-pseudo-selectors.html
209               platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html
210
211         * dom/SelectElement.cpp:
212         (WebCore::SelectElement::updateValidity): Added. It's a pure virtual function which is prepared so that HTMLSelectElement::updateValidity() calls HTMLSelectElement::setNeedsValidityCheck().
213         (WebCore::SelectElement::parseMultipleAttribute): Added calling updateValidity().
214         * html/HTMLSelectElement.cpp:
215         (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface.
216         (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck().
217         (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck().
218         (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified.
219         (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180.
220         (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck().
221         (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck().
222         (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck().
223         (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck().
224         (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck().
225         (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck().
226         (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated..
227         (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck().
228         (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not.
229         (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added.
230         (WebCore::HTMLSelectElement::updateValidity): Added. It calls setNeedsValidityCheck().
231         * html/HTMLSelectElement.h:
232         (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required.
233         * html/HTMLSelectElement.idl: Added a required attribute to select elements..
234         * html/ValidityState.cpp:
235         (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing().
236         * wml/WMLSelectElement.h:
237         (WebCore::WMLSelectElement::updateValidity): Added. It does nothing.
238
239 2010-12-07  Jeremy Orlow  <jorlow@chromium.org>
240
241         Reviewed by Steve Block.
242
243         IndexedDB returns the wrong exceptions
244         https://bugs.webkit.org/show_bug.cgi?id=50632
245
246         IndexedDB exceptions need to have an offset so they can
247         be distinguished from DOM exceptions.  We also need to
248         add strings for the various exceptions.  Lastly, make
249         IDBDatabaseException use the common exception base class.
250
251         * bindings/js/JSDOMBinding.cpp:
252         (WebCore::setDOMException):
253         * bindings/v8/V8Proxy.cpp:
254         (WebCore::V8Proxy::setDOMException):
255         * dom/ExceptionCode.cpp:
256         (WebCore::getExceptionCodeDescription):
257         * dom/ExceptionCode.h:
258         * storage/IDBDatabaseError.h:
259         (WebCore::IDBDatabaseError::code):
260         * storage/IDBDatabaseException.h:
261         (WebCore::IDBDatabaseException::create):
262         (WebCore::IDBDatabaseException::ErrorCodeToExceptionCode):
263         (WebCore::IDBDatabaseException::IDBDatabaseException):
264         * storage/IDBDatabaseException.idl:
265
266 2010-12-09  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
267
268         Build fix for GTK+3. Use functions added for GTK+ 2.24 to get the
269         GDK window size.
270
271         * plugins/gtk/gtk2xtbin.c:
272         (gtk_xtbin_realize):
273
274 2010-12-09  Siddharth Mathur  <siddharth.mathur@nokia.com>
275
276         Reviewed by Laszlo Gombos.
277
278         Use BUILDING_WEBKIT like other ports
279         https://bugs.webkit.org/show_bug.cgi?id=50713
280
281         * WebCore.pro: Change BUILD_WEBKIT to BUILDING_WEBKIT
282
283 2010-12-08  Erik Arvidsson  <arv@chromium.org>
284
285         Reviewed by Darin Adler.
286
287         Replace getAttribute().isNull() with fastHasAttribute()
288         https://bugs.webkit.org/show_bug.cgi?id=50719
289
290         Covered by existing tests.
291
292         * dom/SelectElement.cpp:
293         (WebCore::SelectElement::reset):
294         * html/HTMLAppletElement.cpp:
295         (WebCore::HTMLAppletElement::rendererIsNeeded):
296         * html/HTMLCollection.cpp:
297         (WebCore::HTMLCollection::itemAfter):
298         * html/HTMLFormControlElement.cpp:
299         (WebCore::HTMLFormControlElement::formNoValidate):
300         * html/HTMLFormElement.cpp:
301         (WebCore::HTMLFormElement::noValidate):
302         * html/HTMLInputElement.cpp:
303         (WebCore::HTMLInputElement::defaultChecked):
304         (WebCore::HTMLInputElement::multiple):
305         (WebCore::HTMLInputElement::webkitdirectory):
306         * html/HTMLOptionElement.cpp:
307         (WebCore::HTMLOptionElement::defaultSelected):
308         * html/HTMLScriptElement.cpp:
309         (WebCore::HTMLScriptElement::asyncAttributeValue):
310         (WebCore::HTMLScriptElement::deferAttributeValue):
311         * rendering/RenderFileUploadControl.cpp:
312         (WebCore::RenderFileUploadControl::allowsMultipleFiles):
313         (WebCore::RenderFileUploadControl::allowsDirectoryUpload):
314
315 2010-12-08  Nicolas Dufresne  <nicolas.dufresne@collabora.co.uk>
316
317         Reviewed by Martin Robinson.
318
319         Full page size flash plugins do not show in all situations
320         https://bugs.webkit.org/show_bug.cgi?id=47742
321
322         This patch moves the plugin widget size allocation after the
323         NPP_SetWindow is called with the effect that the resize of Flash
324         content no longer result in grey flash. This seems logical since the
325         widget tree cannot be fully constructed before the plugin receives
326         the new container window.
327
328         Test: manual-tests/plugins/gtk-windowed-grey-glitch.html
329
330         * plugins/gtk/PluginViewGtk.cpp:
331         (WebCore::PluginView::setNPWindowIfNeeded):
332
333 2010-12-08  David Hyatt  <hyatt@apple.com>
334
335         Reviewed by Simon Fraser.
336
337         Fix regression from xji's wheel scroll patch.  The vertical case is looking at the horizontal
338         maximum position and not the vertical position.
339
340         * platform/ScrollView.cpp:
341         (WebCore::ScrollView::wheelEvent):
342
343 2010-12-08  Sam Weinig  <sam@webkit.org>
344
345         Reviewed by Darin Adler.
346
347         Need a way to get a WKBundleFrameRef from JS HTMLIFrameElement
348         https://bugs.webkit.org/show_bug.cgi?id=50726
349
350         * WebCore.xcodeproj/project.pbxproj: Expose HTMLIFrameElement.h.
351
352 2010-12-08  Matthew Delaney  <mdelaney@apple.com>
353
354         Reviewed by Simon Fraser.
355
356         Add getter and setters for acceleratesRendering flag on layers
357         https://bugs.webkit.org/show_bug.cgi?id=50717
358
359         * platform/graphics/GraphicsLayer.cpp:
360         * platform/graphics/ca/GraphicsLayerCA.cpp:
361         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
362         Plumbed through acceleratedRendering flag.
363
364 2010-12-07  Zhenyao Mo  <zmo@google.com>
365
366         Reviewed by Kenneth Russell.
367
368         WebGLUniformLocation objects must be invalidated during linkProgram
369         https://bugs.webkit.org/show_bug.cgi?id=37118
370
371         * html/canvas/WebGLProgram.cpp:
372         (WebCore::WebGLProgram::WebGLProgram): Initialize link count to 0.
373         (WebCore::WebGLProgram::cacheActiveAttribLocations): Don't check link status through gl call; use the cached status instead.
374         * html/canvas/WebGLProgram.h:
375         (WebCore::WebGLProgram::getLinkCount): Get link count.
376         (WebCore::WebGLProgram::increaseLinkCount): Increase link count by 1.
377         * html/canvas/WebGLRenderingContext.cpp:
378         (WebCore::WebGLRenderingContext::getUniform): Fix a bug where wrong error is generated.
379         (WebCore::WebGLRenderingContext::linkProgram): call increaseLinkCount after linkProgram.
380         * html/canvas/WebGLUniformLocation.cpp:
381         (WebCore::WebGLUniformLocation::WebGLUniformLocation): Set program's link count upon creation.
382         (WebCore::WebGLUniformLocation::program): Return null if count doesn't match the program's.
383         (WebCore::WebGLUniformLocation::location): Return -1 if count doesn't match the program's.
384         * html/canvas/WebGLUniformLocation.h:
385
386 2010-12-08  Adele Peterson  <adele@apple.com>
387
388         Reviewed by Darin Adler.
389
390         Fix for https://bugs.webkit.org/show_bug.cgi?id=50725
391         <rdar://problem/8694972> REGRESSION (r72052): "Search" placeholder in MobileMe mail is positioned too high
392
393         Test: fast/forms/placeholder-position.html
394
395         Since we center the inner text element for single line text controls, 
396         we should ask the subclass to give us the y offset instead of trying to calculate it in the RenderTextControl class.
397
398         * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::paintPlaceholder):
399         * rendering/RenderTextControl.h:
400         * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::textBlockInsetTop):
401         * rendering/RenderTextControlMultiLine.h:
402         * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::textBlockInsetTop):
403         * rendering/RenderTextControlSingleLine.h:
404
405 2010-12-08  Chris Rogers  <crogers@google.com>
406
407         Reviewed by Kenneth Russell.
408
409         Add web audio files to mac port Xcode projects
410         https://bugs.webkit.org/show_bug.cgi?id=50721
411
412         No new tests since audio API is not yet implemented.
413
414         * WebCore.xcodeproj/project.pbxproj:
415         * bindings/js/JSDOMWindowCustom.cpp:
416         (WebCore::JSDOMWindow::webkitAudioContext):
417
418 2010-12-08  Kent Tamura  <tkent@chromium.org>
419
420         Reviewed by Alexey Proskuryakov.
421
422         Yensign hack should work with Shift_JIS and ISO-2022-JP encodings.
423         https://bugs.webkit.org/show_bug.cgi?id=49714
424
425         IE chooses a font which shows a yensign for 0x5c code point for a page
426         encoded in x-mac-japanese, ISO-2022-JP, EUC-JP, Shift_JIS, Shift_JIS_X0213-2000,
427         x-sjis, and Windows-31J.
428         We have emulated this behavior by replacing 0x5c with 0xa5 for EUC-JP and
429         Shift_JIS_X0213-2000. This change adds other encodings above.
430
431         Also, we move the HashSet initialization for isJapanese() and
432         backslashAsCurrencySymbol() to TextEncodingRegistry.cpp because of
433         ease of making them multi-thread safe.
434
435         * platform/text/TextEncoding.cpp:
436         (WebCore::TextEncoding::isJapanese): Just calls isJapaneseEncoding().
437         (WebCore::TextEncoding::backslashAsCurrencySymbol): Uses shouldShowBackslashAsCurrencySymbolIn().
438         * platform/text/TextEncodingRegistry.cpp:
439         (WebCore::addEncodingName): Moved from TextEncoding.cpp, and stop using atomicCanonicalTextEncodingName().
440         (WebCore::buildQuirksSets): Added. Initializes HashSets for isJapaneseEncoding() and shouldShowBackslashAsCurrencySymbolIn().
441         (WebCore::isJapaneseEncoding):
442         (WebCore::shouldShowBackslashAsCurrencySymbolIn):
443         (WebCore::extendTextCodecMaps): Add a call to buildQuirksSets().
444         * platform/text/TextEncodingRegistry.h:
445
446 2010-12-08  Andy Estes  <aestes@apple.com>
447
448         Reviewed by Darin Adler.
449
450         Reflected unsigned attributes should be in the range [0, 2^31).
451         https://bugs.webkit.org/show_bug.cgi?id=50472
452
453         HTML5 says that unsigned reflected attributes should be in the range
454         [0, 2^31). When a value isn't in this range, a default value (or 0)
455         should be returned instead. Update the JS bindings code generator to
456         ensure 0 is returned when a content attribute value falls outside of
457         this range.
458
459         Tests: bindings/scripts/test/TestObj.idl
460                fast/html/marquee-element.html
461
462         * bindings/scripts/CodeGeneratorJS.pm: Return the maximum of 0 and the
463         content attribute as a 32-bit signed int when converting a native value
464         to an unsigned JS value.
465         * bindings/scripts/test/TestObj.idl: Add a reflected unsigned attribute
466         to test code generation.
467         * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Update test results.
468         * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
469         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
470         * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
471         * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
472         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
473         * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
474         * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
475         * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
476
477 2010-12-08  Carlos Garcia Campos  <cgarcia@igalia.com>
478
479         Reviewed by Martin Robinson.
480
481         [GTK] Use gtk_icon_set_render_icon() to render icons in RenderThemeGtk
482         https://bugs.webkit.org/show_bug.cgi?id=50623
483
484         We don't need to cache the icons since the will be cached by GTK+,
485         and they will be rendered using the state and text direction.
486
487         * platform/gtk/RenderThemeGtk.cpp:
488         (WebCore::paintStockIcon):
489         (WebCore::getMediaButtonIconSize):
490         (WebCore::RenderThemeGtk::initMediaColors):
491         (WebCore::RenderThemeGtk::initMediaButtons):
492         (WebCore::RenderThemeGtk::RenderThemeGtk):
493         (WebCore::RenderThemeGtk::~RenderThemeGtk):
494         (WebCore::RenderThemeGtk::gtkIconState):
495         (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
496         (WebCore::centerRectVerticallyInParentInputElement):
497         (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
498         (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
499         (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
500         (WebCore::RenderThemeGtk::platformColorsDidChange):
501         (WebCore::RenderThemeGtk::paintMediaButton):
502         (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
503         (WebCore::RenderThemeGtk::paintMediaMuteButton):
504         (WebCore::RenderThemeGtk::paintMediaPlayButton):
505         (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
506         (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
507         * platform/gtk/RenderThemeGtk.h:
508
509 2010-12-08  Abhishek Arya  <inferno@chromium.org>
510
511         Reviewed by Dimitri Glazkov.
512
513         Detach node iterator and move to new document when node gets moved.
514         https://bugs.webkit.org/show_bug.cgi?id=50697
515
516         Test: fast/dom/node-iterator-document-moved-crash.html
517
518         * dom/Document.cpp: Method that takes a node and new document as argument.
519         It detaches the node iterators belonging to the current document and attaches
520         them to the new document.
521         (WebCore::Document::moveNodeIteratorsToNewDocument):
522         * dom/Document.h: Function definition.
523         * dom/Node.cpp: When node is moved to another document, call the function to move
524         the iterators appropriately.
525         (WebCore::Node::setDocument):
526
527 2010-12-08  James Robinson  <jamesr@chromium.org>
528
529         Reviewed by Kenneth Russell.
530
531         [chromium] Text is blurry on a large composited layer with an odd center x/y coordinate
532         https://bugs.webkit.org/show_bug.cgi?id=50702
533
534         Compute the center of a large layer using floats instead of ints to avoid roundoff errors.
535
536         Test: compositing/text-on-large-layer.html
537
538         * platform/graphics/chromium/ContentLayerChromium.cpp:
539         (WebCore::ContentLayerChromium::draw):
540
541 2010-12-08  Ryosuke Niwa  <rniwa@webkit.org>
542
543         Reviewed by Dan Bernstein.
544
545         REGRESSION: LayoutTests/editing/selection/caret-rtl-2.html fails
546         https://bugs.webkit.org/show_bug.cgi?id=33503
547
548         The bug was caused by Font::offsetForPosition's not taking into account the containing block's text direction.
549         When RTL text appears in a LTR block, the offset at the beginning of RTL text is on the left of RTL text,
550         and the offset at the end of RTL text is on the right of RTL text. For example, if we had RTL text CBA,
551         then the correspondance between letters and offsets in logical order are: A -> 0, B -> 1, and C -> 2.
552
553         Case 1. CBA appears in a RTL block:
554           In this case, clicking on the visual left of CBA puts the caret naturally at Position("CBA", 2).
555           Clicking on the visual right of CBA puts the caret at Position("CBA", 0) as expected.
556         Case 2. CBA appears in a LTR block:
557           Because the containing block flows from left to right, by convention, Position("CBA", 2") corresponds
558           to the visual right of CBA, and Position("CBA", 0) corresponds to the visual left of CBA.
559           Therefore, clicking on the visual left of CBA should put the caret at Position("CBA", 0),
560           and clicking on the visual right should put it at Position("CBA", 2).
561
562         The bug was caused by WebKit's not considering case 2. The same bug also exist for LTR text in a RTL block.
563         Fixed the bug by taking care of the case 2 in InlineTextBox::offsetForPosition.
564
565         Tests: editing/selection/caret-ltr-2-left.html
566                editing/selection/caret-ltr-2.html
567                editing/selection/caret-ltr-right.html
568                editing/selection/caret-ltr.html
569                editing/selection/caret-rtl-2-left.html
570                editing/selection/caret-rtl-right.html
571
572         * rendering/InlineTextBox.cpp:
573         (WebCore::InlineTextBox::offsetForPosition):
574
575 2010-12-08  Anders Carlsson  <andersca@apple.com>
576
577         Reviewed by Darin Adler.
578
579         Fix some clang++ warnings (one of which was an actual bug)
580         https://bugs.webkit.org/show_bug.cgi?id=50700
581
582         * page/mac/DragControllerMac.mm:
583         (WebCore::DragController::dragOperation):
584         Add parentheses to silent a clang warning.
585
586         * page/mac/EventHandlerMac.mm:
587         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
588         Fix || vs && precedence bug uncovered by clang.
589
590         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
591         (WebCore::GraphicsContext3D::reshape):
592         Use an early return to avoid a warning.
593
594 2010-12-08  Chris Marrin  <cmarrin@apple.com>
595
596         Reviewed by Simon Fraser.
597
598         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
599         https://bugs.webkit.org/show_bug.cgi?id=49388
600
601         Added copy constructors and casting operators to go between 
602         TransformationMatrix and CATransform3D. Also added a copy
603         constructor to go from CGAffineTransform to TransformationMatrix.
604         Used these new methods to clean up platform CA code. This will
605         make it easier to port to Windows.
606
607         I also fixed a couple of build issues found when trying out a 
608         Windows build.
609
610         This is a resubmission of changesets r73477 and r73483 with a 
611         fix for the SL build. The failure was because TransformationMatrix
612         included QuartzCore/CATransform3D.h which brought in some system
613         libraries, including Quickdraw, which has a definition for
614         'Cursor' which clashed with WebCore's 'Cursor' class. So I had
615         to qualify its use in WebChromeClient.cpp in WebKit2.
616
617         * WebCore.xcodeproj/project.pbxproj:
618         * platform/graphics/ca/GraphicsLayerCA.cpp:
619         (WebCore::GraphicsLayerCA::updateContentsTransform):
620         (WebCore::GraphicsLayerCA::ensureCloneLayers):
621         (WebCore::GraphicsLayerCA::fetchCloneLayers):
622         * platform/graphics/ca/TransformationMatrixCA.cpp: Copied from WebCore/platform/graphics/ca/TransformationMatrixCA.cpp.
623         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
624         (PlatformCAAnimation::setFromValue):
625         (PlatformCAAnimation::setToValue):
626         (PlatformCAAnimation::setValues):
627         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
628         (PlatformCALayer::transform):
629         (PlatformCALayer::setTransform):
630         (PlatformCALayer::sublayerTransform):
631         (PlatformCALayer::setSublayerTransform):
632         (PlatformCALayer::contentsTransform):
633         (PlatformCALayer::setContentsTransform):
634         * platform/graphics/cg/TransformationMatrixCG.cpp:
635         (WebCore::TransformationMatrix::TransformationMatrix):
636         * platform/graphics/transforms/TransformationMatrix.h:
637
638 2010-12-07  Brian Weinstein  <bweinstein@apple.com>
639
640         Reviewed by John Sullivan.
641
642         Layering Violation in ContextMenu - member variable of type HitTestResult
643         https://bugs.webkit.org/show_bug.cgi?id=50586
644         
645         ContextMenu had a layering violation by having a member variable of type HitTestResult, because
646         classes in WebCore/platform can't know about classes in WebCore.
647         
648         This patch moves the HitTestResult and all functions that use it out of ContextMenu into ContextMenuController.
649         All of the functions that dealt with populating the ContextMenu are now in ContextMenuController, and this
650         allowed us to delete the ContextMenu file, putting all of the cross-platform code that used to be it
651         in ContextMenuController, and the rest of the code is in the platform-specific files.
652
653         No change in behavior, no new tests.
654
655         * Android.mk: Removed ContextMenu.cpp.
656         * CMakeLists.txt: Ditto.
657         * GNUmakefile.am: Ditto.
658         * WebCore.gypi: Ditto.
659         * WebCore.pro: Ditto.
660         * WebCore.vcproj/WebCore.vcproj: Ditto.
661         * WebCore.xcodeproj/project.pbxproj: Ditto.
662
663         * page/ContextMenuController.cpp:
664         (WebCore::ContextMenuController::ContextMenuController): Initialized m_hitTestResult to an empty HitTestResult.
665         (WebCore::ContextMenuController::handleContextMenuEvent): Call populate on the ContextMenuController instead
666             of the ContextMenu.
667         (WebCore::ContextMenuController::createContextMenu): Fix some indination, and store the HitTestResult in a member
668             variable.
669         (WebCore::ContextMenuController::showContextMenu): Call addInspectElementItem on the ContextMenuController.
670         (WebCore::ContextMenuController::contextMenuItemSelected): Use m_hitTestResult whenever we need a HitTestResult.
671         (WebCore::ContextMenuController::appendItem): Validates the item for its state, and then appends it to the parent menu.
672             This allowed us to move checkOrEnableIfNeeded from ContextMenu.
673
674         These functions were all moved from ContextMenu, and changed slightly to fit in ContextMenuController.
675         All calls to ContextMenu::appendItem were changed to ContextMenuController::appendItem, which takes care
676         of validating the menu.
677         (WebCore::separatorItem): Moved from ContextMenu.
678         (WebCore::ContextMenuController::createAndAppendFontSubMenu): Ditto.
679         (WebCore::ContextMenuController::createAndAppendSpellingAndGrammarSubMenu): Ditto.
680         (WebCore::ContextMenuController::createAndAppendSpeechSubMenu): Ditto.
681         (WebCore::ContextMenuController::createAndAppendWritingDirectionSubMenu): Ditto.
682         (WebCore::ContextMenuController::createAndAppendTextDirectionSubMenu): Ditto.
683         (WebCore::ContextMenuController::createAndAppendSubstitutionsSubMenu): Ditto.
684         (WebCore::ContextMenuController::createAndAppendTransformationsSubMenu): Ditto.
685         (WebCore::selectionContainsPossibleWord): Ditto.
686         (WebCore::ContextMenuController::populate): Ditto.
687         (WebCore::ContextMenuController::addInspectElementItem): Ditto.
688         (WebCore::ContextMenuController::checkOrEnableIfNeeded): Ditto.
689         
690         * page/ContextMenuController.h:
691         (WebCore::ContextMenuController::hitTestResult): Returns the HitTestResult of the current ContextMenu.
692
693         * platform/ContextMenu.cpp: Removed.
694         * platform/ContextMenu.h:
695         * platform/efl/ContextMenuEfl.cpp:
696         (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
697         (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded.
698         * platform/gtk/ContextMenuGtk.cpp:
699         (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
700         (WebCore::ContextMenu::appendItem): Ditto.
701         * platform/haiku/ContextMenuHaiku.cpp:
702         (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
703         (WebCore::ContextMenu::appendItem): Ditto.
704         (WebCore::ContextMenu::insertItem): Ditto.
705         * platform/mac/ContextMenuMac.mm:
706         (-[WebCoreMenuTarget validateMenuItem:]): Calls checkOrEnableIfNeeded on the controller instead of
707             the context menu.
708         (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
709         (WebCore::ContextMenu::appendItem): Removed the call to checkOrEnableIfNeeded.
710         (WebCore::ContextMenu::insertItem): Ditto.
711         * platform/win/ContextMenuWin.cpp:
712         (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
713         (WebCore::ContextMenu::insertItem): Removed the call to checkOrEnableIfNeeded.
714         * platform/wx/ContextMenuWx.cpp:
715         (WebCore::ContextMenu::ContextMenu): Removed m_hitTestResult from the constructor.
716         (ContextMenu::appendItem): Ditto.
717
718 2010-12-08  Martin Robinson  <mrobinson@igalia.com>
719
720         Reviewed by John Sullivan.
721
722         [GTK] Layering violation in ContextMenuGtk.cpp
723         https://bugs.webkit.org/show_bug.cgi?id=50676
724
725         ContextMenuGtk accesses the page's ContextMenuController, which is a layering
726         violation. This was fixed for Mac with change r73469. We make a similar fix here
727         by moving the "activated" signal connection to the WebKit layer.
728
729         * platform/gtk/ContextMenuGtk.cpp:
730         (WebCore::ContextMenu::appendItem): Remove access of ContextMenuController. This
731         is a layering violation.
732
733 2010-12-08  Jessie Berlin  <jberlin@apple.com>
734
735         Reviewed by Adam Roben.
736
737         WebKit2: Implement WebChromeClient::exceededDatabaseQuota
738         https://bugs.webkit.org/show_bug.cgi?id=50656
739
740         * WebCore.exp.in:
741         Export the symbol for SecurityOrigin::databaseIdentifier.
742
743 2010-12-08  Csaba Osztrogon√°c  <ossy@webkit.org>
744
745         Unreviewed, rolling out r73521.
746         http://trac.webkit.org/changeset/73521
747         https://bugs.webkit.org/show_bug.cgi?id=50640
748
749         It broke 90 layout tests
750
751         * bindings/js/JSDOMBinding.cpp:
752         (WebCore::printErrorMessageForFrame):
753         * bindings/js/JSDOMWindowBase.cpp:
754         (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
755         * bindings/js/JSDOMWindowCustom.cpp:
756         (WebCore::JSDOMWindow::setLocation):
757         * page/DOMWindow.cpp:
758         * page/DOMWindow.h:
759
760 2010-12-08  David Hyatt  <hyatt@apple.com>
761
762         Reviewed by Anders Carlsson.
763
764         https://bugs.webkit.org/show_bug.cgi?id=50576
765
766         REGRESSION in position of autocomplete popup on RTL page.
767
768         RTL static position computation did not subtract out the width of the enclosing box if the
769         immediate parent was a RenderInline.  This bug was exposed by properly changing the RenderView
770         to be RTL when the document was RTL.
771
772         Added three new tests in fast/block/positioning.
773
774         * rendering/RenderBox.cpp:
775         (WebCore::RenderBox::computePositionedLogicalWidth):
776
777 2010-12-08  Xiaomei Ji  <xji@chromium.org>
778
779         Reviewed by David Hyatt.
780
781         Fix backward mouse wheeling not working when scroll position is below 0.
782         https://bugs.webkit.org/show_bug.cgi?id=50370
783
784         Tests: fast/events/wheelevent-in-horizontal-scrollbar-in-rtl.html
785                fast/events/wheelevent-in-vertical-scrollbar-in-rtl.html
786
787         * platform/ScrollView.cpp:
788         (WebCore::ScrollView::wheelEvent):
789
790 2010-12-08  Simon Fraser  <simon.fraser@apple.com>
791
792         Reviewed by Dan Bernstein.
793
794         Fix pauseAnimation API to work with shorthand properties
795         https://bugs.webkit.org/show_bug.cgi?id=50639
796         
797         The pause API is always called with a long-hand property, but that
798         property may be animating via a shorthand. Detect this, and pause
799         such shorthand animations.
800
801         * page/animation/AnimationBase.cpp:
802         (WebCore::ShorthandPropertyWrapper::propertyWrappers): Expose the vector
803         of wrappers used by a shorthand wrapper.
804
805         (WebCore::gatherEnclosingShorthandProperties): Utility function that walks
806         through the shorthand wrappers, keeping track of which can affect the given
807         property.
808         (WebCore::AnimationBase::animatableShorthandsAffectingProperty): Return a set
809         of shorthand properties that can affect the given property.
810
811         * page/animation/AnimationBase.h: New method.
812         * page/animation/CompositeAnimation.cpp:
813         (WebCore::CompositeAnimation::pauseTransitionAtTime): If we don't find the
814         property itself, check whether it's being animated via shorthands.
815
816 2010-12-08  David Hyatt  <hyatt@apple.com>
817
818         Reviewed by Beth Dakin.
819
820         <rdar://problem/8740920> Gestures: Frame::scalePage() broken by r73885
821
822         Make sure the transform applied to the RenderView for page scaling is incorporated into the
823         docTop/Bottom/Left/Right accessors.
824
825         * rendering/RenderView.cpp:
826         (WebCore::RenderView::docTop):
827         (WebCore::RenderView::docBottom):
828         (WebCore::RenderView::docLeft):
829         (WebCore::RenderView::docRight):
830
831 2010-12-08  Ilya Tikhonovsky  <loislo@chromium.org>
832
833         Reviewed by Yury Semikhatsky.
834
835         Web Inspector: Protocol cleanup task. Remove WebInspector wrappers
836         for TimelineAgent functions.
837
838         https://bugs.webkit.org/show_bug.cgi?id=50690
839
840         * inspector/Inspector.idl:
841         * inspector/front-end/TimelineAgent.js:
842         * inspector/front-end/TimelinePanel.js:
843         (WebInspector.TimelinePanel):
844         (WebInspector.TimelinePanel.prototype.timelineProfilerWasStarted):
845         (WebInspector.TimelinePanel.prototype.timelineProfilerWasStopped):
846
847 2010-12-08  Philippe Normand  <pnormand@igalia.com>
848
849         Reviewed by Gustavo Noronha Silva.
850
851         [GTK] media/fullscreen* failing on 64-bits Debug
852         https://bugs.webkit.org/show_bug.cgi?id=50394
853
854         Avoid emiting durationchanged in the case where the previous
855         duration was 0 because that case is already handled by the
856         HTMLMediaElement.
857
858         Test: media/media-fullscreen*.html
859
860         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
861         (WebCore::MediaPlayerPrivateGStreamer::durationChanged):
862
863 2010-12-07  Darin Adler  <darin@apple.com>
864
865         Reviewed by Geoffrey Garen.
866
867         Move DOMWindow::setLocation logic into DOMWindow class and out of JavaScript binding
868         https://bugs.webkit.org/show_bug.cgi?id=50640
869
870         * bindings/js/JSDOMBinding.cpp:
871         (WebCore::printErrorMessageForFrame): Removed body; just call through to
872         DOMWindow::printErrorMessage.
873
874         * bindings/js/JSDOMWindowBase.cpp:
875         (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage): Removed body;
876         just call through to DOMWindow::crossDomainAccessErrorMessage.
877
878         * bindings/js/JSDOMWindowCustom.cpp:
879         (WebCore::JSDOMWindow::setLocation): Changed terminology to use activeFrame and
880         firstFrame, rather than the older lexicalFrame and dynamicFrame. Removed most
881         of the body and moved it into DOMWindow::setLocation.
882
883         * page/DOMWindow.cpp:
884         (WebCore::DOMWindow::setLocation): Added. Does all the same work that
885         JSDOMWindow::setLocation used to do, but in a way that's not specific
886         to JavaScript.
887         (WebCore::DOMWindow::printErrorMessage): Added.
888         (WebCore::DOMWindow::crossDomainAccessErrorMessage): Added.
889
890         * page/DOMWindow.h: Added setLocation, printErrorMessage, and
891         crossDomainAccessErrorMessage.
892
893 2010-12-08  Alejandro G. Castro  <alex@igalia.com>
894
895         Unreviewed, rolling out r73494.
896         http://trac.webkit.org/changeset/73494
897         https://bugs.webkit.org/show_bug.cgi?id=50380
898
899         The tests added are crashing in the debug bots (macn and gtk)
900
901         * html/HTMLSelectElement.cpp:
902         (WebCore::HTMLSelectElement::deselectItems):
903         (WebCore::HTMLSelectElement::setSelectedIndex):
904         (WebCore::HTMLSelectElement::setSelectedIndexByUser):
905         (WebCore::HTMLSelectElement::listBoxSelectItem):
906         (WebCore::HTMLSelectElement::add):
907         (WebCore::HTMLSelectElement::remove):
908         (WebCore::HTMLSelectElement::restoreFormControlState):
909         (WebCore::HTMLSelectElement::parseMappedAttribute):
910         (WebCore::HTMLSelectElement::selectAll):
911         (WebCore::HTMLSelectElement::reset):
912         (WebCore::HTMLSelectElement::updateListBoxSelection):
913         (WebCore::HTMLSelectElement::setLength):
914         * html/HTMLSelectElement.h:
915         (WebCore::HTMLSelectElement::isOptionalFormControl):
916         * html/HTMLSelectElement.idl:
917         * html/ValidityState.cpp:
918         (WebCore::ValidityState::valueMissing):
919
920 2010-12-07  Ilya Tikhonovsky  <loislo@chromium.org>
921
922         Reviewed by Pavel Feldman.
923
924         Web Inspector: Inspector protocol cleanup task. Remove
925         WebInspector wrappers for DOMAgent functions.
926
927         There were a lot of wrappers in WebInspector namespace
928         for different WebInspector agents functions. As far as we have a
929         generic mechanic for such functions we can remove these
930         wrappers and register domAgent instance as a handler for
931         DOM domain notifications.
932
933         https://bugs.webkit.org/show_bug.cgi?id=50626
934
935         * inspector/Inspector.idl:
936         * inspector/front-end/DOMAgent.js:
937         (WebInspector.DOMNode):
938         (WebInspector.DOMAgent):
939         (WebInspector.DOMAgent.prototype.attributesUpdated):
940         (WebInspector.DOMAgent.prototype.characterDataModified):
941         (WebInspector.DOMAgent.prototype.setDocument):
942         (WebInspector.DOMAgent.prototype.setDetachedRoot):
943         (WebInspector.DOMAgent.prototype.setChildNodes):
944         (WebInspector.DOMAgent.prototype.childNodeCountUpdated):
945         (WebInspector.DOMAgent.prototype.childNodeInserted):
946         (WebInspector.DOMAgent.prototype.childNodeRemoved):
947         (WebInspector.EventListeners.getEventListenersForNodeAsync):
948         * inspector/front-end/inspector.js:
949         (WebInspector.didCommitLoad):
950
951 2010-12-08  Yury Semikhatsky  <yurys@chromium.org>
952
953         Reviewed by Pavel Feldman.
954
955         Web Inspector: remove groupLevel counter from console messages
956         https://bugs.webkit.org/show_bug.cgi?id=50672
957
958         * inspector/ConsoleMessage.cpp:
959         (WebCore::ConsoleMessage::ConsoleMessage):
960         (WebCore::ConsoleMessage::addToFrontend):
961         (WebCore::ConsoleMessage::isEqual):
962         * inspector/ConsoleMessage.h:
963         * inspector/InspectorController.cpp:
964         (WebCore::InspectorController::InspectorController):
965         (WebCore::InspectorController::addMessageToConsole):
966         (WebCore::InspectorController::clearConsoleMessages):
967         (WebCore::InspectorController::startGroup):
968         (WebCore::InspectorController::endGroup):
969         * inspector/InspectorController.h:
970         * inspector/front-end/ConsoleView.js:
971         (WebInspector.ConsoleView.createFilterElement):
972         (WebInspector.ConsoleView):
973         (WebInspector.ConsoleView.prototype.filter):
974         (WebInspector.ConsoleView.prototype.afterShow):
975         (WebInspector.ConsoleView.prototype.addMessage):
976         (WebInspector.ConsoleView.prototype.updateMessageRepeatCount):
977         (WebInspector.ConsoleView.prototype.clearMessages):
978         (WebInspector.ConsoleMessage):
979         (WebInspector.ConsoleMessage.createTextMessage):
980         (WebInspector.ConsoleMessage.prototype.toMessageElement):
981         (WebInspector.ConsoleMessage.prototype._addMessageHeader):
982         (WebInspector.ConsoleMessage.prototype._updateRepeatCount):
983         (WebInspector.ConsoleMessage.prototype.toString):
984         (WebInspector.ConsoleMessage.prototype.isEqual):
985         (WebInspector.ConsoleGroup):
986         * inspector/front-end/Resource.js:
987         (WebInspector.Resource.prototype._checkWarning):
988         * inspector/front-end/SourceFrame.js:
989         (WebInspector.SourceFrame.prototype._addMessageToSource):
990         * inspector/front-end/inspector.js:
991         (WebInspector.addConsoleMessage):
992         (WebInspector.log.logMessage):
993         (WebInspector.log):
994
995 2010-12-07  Pavel Podivilov  <podivilov@chromium.org>
996
997         Reviewed by Pavel Feldman.
998
999         Web Inspector: introduce DebuggerModel class representing InspectorDebuggerAgent state.
1000         https://bugs.webkit.org/show_bug.cgi?id=50567
1001
1002         Moved debugging-related code from BreakpointManager to DebuggerModel. Moved Breakpoint class to a separate file.
1003
1004         * English.lproj/localizedStrings.js:
1005         * WebCore.gypi:
1006         * WebCore.vcproj/WebCore.vcproj:
1007         * inspector/front-end/Breakpoint.js: Added.
1008         (WebInspector.Breakpoint): Moved from BreakpointManager.js.
1009         * inspector/front-end/BreakpointManager.js:
1010         (WebInspector.BreakpointManager): Remove debugger-related methods.
1011         * inspector/front-end/CallStackSidebarPane.js:
1012         (WebInspector.CallStackSidebarPane):
1013         (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
1014         (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
1015         * inspector/front-end/DebuggerModel.js: Added.
1016         (WebInspector.DebuggerModel): Moved debugger-related methods from BreakpointManager.
1017         * inspector/front-end/ScriptsPanel.js:
1018         (WebInspector.ScriptsPanel):
1019         (WebInspector.ScriptsPanel.prototype.continueToLine):
1020         (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
1021         (WebInspector.ScriptsPanel.prototype.editScriptSource):
1022         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
1023         (WebInspector.ScriptsPanel.prototype._debuggerResumed):
1024         (WebInspector.ScriptsPanel.prototype.reset):
1025         * inspector/front-end/SourceFrame.js:
1026         (WebInspector.SourceFrame.prototype._createViewerIfNeeded):
1027         (WebInspector.SourceFrameDelegate.prototype.addBreakpoint):
1028         (WebInspector.SourceFrameDelegate.prototype.breakpoints):
1029         (WebInspector.SourceFrameDelegate.prototype.findBreakpoint):
1030         * inspector/front-end/WebKit.qrc:
1031         * inspector/front-end/inspector.html:
1032         * inspector/front-end/inspector.js:
1033         (WebInspector.createJSBreakpointsSidebarPane):
1034         (WebInspector.restoredBreakpoint):
1035         (WebInspector.pausedScript):
1036         (WebInspector.resumedScript):
1037         (WebInspector.reset):
1038
1039 2010-12-08  Pavel Podivilov  <podivilov@chromium.org>
1040
1041         Reviewed by Pavel Feldman.
1042
1043         Web Inspector: SourceFrame refactoring.
1044         https://bugs.webkit.org/show_bug.cgi?id=50223
1045
1046         SourceFrame should ask BreakpointManager about existing breakpoints instead of maintaining
1047         it's own storages. Move common code from ScriptView and SourceView to SourceFrame.
1048
1049         * inspector/front-end/BreakpointManager.js:
1050         (WebInspector.BreakpointManager.prototype.findBreakpoints):
1051         (WebInspector.BreakpointManager.prototype.findBreakpoint):
1052         * inspector/front-end/Script.js:
1053         (WebInspector.Script):
1054         (WebInspector.Script.prototype.get linesCount):
1055         (WebInspector.Script.prototype.get source):
1056         (WebInspector.Script.prototype.set source):
1057         * inspector/front-end/ScriptView.js:
1058         (WebInspector.ScriptView):
1059         (WebInspector.ScriptView.prototype._scriptSourceChanged):
1060         (WebInspector.ScriptFrameDelegateImpl):
1061         (WebInspector.ScriptFrameDelegateImpl.prototype.canEditScripts):
1062         (WebInspector.ScriptFrameDelegateImpl.prototype.editLineComplete):
1063         (WebInspector.ScriptFrameDelegateImpl.prototype.scripts):
1064         * inspector/front-end/ScriptsPanel.js:
1065         (WebInspector.ScriptsPanel):
1066         * inspector/front-end/SourceFrame.js:
1067         (WebInspector.SourceFrame): Add common methods of ScriptView and SourceView.
1068         (WebInspector.SourceFrameDelegate):
1069         (WebInspector.SourceFrameDelegate.prototype.canEditScripts):
1070         (WebInspector.SourceFrameDelegate.prototype.editLineComplete):
1071         (WebInspector.SourceFrameDelegate.prototype.scripts):
1072         * inspector/front-end/SourceView.js:
1073         (WebInspector.SourceView):
1074         (WebInspector.SourceView.prototype._contentLoaded):
1075         (WebInspector.ResourceFrameDelegateImpl):
1076         (WebInspector.ResourceFrameDelegateImpl.prototype.canEditScripts):
1077         (WebInspector.ResourceFrameDelegateImpl.prototype.editLineComplete):
1078         (WebInspector.ResourceFrameDelegateImpl.prototype.scripts):
1079
1080 2010-12-08  Yuta Kitamura  <yutak@chromium.org>
1081
1082         Unreviewed, rolling out r73492.
1083         http://trac.webkit.org/changeset/73492
1084         https://bugs.webkit.org/show_bug.cgi?id=49914
1085
1086         Caused a lot of pixel test failures and broke Windows build.
1087
1088         * WebCore.xcodeproj/project.pbxproj:
1089         * platform/graphics/GraphicsContext.cpp:
1090         (WebCore::GraphicsContext::createGraphicsContextPrivate):
1091         (WebCore::GraphicsContext::destroyGraphicsContextPrivate):
1092         (WebCore::GraphicsContext::save):
1093         (WebCore::GraphicsContext::restore):
1094         (WebCore::GraphicsContext::setStrokeThickness):
1095         (WebCore::GraphicsContext::setStrokeStyle):
1096         (WebCore::GraphicsContext::setStrokeColor):
1097         (WebCore::GraphicsContext::setShadow):
1098         (WebCore::GraphicsContext::clearShadow):
1099         (WebCore::GraphicsContext::getShadow):
1100         (WebCore::GraphicsContext::strokeThickness):
1101         (WebCore::GraphicsContext::strokeStyle):
1102         (WebCore::GraphicsContext::strokeColor):
1103         (WebCore::GraphicsContext::strokeColorSpace):
1104         (WebCore::GraphicsContext::fillRule):
1105         (WebCore::GraphicsContext::setFillRule):
1106         (WebCore::GraphicsContext::setFillColor):
1107         (WebCore::GraphicsContext::fillColor):
1108         (WebCore::GraphicsContext::fillColorSpace):
1109         (WebCore::GraphicsContext::setShouldAntialias):
1110         (WebCore::GraphicsContext::shouldAntialias):
1111         (WebCore::GraphicsContext::setStrokePattern):
1112         (WebCore::GraphicsContext::setFillPattern):
1113         (WebCore::GraphicsContext::setStrokeGradient):
1114         (WebCore::GraphicsContext::setFillGradient):
1115         (WebCore::GraphicsContext::fillGradient):
1116         (WebCore::GraphicsContext::strokeGradient):
1117         (WebCore::GraphicsContext::fillPattern):
1118         (WebCore::GraphicsContext::strokePattern):
1119         (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
1120         (WebCore::GraphicsContext::updatingControlTints):
1121         (WebCore::GraphicsContext::setUpdatingControlTints):
1122         (WebCore::GraphicsContext::setPaintingDisabled):
1123         (WebCore::GraphicsContext::paintingDisabled):
1124         (WebCore::GraphicsContext::textDrawingMode):
1125         (WebCore::GraphicsContext::setTextDrawingMode):
1126         * platform/graphics/GraphicsContext.h:
1127         * platform/graphics/GraphicsContextPrivate.h: Added.
1128         (WebCore::GraphicsContextState::GraphicsContextState):
1129         (WebCore::GraphicsContextPrivate::GraphicsContextPrivate):
1130         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1131         (WebCore::setPlatformFill):
1132         (WebCore::setPlatformStroke):
1133         (WebCore::drawPathShadow):
1134         (WebCore::fillCurrentCairoPath):
1135         (WebCore::strokeCurrentCairoPath):
1136         (WebCore::GraphicsContext::GraphicsContext):
1137         (WebCore::GraphicsContext::~GraphicsContext):
1138         (WebCore::GraphicsContext::fillPath):
1139         (WebCore::GraphicsContext::strokePath):
1140         (WebCore::GraphicsContext::fillRect):
1141         (WebCore::GraphicsContext::setPlatformShadow):
1142         (WebCore::GraphicsContext::strokeRect):
1143         (WebCore::GraphicsContext::setAlpha):
1144         (WebCore::GraphicsContext::getAlpha):
1145         * platform/graphics/cg/GraphicsContextCG.cpp:
1146         (WebCore::GraphicsContext::GraphicsContext):
1147         (WebCore::GraphicsContext::~GraphicsContext):
1148         (WebCore::GraphicsContext::applyStrokePattern):
1149         (WebCore::GraphicsContext::applyFillPattern):
1150         (WebCore::GraphicsContext::drawPath):
1151         (WebCore::GraphicsContext::fillPath):
1152         (WebCore::GraphicsContext::strokePath):
1153         (WebCore::GraphicsContext::fillRect):
1154         (WebCore::GraphicsContext::setPlatformShadow):
1155         (WebCore::GraphicsContext::strokeRect):
1156         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
1157         (WebCore::GraphicsContext::GraphicsContext):
1158         (WebCore::GraphicsContext::~GraphicsContext):
1159         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
1160         (WebCore::GraphicsContext::GraphicsContext):
1161         (WebCore::GraphicsContext::~GraphicsContext):
1162         (WebCore::GraphicsContext::fillPath):
1163         (WebCore::GraphicsContext::strokePath):
1164         (WebCore::GraphicsContext::clip):
1165         (WebCore::GraphicsContext::clipOut):
1166         (WebCore::GraphicsContext::addInnerRoundedRectClip):
1167         * platform/graphics/qt/GraphicsContextQt.cpp:
1168         (WebCore::GraphicsContext::GraphicsContext):
1169         (WebCore::GraphicsContext::~GraphicsContext):
1170         (WebCore::GraphicsContext::fillPath):
1171         (WebCore::GraphicsContext::strokePath):
1172         (WebCore::GraphicsContext::fillRect):
1173         (WebCore::GraphicsContext::setPlatformShadow):
1174         * platform/graphics/skia/GraphicsContextSkia.cpp:
1175         (WebCore::GraphicsContext::GraphicsContext):
1176         (WebCore::GraphicsContext::~GraphicsContext):
1177         (WebCore::GraphicsContext::fillPath):
1178         (WebCore::GraphicsContext::setPlatformShadow):
1179         * platform/graphics/win/GraphicsContextCGWin.cpp:
1180         (WebCore::GraphicsContext::GraphicsContext):
1181         * platform/graphics/win/GraphicsContextCairoWin.cpp:
1182         (WebCore::GraphicsContext::GraphicsContext):
1183         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1184         (WebCore::GraphicsContext::GraphicsContext):
1185         (WebCore::GraphicsContext::~GraphicsContext):
1186         (WebCore::GraphicsContext::fillPath):
1187         (WebCore::GraphicsContext::fillRect):
1188         * platform/graphics/wx/GraphicsContextWx.cpp:
1189         (WebCore::GraphicsContext::GraphicsContext):
1190         (WebCore::GraphicsContext::~GraphicsContext):
1191
1192 2010-12-08  Dai Mikurube  <dmikurube@google.com>
1193
1194         Reviewed by Kent Tamura.
1195
1196         Implement "required" attribute for select tags
1197         https://bugs.webkit.org/show_bug.cgi?id=50380
1198
1199         Test: fast/forms/select-live-pseudo-selectors.html
1200               platform/mac/fast/objc/dom-html-select-live-pseudo-selectors.html
1201
1202         * html/HTMLSelectElement.cpp:
1203         (WebCore::HTMLSelectElement::deselectItems): Added calling setNeedsValidityCheck() to enable validity check after changing. No tests for this change since this function is not exposed to JavaScript or any web interface.
1204         (WebCore::HTMLSelectElement::setSelectedIndex): Added calling setNeedsValidityCheck().
1205         (WebCore::HTMLSelectElement::setSelectedIndexByUser): Added calling setNeedsValidityCheck().
1206         (WebCore::HTMLSelectElement::valueMissing): Added valueMissing() to check if selecting an invalid or placeholder label option when a valid required attribute is specified.
1207         (WebCore::HTMLSelectElement::listBoxSelectItem): Added calling setNeedsValidityCheck(). No tests for this change since it is not called yet. Look at the bug 36177 and the changeset 56180.
1208         (WebCore::HTMLSelectElement::add): Added calling setNeedsValidityCheck().
1209         (WebCore::HTMLSelectElement::remove): Added calling setNeedsValidityCheck().
1210         (WebCore::HTMLSelectElement::restoreFormControlState): Added calling setNeedsValidityCheck().
1211         (WebCore::HTMLSelectElement::parseMappedAttribute): Added calling setNeedsValidityCheck().
1212         (WebCore::HTMLSelectElement::selectAll): Added calling setNeedsValidityCheck().
1213         (WebCore::HTMLSelectElement::reset): Added calling setNeedsValidityCheck().
1214         (WebCore::HTMLSelectElement::updateListBoxSelection): Added calling setNeedsValidityCheck(). Skipped adding tests for this change as too complicated..
1215         (WebCore::HTMLSelectElement::setLength): Added calling setNeedsValidityCheck().
1216         (WebCore::HTMLSelectElement::isRequiredFormControl): Check if required or not.
1217         (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Added.
1218         * html/HTMLSelectElement.h:
1219         (WebCore::HTMLSelectElement::isOptionalFormControl): Check if not required.
1220         * html/HTMLSelectElement.idl: Added a required attribute to select elements..
1221         * html/ValidityState.cpp:
1222         (WebCore::ValidityState::valueMissing): Added valueMissing check for select elements into the global checker, ValidityState::valueMissing().
1223
1224 2010-12-08  Renata Hodovan  <reni@webkit.org>
1225
1226         Reviewed by Andreas Kling.
1227
1228         GraphicsContext: Merge m_common and m_data
1229         https://bugs.webkit.org/show_bug.cgi?id=49914
1230
1231         Move data members from GraphicsContextPrivate into GraphicsContext. So GraphicsContextPlatform.h
1232         and m_common became unnecessary. They are removed.
1233         Add two methods to GraphicsContext: platformInit() and platformDestroy(), which
1234         make the constructor of GraphicsContext clearer.
1235         Besides add a getter to the private GraphicsContext::m_state member, because some inline
1236         functions in cairo need it.
1237
1238         No new test is needed, because this is a refactoring.
1239
1240         * WebCore.xcodeproj/project.pbxproj:
1241         * platform/graphics/GraphicsContext.cpp:
1242         (WebCore::GraphicsContext::GraphicsContext):
1243         (WebCore::GraphicsContext::~GraphicsContext):
1244         (WebCore::GraphicsContext::save):
1245         (WebCore::GraphicsContext::restore):
1246         (WebCore::GraphicsContext::setStrokeThickness):
1247         (WebCore::GraphicsContext::setStrokeStyle):
1248         (WebCore::GraphicsContext::setStrokeColor):
1249         (WebCore::GraphicsContext::setShadow):
1250         (WebCore::GraphicsContext::clearShadow):
1251         (WebCore::GraphicsContext::getShadow):
1252         (WebCore::GraphicsContext::strokeThickness):
1253         (WebCore::GraphicsContext::strokeStyle):
1254         (WebCore::GraphicsContext::strokeColor):
1255         (WebCore::GraphicsContext::strokeColorSpace):
1256         (WebCore::GraphicsContext::fillRule):
1257         (WebCore::GraphicsContext::setFillRule):
1258         (WebCore::GraphicsContext::setFillColor):
1259         (WebCore::GraphicsContext::fillColor):
1260         (WebCore::GraphicsContext::fillColorSpace):
1261         (WebCore::GraphicsContext::setShouldAntialias):
1262         (WebCore::GraphicsContext::shouldAntialias):
1263         (WebCore::GraphicsContext::state):
1264         (WebCore::GraphicsContext::setStrokePattern):
1265         (WebCore::GraphicsContext::setFillPattern):
1266         (WebCore::GraphicsContext::setStrokeGradient):
1267         (WebCore::GraphicsContext::setFillGradient):
1268         (WebCore::GraphicsContext::fillGradient):
1269         (WebCore::GraphicsContext::strokeGradient):
1270         (WebCore::GraphicsContext::fillPattern):
1271         (WebCore::GraphicsContext::strokePattern):
1272         (WebCore::GraphicsContext::setShadowsIgnoreTransforms):
1273         (WebCore::GraphicsContext::updatingControlTints):
1274         (WebCore::GraphicsContext::setUpdatingControlTints):
1275         (WebCore::GraphicsContext::setPaintingDisabled):
1276         (WebCore::GraphicsContext::paintingDisabled):
1277         (WebCore::GraphicsContext::textDrawingMode):
1278         (WebCore::GraphicsContext::setTextDrawingMode):
1279         * platform/graphics/GraphicsContext.h:
1280         (WebCore::GraphicsContextState::GraphicsContextState):
1281         * platform/graphics/GraphicsContextPrivate.h: Removed.
1282         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1283         (WebCore::setPlatformFill):
1284         (WebCore::setPlatformStroke):
1285         (WebCore::drawPathShadow):
1286         (WebCore::fillCurrentCairoPath):
1287         (WebCore::strokeCurrentCairoPath):
1288         (WebCore::GraphicsContext::platformInit):
1289         (WebCore::GraphicsContext::platformDestroy):
1290         (WebCore::GraphicsContext::fillPath):
1291         (WebCore::GraphicsContext::strokePath):
1292         (WebCore::GraphicsContext::fillRect):
1293         (WebCore::GraphicsContext::setPlatformShadow):
1294         (WebCore::GraphicsContext::strokeRect):
1295         (WebCore::GraphicsContext::setAlpha):
1296         (WebCore::GraphicsContext::getAlpha):
1297         * platform/graphics/cg/GraphicsContextCG.cpp:
1298         (WebCore::GraphicsContext::platformInit):
1299         (WebCore::GraphicsContext::platformDestroy):
1300         (WebCore::GraphicsContext::applyStrokePattern):
1301         (WebCore::GraphicsContext::applyFillPattern):
1302         (WebCore::GraphicsContext::drawPath):
1303         (WebCore::GraphicsContext::fillPath):
1304         (WebCore::GraphicsContext::strokePath):
1305         (WebCore::GraphicsContext::fillRect):
1306         (WebCore::GraphicsContext::setPlatformShadow):
1307         (WebCore::GraphicsContext::strokeRect):
1308         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
1309         (WebCore::GraphicsContext::platformInit):
1310         (WebCore::GraphicsContext::platformDestroy):
1311         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
1312         (WebCore::GraphicsContext::platformInit):
1313         (WebCore::GraphicsContext::platformDestroy):
1314         (WebCore::GraphicsContext::fillPath):
1315         (WebCore::GraphicsContext::strokePath):
1316         (WebCore::GraphicsContext::clip):
1317         (WebCore::GraphicsContext::clipOut):
1318         (WebCore::GraphicsContext::addInnerRoundedRectClip):
1319         * platform/graphics/qt/GraphicsContextQt.cpp:
1320         (WebCore::GraphicsContext::platformInit):
1321         (WebCore::GraphicsContext::platformDestroy):
1322         (WebCore::GraphicsContext::fillPath):
1323         (WebCore::GraphicsContext::strokePath):
1324         (WebCore::GraphicsContext::fillRect):
1325         (WebCore::GraphicsContext::setPlatformShadow):
1326         * platform/graphics/skia/GraphicsContextSkia.cpp:
1327         (WebCore::GraphicsContext::platformInit):
1328         (WebCore::GraphicsContext::platformDestroy):
1329         (WebCore::GraphicsContext::fillPath):
1330         (WebCore::GraphicsContext::setPlatformShadow):
1331         * platform/graphics/win/GraphicsContextCGWin.cpp:
1332         (WebCore::GraphicsContext::platformInit):
1333         * platform/graphics/win/GraphicsContextCairoWin.cpp:
1334         (WebCore::GraphicsContext::platformInit):
1335         * platform/graphics/wince/GraphicsContextWinCE.cpp:
1336         (WebCore::GraphicsContext::platformInit):
1337         (WebCore::GraphicsContext::platformDestroy):
1338         (WebCore::GraphicsContext::fillPath):
1339         (WebCore::GraphicsContext::fillRect):
1340         * platform/graphics/wx/GraphicsContextWx.cpp:
1341         (WebCore::GraphicsContext::platformInit):
1342         (WebCore::GraphicsContext::platformDestroy):
1343
1344 2010-12-07  Anton Muhin  <antonm@chromium.org>
1345
1346         Reviewed by Nate Chapin.
1347
1348         Port http://trac.webkit.org/changeset/72819/ to v8-backed ports.
1349         https://bugs.webkit.org/show_bug.cgi?id=50246
1350
1351         * bindings/v8/V8DOMMap.h:
1352         (WebCore::AbstractWeakReferenceMap::Visitor::startMap):
1353         (WebCore::AbstractWeakReferenceMap::Visitor::endMap):
1354         (WebCore::WeakReferenceMap::visit):
1355         * bindings/v8/V8GCController.cpp:
1356         (WebCore::GrouperItem::GrouperItem):
1357         (WebCore::GrouperItem::groupId):
1358         (WebCore::makeV8ObjectGroups):
1359         (WebCore::NodeGrouperVisitor::NodeGrouperVisitor):
1360         (WebCore::NodeGrouperVisitor::visitDOMWrapper):
1361         (WebCore::NodeGrouperVisitor::applyGrouping):
1362         (WebCore::DOMObjectGrouperVisitor::ObjectGrouperVisitor):
1363         (WebCore::DOMObjectGrouperVisitor::startMap):
1364         (WebCore::DOMObjectGrouperVisitor::endMap):
1365         (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
1366         (WebCore::V8GCController::gcPrologue):
1367
1368 2010-12-07  Daniel Bates  <dbates@rim.com>
1369
1370         Reviewed by Martin Robinson.
1371
1372         Implement focus ring support for image maps
1373         https://bugs.webkit.org/show_bug.cgi?id=50371
1374
1375         Implement GraphicsContext::drawFocusRing(const Path&, ...) so as to support
1376         drawing a focus ring for image maps.
1377
1378         Tests: fast/images/imagemap-circle-focus-ring.html
1379                fast/images/imagemap-polygon-focus-ring.html
1380
1381         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1382         (WebCore::adjustFocusRingColor): Added.
1383         (WebCore::adjustFocusRingLineWidth): Added.
1384         (WebCore::focusRingStrokeStyle): Added.
1385         (WebCore::GraphicsContext::drawFocusRing): Moved code for determining focus ring- color,
1386         line width and stroke style into functions adjustFocusRingColor(), adjustFocusRingLineWidth(),
1387         and focusRingStrokeStyle(), respectively. Implemented GraphicsContext::drawFocusRing(const Path&, ...).
1388
1389 2010-12-07  Sergio Villar Senin  <svillar@igalia.com>
1390
1391         Reviewed by Xan Lopez.
1392
1393         [GTK] WebKitSoupCache fails to load resources when cache contents are externally removed
1394         https://bugs.webkit.org/show_bug.cgi?id=50577
1395
1396         Try to download cached resources again if they are no longer
1397         accesible by the cache.
1398
1399         * platform/network/soup/cache/soup-request-http.c:
1400         (send_async_cb):
1401         (webkit_soup_request_http_send_async):
1402
1403 2010-12-06  MORITA Hajime  <morrita@google.com>
1404
1405         Reviewed by Dimitri Glazkov.
1406
1407         RenderIndicator subclasses should not change the render tree during layout.
1408         https://bugs.webkit.org/show_bug.cgi?id=50026
1409
1410         The old code created shadow elements during a layout computation,
1411         that makes the layout state inconsisntent and cause an assertion failure. 
1412         This change created shadow elements before the layout to avoid  
1413         state inconsistencies.
1414         
1415         Instead of creating shadows on demand, RenderMeter and
1416         RenderProgress now create all necessary shadows before layouts,
1417         and change its visibilities during the layout: Changing
1418         visibilities doesn't trigger relayout and keep the state
1419         consistent.
1420         
1421         RenderMeter uses new HidablePartElement for shadow elements,
1422         which can toggle visibiliby between hidden and original value.
1423
1424         Test: fast/dom/HTMLMeterElement/meter-element-crash.html
1425
1426         * html/HTMLMeterElement.cpp:
1427         (WebCore::HTMLMeterElement::attach): Calling updateFromElement()
1428         * html/HTMLMeterElement.h:
1429         * html/HTMLProgressElement.cpp:
1430         (WebCore::HTMLProgressElement::attach): Calling updateFromElement()
1431         * html/HTMLProgressElement.h:
1432         * rendering/RenderIndicator.cpp:
1433         * rendering/RenderIndicator.h:
1434         * rendering/RenderMeter.cpp:
1435         (WebCore::MeterPartElement::MeterPartElement): Added to hold a restorable visibility.
1436         (WebCore::MeterPartElement::createForPart):
1437         (WebCore::MeterPartElement::hide):
1438         (WebCore::MeterPartElement::restoreVisibility):
1439         (WebCore::MeterPartElement::updateStyleForPart):
1440         (WebCore::MeterPartElement::saveVisibility):
1441         (WebCore::RenderMeter::~RenderMeter):
1442         (WebCore::RenderMeter::createPart): Extracted
1443         (WebCore::RenderMeter::updateFromElement): Had a shadow generation.
1444         (WebCore::RenderMeter::layoutParts): Removed shadow generation code.
1445         (WebCore::RenderMeter::shouldHaveParts):
1446         (WebCore::RenderMeter::valuePartRect): Adopted orientation.
1447         (WebCore::RenderMeter::orientation): Morphed from isHorizontal()
1448         (WebCore::RenderMeter::valuePseudoId): Adoptedn orientation
1449         (WebCore::RenderMeter::barPseudoId): Adopted orientation.
1450         * rendering/RenderMeter.h:
1451         (WebCore::RenderMeter::shadowAttached):
1452         * rendering/RenderProgress.cpp:
1453         (WebCore::RenderProgress::updateFromElement): Had a shadow generation.
1454         (WebCore::RenderProgress::layoutParts):
1455         * rendering/RenderProgress.h:
1456         * rendering/ShadowElement.cpp:
1457         (WebCore::ShadowBlockElement::createForPart): Extracted initAsPart().
1458         (WebCore::ShadowBlockElement::initAsPart): Extracted from createForPart().
1459         * rendering/ShadowElement.h:
1460
1461 2010-11-29  Mihai Parparita  <mihaip@chromium.org>
1462
1463         Reviewed by Adam Barth.
1464
1465         returning to a POST result within a frame does a GET instead of a POST
1466         https://bugs.webkit.org/show_bug.cgi?id=10199
1467         
1468         FrameLoader::loadURLIntoChildFrame had a check for whether a frame
1469         had a HistoryItem, and if so used that item's URL. However, that did
1470         not handle the case where the HistoryItem had FormData and thus was the
1471         result of a POST request. FrameLoader::navigateToDifferentDocument (now
1472         renamed to loadDifferentDocumentItem) does all that, so just switch to
1473         using it instead.
1474         
1475         Besides the bug fix, the only difference in behavior is that we use the
1476         HistoryItem's URL instead of original URL when restoring it in a child
1477         frame. This seems desirable too (for consistency with other browsers, and
1478         so that we can avoid form double-submits for forms that that do
1479         POST-then-redirect), and is tested by
1480         fast/history/history-back-initial-vs-final-url.html.
1481         
1482         Tests: fast/history/history-back-initial-vs-final-url.html
1483                http/tests/navigation/post-frames-goback1.html
1484                http/tests/navigation/postredirect-frames-goback1.html
1485
1486         * loader/FrameLoader.cpp:
1487         (WebCore::FrameLoader::loadURLIntoChildFrame): Switch to using
1488             loadDifferentDocumentItem. Also cleaned up ordering slightly (if
1489             on the archive path, there's no need to do any of the other checks).
1490         (WebCore::FrameLoader::loadDifferentDocumentItem): Renamed from
1491             navigateToDifferentDocument so that calling it from loadItem and
1492             loadURLIntoChildFrame flows more easily.
1493         (WebCore::FrameLoader::loadSameDocumentItem): Similarly, renamed from
1494             navigateWithinDocument.
1495         (WebCore::FrameLoader::loadItem): Update callsites to the above methods.
1496         * loader/FrameLoader.h:
1497
1498 2010-12-07  Dan Bernstein  <mitz@apple.com>
1499
1500         Reviewed by Darin Adler.
1501
1502         Made tables repaint correctly in all writing modes
1503         Part of: Make tables work with vertical text
1504         https://bugs.webkit.org/show_bug.cgi?id=46417
1505
1506         Tests: fast/repaint/table-writing-modes-h.html
1507                fast/repaint/table-writing-modes-v.html
1508
1509         * rendering/RenderTableSection.cpp:
1510         (WebCore::RenderTableSection::paintObject): Compute the ranges of rows and
1511         columns to repaint based on the logical extent of the repaint rect.
1512
1513 2010-12-07  Alexey Marinichev  <amarinichev@chromium.org>
1514
1515         Reviewed by James Robinson.
1516
1517         [chromium] compositor lost context recovery fix
1518         https://bugs.webkit.org/show_bug.cgi?id=50614
1519
1520         To test, load a page that triggers the compositor, kill the GPU
1521         process and hover over a link to redraw and thus restart the GPU
1522         process.  Without this patch it will assert in
1523         ContentLayerChromium::updateTextureRect; with this patch it will not.
1524
1525         * platform/graphics/chromium/LayerChromium.cpp:
1526         (WebCore::LayerChromium::setNeedsDisplay):
1527
1528 2010-12-07  Anders Carlsson  <andersca@apple.com>
1529
1530         Fix the last clang++ build error.
1531
1532         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1533         (PlatformCALayer::animationForKey):
1534         Cast the returned animation to the correct type.
1535
1536 2010-12-07  Anders Carlsson  <andersca@apple.com>
1537
1538         Fix some clang++ build errors.
1539
1540         * platform/graphics/ca/GraphicsLayerCA.cpp:
1541         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
1542         Remove unused variable.
1543
1544         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
1545         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1546         Fix constness of pointers.
1547
1548 2010-12-07  Simon Fraser  <simon.fraser@apple.com>
1549
1550         Reviewed by Chris Marrin.
1551
1552         Fix the Color -> CGColorRef conversions for the debug colors
1553         used for compositing layers.
1554
1555         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
1556         (PlatformCALayer::setBackgroundColor):
1557         (PlatformCALayer::setBorderColor):
1558
1559 2010-12-07  Brian Weinstein  <bweinstein@apple.com>
1560
1561         Reviewed by John Sullivan.
1562
1563         Part of Layering Violation in ContextMenu
1564         https://bugs.webkit.org/show_bug.cgi?id=50586
1565         
1566         ContextMenuMac.mm had a WebCoreMenuTarget class, which was responsible for wrapping
1567         a ContextMenuItem, and calling through to the ContextMenuController to validate it
1568         and call a function when it was selected.
1569         
1570         It was a layering violation to have this class here, because ContextMenu can't know
1571         about ContextMenuController.
1572         
1573         This patch moves the class that wraps the ContextMenuItems to WebKit/mac/WebHTMLView.mm,
1574         and sets up the menu targets there.
1575
1576         No change in behavior, no new tests.
1577
1578         * WebCore.exp.in: Added function that needs to be exported.
1579         * platform/mac/ContextMenuMac.mm:
1580         (WebCore::ContextMenu::ContextMenu): Don't set the sharedMenuTarget anymore.
1581         (WebCore::ContextMenu::appendItem): Don't call setMenuItemTarget (this is done in WebKit now).
1582         (WebCore::ContextMenu::insertItem): Ditto.
1583
1584 2010-12-07  Simon Fraser  <simon.fraser@apple.com>
1585
1586         Reviewed by Dan Bernstein.
1587
1588         -webkit-transition Fails on Multiple text-shadow Shadows
1589         https://bugs.webkit.org/show_bug.cgi?id=42281
1590         
1591         When transitioning multiple shadows, the blend function for
1592         ShadowData dropped all but the first and last shadow because
1593         of a failure to append to the end of the list. Fixed.
1594
1595         Test: transitions/multiple-text-shadow-transition.html
1596
1597         * page/animation/AnimationBase.cpp:
1598         (WebCore::PropertyWrapperShadow::blend):
1599
1600 2010-12-07  Simon Fraser  <simon.fraser@apple.com>
1601
1602         Reviewed by Beth Dakin.
1603
1604         CSS animation doesn't work for border-radius
1605         https://bugs.webkit.org/show_bug.cgi?id=48340
1606         
1607         Include CSSPropertyBorderRadius in the list of shorthand
1608         properties, so that the individual border-radius properties
1609         get animated.
1610
1611         Test: transitions/border-radius-transition.html
1612
1613         * page/animation/AnimationBase.cpp:
1614         (WebCore::addShorthandProperties):
1615
1616 2010-12-07  Maciej Stachowiak  <mjs@apple.com>
1617
1618         Reviewed by Kent Tamura.
1619
1620         Implement HTML5 hidden attribute
1621         https://bugs.webkit.org/show_bug.cgi?id=40511
1622
1623         Test: fast/html/hidden-attr.html
1624
1625         * html/HTMLElement.cpp:
1626         (WebCore::HTMLElement::mapToEntry): Pick up hidden as a global mapped attribute.
1627         (WebCore::HTMLElement::parseMappedAttribute): Map hidden attribute to display: none.
1628
1629 2010-12-07  Kenneth Russell  <kbr@google.com>
1630
1631         Reviewed by David Levin.
1632
1633         Fix compilation of core web audio files on Windows
1634         https://bugs.webkit.org/show_bug.cgi?id=50603
1635
1636         Changed a few constructs using C99 features of math.h to use
1637         wtf/MathExtras.h instead. Changed inline definitions of a couple of
1638         const static doubles in classes to out-of-line. Built Chrome with
1639         web audio enabled on Windows and Mac OS X to test these changes.
1640
1641         No new tests since audio API is not yet implemented.
1642
1643         * WebCore.gypi:
1644         * platform/audio/AudioResampler.cpp:
1645         * platform/audio/Biquad.cpp:
1646         (WebCore::Biquad::setLowpassParams):
1647         (WebCore::Biquad::setHighpassParams):
1648         (WebCore::Biquad::setLowShelfParams):
1649         * platform/audio/Cone.cpp:
1650         (WebCore::ConeEffect::gain):
1651         * platform/audio/EqualPowerPanner.cpp:
1652         (WebCore::EqualPowerPanner::pan):
1653         * platform/audio/FFTFrame.cpp:
1654         (WebCore::FFTFrame::interpolateFrequencyComponents):
1655         (WebCore::FFTFrame::extractAverageGroupDelay):
1656         (WebCore::FFTFrame::addConstantGroupDelay):
1657         * platform/audio/HRTFKernel.cpp:
1658         * platform/audio/HRTFPanner.cpp:
1659         * webaudio/AudioBufferSourceNode.cpp:
1660         (WebCore::AudioBufferSourceNode::readFromBufferWithGrainEnvelope):
1661         * webaudio/AudioPannerNode.cpp:
1662         (WebCore::AudioPannerNode::getAzimuthElevation):
1663         * webaudio/AudioParam.cpp: Added.
1664         (AudioParam::setValue):
1665         (AudioParam::smooth):
1666         * webaudio/AudioParam.h:
1667         * webaudio/RealtimeAnalyser.cpp:
1668
1669 2010-11-25  Philippe Normand  <pnormand@igalia.com>
1670
1671         Reviewed by Martin Robinson.
1672
1673         [GStreamer] faster elements linking
1674         https://bugs.webkit.org/show_bug.cgi?id=50067
1675
1676         Perform less checks during GStreamer elements linking if building
1677         against GStreamer >= 0.10.30.
1678
1679         * platform/graphics/gstreamer/GStreamerGWorld.cpp:
1680         (WebCore::GStreamerGWorld::enterFullscreen):
1681         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1682         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
1683
1684 2010-12-07  Philippe Normand  <pnormand@igalia.com>
1685
1686         Reviewed by Gustavo Noronha Silva.
1687
1688         [GStreamer] ::buffered() should return multiple ranges in some cases
1689         https://bugs.webkit.org/show_bug.cgi?id=45101
1690
1691         Improved the ::buffered() method thanks to the new buffering query
1692         support that landed in GStreamer 0.10.31. The method now
1693         queries the media buffered-ranges on the pipeline and queue2
1694         handles it if it's buffering the media to disk.
1695
1696         The webkitwebsrc element also gained BYTES duration query
1697         support. This is needed in the rare cases where uridecodebin
1698         configures its queue before the HTTP server returns the media
1699         Content-Length.
1700
1701         Test: http/tests/media/video-buffered.html
1702
1703         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1704         (WebCore::MediaPlayerPrivateGStreamer::buffered):
1705         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
1706         (webkit_web_src_init):
1707         (webKitWebSrcQuery): Make webkitwebsrc handle the duration queries
1708         if it's aware of the media content-length.
1709         * platform/gtk/RenderThemeGtk.cpp:
1710         (WebCore::RenderThemeGtk::paintMediaSliderTrack): Fix position of
1711         the second and next buffered ranges.
1712
1713 2010-12-07  Yael Aharon  <yael.aharon@nokia.com>
1714
1715         Reviewed by Antonio Gomes.
1716
1717         Spatial navigation not Working for Map and Area Tags
1718         https://bugs.webkit.org/show_bug.cgi?id=47142
1719
1720         Give area elements special treatment in spatial navigation algorithm by getting the
1721         rect of the area from the associated image. Since area elements are likely to overlap
1722         if they are not rects, or if authors are not careful, we flatten the rect of area elements.
1723
1724         Tests: fast/spatial-navigation/snav-imagemap-area-not-focusable.html
1725                fast/spatial-navigation/snav-imagemap-area-without-image.html
1726                fast/spatial-navigation/snav-imagemap-overlapped-areas.html
1727                fast/spatial-navigation/snav-imagemap-simple.html
1728
1729         * page/FocusController.cpp:
1730         (WebCore::FocusController::findFocusCandidateInContainer):
1731         (WebCore::FocusController::advanceFocusDirectionallyInContainer):
1732         (WebCore::FocusController::advanceFocusDirectionally):
1733         * page/SpatialNavigation.cpp:
1734         (WebCore::FocusCandidate::FocusCandidate):
1735         (WebCore::virtualRectForDirection):
1736         (WebCore::virtualRectForAreaElementAndDirection):
1737         * page/SpatialNavigation.h:
1738         (WebCore::FocusCandidate::FocusCandidate):
1739
1740 2010-12-07  Darin Adler  <darin@apple.com>
1741
1742         Try to fix V8 build.
1743
1744         * bindings/generic/BindingDOMWindow.h:
1745         (WebCore::BindingDOMWindow::createWindow): Pass security origin.
1746
1747 2010-12-07  Darin Adler  <darin@apple.com>
1748
1749         Another build fix.
1750
1751         * loader/CrossOriginAccessControl.cpp: Added a missing include.
1752
1753 2010-12-07  Darin Adler  <darin@apple.com>
1754
1755         Try to fix build.
1756
1757         * plugins/PluginView.cpp:
1758         (WebCore::PluginView::start): Pass security origin.
1759         (WebCore::PluginView::getURLNotify): Ditto.
1760         (WebCore::PluginView::getURL): Ditto.
1761         (WebCore::PluginView::handlePost): Ditto.
1762
1763 2010-12-06  Darin Adler  <darin@apple.com>
1764
1765         Reviewed by Sam Weinig.
1766
1767         Pass security origin to make local file decision correctly
1768         https://bugs.webkit.org/show_bug.cgi?id=48603
1769
1770         * bindings/generic/BindingDOMWindow.h:
1771         (WebCore::BindingDOMWindow::createWindow): Pass security origin.
1772         (WebCore::BindingDOMWindow::open): Ditto.
1773         * bindings/generic/BindingFrame.h:
1774         (WebCore::BindingFrame::navigateIfAllowed): Ditto.
1775
1776         * bindings/js/JSDOMWindowCustom.cpp:
1777         (WebCore::JSDOMWindow::setLocation): Pass security origin.
1778         (WebCore::createWindow): Ditto.
1779         (WebCore::JSDOMWindow::open): Ditto.
1780
1781         * bindings/js/JSDocumentCustom.cpp:
1782         (WebCore::JSDocument::setLocation): Pass security origin.
1783
1784         * dom/Document.cpp:
1785         (WebCore::Document::processHttpEquiv): Pass security origin.
1786
1787         * inspector/InspectorController.cpp:
1788         (WebCore::InspectorController::openInInspectedWindow):
1789         Pass security origin.
1790
1791         * loader/FrameLoader.cpp:
1792         (WebCore::FrameLoader::changeLocation): Added a security origin
1793         argument, passed through to urlSelected.
1794         (WebCore::FrameLoader::urlSelected): Replaced the resource request
1795         and frame name arguments with a frame load request arguments in one
1796         overload, and changed the other overload to pass in the current
1797         frame's document for the security origin.
1798         (WebCore::FrameLoader::loadFrameRequest): Moved the canDisplay
1799         check before the referrer computation because it no longer needs
1800         to look at the referrer. Replaced the call to canDisplay that
1801         used the target frame's security origin and the call to
1802         deprecatedCanDisplay with a single call to canDisplay that uses
1803         the requester security origin.
1804
1805         * loader/FrameLoader.h: Updated for argument changes above.
1806
1807         * loader/NavigationScheduler.cpp:
1808         (WebCore::ScheduledURLNavigation::ScheduledURLNavigation): Added
1809         a security origin.
1810         (WebCore::ScheduledURLNavigation::fire): Pass the security origin
1811         in to FrameLoader::changeLocation.
1812         (WebCore::ScheduledURLNavigation::securityOrigin): Added.
1813         (WebCore::ScheduledRedirect::ScheduledRedirect): Added a security
1814         origin argument.
1815         (WebCore::ScheduledLocationChange::ScheduledLocationChange): Ditto.
1816         (WebCore::ScheduledRefresh::ScheduledRefresh): Ditto.
1817         (WebCore::ScheduledRefresh::fire): Pass the security origin in to
1818         FrameLoader::changeLocation.
1819         (WebCore::ScheduledFormSubmission::fire): Include the security
1820         origin when constructing form submission.
1821         (WebCore::NavigationScheduler::scheduleRedirect): Include the security
1822         origin when creating the scheduled navigation object.
1823         (WebCore::NavigationScheduler::scheduleLocationChange): Ditto.
1824         (WebCore::NavigationScheduler::scheduleRefresh): Ditto.
1825
1826         * loader/NavigationScheduler.h: Added the security origin argument
1827         to scheduleLocationChange.
1828
1829         * loader/SubframeLoader.cpp:
1830         (WebCore::SubframeLoader::loadOrRedirectSubframe): Pass in the security
1831         origin when calling scheduleLocationChange.
1832         * loader/appcache/ApplicationCacheGroup.cpp:
1833         (WebCore::ApplicationCacheGroup::selectCache): Ditto.
1834
1835         * page/ContextMenuController.cpp:
1836         (WebCore::openNewWindow): Pass in the security origin.
1837         (WebCore::ContextMenuController::contextMenuItemSelected): Ditto.
1838
1839         * page/FrameLoadRequest.h: Added a security origin called the requester
1840         to all FrameLoadRequest objects.
1841
1842         * page/XSSAuditor.cpp:
1843         (WebCore::XSSAuditor::findInRequest): Added the security origin.
1844
1845 2010-12-07  Yury Semikhatsky  <yurys@chromium.org>
1846
1847         Reviewed by Pavel Feldman.
1848
1849         Web Inspector: avoid initializing Context on when creating attaching listener to ScriptDebugServer
1850         https://bugs.webkit.org/show_bug.cgi?id=50627
1851
1852         * bindings/v8/ScriptDebugServer.cpp:
1853         (WebCore::ScriptDebugServer::addListener): don't try to collect already parsed scripts if context has
1854         not been initialized yet.
1855
1856 2010-12-07  Csaba Osztrogon√°c  <ossy@webkit.org>
1857
1858         Unreviewed. Rolling out r73421, because it made transitions/color-transition-all.html flakey.
1859
1860         * page/animation/AnimationBase.cpp:
1861         (WebCore::addShorthandProperties):
1862
1863 2010-12-07  Martin Robinson  <mrobinson@igalia.com>
1864
1865         Unreviewed, rolling out r73392.
1866         http://trac.webkit.org/changeset/73392
1867         https://bugs.webkit.org/show_bug.cgi?id=50489
1868
1869         This commit caused crashes on the GTK+ bots
1870
1871         * bindings/ScriptControllerBase.cpp:
1872         (WebCore::ScriptController::executeIfJavaScriptURL):
1873         * dom/Document.cpp:
1874         (WebCore::Document::Document):
1875         (WebCore::Document::close):
1876         (WebCore::Document::lastModified):
1877         (WebCore::Document::finishedParsing):
1878         (WebCore::Document::initSecurityContext):
1879         (WebCore::Document::updateURLForPushOrReplaceState):
1880         * dom/Document.h:
1881         * dom/ProcessingInstruction.cpp:
1882         (WebCore::ProcessingInstruction::checkStyleSheet):
1883         * dom/ScriptElement.cpp:
1884         (WebCore::ScriptElement::scriptCharset):
1885         * html/HTMLLinkElement.cpp:
1886         (WebCore::HTMLLinkElement::process):
1887         * html/MediaDocument.cpp:
1888         (WebCore::MediaDocument::replaceMediaElementTimerFired):
1889         * html/PluginDocument.cpp:
1890         (WebCore::PluginDocumentParser::createDocumentStructure):
1891         * loader/DocumentLoader.cpp:
1892         (WebCore::DocumentLoader::DocumentLoader):
1893         (WebCore::DocumentLoader::finishedLoading):
1894         (WebCore::DocumentLoader::commitData):
1895         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
1896         (WebCore::DocumentLoader::setFrame):
1897         * loader/DocumentLoader.h:
1898         * loader/DocumentWriter.cpp:
1899         (WebCore::DocumentWriter::begin):
1900         * loader/DocumentWriter.h:
1901         * loader/FrameLoader.cpp:
1902         (WebCore::FrameLoader::FrameLoader):
1903         (WebCore::FrameLoader::init):
1904         (WebCore::FrameLoader::clear):
1905         (WebCore::FrameLoader::receivedFirstData):
1906         (WebCore::FrameLoader::transitionToCommitted):
1907         (WebCore::FrameLoader::open):
1908         (WebCore::FrameLoader::finishedLoadingDocument):
1909         (WebCore::FrameLoader::addExtraFieldsToRequest):
1910         * loader/FrameLoader.h:
1911         (WebCore::FrameLoader::writer):
1912         * loader/cache/CachedResourceLoader.cpp:
1913         (WebCore::CachedResourceLoader::requestPreload):
1914         * platform/network/FormDataBuilder.cpp:
1915         (WebCore::FormDataBuilder::encodingFromAcceptCharset):
1916         * svg/graphics/SVGImage.cpp:
1917         (WebCore::SVGImage::dataChanged):
1918
1919 2010-12-07  Patrick Gansterer  <paroga@webkit.org>
1920
1921         Reviewed by Andreas Kling.
1922
1923         [CMake] Remove WebKitGenerators
1924         https://bugs.webkit.org/show_bug.cgi?id=50445
1925
1926         Move remaining logic into main CMakeLists.txt.
1927
1928         * CMakeLists.txt:
1929
1930 2010-12-07  Justin Schuh  <jschuh@chromium.org>
1931
1932         Reviewed by Nikolas Zimmermann.
1933
1934         Clear old SVG cursor entry before adding a new one
1935         https://bugs.webkit.org/show_bug.cgi?id=50549
1936
1937         Test: svg/css/cursor-replace.svg
1938
1939         * css/CSSCursorImageValue.cpp:
1940         (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
1941         * svg/SVGCursorElement.cpp:
1942         (WebCore::SVGCursorElement::~SVGCursorElement):
1943         (WebCore::SVGCursorElement::removeClient):
1944         (WebCore::SVGCursorElement::removeReferencedElement):
1945         * svg/SVGCursorElement.h:
1946         * svg/SVGElement.cpp:
1947         (WebCore::SVGElement::setCursorElement):
1948         (WebCore::SVGElement::cursorElementRemoved):
1949         (WebCore::SVGElement::setCursorImageValue):
1950         (WebCore::SVGElement::cursorImageElementRemoved):
1951         * svg/SVGElement.h:
1952
1953 2010-12-07  Kenichi Ishibashi  <bashi@google.com>
1954
1955         Reviewed by Kent Tamura.
1956
1957         Let HTMLObjectElement be a form associated element
1958         https://bugs.webkit.org/show_bug.cgi?id=48821
1959
1960         Introduces FormAssociatedElement class which would be a super class
1961         of form assocated elements. Some of member functions and variables of
1962         HTMLFormControlElement are migrated into this class.
1963         Following the HTML5 spec, HTMLFormControlElement class and
1964         HTMLObjectElement class are subclasses of it for now.
1965
1966         Test: fast/forms/form-collection-elements-order.html
1967
1968         * Android.mk: Added FormAssociatedElement.cpp
1969         * CMakeLists.txt: Ditto.
1970         * GNUmakefile.am: Added FormAssociatedElement.{cpp,h}
1971         * WebCore.exp.in: Added the symbol for toHTMLElement(FormAssociatedElement*)
1972         * WebCore.gypi: Added FormAssociatedElement.{cpp,h}
1973         * WebCore.pro: Ditto.
1974         * WebCore.vcproj/WebCore.vcproj: Ditto.
1975         * WebCore.xcodeproj/project.pbxproj: Ditto.
1976         * dom/CheckedRadioButtons.h: Fixed class forward declaration order.
1977         * dom/Document.cpp:
1978         (WebCore::Document::registerFormElementWithFormAttribute): Modified to
1979         use FormAssociatedElement instead of HTMLFormControlElement
1980         (WebCore::Document::unregisterFormElementWithFormAttribute): Ditto.
1981         (WebCore::Document::resetFormElementsOwner):
1982         * dom/Document.h: Ditto.
1983         * html/DOMFormData.cpp: Ditto.
1984         (WebCore::DOMFormData::DOMFormData):
1985         * html/FormAssociatedElement.cpp: Copied and renamed from WebCore/html/HTMLFormControlElement.cpp.
1986         (WebCore::FormAssociatedElement::FormAssociatedElement):
1987         (WebCore::FormAssociatedElement::~FormAssociatedElement):
1988         (WebCore::FormAssociatedElement::validity):
1989         (WebCore::FormAssociatedElement::insertedIntoTree):
1990         (WebCore::FormAssociatedElement::removedFromTree):
1991         (WebCore::FormAssociatedElement::removeFromForm):
1992         (WebCore::FormAssociatedElement::resetFormOwner):
1993         (WebCore::FormAssociatedElement::formAttributeChanged):
1994         (WebCore::toHTMLElement):
1995         * html/FormAssociatedElement.h: Ditto.
1996         (WebCore::FormAssociatedElement::ref):
1997         (WebCore::FormAssociatedElement::deref):
1998         (WebCore::FormAssociatedElement::formDestroyed):
1999         (WebCore::FormAssociatedElement::setForm):
2000         * html/HTMLElement.h: Changed the access level of findFormAncestor().
2001         * html/HTMLFormCollection.cpp:
2002         (WebCore::HTMLFormCollection::item): Modified to use FormAssociatedElement
2003         instead of HTMLFormControlElement.
2004         (WebCore::HTMLFormCollection::getNamedFormItem): Ditto.
2005         (WebCore::HTMLFormCollection::updateNameCache): Ditto.
2006         * html/HTMLFormControlElement.cpp: Modified regarding with the change of class
2007         hierarchy.
2008         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
2009         (WebCore::HTMLFormControlElement::~HTMLFormControlElement):
2010         (WebCore::HTMLFormControlElement::insertedIntoTree):
2011         (WebCore::HTMLFormControlElement::removedFromTree):
2012         (WebCore::HTMLFormControlElement::supportsFocus):
2013         (WebCore::HTMLFormControlElement::checkValidity):
2014         (WebCore::HTMLFormControlElement::virtualForm):
2015         (WebCore::HTMLFormControlElement::isDefaultButtonForForm):
2016         (WebCore::HTMLFormControlElement::attributeChanged):
2017         * html/HTMLFormControlElement.h: Ditto.
2018         (WebCore::HTMLFormControlElement::form):
2019         (WebCore::HTMLFormControlElement::disabled):
2020         (WebCore::HTMLFormControlElement::type):
2021         (WebCore::HTMLFormControlElement::refFormAssociatedElement):
2022         (WebCore::HTMLFormControlElement::derefFormAssociatedElement):
2023         * html/HTMLFormElement.cpp: Modified to use FormAssociatedElement
2024         instead of HTMLFormControlElement.
2025         (WebCore::HTMLFormElement::submitImplicitly):
2026         (WebCore::HTMLFormElement::validateInteractively):
2027         (WebCore::HTMLFormElement::submit):
2028         (WebCore::HTMLFormElement::reset):
2029         (WebCore::HTMLFormElement::formElementIndexWithFormAttribute):
2030         (WebCore::HTMLFormElement::formElementIndex):
2031         (WebCore::HTMLFormElement::registerFormElement):
2032         (WebCore::HTMLFormElement::removeFormElement):
2033         (WebCore::HTMLFormElement::defaultButton):
2034         (WebCore::HTMLFormElement::checkValidity):
2035         (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
2036         (WebCore::HTMLFormElement::documentDidBecomeActive):
2037         * html/HTMLFormElement.h: Ditto.
2038         (WebCore::HTMLFormElement::associatedElements):
2039         * html/HTMLInputElement.cpp: Ditto.
2040         (WebCore::HTMLInputElement::updateCheckedRadioButtons):
2041         * html/HTMLObjectElement.cpp: Modified regarding with the change of class
2042         hierarchy.
2043         (WebCore::HTMLObjectElement::HTMLObjectElement):
2044         (WebCore::HTMLObjectElement::~HTMLObjectElement):
2045         (WebCore::HTMLObjectElement::create):
2046         (WebCore::HTMLObjectElement::attributeChanged):
2047         (WebCore::HTMLObjectElement::insertedIntoTree):
2048         (WebCore::HTMLObjectElement::removedFromTree):
2049         (WebCore::HTMLObjectElement::appendFormData):
2050         (WebCore::HTMLObjectElement::formControlName):
2051         * html/HTMLObjectElement.h: Ditto.
2052         (WebCore::HTMLObjectElement::form):
2053         (WebCore::HTMLObjectElement::isFormControlElement):
2054         (WebCore::HTMLObjectElement::isEnumeratable):
2055         (WebCore::HTMLObjectElement::refFormAssociatedElement):
2056         (WebCore::HTMLObjectElement::derefFormAssociatedElement):
2057         * html/HTMLTagNames.in: Added constructorNeedsFormElement to object tag.
2058         * html/ValidationMessage.cpp: Modified to use FormAssociatedElement
2059         instead of HTMLFormControlElement.
2060         (WebCore::ValidationMessage::ValidationMessage):
2061         (WebCore::ValidationMessage::create):
2062         * html/ValidationMessage.h: Ditto.
2063         * html/ValidityState.cpp: Ditto.
2064         (WebCore::ValidityState::validationMessage):
2065         (WebCore::ValidityState::setCustomErrorMessage):
2066         (WebCore::ValidityState::valueMissing):
2067         (WebCore::ValidityState::typeMismatch):
2068         (WebCore::ValidityState::patternMismatch):
2069         (WebCore::ValidityState::tooLong):
2070         (WebCore::ValidityState::rangeUnderflow):
2071         (WebCore::ValidityState::rangeOverflow):
2072         (WebCore::ValidityState::stepMismatch):
2073         * html/ValidityState.h: Ditto.
2074         (WebCore::ValidityState::create):
2075         (WebCore::ValidityState::ValidityState):
2076         * loader/FormSubmission.cpp: Ditto.
2077         (WebCore::FormSubmission::create):
2078
2079 2010-12-06  Pavel Feldman  <pfeldman@chromium.org>
2080
2081         Not reviewed. Rolling out r72988 for breaking iframes.
2082
2083         * css/CSSImportRule.cpp:
2084         (WebCore::CSSImportRule::insertedIntoParent):
2085
2086 2010-12-06  Hironori Bono  <hbono@chromium.org>
2087
2088         Reviewed by David Levin.
2089
2090         [Chromium] Refactor FontCacheChromiumWin.cpp
2091         https://bugs.webkit.org/show_bug.cgi?id=50611
2092         
2093         This change just moved the helper functions for the WebCore::FontCache class to the beginning of ths file.
2094
2095         No new tests are added since this is a refactoring.
2096
2097         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
2098         (WebCore::fontDataFromDescriptionAndLogFont): Moved to the beginning of the file.
2099         (WebCore::toGDIFontWeight): Moved to the beginning of the file.
2100         (WebCore::FillLogFont): Moved to the beginning of the file.
2101         (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): Moved to the beginning of the file.
2102         (WebCore::traitsInFamilyEnumProc): Moved to the beginning of the file.
2103         (WebCore::FontCache::platformInit): Moved after the static functions.
2104
2105 2010-12-06  Alexey Marinichev  <amarinichev@chromium.org>
2106
2107         Reviewed by Kenneth Russell.
2108
2109         Throw webglcontextlost and webglcontextrestored events when a WebGL context is lost and restored.
2110         https://bugs.webkit.org/show_bug.cgi?id=50364
2111
2112         No new tests since there is currently no way to force a context lost event.
2113
2114         * html/canvas/WebGLRenderingContext.cpp:
2115         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::fired):
2116         (WebCore::WebGLRenderingContext::create):
2117         (WebCore::WebGLRenderingContext::WebGLRenderingContext):
2118         (WebCore::WebGLRenderingContext::isContextLost):
2119         (WebCore::WebGLRenderingContext::loseContext):
2120         (WebCore::WebGLRenderingContext::restoreContext):
2121         * html/canvas/WebGLRenderingContext.h:
2122         (WebCore::WebGLRenderingContext::WebGLRenderingContextRestoreTimer::WebGLRenderingContextRestoreTimer):
2123
2124 2010-12-06  David Hyatt  <hyatt@apple.com>
2125
2126         Reviewed by Simon Fraser.
2127
2128         https://bugs.webkit.org/show_bug.cgi?id=50593
2129         
2130         Fix background canvas painting for documents with left/top overflow.  The math from the original RTL patch was incorrect.
2131         
2132         Just use the RenderView's document dimensions always.
2133
2134         * rendering/RenderBox.cpp:
2135         (WebCore::RenderBox::paintRootBoxDecorations):
2136
2137 2010-12-06  Simon Fraser  <simon.fraser@apple.com>
2138
2139         Reviewed by Beth Dakin.
2140
2141         CSS animation doesn't work for border-radius
2142         https://bugs.webkit.org/show_bug.cgi?id=48340
2143         
2144         Include CSSPropertyBorderRadius in the list of shorthand
2145         properties, so that the individual border-radius properties
2146         get animated.
2147
2148         Test: transitions/border-radius-transition.html
2149
2150         * page/animation/AnimationBase.cpp:
2151         (WebCore::addShorthandProperties):
2152
2153 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
2154
2155         Reviewed by Tony Chang.
2156
2157         ApplyStyleCommand should take EditingStyle instead of CSSStyleDeclaration
2158         https://bugs.webkit.org/show_bug.cgi?id=49938
2159
2160         Modified ApplyStyleCommand::ApplyStyleCommand and ApplyStyleCommand::create to take EditingStyle*
2161         instead of CSSStyleDeclaration*. Also replaced much of code in Editor::computeAndSetTypingStyle
2162         by calls to EditingStyle's member functions and extracted EditingStyle::overrideWith and
2163         EditingStyle::extractAndRemoveBlockProperties.
2164
2165         No new tests are added since this is a refactoring.
2166
2167         * WebCore.exp.in: Added SelectionController::copyTypingStyle and EditingStyle::~EditingStyle.
2168         * css/CSSMutableStyleDeclaration.cpp: Made CSSMutableStyleDeclaration* in the argument list const.
2169         (WebCore::CSSMutableStyleDeclaration::merge):
2170         * css/CSSMutableStyleDeclaration.h:
2171         * editing/ApplyStyleCommand.cpp:
2172         (WebCore::ApplyStyleCommand::ApplyStyleCommand): Takes EditingStyle* instead of CSSStyleDeclaration*.
2173         (WebCore::ApplyStyleCommand::doApply): Uses EditingStyle.
2174         * editing/ApplyStyleCommand.h: m_style is now a ref-pointer to EditingStyle instead of CSSMutableStyleDeclaration.
2175         (WebCore::ApplyStyleCommand::create): Takes EditingStyle* instead of CSSStyleDeclaration*.
2176         * editing/CompositeEditCommand.cpp:
2177         (WebCore::CompositeEditCommand::applyStyle): Ditto.
2178         (WebCore::CompositeEditCommand::moveParagraphs): Calls applyStyle.
2179         (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
2180         * editing/CompositeEditCommand.h:
2181         * editing/DeleteSelectionCommand.cpp:
2182         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Ditto.
2183         * editing/EditCommand.cpp:
2184         * editing/EditCommand.h:
2185         * editing/EditingStyle.cpp:
2186         (WebCore::EditingStyle::~EditingStyle): Added.
2187         (WebCore::EditingStyle::overrideWithStyle): Extracted from Editor::calculateTypingStyleAfterDelete.
2188         (WebCore::EditingStyle::copy): Added.
2189         (WebCore::EditingStyle::extractAndRemoveBlockProperties): Extracted from Editor::calculateTypingStyleAfterDelete.
2190         * editing/EditingStyle.h:
2191         * editing/Editor.cpp:
2192         (WebCore::Editor::applyStyle): Calls ApplyStyleCommand::create.
2193         (WebCore::Editor::applyParagraphStyle): Ditto.
2194         (WebCore::Editor::computeAndSetTypingStyle): Ditto.
2195         * editing/InsertLineBreakCommand.cpp:
2196         (WebCore::InsertLineBreakCommand::doApply): Calls applyStyle.
2197         * editing/InsertParagraphSeparatorCommand.cpp:
2198         (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Ditto.
2199         * editing/InsertTextCommand.cpp:
2200         (WebCore::InsertTextCommand::input): Ditto.
2201         * editing/RemoveFormatCommand.cpp:
2202         (WebCore::RemoveFormatCommand::doApply): Calls ApplyStyleCommand::create.
2203         * editing/ReplaceSelectionCommand.cpp:
2204         (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): Calls applyStyle.
2205         * editing/SelectionController.cpp:
2206         (WebCore::SelectionController::copyTypingStyle): Moved from SelectionController.h
2207         * editing/SelectionController.h:
2208
2209 2010-12-05  Ryosuke Niwa  <rniwa@webkit.org>
2210
2211         Reviewed by Tony Chang.
2212
2213         Executing FormatBlock on multiple paragraphs inside pre does not remove the outer pre
2214         https://bugs.webkit.org/show_bug.cgi?id=47300
2215
2216         The bug was caused by FormatBlockCommand::formatRange's not removing refNode when the refNode
2217         contains more than one paragraphs even when the refNode is fully selected.
2218
2219         Fixed the bug by modifying FormatBlockCommand::formatRange to correctly remove the node in
2220         such a situation.
2221
2222         Also fixed a bug in ApplyBlockElementCommand::formatSelection that the end of selection
2223         is not properly updated when the end of selection resides in the node split by
2224         rangeForParagraphSplittingTextNodesIfNeeded or endOfNextParagrahSplittingTextNodesIfNeeded.
2225
2226         Test: editing/execCommand/format-block-multiple-paragraphs-in-pre.html
2227
2228         * editing/ApplyBlockElementCommand.cpp:
2229         (WebCore::ApplyBlockElementCommand::formatSelection): Calls formatRange with m_endOfLastParagraph.
2230         (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded): Updates
2231         m_endOfLastParagraph when the position points to the node split by this function.
2232         (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded): Ditto.
2233         * editing/ApplyBlockElementCommand.h: Added m_endOfLastParagraph as a member variable.
2234         * editing/FormatBlockCommand.cpp:
2235         (WebCore::FormatBlockCommand::formatRange): See above.
2236         * editing/FormatBlockCommand.h:
2237         * editing/IndentOutdentCommand.cpp:
2238         (WebCore::IndentOutdentCommand::formatRange): Ignores the end of selection.
2239         * editing/IndentOutdentCommand.h:
2240
2241 2010-12-03  Zhenyao Mo  <zmo@google.com>
2242
2243         Reviewed by Kenneth Russell.
2244
2245         Postpone gl delete* calls until shaders/programs are no longer attached
2246         https://bugs.webkit.org/show_bug.cgi?id=50501
2247
2248         * html/canvas/WebGLBuffer.cpp:
2249         (WebCore::WebGLBuffer::deleteObjectImpl): Simply delete GL resource.
2250         * html/canvas/WebGLFramebuffer.cpp:
2251         (WebCore::WebGLFramebuffer::deleteObjectImpl): Ditto.
2252         * html/canvas/WebGLObject.cpp:
2253         (WebCore::WebGLObject::deleteObject): Tracking whether deleteObjectImpl should be called or not.
2254         * html/canvas/WebGLObject.h:
2255         (WebCore::WebGLObject::detachContext): Set attachmentCount to 0 to ensure OpenGL resource deletion.
2256         (WebCore::WebGLObject::onDetached): No need to track attachmentCount here as we track it in deleteObject.
2257         (WebCore::WebGLObject::isDeleted): Make this public.
2258         * html/canvas/WebGLProgram.cpp:
2259         (WebCore::WebGLProgram::deleteObjectImpl): Simply delete GL resource.
2260         * html/canvas/WebGLRenderbuffer.cpp:
2261         (WebCore::WebGLRenderbuffer::deleteObjectImpl): Ditto.
2262         * html/canvas/WebGLRenderingContext.cpp:
2263         (WebCore::WebGLRenderingContext::getProgramParameter): intercept DELETE_STATUS.
2264         (WebCore::WebGLRenderingContext::getShaderParameter): Ditto.
2265         * html/canvas/WebGLShader.cpp:
2266         (WebCore::WebGLShader::deleteObjectImpl): Simply delete GL resource.
2267         * html/canvas/WebGLTexture.cpp:
2268         (WebCore::WebGLTexture::deleteObjectImpl): Simply delete GL resource.
2269
2270 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
2271
2272         Yet unreviewed another Leopard build fix for r73380.
2273
2274         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
2275         (PlatformCAAnimation::setKeyTimes):
2276         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2277         (PlatformCALayer::platformCALayer):
2278
2279 2010-12-06  Andy Estes  <aestes@apple.com>
2280
2281         Reviewed by Darin Adler.
2282
2283         Marquee elements do not stop animating when scrollAmount is set to 0.
2284         https://bugs.webkit.org/show_bug.cgi?id=50434
2285
2286         Test: fast/html/marquee-scrollamount.html
2287
2288         * rendering/RenderMarquee.cpp:
2289         (WebCore::RenderMarquee::timerFired): Allow increment to be 0.
2290
2291 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
2292
2293         Unreviewed Leopard buildfix for r73380.
2294
2295         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
2296         (PlatformCAAnimation::setTimingFunctions):
2297         * platform/graphics/ca/mac/PlatformCALayerMac.mm:
2298         (PlatformCALayer::PlatformCALayer):
2299
2300 2010-12-06  Philippe Normand  <pnormand@igalia.com>
2301
2302         Reviewed by Martin Robinson.
2303
2304         [GStreamer] use ResourceHandle::setDefersLoading in WebKitWebSourceGStreamer
2305         https://bugs.webkit.org/show_bug.cgi?id=44157
2306
2307         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2308         (webKitWebSrcNeedDataMainCb):
2309         (webKitWebSrcEnoughDataMainCb): Replaced platform-specific code
2310         with cross-platform ResourceHandle::setDefersLoading calls.
2311
2312 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
2313
2314         Unreviewed Leopard build fix for r73388.
2315
2316         * accessibility/AccessibilitySlider.cpp:
2317         (WebCore::AccessibilitySlider::maxValueForRange):
2318         (WebCore::AccessibilitySlider::minValueForRange):
2319
2320 2010-12-06  Ryosuke Niwa  <rniwa@webkit.org>
2321
2322         Unreviewed build fix for Leopard after r73379.
2323
2324         * platform/graphics/cg/GraphicsContextCG.cpp:
2325         (WebCore::GraphicsContext::setAllowsFontSmoothing):
2326
2327 2010-12-06  Nate Chapin  <japhet@chromium.org>
2328
2329         Reviewed by Adam Barth.
2330
2331         Make DocumentWriter a member of DocumentLoader
2332         instead of FrameLoader.
2333         https://bugs.webkit.org/show_bug.cgi?id=50489
2334
2335         Refactor, no new tests.
2336
2337         * bindings/ScriptControllerBase.cpp:
2338         (WebCore::ScriptController::executeIfJavaScriptURL):
2339         * dom/Document.cpp:
2340         (WebCore::Document::Document):
2341         (WebCore::Document::close):
2342         (WebCore::Document::lastModified):
2343         (WebCore::Document::finishedParsing):
2344         (WebCore::Document::initSecurityContext):
2345         (WebCore::Document::updateURLForPushOrReplaceState):
2346         * dom/Document.h:
2347         (WebCore::Document::setDocumentLoader):
2348         (WebCore::Document::loader):
2349         * dom/ProcessingInstruction.cpp:
2350         (WebCore::ProcessingInstruction::checkStyleSheet):
2351         * dom/ScriptElement.cpp:
2352         (WebCore::ScriptElement::scriptCharset):
2353         * html/HTMLLinkElement.cpp:
2354         (WebCore::HTMLLinkElement::process):
2355         * html/MediaDocument.cpp:
2356         (WebCore::MediaDocument::replaceMediaElementTimerFired):
2357         * html/PluginDocument.cpp:
2358         (WebCore::PluginDocumentParser::createDocumentStructure):
2359         * loader/DocumentLoader.cpp:
2360         (WebCore::DocumentLoader::DocumentLoader):
2361         (WebCore::DocumentLoader::finishedLoading):
2362         (WebCore::DocumentLoader::commitData):
2363         (WebCore::DocumentLoader::setupForReplaceByMIMEType):
2364         (WebCore::DocumentLoader::setFrame):
2365         * loader/DocumentLoader.h:
2366         (WebCore::DocumentLoader::writer):
2367         * loader/DocumentWriter.h:
2368         (WebCore::DocumentWriter::setFrame):
2369         * loader/FrameLoader.cpp:
2370         (WebCore::FrameLoader::FrameLoader):
2371         (WebCore::FrameLoader::init):
2372         (WebCore::FrameLoader::clear):
2373         (WebCore::FrameLoader::receivedFirstData):
2374         (WebCore::FrameLoader::transitionToCommitted):
2375         (WebCore::FrameLoader::open):
2376         (WebCore::FrameLoader::finishedLoadingDocument):
2377         (WebCore::FrameLoader::addExtraFieldsToRequest):
2378         * loader/FrameLoader.h:
2379         (WebCore::FrameLoader::notifier):
2380         * loader/cache/CachedResourceLoader.cpp:
2381         (WebCore::CachedResourceLoader::requestPreload):
2382         * platform/network/FormDataBuilder.cpp:
2383         (WebCore::FormDataBuilder::encodingFromAcceptCharset):
2384         * svg/graphics/SVGImage.cpp:
2385         (WebCore::SVGImage::dataChanged):
2386
2387 2010-12-06  Mark Rowe  <mrowe@apple.com>
2388
2389         Build fix.
2390
2391         * WebCore.xcodeproj/project.pbxproj: Don't force WebCore to build against the 10.5 SDK.
2392         That's just plain wrong.
2393
2394 2010-12-06  Chris Fleizach  <cfleizach@apple.com>
2395
2396         Reviewed by Darin Adler.
2397
2398         HTML5 Slider does not work correctly with VoiceOver
2399         https://bugs.webkit.org/show_bug.cgi?id=50505
2400
2401         Address a few problems with the Mac implementation for the accessibility slider.
2402             1) The value indicator is not hit testable.
2403             2) The value indicator does not return an AXValue.
2404             3) In the slider, the min/max values are not correct when min/max attributes are not present.
2405             4) When you change the value with the keyboard, it doesn't send out the right notification.
2406             5) Sliders were returning AXValue and AXTopLevelUIElement attributes twice in their list of attributes.
2407  
2408         Test: platform/mac/accessibility/html-slider-indicator.html
2409
2410         * accessibility/AccessibilityObject.cpp:
2411         (WebCore::AccessibilityObject::getAttribute):
2412             Use fastGetAttribute on Element, instead of getAttribute.
2413         * accessibility/AccessibilityObject.h:
2414         (WebCore::AccessibilityObject::isInputSlider):
2415         * accessibility/AccessibilityRenderObject.cpp:
2416         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
2417         * accessibility/AccessibilitySlider.cpp:
2418         (WebCore::AccessibilitySlider::doAccessibilityHitTest):
2419         (WebCore::AccessibilitySlider::maxValueForRange):
2420         (WebCore::AccessibilitySlider::minValueForRange):
2421         * accessibility/AccessibilitySlider.h:
2422         (WebCore::AccessibilitySlider::isInputSlider):
2423         * accessibility/mac/AccessibilityObjectWrapper.mm:
2424         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2425         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2426         * html/HTMLInputElement.cpp:
2427         (WebCore::HTMLInputElement::applyStep):
2428
2429 2010-12-06  David Hyatt  <hyatt@apple.com>
2430
2431         Reviewed by Simon Fraser.
2432
2433         Fix for https://bugs.webkit.org/show_bug.cgi?id=49220 <<rdar://problem/8644849>, REGRESSION: transforms now
2434         O(n^3) from pathological behavior in lowestPosition, rightmostPosition, leftmostPosition and topmostPosition.
2435
2436         This patch throws out the lowest/rightmost/leftmost/topmostPosition functions and re-architects layout overflow
2437         in the engine to cache all the information required to properly handle scrolling.
2438
2439         In the old code, there were two types of overflow: layout overflow and visual overflow.  The former could
2440         affect scrolling and the latter could not.  The distinction was largely meaningless, since layout overflow
2441         wasn't actually used to determine scroll width or scroll height.  It didn't propagate across self-painting layer
2442         boundaries either.  In the old code, the term visible overflow meant the union of the layout overflow and
2443         visual overflow rects.
2444
2445         In the new code, the two types of overflow remain, but the distinction between the two is now clear.  Visual overflow
2446         is used purely for painting and hit testing checks and layout overflow is used specifically for scrolling.  It has
2447         been expanded to propagate across self-painting layers, to factor in relative positioning and transforms, and to
2448         work with writing modes.
2449
2450         In order to minimize layout test changes, layers no longer incorporate right/bottom overflow into their width/height members.
2451         Doing so uncovered two bugs where left/top overflow was ignored (proof that even having layer dimensions is harmful).
2452         A render tree dump hack has been put into the code to keep this overflow dumping for the RenderView's layer, since otherwise
2453         a huge number of tests would change.
2454
2455         Added fast/overflow/overflow-rtl-vertical.html to test vertical writing-mode overflow.  Existing tests cover the rest.
2456
2457         * page/FrameView.cpp:
2458         (WebCore::FrameView::adjustViewSize):
2459         (WebCore::FrameView::forceLayoutForPagination):
2460         Changed to use RenderView's docTop/Left/Width/Height accessors, which simply grab the overflow and properly flip it
2461         to account for writing modes.
2462
2463         * platform/graphics/IntRect.h:
2464         (WebCore::IntRect::shiftLeftEdgeTo):
2465         (WebCore::IntRect::shiftRightEdgeTo):
2466         (WebCore::IntRect::shiftTopEdgeTo):
2467         (WebCore::IntRect::shiftBottomEdgeTo):
2468         New helper functions for sliding the edge of a rectangle without moving any of the other three edges.
2469
2470         * rendering/InlineBox.h:
2471         (WebCore::InlineBox::frameRect):
2472         frameRect is a helper for obtaining the x, y, width, height of an InlineBox as an IntRect.
2473
2474         * rendering/InlineFlowBox.cpp:
2475         (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
2476         All of the overflow setting in the inline direction has been removed from this function.  All line overflow is computed
2477         at once now in a single function: computeOverflow.
2478
2479         (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
2480         (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
2481         (WebCore::InlineFlowBox::addReplacedChildOverflow):
2482         Helper for propagating overflow from specific types of children that occur on a line into the InlineFlowBox's overflow.
2483
2484         (WebCore::InlineFlowBox::computeOverflow):
2485         The new function that computes both horizontal and vertical overflow for a line box.
2486
2487         (WebCore::InlineFlowBox::setLayoutOverflow):
2488         (WebCore::InlineFlowBox::setVisualOverflow):
2489         (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
2490         New functions that set the overflow computed by computeOverflow.  These replace setBlockDirectionOverflowPositions
2491         and setInlineDirectionOverflowPositions.  They essentially do the same thing, but they operate on rectangles.
2492
2493         (WebCore::InlineFlowBox::nodeAtPoint):
2494         (WebCore::InlineFlowBox::paint):
2495         Changed to use visual overflow instead of visible overflow.  (Visible overflow as a union of layout and visual
2496         overflow is no longer necessary, since visual overflow is now equivalent to the old visible overflow concept.)
2497
2498         * rendering/InlineFlowBox.h:
2499         (WebCore::InlineFlowBox::logicalLayoutOverflowRect):
2500         (WebCore::InlineFlowBox::logicalVisualOverflowRect):
2501         Helpers for obtaining logical overflow rectangles, since lines compute their overflow in logical terms before
2502         converting to block coordinates at the end.
2503
2504         * rendering/RenderBlock.cpp:
2505         (WebCore::RenderBlock::layoutBlock):
2506         (WebCore::RenderBlock::addOverflowFromChildren):
2507         (WebCore::RenderBlock::computeOverflow):
2508         (WebCore::RenderBlock::addOverflowFromFloats):
2509         (WebCore::RenderBlock::addOverflowFromPositionedObjects):
2510         Blocks now have a computeOverflow function called at the end of layout that adds in all the types of overflow.  The addOverflowFromChildren
2511         method is virtual so that RenderListItem and RenderTable can subclass it.  RenderListItem has to position its list marker and
2512         propagate marker overflow up, and RenderTable adds in overflow from its sections.
2513
2514         (WebCore::RenderBlock::layoutOnlyPositionedObjects):
2515         (WebCore::RenderBlock::layoutPositionedObjects):
2516         When only positioned objects lay out, overflow must still be recomputed.  The refactoring of overflow computation into a single
2517         callable method: computeOverflow, makes it possible for this to be done easily.
2518
2519         (WebCore::RenderBlock::paint):
2520         visible -> visual.
2521
2522         (WebCore::RenderBlock::addOverhangingFloats):
2523         The propagation of float overflow has changed substantially.  The basic rules are:
2524             (1) The float must be in our floating objects list to contribute to overflow.
2525             (2) The float must be a descendant to contribute to overflow.
2526             (3) The block must have the outermost list that contains the float, or it has a self-painting layer and
2527                 so the float needs to be included in its overflow.
2528
2529         (WebCore::RenderBlock::nodeAtPoint):
2530         visible -> visual.
2531
2532         (WebCore::RenderBlock::layoutColumns):
2533         Remove column overflow computation from layoutColumns and move it to computeOverflow.
2534
2535         (WebCore::RenderBlock::adjustLinePositionForPagination):
2536         visible -> visual.
2537
2538         * rendering/RenderBlock.h:
2539         (WebCore::RenderBlock::scrollbarsChanged):
2540         Added a new virtual method used by table cells when scrollbars in an overflow:auto/scroll table cell come and go.
2541
2542         * rendering/RenderBlockLineLayout.cpp:
2543         (WebCore::RenderBlock::layoutInlineChildren):
2544         (WebCore::RenderBlock::determineStartPosition):
2545         (WebCore::RenderBlock::matchedEndLine):
2546         (WebCore::RenderBlock::addOverflowFromInlineChildren):
2547         (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
2548         (WebCore::RenderBlock::afterSideVisualOverflowForLine):
2549         visible -> visual.
2550
2551         * rendering/RenderBox.cpp:
2552         (WebCore::RenderBox::scrollWidth):
2553         (WebCore::RenderBox::scrollHeight):
2554         Patched to use layoutOverflow functions instead of the old rightmost/leftmostPosition functions.
2555
2556         (WebCore::RenderBox::paintRootBoxDecorations):
2557         Use docLeft and docTop here, so that writing modes are handled.
2558
2559         (WebCore::RenderBox::clippedOverflowRectForRepaint):
2560         visible -> visual.
2561
2562         (WebCore::RenderBox::addOverflowFromChild):
2563         (WebCore::RenderBox::addLayoutOverflow):
2564         (WebCore::RenderBox::addVisualOverflow):
2565         (WebCore::RenderBox::logicalVisualOverflowRectForPropagation):
2566         (WebCore::RenderBox::visualOverflowRectForPropagation):
2567         (WebCore::RenderBox::logicalLayoutOverflowRectForPropagation):
2568         (WebCore::RenderBox::layoutOverflowRectForPropagation):
2569         * rendering/RenderBox.h:
2570         The new overflow system for boxes.  Layout overflow now crosses self-painting layer boundaries and adjusts child boxes
2571         for transforms, relative positioning and writing mode differences.
2572
2573         (WebCore::RenderBox::layoutOverflowRect):
2574         (WebCore::RenderBox::topLayoutOverflow):
2575         (WebCore::RenderBox::bottomLayoutOverflow):
2576         (WebCore::RenderBox::leftLayoutOverflow):
2577         (WebCore::RenderBox::rightLayoutOverflow):
2578         Changed the default rectangle for layout overflow to be the client box to match the scrollable areas of overflow regions.
2579
2580         (WebCore::RenderBox::clientLogicalBottom):
2581         New helper for obtaining the logical bottom of the client box.
2582
2583         (WebCore::RenderBox::clientBoxRect):
2584         New helper for obtaining the clientLeft/Top/Width/Height box.
2585
2586         * rendering/RenderBoxModelObject.h:
2587         (WebCore::RenderBoxModelObject::relativePositionLogicalOffset):
2588         Helper for obtaining the relative position offset transposed for vertical writing modes.  Used by line overflow.
2589
2590         * rendering/RenderFlexibleBox.cpp:
2591         (WebCore::RenderFlexibleBox::layoutBlock):
2592         Changed flexible boxes to just call the base class computeOverflow method.
2593
2594         * rendering/RenderInline.cpp:
2595         (WebCore::RenderInline::linesVisualOverflowBoundingBox):
2596         (WebCore::RenderInline::clippedOverflowRectForRepaint):
2597         visible -> visual.
2598
2599         * rendering/RenderInline.h:
2600         * rendering/RenderLayer.cpp:
2601         (WebCore::RenderLayer::updateLayerPosition):
2602         Changed layers to no longer incorporate right/bottom overflow into width/height.  This is the reason many layout
2603         tests change.  (Not doing this makes the layout test changes far worse, since overflow propagates across self-painting
2604         layers now.)
2605
2606         (WebCore::RenderLayer::overflowTop):
2607         (WebCore::RenderLayer::overflowBottom):
2608         (WebCore::RenderLayer::overflowLeft):
2609         (WebCore::RenderLayer::overflowRight):
2610         overflowTop/Bottom/Left/Right return overflow that accounts for writing modes, i.e., purely physical overflow that can be used
2611         to set up the scroll area.
2612
2613         (WebCore::RenderLayer::computeScrollDimensions):
2614         Drastically simplified this method now that overflowTop/Bottom/Left/Right just do the right thing regarding unreachable overflow.
2615
2616         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2617         Make sure to explicitly set the vertical scrollbar's position just as we did with horizontal scrollbars, so that clamping to the
2618         bottom works.
2619
2620         (WebCore::performOverlapTests):
2621         (WebCore::RenderLayer::paintLayer):
2622         Fix a bug in performOverlapTests.  It incorrectly used the layer's bounds, and so it didn't account for left/top overflow out
2623         of the layer (see why I hate layers even having dimensions?).  Changed it to use the bounding box of the layer instead.
2624
2625         (WebCore::RenderLayer::hitTest):
2626         Fix a bug in hit testing.  It incorrectly used the root layer's bounds as the limit of the hit test, and so it didn't account
2627         for left/top overflow in a ScrollView (hate hate hate layers having dimensions).  I changed it to use the hit test rect instead,
2628         so that the damage rect never stops the point from being tested (unless the hit test request says not to ignore clipping).
2629
2630         (WebCore::RenderLayer::localBoundingBox):
2631         visible -> visual.
2632
2633         * rendering/RenderLayer.h:
2634         Added the new overflowTop/Left/Right/Bottom accessors.
2635
2636         * rendering/RenderLineBoxList.cpp:
2637         (WebCore::RenderLineBoxList::anyLineIntersectsRect):
2638         (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
2639         (WebCore::RenderLineBoxList::paint):
2640         (WebCore::RenderLineBoxList::hitTest):
2641         visible -> visual.
2642
2643         * rendering/RenderListItem.cpp:
2644         (WebCore::RenderListItem::addOverflowFromChildren):
2645         (WebCore::RenderListItem::positionListMarker):
2646         * rendering/RenderListItem.h:
2647         RenderListItem now positions the list marker when computing its overflow, since the marker propagates overflow back up to the list item.
2648
2649         * rendering/RenderListMarker.cpp:
2650         (WebCore::RenderListMarker::paint):
2651         visible -> visual.
2652
2653         * rendering/RenderMarquee.cpp:
2654         (WebCore::RenderMarquee::computePosition):
2655         Changed to use overflow functions instead of rightmost/lowestPosition.
2656
2657         * rendering/RenderMedia.cpp:
2658         * rendering/RenderMedia.h:
2659         Removed the lowest/topmost/rightmost/leftmostPosition functions, since control overflow is handled properly already.
2660
2661         * rendering/RenderOverflow.h:
2662         (WebCore::RenderOverflow::RenderOverflow):
2663         (WebCore::RenderOverflow::setLayoutOverflow):
2664         (WebCore::RenderOverflow::setVisualOverflow):
2665         Add new setters for layout and visual overflow as rects.
2666
2667         * rendering/RenderReplaced.cpp:
2668         (WebCore::RenderReplaced::shouldPaint):
2669         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
2670         visible -> visual.
2671
2672         * rendering/RenderRubyRun.cpp:
2673         (WebCore::RenderRubyRun::layout):
2674         Call computeOverflow to recompute our overflow information after we adjust the ruby.
2675
2676         * rendering/RenderTable.cpp:
2677         (WebCore::RenderTable::layout):
2678         (WebCore::RenderTable::addOverflowFromChildren):
2679         (WebCore::RenderTable::paint):
2680         * rendering/RenderTable.h:
2681         Move section overflow propagation into addOverflowFromChildren, and change RenderTable to just call computeOverflow.
2682
2683         * rendering/RenderTableCell.cpp:
2684         (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
2685         visible -> visual.
2686
2687         (WebCore::RenderTableCell::scrollbarsChanged):
2688         Adding unreachable overflow support (something that in the old code only existed for positioned objects in the root view) exposed
2689         a bug in table layout.  If scrollbars are added during the layout that occurs after intrinsic padding was incorporated into the
2690         cell, then the cell won't lay out properly the second time (after the scrollbars have been added).  We have to adjust the intrinsic
2691         padding accounting for the presence of the new scrollbar so the second layout will get the right dimensions.
2692
2693         * rendering/RenderTableCell.h:
2694         (WebCore::RenderTableCell::hasVisualOverflow):
2695         visible -> visual.
2696
2697         * rendering/RenderTableSection.cpp:
2698         (WebCore::RenderTableSection::layoutRows):
2699         * rendering/RenderTableSection.h:
2700         visible -> visual.  Removed the leftmost/rightmost/topmost/bottommostPosition functions.
2701
2702         * rendering/RenderTreeAsText.cpp:
2703         (WebCore::writeLayers):
2704         Added a hack to render tree dumping to include right/bottom overflow for the root layer only.  This keeps a zillion layout tests
2705         from failing.
2706
2707         * rendering/RenderView.cpp:
2708         (WebCore::RenderView::layout):
2709         (WebCore::RenderView::docTop):
2710         (WebCore::RenderView::docBottom):
2711         (WebCore::RenderView::docLeft):
2712         (WebCore::RenderView::docRight):
2713         * rendering/RenderView.h:
2714         (WebCore::RenderView::docHeight):
2715         (WebCore::RenderView::docWidth):
2716         RenderView now uses docLeft/Top/Height/Width functions, which are just overflow queries that account for writing modes.  These methods
2717         are now the preferred way to query for the physical dimensions of a document.
2718
2719         * rendering/RootInlineBox.cpp:
2720         (WebCore::RootInlineBox::addHighlightOverflow):
2721         Changed to call setOverflowFromLogicalRects instead of the block/inline position functions.
2722
2723         (WebCore::RootInlineBox::alignBoxesInBlockDirection):
2724         Remove the computation of block direction overflow, since it now all happens at once after the line is built.
2725
2726         (WebCore::RootInlineBox::paddedLayoutOverflowRect):
2727         * rendering/RootInlineBox.h:
2728         Added a new helper function for incorporating the end padding into a line.  This end padding also includes the single pixel for a caret
2729         in LTR if needed.
2730
2731 2010-12-06  Chris Marrin  <cmarrin@apple.com>
2732
2733         Reviewed by Simon Fraser.
2734
2735         Share code between Mac (CA) and Windows (CACF) GraphicsLayer implementations
2736         https://bugs.webkit.org/show_bug.cgi?id=49388
2737
2738         Replaced GraphicsLayerMac with GraphicsLayerCA. GraphicsLayerCA is essentially 
2739         identical to GraphicsLayerMac, but replaces all the CoreAnimation specific calls 
2740         with calls to PlatformCALayer and PlatformCAAnimation. This makes GraphicsLayerCA 
2741         platform neutral as long as implementations of those two classes are available. 
2742         Added implementations in PlatformCALayerMac and PlatformCAAnimationMac. Also got 
2743         rid of GraphicsLayer::nativeLayer() and replaced it with GraphicsLayer::platformLayer() 
2744         to avoid confusion since both names were used to refer to the same thing. 
2745
2746         This patch is only for Mac. Windows implementation has not changed.
2747
2748         * WebCore.xcodeproj/project.pbxproj:
2749         * platform/graphics/GraphicsLayer.h:
2750         * platform/graphics/ca/GraphicsLayerCA.cpp: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.cpp.
2751         * platform/graphics/ca/GraphicsLayerCA.h: Copied from WebCore/platform/graphics/ca/GraphicsLayerCA.h.
2752         * platform/graphics/ca/PlatformCAAnimation.h: Copied from WebCore/platform/graphics/ca/PlatformCAAnimation.h.
2753         * platform/graphics/ca/PlatformCALayer.h: Copied from WebCore/platform/graphics/ca/PlatformCALayer.h.
2754         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm.
2755         (toCAMediaTimingFunction):
2756         * platform/graphics/ca/mac/PlatformCALayerMac.mm: Copied from WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm.
2757         (PlatformCALayer::PlatformCALayer):
2758         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2759         * platform/graphics/chromium/GraphicsLayerChromium.h:
2760         * platform/graphics/mac/GraphicsLayerMac.h: Removed.
2761         * platform/graphics/mac/GraphicsLayerMac.mm: Removed.
2762         * platform/graphics/mac/WebLayer.h:
2763         * platform/graphics/mac/WebLayer.mm:
2764         (-[WebLayer setNeedsDisplay]):
2765         (-[WebLayer setNeedsDisplayInRect:]):
2766         (-[WebLayer display]):
2767         (-[WebLayer drawInContext:]):
2768         * platform/graphics/mac/WebTiledLayer.h:
2769         * platform/graphics/mac/WebTiledLayer.mm:
2770         (-[WebTiledLayer setNeedsDisplay]):
2771         (-[WebTiledLayer setNeedsDisplayInRect:]):
2772         (-[WebTiledLayer display]):
2773         (-[WebTiledLayer drawInContext:]):
2774         * platform/graphics/qt/GraphicsLayerQt.cpp:
2775         (WebCore::GraphicsLayerQtImpl::flushChanges):
2776         * platform/graphics/qt/GraphicsLayerQt.h:
2777         * platform/graphics/win/GraphicsLayerCACF.cpp:
2778         * platform/graphics/win/GraphicsLayerCACF.h:
2779
2780 2010-12-06  Simon Fraser  <simon.fraser@apple.com>
2781
2782         Reviewed by Dan Bernstein.
2783
2784         Font antialiasing (smoothing) changes when elements are rendered into compositing layers
2785         https://bugs.webkit.org/show_bug.cgi?id=23364
2786
2787         Text rendered by Core Graphics over a transparent background looks bad because of 
2788         font smoothing, so turn off smoothing when rendering text into compositing layers.
2789
2790         * platform/graphics/GraphicsContext.h:
2791         * platform/graphics/cg/GraphicsContextCG.cpp:
2792         (WebCore::GraphicsContext::setAllowsFontSmoothing):
2793         * platform/graphics/mac/WebLayer.mm:
2794         (drawLayerContents):
2795
2796 2010-12-06  Patrick Gansterer  <paroga@webkit.org>
2797
2798         Reviewed by Andreas Kling.
2799
2800         [WINCE] Add build system
2801         https://bugs.webkit.org/show_bug.cgi?id=50522
2802
2803         * CMakeListsWinCE.txt: Added.
2804
2805 2010-12-06  Chris Fleizach  <cfleizach@apple.com>
2806
2807         Reviewed by Oliver Hunt.
2808
2809         AX does not support HTML5 "required"
2810         https://bugs.webkit.org/show_bug.cgi?id=50507
2811
2812         Test: platform/mac/accessibility/html5-required-attribute.html
2813
2814         * accessibility/AccessibilityRenderObject.cpp:
2815         (WebCore::AccessibilityRenderObject::isRequired):
2816
2817 2010-12-06  Alejandro G. Castro  <alex@igalia.com>
2818
2819         Reviewed by Martin Robinson.
2820
2821         [GTK] using shadows leaks memory
2822         https://bugs.webkit.org/show_bug.cgi?id=50541
2823
2824         Fixed leaks in the shadow code.
2825         * platform/graphics/cairo/CairoUtilities.cpp:
2826         (WebCore::drawPatternToCairoContext): adoptRef instead of just
2827         getting a new reference.
2828         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2829         (WebCore::drawPathShadow): handle cairo_path_t with smart
2830         pointers.
2831
2832 2010-12-06  Yury Semikhatsky  <yurys@chromium.org>
2833
2834         Reviewed by Pavel Feldman.
2835
2836         [v8] Web Inspector: remove duplicate code for capturing stack trace
2837         https://bugs.webkit.org/show_bug.cgi?id=50461
2838
2839         No new tests. Covered with existing inspector tests.
2840
2841         * bindings/js/ScriptCallStackFactory.cpp:
2842         (WebCore::createScriptCallStack):
2843         * bindings/js/ScriptCallStackFactory.h:
2844         * bindings/v8/ScriptCallStackFactory.cpp:
2845         (WebCore::toScriptCallFrame):
2846         (WebCore::toScriptCallFramesVector):
2847         (WebCore::createScriptCallStack):
2848         * bindings/v8/ScriptCallStackFactory.h:
2849         * bindings/v8/V8ConsoleMessage.cpp:
2850         (WebCore::V8ConsoleMessage::handler):
2851         * inspector/ScriptCallFrame.cpp:
2852         (WebCore::ScriptCallFrame::ScriptCallFrame):
2853         (WebCore::ScriptCallFrame::isEqual):
2854         (WebCore::ScriptCallFrame::buildInspectorObject):
2855         * inspector/ScriptCallFrame.h:
2856         (WebCore::ScriptCallFrame::sourceURL):
2857         * inspector/ScriptCallStack.h:
2858         * inspector/TimelineRecordFactory.cpp:
2859         (WebCore::TimelineRecordFactory::createGenericRecord):
2860         * inspector/front-end/ConsoleView.js:
2861         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
2862
2863 == Rolled over to ChangeLog-2010-12-06 ==