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