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