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