61917a527f1b994ac31ddeb55c02659dd81fb5bf
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-03-14  Chris Marrin  <cmarrin@apple.com>
2
3         Reviewed by Adam Roben.
4
5         REGRESSION (r75138-r75503): Animations on Apple HTML5 Gallery demo are wrong
6         https://bugs.webkit.org/show_bug.cgi?id=52845
7
8         The lastCommitTime() value in CACFLayerTreeHost was returning as the time
9         the render previous to this one happened. That often made it seem like
10         animations started more in the past than they did, breaking many animations.
11         The startAnimations() call actually fires from a CACF callback after all the
12         WebKit content has been rendered. So sending currentTime as the start time
13         to the animations is close enough for proper synchronization.
14
15         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
16         (WebCore::CACFLayerTreeHost::notifyAnimationsStarted):
17
18 2011-03-11  Ryosuke Niwa  <rniwa@webkit.org>
19
20         Reviewed by Tony Chang.
21
22         Selection uses first mousemove's localRect instead of that of mousedown
23         https://bugs.webkit.org/show_bug.cgi?id=56213
24
25         Fixed the bug by adding an extra call to updateSelectionForMouseDrag in handleMouseDraggedEvent
26         using the mouse coordinates of the mousedown event that started the drag.
27
28         Test: editing/selection/drag-select-rapidly.html
29
30         * page/EventHandler.cpp:
31         (WebCore::EventHandler::handleMouseDraggedEvent):
32
33 2011-03-14  Mark Rowe  <mrowe@apple.com>
34
35         Reviewed by Timothy Hatcher.
36
37         Apply a large, blunt object directly to the skull of the Leopard build.
38
39         * Configurations/Base.xcconfig: Disable the generation of debugging symbols when
40         building the Debug configuration on Leopard. This should cut the size of the object
41         files that the linker needs to process by over 85%. This will hopefully allow them
42         to fit in to the 32-bit address space of the Leopard linker.
43
44 2011-03-14  David Hyatt  <hyatt@apple.com>
45
46         Reviewed by Beth Dakin.
47
48         https://bugs.webkit.org/show_bug.cgi?id=56246
49         
50         Add support for relative positioning to table cells.   Back out the code that hacked around the lack of support
51         for offsetLeft, and add new tests to demonstrate that relative positioning works.
52
53         * css/CSSStyleSelector.cpp:
54         (WebCore::CSSStyleSelector::adjustRenderStyle):
55         * rendering/RenderObject.cpp:
56         (WebCore::RenderObject::offsetParent):
57         * rendering/RenderObject.h:
58         (WebCore::RenderObject::isRelPositioned):
59         * rendering/RenderTableCell.h:
60         * rendering/style/RenderStyle.h:
61         * rendering/style/StyleRareNonInheritedData.cpp:
62         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
63         (WebCore::StyleRareNonInheritedData::operator==):
64         * rendering/style/StyleRareNonInheritedData.h:
65
66 2011-03-14  David Hyatt  <hyatt@apple.com>
67
68         Reviewed by Beth Dakin.
69
70         Partial backout of https://bugs.webkit.org/show_bug.cgi?id=56230.  Go back to repainting the root
71         layer, since first layouts and printing mess up otherwise.
72
73         * page/FrameView.cpp:
74         (WebCore::FrameView::layout):
75
76 2011-03-11  David Hyatt  <hyatt@apple.com>
77
78         Reviewed by Simon Fraser.
79
80         Clean up full repainting of layers during layout and at other times.  Platforms that did not do an invalidation on
81         size changes were incorrectly relying on the DoFullRepaint case of RenderLayer::updateLayerPositions to invalidate
82         for them. However this code is now wrong, since it assumed that the outermost layer was a RenderView that encompassed
83         all of the child layers.  This is no longer the case since the overflow changes that tightened up visual overflow
84         and limited that overflow only to content that the layer painted.
85         
86         Eliminate the DoFullRepaint flag and actually make no repainting of any kind happen from the layer code if FrameView's
87         m_doFullRepaint boolean is set.  This will flush out any ports that aren't just invalidating the world on their
88         own in response to view resizes or fixed layout size changes and force them to fix things to be consistent with
89         the other ports.
90         
91         Make the two dynamic calls to updateLayerPositions still do a full repaint by setting the repaint flag on the layer.
92         I'm suspicious as to the correctness of the repainting in both of these cases (both before and after this patch),
93         but the behavior should be the same.
94         
95         No new tests, since this is untestable on ports that invalidate on a resize.
96
97         * page/FrameView.cpp:
98         (WebCore::FrameView::layout):
99         * rendering/RenderBoxModelObject.cpp:
100         (WebCore::RenderBoxModelObject::styleDidChange):
101         * rendering/RenderLayer.cpp:
102         (WebCore::RenderLayer::updateLayerPositions):
103         (WebCore::RenderLayer::removeOnlyThisLayer):
104         * rendering/RenderLayer.h:
105
106 2011-03-11  Oliver Hunt  <oliver@apple.com>
107
108         Reviewed by Gavin Barraclough.
109
110         Ensure all values are correctly tagged in the registerfile
111         https://bugs.webkit.org/show_bug.cgi?id=56214
112
113         Make sure everything builds still.
114
115         * bridge/c/c_class.cpp:
116         * bridge/c/c_runtime.cpp:
117         * bridge/jni/JavaMethod.cpp:
118         * plugins/PluginViewNone.cpp:
119
120 2011-03-14  Luiz Agostini  <luiz.agostini@openbossa.org>
121
122         Unreviewed build fix for r81035.
123
124         * html/HTMLDetailsElement.cpp:
125         (WebCore::HTMLDetailsElement::defaultEventHandler):
126         * rendering/RenderDetailsMarker.cpp:
127         (WebCore::createDownArrowPath):
128         (WebCore::createUpArrowPath):
129         (WebCore::createLeftArrowPath):
130         (WebCore::createRightArrowPath):
131
132 2011-03-13  Jer Noble  <jer.noble@apple.com>
133
134         FullScreen: Handle entering full screen security restrictions
135         https://bugs.webkit.org/show_bug.cgi?id=56264
136
137         Tests: fullscreen/full-screen-iframe-allowed.html
138                fullscreen/full-screen-iframe-not-allowed.html
139
140         Disable full screen documents in the following conditions:
141         1) requesting element is in an iframe which does not have a
142         webkitallowfullscreen attribute.
143         2) page is not processing a user gesture.
144
145         * dom/Document.cpp:
146         (WebCore::Document::fullScreenIsAllowedForElement): Added.  Checks
147             to see if elements contained in IFRAMES are allowed to
148             enter full screen.
149         (WebCore::Document::webkitRequestFullScreenForElement): Checks
150             if page is currently processing a user gesture.
151         * dom/Document.h:
152         * html/HTMLAttributeNames.in: Added webkitallowfullscreenAttr.
153         * html/HTMLFrameElementBase.cpp:
154         (WebCore::HTMLFrameElementBase::allowFullScreen): Added.
155         * html/HTMLFrameElementBase.h:
156
157 2011-03-14  Anton D'Auria  <adauria@apple.com>
158
159         Reviewed by David Levin.
160
161         REGRESSION(r80892): Use of uninitialized variable "m_syncCloseDatabase" in StorageAreaSync::sync
162         https://bugs.webkit.org/show_bug.cgi?id=56303
163
164         Initialized m_syncCloseDatabase to false in the StorageAreaSync constructor.
165
166         * storage/StorageAreaSync.cpp:
167         (WebCore::StorageAreaSync::StorageAreaSync):
168
169 2011-03-14  Steve Block  <steveblock@google.com>
170
171         Reviewed by Oliver Hunt.
172
173         JavaMethod.cpp does not compile with V8
174         https://bugs.webkit.org/show_bug.cgi?id=56306
175
176         Moved the ScopeChain.h include to JavaStringJSC.
177
178         No new tests, build fix only.
179
180         * bridge/jni/JavaMethod.cpp:
181         * bridge/jni/jsc/JavaStringJSC.h
182
183 2011-02-28  Luiz Agostini  <luiz.agostini@openbossa.org>
184
185         Reviewed by Dave Hyatt.
186
187         HTML5 <details> and <summary>: rendering
188         https://bugs.webkit.org/show_bug.cgi?id=51071
189
190         Tests: fast/html/details-add-summary-1-and-click.html
191                fast/html/details-add-summary-1.html
192                fast/html/details-add-summary-10-and-click.html
193                fast/html/details-add-summary-10.html
194                fast/html/details-add-summary-2-and-click.html
195                fast/html/details-add-summary-2.html
196                fast/html/details-add-summary-3-and-click.html
197                fast/html/details-add-summary-3.html
198                fast/html/details-add-summary-4-and-click.html
199                fast/html/details-add-summary-4.html
200                fast/html/details-add-summary-5-and-click.html
201                fast/html/details-add-summary-5.html
202                fast/html/details-add-summary-6-and-click.html
203                fast/html/details-add-summary-6.html
204                fast/html/details-add-summary-7-and-click.html
205                fast/html/details-add-summary-7.html
206                fast/html/details-add-summary-8-and-click.html
207                fast/html/details-add-summary-8.html
208                fast/html/details-add-summary-9-and-click.html
209                fast/html/details-add-summary-9.html
210                fast/html/details-mouse-click.html
211                fast/html/details-no-summary1.html
212                fast/html/details-no-summary2.html
213                fast/html/details-no-summary3.html
214                fast/html/details-no-summary4.html
215                fast/html/details-open-javascript.html
216                fast/html/details-open1.html
217                fast/html/details-open2.html
218                fast/html/details-open3.html
219                fast/html/details-open4.html
220                fast/html/details-open5.html
221                fast/html/details-open6.html
222                fast/html/details-position.html
223                fast/html/details-remove-summary-1-and-click.html
224                fast/html/details-remove-summary-1.html
225                fast/html/details-remove-summary-2-and-click.html
226                fast/html/details-remove-summary-2.html
227                fast/html/details-remove-summary-3-and-click.html
228                fast/html/details-remove-summary-3.html
229                fast/html/details-remove-summary-4-and-click.html
230                fast/html/details-remove-summary-4.html
231                fast/html/details-remove-summary-5-and-click.html
232                fast/html/details-remove-summary-5.html
233                fast/html/details-remove-summary-6-and-click.html
234                fast/html/details-remove-summary-6.html
235                fast/html/details-writing-mode.html
236
237         http://www.w3.org/TR/html5/interactive-elements.html#the-details-element
238
239         The main <summary> element is the first <summary> element of a <details> element.
240         All other childs of the <details> element are rendered only if the attribute 'open' is set.
241         Click event toggles the 'open' attribute.
242
243         * html/HTMLDetailsElement.cpp:
244         (WebCore::HTMLDetailsElement::HTMLDetailsElement):
245         (WebCore::HTMLDetailsElement::findMainSummary):
246         (WebCore::HTMLDetailsElement::childrenChanged):
247         (WebCore::HTMLDetailsElement::finishParsingChildren):
248         (WebCore::HTMLDetailsElement::parseMappedAttribute):
249         (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
250         (WebCore::HTMLDetailsElement::defaultEventHandler):
251         * html/HTMLDetailsElement.h:
252         (WebCore::HTMLDetailsElement::mainSummary):
253
254         Method createRenderer added to class HTMLSummaryElement.
255
256         * html/HTMLSummaryElement.cpp:
257         (WebCore::HTMLSummaryElement::createRenderer):
258         * html/HTMLSummaryElement.h:
259
260         The first <summary> element is positioned at the top of its <details> parent.
261         The area occupied by this main <summary> element is the interactive area of the
262         <details> element. If the <details> tag has no <summary> child an OwnedSummaryRenderer
263         is created and added to the corresponding RenderDetails object.
264
265         * rendering/RenderDetails.cpp:
266         (WebCore::RenderDetails::RenderDetails):
267         (WebCore::RenderDetails::destroy):
268         (WebCore::RenderDetails::summaryBlock):
269         (WebCore::RenderDetails::contentBlock):
270         (WebCore::RenderDetails::addChild):
271         (WebCore::RenderDetails::removeChild):
272         (WebCore::RenderDetails::setMarkerStyle):
273         (WebCore::RenderDetails::styleDidChange):
274         (WebCore::RenderDetails::getRenderPosition):
275         (WebCore::RenderDetails::markerDestroyed):
276         (WebCore::RenderDetails::summaryDestroyed):
277         (WebCore::RenderDetails::moveSummaryToContents):
278         (WebCore::RenderDetails::createSummaryStyle):
279         (WebCore::RenderDetails::replaceMainSummary):
280         (WebCore::RenderDetails::createDefaultSummary):
281         (WebCore::RenderDetails::checkMainSummary):
282         (WebCore::RenderDetails::layout):
283         (WebCore::RenderDetails::isOpen):
284         (WebCore::RenderDetails::getParentOfFirstLineBox):
285         (WebCore::RenderDetails::firstNonMarkerChild):
286         (WebCore::RenderDetails::updateMarkerLocation):
287         * rendering/RenderDetails.h:
288         (WebCore::RenderDetails::interactiveArea):
289         (WebCore::RenderDetails::removeLeftoverAnonymousBlock):
290         (WebCore::RenderDetails::createsAnonymousWrapper):
291         (WebCore::RenderDetails::requiresForcedStyleRecalcPropagation):
292
293         A marker is added to the main <summary> element to indicate the current value of the 'open'
294         attribute of the <details> element.
295
296         * rendering/RenderDetailsMarker.cpp:
297         (WebCore::RenderDetailsMarker::RenderDetailsMarker):
298         (WebCore::RenderDetailsMarker::destroy):
299         (WebCore::RenderDetailsMarker::lineHeight):
300         (WebCore::RenderDetailsMarker::baselinePosition):
301         (WebCore::RenderDetailsMarker::computePreferredLogicalWidths):
302         (WebCore::RenderDetailsMarker::layout):
303         (WebCore::RenderDetailsMarker::getRelativeMarkerRect):
304         (WebCore::RenderDetailsMarker::isOpen):
305         (WebCore::createPath):
306         (WebCore::createDownArrowPath):
307         (WebCore::createUpArrowPath):
308         (WebCore::createLeftArrowPath):
309         (WebCore::createRightArrowPath):
310         (WebCore::RenderDetailsMarker::orientation):
311         (WebCore::RenderDetailsMarker::getCanonicalPath):
312         (WebCore::RenderDetailsMarker::getPath):
313         (WebCore::RenderDetailsMarker::paint):
314         * rendering/RenderDetailsMarker.h:
315         (WebCore::toRenderDetailsMarker):
316
317         * rendering/RenderSummary.cpp:
318         (WebCore::RenderSummary::RenderSummary):
319         (WebCore::RenderSummary::destroy):
320         (WebCore::RenderSummary::parentDetails):
321         (WebCore::RenderSummary::styleDidChange):
322         * rendering/RenderSummary.h:
323
324         * rendering/RenderTreeAsText.cpp:
325         (WebCore::RenderTreeAsText::writeRenderObject):
326
327 2011-03-14  Brady Eidson  <beidson@apple.com>
328
329         Reviewed by Sam Weinig.
330
331         https://bugs.webkit.org/show_bug.cgi?id=56296
332         Clean up IconDatabaseBase header.
333
334         -Get rid of the "PlatformString.h" include and replace it with a forward declaration.
335         -Group methods by which are used in WebCore directly and which are used in WebKit ports.
336
337         This'll make it easier to use in external frameworks (like WebKit2).
338
339         * loader/icon/IconDatabase.h:
340         * loader/icon/IconDatabaseBase.h:
341         (WebCore::IconDatabaseBase::retainIconForPageURL):
342         (WebCore::IconDatabaseBase::releaseIconForPageURL):
343         (WebCore::IconDatabaseBase::iconForPageURL):
344         (WebCore::IconDatabaseBase::setIconURLForPageURL):
345         (WebCore::IconDatabaseBase::setIconDataForIconURL):
346         (WebCore::IconDatabaseBase::iconDataKnownForIconURL):
347         (WebCore::IconDatabaseBase::loadDecisionForIconURL):
348         (WebCore::IconDatabaseBase::importIconURLForPageURL):
349         (WebCore::IconDatabaseBase::importIconDataForIconURL):
350         (WebCore::IconDatabaseBase::open):
351
352 2011-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
353
354         Unreviewed, rolling out r81026.
355         http://trac.webkit.org/changeset/81026
356         https://bugs.webkit.org/show_bug.cgi?id=56313
357
358         Breaks gtk 64-bit tests (Requested by podivilov on #webkit).
359
360         * inspector/InspectorBrowserDebuggerAgent.cpp:
361         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
362         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
363         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
364         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
365         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
366         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
367         (WebCore::InspectorBrowserDebuggerAgent::clear):
368         * inspector/InspectorBrowserDebuggerAgent.h:
369         * inspector/front-end/BreakpointManager.js:
370         (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
371         (WebInspector.BreakpointManager.prototype._createXHRBreakpoint):
372         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
373         (WebInspector.BreakpointManager.prototype._projectChanged):
374         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
375         (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
376         (WebInspector.BreakpointManager.prototype._createXHRBreakpointId):
377         (WebInspector.XHRBreakpoint):
378         (WebInspector.XHRBreakpoint.prototype._enable):
379         (WebInspector.XHRBreakpoint.prototype._disable):
380         (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
381         (WebInspector.XHRBreakpointView):
382         (WebInspector.XHRBreakpointView.prototype.compareTo):
383         (WebInspector.XHRBreakpointView.prototype.populateEditElement):
384         (WebInspector.XHRBreakpointView.prototype.populateLabelElement):
385         (WebInspector.XHRBreakpointView.prototype.populateStatusMessageElement):
386         * inspector/front-end/BreakpointsSidebarPane.js:
387         (WebInspector.XHRBreakpointsSidebarPane.addButtonClicked):
388         (WebInspector.XHRBreakpointsSidebarPane):
389         (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
390         (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint):
391         (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
392         * inspector/front-end/CallStackSidebarPane.js:
393         (WebInspector.CallStackSidebarPane.prototype.update):
394         * inspector/front-end/ScriptsPanel.js:
395         (WebInspector.ScriptsPanel):
396         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
397         (WebInspector.ScriptsPanel.prototype._clearInterface):
398         * inspector/front-end/Settings.js:
399         (WebInspector.Settings):
400         * inspector/front-end/inspector.js:
401         (WebInspector.resetFocusElement):
402         (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
403         (WebInspector.createXHRBreakpointsSidebarPane):
404         (WebInspector.set attached):
405
406 2011-03-14  Mikhail Naganov  <mnaganov@chromium.org>
407
408         Reviewed by Pavel Feldman.
409
410         Web Inspector: Factor out binary search algo from the insertionIndexForObjectInListSortedByFunction function.
411         https://bugs.webkit.org/show_bug.cgi?id=56312
412
413         Test: inspector/utilities.html
414
415         * inspector/front-end/utilities.js:
416
417 2011-03-12  Pavel Podivilov  <podivilov@chromium.org>
418
419         Reviewed by Yury Semikhatsky.
420
421         Web Inspector: re-implement xhr breakpoints.
422         https://bugs.webkit.org/show_bug.cgi?id=56252
423
424         - restore xhr breakpoints one by one instead of using setAllBrowserBreakpoints
425         - store xhr breakpoints in a separate setting
426         - move presentation-related code from BreakpointManager to XHRBreakpointsSidebarPane
427
428         Test: inspector/debugger/xhr-breakpoints.html
429
430         * inspector/InspectorBrowserDebuggerAgent.cpp:
431         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
432         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
433         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
434         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
435         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
436         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
437         (WebCore::InspectorBrowserDebuggerAgent::clear):
438         * inspector/InspectorBrowserDebuggerAgent.h:
439         * inspector/front-end/BreakpointManager.js:
440         (WebInspector.BreakpointManager.prototype.setXHRBreakpoint):
441         (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint):
442         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
443         (WebInspector.BreakpointManager.prototype._projectChanged):
444         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
445         (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
446         * inspector/front-end/BreakpointsSidebarPane.js:
447         (WebInspector.XHRBreakpointsSidebarPane):
448         (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing):
449         (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked):
450         (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
451         (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
452         (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint):
453         (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu):
454         (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
455         (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked.finishEditing):
456         (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked):
457         (WebInspector.XHRBreakpointsSidebarPane.prototype.highlightBreakpoint):
458         (WebInspector.XHRBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
459         (WebInspector.XHRBreakpointsSidebarPane.prototype._saveBreakpoints):
460         (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints):
461         (WebInspector.XHRBreakpointsSidebarPane.prototype._projectChanged):
462         * inspector/front-end/CallStackSidebarPane.js:
463         (WebInspector.CallStackSidebarPane.prototype.update):
464         (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit):
465         * inspector/front-end/ScriptsPanel.js:
466         (WebInspector.ScriptsPanel):
467         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
468         (WebInspector.ScriptsPanel.prototype._clearInterface):
469         * inspector/front-end/Settings.js:
470         (WebInspector.Settings):
471         * inspector/front-end/inspector.js:
472         (WebInspector.resetFocusElement):
473         (WebInspector.set attached):
474
475 2011-03-14  Pavel Podivilov  <podivilov@chromium.org>
476
477         Reviewed by Pavel Feldman.
478
479         Web Inspector: move breakpoints restoring to debugger presentation model.
480         https://bugs.webkit.org/show_bug.cgi?id=56123
481
482         DebuggerModel's "breakpoint-added" and "breakpoint-removed" events are gone since
483         setBreakpoint/removeBreakpoint are now called from DPM only.
484
485         * inspector/InspectorDebuggerAgent.cpp:
486         (WebCore::InspectorDebuggerAgent::disable):
487         (WebCore::InspectorDebuggerAgent::enableDebuggerAfterShown):
488         * inspector/front-end/DebuggerModel.js:
489         (WebInspector.DebuggerModel.prototype.enableDebugger):
490         (WebInspector.DebuggerModel.prototype._debuggerWasEnabled):
491         (WebInspector.DebuggerModel.prototype._debuggerWasDisabled):
492         (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
493         (WebInspector.DebuggerModel.prototype.setBreakpoint):
494         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
495         (WebInspector.DebuggerModel.prototype.removeBreakpoint):
496         (WebInspector.DebuggerModel.prototype._breakpointResolved):
497         (WebInspector.DebuggerModel.prototype.reset):
498         (WebInspector.DebuggerDispatcher.prototype.debuggerWasEnabled):
499         (WebInspector.DebuggerDispatcher.prototype.debuggerWasDisabled):
500         * inspector/front-end/DebuggerPresentationModel.js:
501         (WebInspector.DebuggerPresentationModel):
502         (WebInspector.DebuggerPresentationModel.prototype._debuggerWasEnabled):
503         (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
504         (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
505         (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
506         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
507         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
508         (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
509         (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
510         (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
511         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
512         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
513         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
514         (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
515         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
516         (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
517         (WebInspector.DebuggerPresentationModel.prototype.reset):
518         * inspector/front-end/ScriptsPanel.js:
519         (WebInspector.ScriptsPanel):
520         (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
521         (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
522
523 2011-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
524
525         Unreviewed, rolling out r81015.
526         http://trac.webkit.org/changeset/81015
527         https://bugs.webkit.org/show_bug.cgi?id=56308
528
529         A Similar patch landed in r76960 (Requested by philn-tp on
530         #webkit).
531
532         * GNUmakefile.am:
533
534 2011-03-14  Pavel Feldman  <pfeldman@chromium.org>
535
536         Reviewed by Yury Semikhatsky.
537
538         Web Inspector: don't use innerText, use textContent instead.
539         https://bugs.webkit.org/show_bug.cgi?id=56307
540
541         * inspector/front-end/AuditFormatters.js:
542         (WebInspector.AuditFormatters.snippet):
543         * inspector/front-end/ElementsTreeOutline.js:
544         * inspector/front-end/GoToLineDialog.js:
545         * inspector/front-end/HelpScreen.js:
546         (WebInspector.HelpScreen):
547         * inspector/front-end/ShortcutsHelp.js:
548         (WebInspector.ShortcutsSection.prototype.renderSection):
549         (WebInspector.ShortcutsSection.prototype._renderHeader):
550
551 2011-03-14  Andrey Adaikin  <aandrey@google.com>
552
553         Reviewed by Pavel Feldman.
554
555         Web Inspector: [Text editor] Disable live-edit in favor of the text editor
556         https://bugs.webkit.org/show_bug.cgi?id=56176
557
558         * inspector/front-end/Settings.js:
559
560 2011-03-14  Andrey Adaikin  <aandrey@google.com>
561
562         Reviewed by Pavel Feldman.
563
564         Web Inspector: [REGRESSION] scroll does not work in source frame when mouse is inside the gutter
565         https://bugs.webkit.org/show_bug.cgi?id=56095
566
567         * inspector/front-end/TextViewer.js:
568         (WebInspector.TextViewer):
569
570 2011-03-11  Pavel Podivilov  <podivilov@chromium.org>
571
572         Reviewed by Pavel Feldman.
573
574         Web Inspector: move breakpoints restoring after live edit to debugger presentation model.
575         https://bugs.webkit.org/show_bug.cgi?id=56179
576
577         Presentation model should move breakpoints based on text diff as required by "revert to revision" action in resources panel.
578
579         * inspector/front-end/DebuggerModel.js:
580         (WebInspector.DebuggerModel):
581         (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
582         (WebInspector.DebuggerModel.prototype.setBreakpoint):
583         (WebInspector.DebuggerModel.prototype.reset):
584         (WebInspector.DebuggerModel.prototype.editScriptSource.didEditScriptSource):
585         (WebInspector.DebuggerModel.prototype.editScriptSource):
586         (WebInspector.DebuggerModel.prototype.get callFrames):
587         (WebInspector.DebuggerModel.prototype._pausedScript):
588         (WebInspector.DebuggerModel.prototype._resumedScript):
589         * inspector/front-end/DebuggerPresentationModel.js:
590         (WebInspector.DebuggerPresentationModel):
591         (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
592         * inspector/front-end/ScriptsPanel.js:
593         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
594
595 2011-03-10  Alexander Pavlov  <apavlov@chromium.org>
596
597         Reviewed by Pavel Feldman.
598
599         Web Inspector: Optimize backend-frontend data transfer volume for CSS styles
600         https://bugs.webkit.org/show_bug.cgi?id=56111
601
602         This change reduces the getStylesForNode() payload more than twice for BODY elements.
603
604         * inspector/InspectorStyleSheet.cpp:
605         (WebCore::InspectorStyle::populateObjectWithStyleProperties):
606         * inspector/front-end/CSSStyleModel.js:
607         (WebInspector.CSSProperty.parsePayload):
608
609 2011-03-14  John Knottenbelt  <jknotten@chromium.org>
610
611         Reviewed by Steve Block.
612
613         Detach Geolocation from Frame when Page destroyed.
614         https://bugs.webkit.org/show_bug.cgi?id=52877
615
616         On Page destruction, any outstanding Geolocation permission
617         requests should be cancelled, because the Geolocation can only
618         access the client indirectly via m_frame->page().
619
620         Page destruction is signalled by a call to the
621         Frame::pageDestroyed() method. This explictly calls
622         DOMWindow::resetGeolocation which ultimately calls Geolocation::reset.
623
624         Geolocation::reset() detaches from the GeolocationController,
625         cancels requests, watches and single shots, and sets the
626         permission state back to Unknown.
627
628         Frame::pageDestroyed() is also called by FrameLoader even though
629         the page is not destroyed. We should still cancel permission
630         requests, because the GeolocationClient will become inaccessible
631         to the Geolocation object after this call.
632
633         Frame::transferChildFrameToNewDocument also indirectly calls
634         Geolocation::reset when the frame is reparented between
635         pages. Ideally we would like the Geolocation's activities to
636         continue after reparenting, see bug
637         https://bugs.webkit.org/show_bug.cgi?id=55577
638
639         Since GeolocationController is owned by Page, and all Geolocation
640         objects will now unsubscribe from the GeolocationController on
641         pageDetached(), we no longer need to call stopUpdating() from the
642         GeolocationController's destructor. Instead we can simply assert
643         that there should be no no observers. See related bug
644         https://bugs.webkit.org/show_bug.cgi?id=52216 .
645
646         Introduced new method 'numberOfPendingPermissionRequests' on
647         GeolocationClientMock to count the number of outstanding pending
648         permission requests. This provides a reusable implementation for
649         client-based implementations of the LayoutTestController's
650         numberOfPendingGeolocationPermissionRequests method.
651
652         Test: fast/dom/Geolocation/page-reload-cancel-permission-requests.html
653
654         * page/DOMWindow.cpp:
655         (WebCore::DOMWindow::resetGeolocation):
656         * page/DOMWindow.h:
657         * page/Frame.cpp:
658         (WebCore::Frame::pageDestroyed):
659         (WebCore::Frame::transferChildFrameToNewDocument):
660         * page/Geolocation.cpp:
661         (WebCore::Geolocation::~Geolocation):
662         (WebCore::Geolocation::page):
663         (WebCore::Geolocation::reset):
664         (WebCore::Geolocation::disconnectFrame):
665         (WebCore::Geolocation::lastPosition):
666         (WebCore::Geolocation::requestPermission):
667         (WebCore::Geolocation::startUpdating):
668         (WebCore::Geolocation::stopUpdating):
669         * page/Geolocation.h:
670         * page/GeolocationController.cpp:
671         (WebCore::GeolocationController::~GeolocationController):
672         * page/Navigator.cpp:
673         (WebCore::Navigator::resetGeolocation):
674         * page/Navigator.h:
675         * platform/mock/GeolocationClientMock.cpp:
676         (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests):
677         * platform/mock/GeolocationClientMock.h:
678
679 2011-03-14  Andrey Adaikin  <aandrey@google.com>
680
681         Reviewed by Pavel Feldman.
682
683         Web Inspector: REGRESSION: Messed up with the tabIndex for text editor
684         https://bugs.webkit.org/show_bug.cgi?id=56183
685
686         * inspector/front-end/SourceFrame.js:
687         (WebInspector.SourceFrame.prototype._handleKeyDown):
688         (WebInspector.SourceFrame.prototype._handleSave):
689         (WebInspector.SourceFrame.prototype._handleRevertEditing):
690         * inspector/front-end/TextViewer.js:
691         (WebInspector.TextEditorMainPanel):
692         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
693
694 2011-03-14  Chris Rogers  <crogers@google.com>
695
696         Reviewed by Xan Lopez.
697
698         Add all web audio auto-generated files to GTK make system
699         https://bugs.webkit.org/show_bug.cgi?id=50497
700
701         No new tests since these are build-system tweaks.
702
703         * GNUmakefile.am:
704
705 2011-03-14  Pavel Feldman  <pfeldman@chromium.org>
706
707         Reviewed by Yury Semikhatsky.
708
709         Web Inspector: make DOMAgent event target, remove dependency from ElementsPanel.
710         https://bugs.webkit.org/show_bug.cgi?id=56268
711
712         * inspector/Inspector.idl:
713         * inspector/InspectorDOMAgent.cpp:
714         (WebCore::InspectorDOMAgent::reset):
715         (WebCore::InspectorDOMAgent::performSearch):
716         (WebCore::InspectorDOMAgent::cancelSearch):
717         (WebCore::InspectorDOMAgent::onMatchJobsTimer):
718         (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
719         * inspector/InspectorDOMAgent.h:
720         * inspector/front-end/DOMAgent.js:
721         (WebInspector.DOMAgent.prototype.requestDocument.mycallback):
722         (WebInspector.DOMAgent.prototype.requestDocument):
723         (WebInspector.DOMAgent.prototype._attributesUpdated):
724         (WebInspector.DOMAgent.prototype._characterDataModified):
725         (WebInspector.DOMAgent.prototype._documentUpdated):
726         (WebInspector.DOMAgent.prototype._setDocument):
727         (WebInspector.DOMAgent.prototype._childNodeCountUpdated):
728         (WebInspector.DOMAgent.prototype._childNodeInserted):
729         (WebInspector.DOMAgent.prototype._childNodeRemoved):
730         (WebInspector.DOMAgent.prototype._removeBreakpoints):
731         (WebInspector.DOMAgent.prototype.performSearch):
732         (WebInspector.DOMAgent.prototype.cancelSearch):
733         (WebInspector.DOMDispatcher.prototype.searchResults):
734         * inspector/front-end/ElementsPanel.js:
735         (WebInspector.ElementsPanel):
736         (WebInspector.ElementsPanel.prototype._reset):
737         (WebInspector.ElementsPanel.prototype._documentUpdated):
738         (WebInspector.ElementsPanel.prototype.searchCanceled):
739         (WebInspector.ElementsPanel.prototype.performSearch):
740         (WebInspector.ElementsPanel.prototype._addNodesToSearchResult):
741         (WebInspector.ElementsPanel.prototype._attributesUpdated):
742         (WebInspector.ElementsPanel.prototype._characterDataModified):
743         (WebInspector.ElementsPanel.prototype._nodeInserted):
744         (WebInspector.ElementsPanel.prototype._nodeRemoved):
745         (WebInspector.ElementsPanel.prototype._childNodeCountUpdated):
746         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
747
748 2011-03-14  Pavel Feldman  <pfeldman@chromium.org>
749
750         Reviewed by Yury Semikhatsky.
751
752         Web Inspector: add tests for edit dom operations.
753         https://bugs.webkit.org/show_bug.cgi?id=56248
754
755         Test: inspector/elements/edit-dom-actions.html
756
757         * inspector/Inspector.idl:
758         * inspector/InspectorDOMAgent.cpp:
759         (WebCore::InspectorDOMAgent::assertNode):
760         (WebCore::InspectorDOMAgent::assertElement):
761         (WebCore::InspectorDOMAgent::assertHTMLElement):
762         (WebCore::InspectorDOMAgent::nodeToSelectOn):
763         (WebCore::InspectorDOMAgent::querySelector):
764         (WebCore::InspectorDOMAgent::querySelectorAll):
765         (WebCore::InspectorDOMAgent::setAttribute):
766         (WebCore::InspectorDOMAgent::removeAttribute):
767         (WebCore::InspectorDOMAgent::getOuterHTML):
768         (WebCore::InspectorDOMAgent::setOuterHTML):
769         * inspector/InspectorDOMAgent.h:
770         * inspector/front-end/DOMAgent.js:
771         (WebInspector.DOMNode.prototype.setAttribute):
772         (WebInspector.DOMNode.prototype.removeAttribute):
773         * inspector/front-end/inspector.js:
774         (WebInspector.startEditing.defaultFinishHandler):
775
776 2011-03-14  Brady Eidson  <beidson@apple.com>
777
778         Reviewed by Dan Bernstein.
779
780         <rdar://problem/8762095> and https://bugs.webkit.org/show_bug.cgi?id=55172
781         Need WK2 API to view/manage origins with LocalStorage
782
783         * storage/StorageTracker.cpp:
784         (WebCore::StorageTracker::initializeTracker): Make sure the TextEncoding map is initialized on the main thread
785           before the StorageTracker thread can do it on the background thread.
786
787 2011-03-13  Anton D'Auria  <adauria@apple.com>
788
789         Reviewed by Brady Eidson and David Levin, landed by Brady Eidson.
790
791         Fixed lock-taking order to prevent deadlock, added lock for m_client,
792         removed premature return in syncImportOriginIdentifiers when tracker
793         db does not exist because that prevented syncFileSystemAndTrackerDatabase()
794         from running until next LocalStorage db creation, cleaned up
795         StorageTracker::scheduleTask() code for readability.
796         
797         https://bugs.webkit.org/show_bug.cgi?id=56285
798         
799         * storage/StorageTracker.cpp:
800         (WebCore::StorageTracker::trackerDatabasePath):
801         (WebCore::StorageTracker::syncImportOriginIdentifiers): If tracker db isn't
802         optionally opened (as in the case when it doesn't exist on disk), don't
803         exit early and call syncFileSystemAndTrackerDatabase(), which will create
804         a tracker db if localstorage db files are found on disk by calling setOriginDetails.
805         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
806         (WebCore::StorageTracker::setOriginDetails):
807         (WebCore::StorageTracker::scheduleTask): readability changes.
808         (WebCore::StorageTracker::syncSetOriginDetails):
809         (WebCore::StorageTracker::syncDeleteAllOrigins):
810         (WebCore::StorageTracker::syncDeleteOrigin):
811         (WebCore::StorageTracker::cancelDeletingOrigin): order lock-taking consistently to avoid deadlock.
812         (WebCore::StorageTracker::setClient):
813         * storage/StorageTracker.h:
814
815 2011-03-13  Anton D'Auria  <adauria@apple.com>
816
817         Reviewed and landed by Brady Eidson.
818
819         Invalid assertion in StorageTracker - PageGroup::numberOfPageGroups() == 1
820         https://bugs.webkit.org/show_bug.cgi?id=56240
821
822         This assertion is invalid until LocalStorage is either global or is isolated by PageGroup.
823
824         * storage/StorageTracker.cpp:
825         (WebCore::StorageTracker::origins):
826         (WebCore::StorageTracker::deleteAllOrigins):
827         (WebCore::StorageTracker::deleteOrigin):
828
829 2011-03-13  Pratik Solanki  <psolanki@apple.com>
830
831         Reviewed by Dan Bernstein.
832
833         Make adjustMIMETypeIfNecessary use CFNetwork directly
834         https://bugs.webkit.org/show_bug.cgi?id=55912
835
836         Follow up fix for Layout Test failure. Fix typo - it should be text/plain, not test/plain.
837
838         * platform/network/mac/WebCoreURLResponse.mm:
839         (WebCore::adjustMIMETypeIfNecessary):
840
841 2011-03-13  Dan Bernstein  <mitz@apple.com>
842
843         Reviewed by Sam Weinig.
844
845         Include hyphenation information in text representation of render tree
846         https://bugs.webkit.org/show_bug.cgi?id=56287
847
848         (WebCore::writeTextRun): If the text box is hyphenated, output the hyphenation
849         string.
850
851 2011-03-13  David Levin  <levin@chromium.org>
852
853         Improve my hasitly added build fix and added a bug https://bugs.webkit.org/show_bug.cgi?id=56288
854         above addressing this FIXME.
855
856         * css/CSSStyleSelector.cpp:
857         (WebCore::CSSStyleSelector::applyProperty):
858
859 2011-03-13  David Levin  <levin@chromium.org>
860
861         Build fix adding remaining enum values to switch statement.
862
863         * css/CSSStyleSelector.cpp:
864         (WebCore::CSSStyleSelector::applyProperty):
865
866 2011-03-13  Sam Weinig  <sam@webkit.org>
867
868         Fix windows build.
869
870         * platform/network/cf/ResourceErrorCF.cpp:
871         (WebCore::ResourceError::ResourceError):
872         Add missing constructor.
873
874 2011-03-13  David Sosby  <dsosby@rim.com>
875
876         Reviewed by Dan Bernstein.
877
878         REGRESSION: Soft hyphen is not always rendered
879         https://bugs.webkit.org/show_bug.cgi?id=56017
880         
881         The check to flag a text block as hyphenated was only
882         occurring at break points in the line. If no break points
883         were found after the soft hyphen then the line would not
884         be flagged hyphenated. Adding a check for soft hyphen at
885         the end of the text run resolves the issue.
886
887         Test: fast/text/soft-hyphen-4.html
888
889         * rendering/RenderBlockLineLayout.cpp:
890         (WebCore::RenderBlock::findNextLineBreak):
891
892 2011-03-13  Dan Bernstein  <mitz@apple.com>
893
894         Reviewed by Mark Rowe.
895
896         REGRESSION (r80438): fast/text/hyphenate-character failing in pixel mode
897         https://bugs.webkit.org/show_bug.cgi?id=56280
898
899         * rendering/RenderBlockLineLayout.cpp:
900         (WebCore::tryHyphenating): Avoid subtracting 1 from an unsigned 0.
901
902 2011-03-13  Sam Weinig  <sam@webkit.org>
903
904         Reviewed by Anders Carlsson.
905
906         Add ability to create a WKErrorRef
907         <rdar://problem/9115768>
908         https://bugs.webkit.org/show_bug.cgi?id=56279
909
910         * WebCore.exp.in:
911         Add new exports.
912
913         * platform/network/cf/ResourceError.h:
914         * platform/network/cf/ResourceErrorCF.cpp:
915         (WebCore::ResourceError::platformCompare):
916         (WebCore::ResourceError::cfError):
917         (WebCore::ResourceError::operator CFErrorRef):
918         (WebCore::ResourceError::ResourceError):
919         (WebCore::ResourceError::cfStreamError):
920         (WebCore::ResourceError::operator CFStreamError):
921         * platform/network/mac/ResourceErrorMac.mm:
922         (WebCore::ResourceError::ResourceError):
923         (WebCore::ResourceError::platformCompare):
924         (WebCore::ResourceError::nsError):
925         (WebCore::ResourceError::operator NSError *):
926         (WebCore::ResourceError::cfError):
927         (WebCore::ResourceError::operator CFErrorRef):
928         Clean up ResourceError a bit and add ability to create a ResourceError from a CFErrorRef
929         regardless of whether CFNetwork is being used.
930
931 2011-03-13  Pratik Solanki  <psolanki@apple.com>
932
933         Reviewed by Brady Eidson.
934
935         Make adjustMIMETypeIfNecessary use CFNetwork directly
936         https://bugs.webkit.org/show_bug.cgi?id=55912
937
938         Convert category method [NSURLResponse adjustMIMETypeIfNecessary] to C function
939         WebCore::adjustMIMETypeIfNecessary() that takes a CFURLResponseRef and is functionally
940         identical.
941
942         Testing is covered by existing LayoutTests.
943
944         * WebCore.exp.in:
945         * platform/mac/WebCoreSystemInterface.h:
946         * platform/mac/WebCoreSystemInterface.mm:
947         * platform/network/mac/ResourceHandleMac.mm:
948         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
949         * platform/network/mac/WebCoreURLResponse.h:
950         * platform/network/mac/WebCoreURLResponse.mm:
951         (WebCore::createBinaryExtensionsSet):
952         (WebCore::createExtensionToMIMETypeMap):
953         (WebCore::mimeTypeFromUTITree):
954         (WebCore::adjustMIMETypeIfNecessary):
955
956 2011-03-13  Jeremy Moskovich  <jeremy@chromium.org>
957
958         Reviewed by Dimitri Glazkov.
959
960         Update comment in CSSValueKeywords.in
961         https://bugs.webkit.org/show_bug.cgi?id=56266
962
963         The enums the comment refers to were moved from RenderStyle.h to RenderStyleConstants.h
964         in r36579 but it appears that the comment in CSSValueKeywords.in wasn't updated.
965
966         No tests - just updating a comment.
967
968         * css/CSSValueKeywords.in:
969
970 2011-03-13  Anton D'Auria  <adauria@apple.com>
971
972         Reviewed by Alice Liu.
973
974         StorageTracker constructor shouldn't have initialization code and isMainThread() assertion
975         https://bugs.webkit.org/show_bug.cgi?id=56259
976
977         Move all StorageTracker initialization to
978         StorageTracker::initializeTracker. This also removes the
979         requirement that the StorageTracker constructor isn't run
980         on the main thread.
981
982         * storage/StorageTracker.cpp:
983         (WebCore::StorageTracker::initializeTracker):
984         (WebCore::StorageTracker::tracker):
985         (WebCore::StorageTracker::StorageTracker):
986
987 2011-03-13  Rob Buis  <rwlbuis@gmail.com>
988
989         Reviewed by Dave Hyatt.
990
991         REGRESSION (r61383): Navigation menu laid out incorrectly on aboardtheworld.com
992         https://bugs.webkit.org/show_bug.cgi?id=53470
993
994         Prefer !important over normal properties when dealing with duplicate properties in style rules.
995
996         Test: fast/css/duplicate-property-in-rule-important.html
997
998         * css/CSSMutableStyleDeclaration.cpp:
999         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
1000
1001 2011-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1002
1003         Unreviewed, rolling out r80895.
1004         http://trac.webkit.org/changeset/80895
1005         https://bugs.webkit.org/show_bug.cgi?id=56261
1006
1007         Causing crashes in several tests including
1008         t1202-counters-16-c.html (see
1009         http://build.webkit.org/results/SnowLeopard%20Intel%20Leaks/r80956%20(15528)/results.html)
1010         (Requested by dave_levin on #webkit).
1011
1012         * rendering/CounterNode.cpp:
1013         (WebCore::CounterNode::CounterNode):
1014         (WebCore::CounterNode::create):
1015         (WebCore::CounterNode::resetRenderer):
1016         (WebCore::CounterNode::resetRenderers):
1017         (WebCore::CounterNode::recount):
1018         (WebCore::CounterNode::insertAfter):
1019         (WebCore::CounterNode::removeChild):
1020         (WebCore::showTreeAndMark):
1021         * rendering/CounterNode.h:
1022         (WebCore::CounterNode::renderer):
1023         * rendering/RenderCounter.cpp:
1024         (WebCore::findPlaceForCounter):
1025         (WebCore::RenderCounter::~RenderCounter):
1026         (WebCore::RenderCounter::originalText):
1027         (WebCore::RenderCounter::invalidate):
1028         (WebCore::destroyCounterNodeWithoutMapRemoval):
1029         (WebCore::RenderCounter::destroyCounterNodes):
1030         (WebCore::RenderCounter::destroyCounterNode):
1031         (WebCore::updateCounters):
1032         (showCounterRendererTree):
1033         * rendering/RenderCounter.h:
1034         * rendering/RenderObjectChildList.cpp:
1035         (WebCore::invalidateCountersInContainer):
1036         (WebCore::RenderObjectChildList::invalidateCounters):
1037         * rendering/RenderObjectChildList.h:
1038
1039 2011-03-12  Darin Adler  <darin@apple.com>
1040
1041         Reviewed by Dan Bernstein.
1042
1043         REGRESSION (r76474): IntegerArray hash hashes only 1/4 of the array
1044         https://bugs.webkit.org/show_bug.cgi?id=56258
1045
1046         No tests because the wrong hashing is mostly harmless. The only symptom
1047         we have seen is an occasional assertion in debug builds about the size
1048         not being a multiple of two. But a worse hash is worse for performance too.
1049
1050         * platform/cf/BinaryPropertyList.cpp:
1051         (WebCore::IntegerArrayHash::hash): Pass in the size in bytes rather
1052         than the number of array entries.
1053
1054 2011-03-12  Cameron Zwarich  <zwarich@apple.com>
1055
1056         Not reviewed.
1057
1058         Fix the build with newer GCCs and remove some extra whitespae.
1059
1060         * bindings/js/SerializedScriptValue.cpp:
1061         (WebCore::uint8_t):
1062
1063 2011-03-12  Cameron Zwarich  <zwarich@apple.com>
1064
1065         Rubber-stamped by Oliver Hunt.
1066
1067         Removed unused ARMv5 code. The ARMv5 case now falls under the general
1068         unaligned accessed case.
1069
1070         * bindings/js/SerializedScriptValue.cpp:
1071         (WebCore::CloneDeserializer::readLittleEndian):
1072         (WebCore::CloneDeserializer::readString):
1073
1074 2011-03-12  Cameron Zwarich  <zwarich@apple.com>
1075
1076         Reviewed by Oliver Hunt.
1077
1078         WebCore fails to build with Clang on ARM
1079         https://bugs.webkit.org/show_bug.cgi?id=56257
1080
1081         Add an explicit instantiation of writeLittleEndian for uint8_t and move it to
1082         namespace scope, since explicit specializations are not allowed at class scope.
1083
1084         * bindings/js/SerializedScriptValue.cpp:
1085         (WebCore::writeLittleEndian):
1086
1087 2011-03-11  Darin Adler  <darin@apple.com>
1088
1089         Reviewed by Sam Weinig.
1090
1091         Dragging image to desktop gives webloc instead of image file in WebKit2
1092         https://bugs.webkit.org/show_bug.cgi?id=56193
1093
1094         * WebCore.exp.in: Added some additional exports. Re-sorted.
1095
1096 2011-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
1097
1098         Unreviewed, rolling out r80919.
1099         http://trac.webkit.org/changeset/80919
1100         https://bugs.webkit.org/show_bug.cgi?id=56251
1101
1102         all windows bots failed to compile this change (Requested by
1103         loislo on #webkit).
1104
1105         * bridge/c/c_class.cpp:
1106         * bridge/c/c_runtime.cpp:
1107         * bridge/jni/JavaMethod.cpp:
1108         * plugins/PluginViewNone.cpp:
1109
1110 2011-03-12  Patrick Gansterer  <paroga@webkit.org>
1111
1112         Unreviewed WinCE build fix for r80900.
1113
1114         * CMakeListsWinCE.txt: Removed IconDatabaseNone.cpp.
1115
1116 2011-03-12  Andras Becsi  <abecsi@webkit.org>
1117
1118         Unreviewed typo fix.
1119
1120         No new tests needed.
1121
1122         * WebCore.pro: Fix typo in header name.
1123
1124 2011-03-12  Pavel Feldman  <pfeldman@chromium.org>
1125
1126         Not reviewed: Inspect Element action regression fix.
1127
1128         * inspector/front-end/inspector.js:
1129         (WebInspector.inspect):
1130
1131 2011-03-12  Ilya Tikhonovsky  <loislo@chromium.org>
1132
1133         Unreviewed. One line fix for inspector/dom-breakpoints.html
1134
1135         * inspector/front-end/BreakpointManager.js:
1136         (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement.decorateNode):
1137
1138 2011-03-12  Ilya Tikhonovsky  <loislo@chromium.org>
1139
1140         Unreviewed build fix.
1141
1142         Almost all inspector tests are crashing after r80928.
1143
1144         * inspector/front-end/inspector.js:
1145
1146 2011-03-11  Pavel Feldman  <pfeldman@chromium.org>
1147
1148         Reviewed by Yury Semikhatsky.
1149
1150         Web Inspector: follow up to error reporting, fixing multiple regressions.
1151         https://bugs.webkit.org/show_bug.cgi?id=56243
1152
1153         * inspector/InjectedScript.cpp:
1154         (WebCore::InjectedScript::setPropertyValue):
1155         * inspector/InjectedScript.h:
1156         * inspector/Inspector.idl:
1157         * inspector/InspectorDOMAgent.cpp:
1158         (WebCore::InspectorDOMAgent::getChildNodes):
1159         (WebCore::InspectorDOMAgent::getOuterHTML):
1160         (WebCore::InspectorDOMAgent::getEventListenersForNode):
1161         * inspector/InspectorDOMAgent.h:
1162         * inspector/InspectorRuntimeAgent.cpp:
1163         (WebCore::InspectorRuntimeAgent::setPropertyValue):
1164         * inspector/InspectorRuntimeAgent.h:
1165         * inspector/front-end/DOMAgent.js:
1166         (WebInspector.DOMNode.prototype.setNodeName):
1167         (WebInspector.DOMNode.prototype.setNodeValue):
1168         (WebInspector.DOMNode.prototype.getChildNodes):
1169         (WebInspector.DOMNode.prototype.getOuterHTML):
1170         (WebInspector.DOMNode.prototype.setOuterHTML):
1171         (WebInspector.DOMNode.prototype.removeNode):
1172         (WebInspector.DOMNode.prototype.copyNode):
1173         (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
1174         (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
1175         (WebInspector.EventListeners.getEventListenersForNode):
1176         * inspector/front-end/DOMStorage.js:
1177         (WebInspector.DOMStorage.prototype.getEntries):
1178         (WebInspector.DOMStorage.prototype.setItem):
1179         (WebInspector.DOMStorage.prototype.removeItem):
1180         * inspector/front-end/DOMStorageItemsView.js:
1181         (WebInspector.DOMStorageItemsView.prototype.update):
1182         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
1183         * inspector/front-end/ElementsTreeOutline.js:
1184         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
1185         (WebInspector.ElementsTreeElement.prototype.updateChildren):
1186         ():
1187         * inspector/front-end/EventListenersSidebarPane.js:
1188         (WebInspector.EventListenersSidebarPane.prototype.update.callback):
1189         (WebInspector.EventListenersSidebarPane.prototype.update):
1190         * inspector/front-end/ObjectPropertiesSection.js:
1191         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression.callback):
1192         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
1193         * inspector/front-end/PropertiesSidebarPane.js:
1194         (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
1195         * inspector/front-end/RemoteObject.js:
1196         (WebInspector.RemoteObject.prototype.setPropertyValue):
1197         (WebInspector.RemoteObject.prototype.evaluate):
1198         * inspector/front-end/inspector.js:
1199
1200 2011-03-12  Jer Noble  <jer.noble@apple.com>
1201
1202         Unreviewed build fix.
1203
1204         Fix GTK+ builds by wrapping sections of full screen code in USE(ACCELERATED_COMPOSITING)
1205         checks.
1206
1207         * dom/Document.cpp:
1208         (WebCore::Document::webkitWillEnterFullScreenForElement):
1209         (WebCore::Document::webkitDidEnterFullScreenForElement):
1210         (WebCore::Document::webkitWillExitFullScreenForElement):
1211         (WebCore::Document::webkitDidExitFullScreenForElement):
1212
1213 2011-03-12  Ryuan Choi  <ryuan.choi@samsung.com>
1214
1215         Unreviewed build fix.
1216
1217         [EFL] Fix build break because of several reason.
1218         https://bugs.webkit.org/show_bug.cgi?id=56244
1219
1220         * CMakeLists.txt: Add missing files.
1221         * platform/posix/FileSystemPOSIX.cpp: Add PLATFORM(EFL).
1222
1223 2011-03-11  Yury Semikhatsky  <yurys@chromium.org>
1224
1225         Reviewed by Pavel Feldman.
1226
1227         Web Inspector: move profiler related methods from inspector agent to profiler agent
1228         https://bugs.webkit.org/show_bug.cgi?id=56204
1229
1230         * inspector/Inspector.idl:
1231         * inspector/InspectorAgent.cpp:
1232         (WebCore::InspectorAgent::InspectorAgent):
1233         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1234         (WebCore::InspectorAgent::setFrontend):
1235         (WebCore::InspectorAgent::disconnectFrontend):
1236         (WebCore::InspectorAgent::populateScriptObjects):
1237         (WebCore::InspectorAgent::showProfilesPanel):
1238         * inspector/InspectorAgent.h:
1239         * inspector/InspectorController.cpp:
1240         (WebCore::InspectorController::enableProfiler):
1241         (WebCore::InspectorController::disableProfiler):
1242         (WebCore::InspectorController::profilerEnabled):
1243         (WebCore::InspectorController::startUserInitiatedProfiling):
1244         (WebCore::InspectorController::stopUserInitiatedProfiling):
1245         (WebCore::InspectorController::isRecordingUserInitiatedProfile):
1246         * inspector/InspectorInstrumentation.cpp:
1247         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
1248         * inspector/InspectorProfilerAgent.cpp:
1249         (WebCore::InspectorProfilerAgent::create):
1250         (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
1251         (WebCore::InspectorProfilerAgent::enable):
1252         (WebCore::InspectorProfilerAgent::disable):
1253         (WebCore::InspectorProfilerAgent::setFrontend):
1254         (WebCore::InspectorProfilerAgent::clearFrontend):
1255         (WebCore::InspectorProfilerAgent::restore):
1256         (WebCore::InspectorProfilerAgent::restoreEnablement):
1257         (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
1258         (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
1259         * inspector/InspectorProfilerAgent.h:
1260         (WebCore::InspectorProfilerAgent::start):
1261         (WebCore::InspectorProfilerAgent::stop):
1262         * inspector/front-end/ProfileView.js:
1263         (WebInspector.CPUProfileType.prototype.buttonClicked):
1264         * inspector/front-end/ProfilesPanel.js:
1265         (WebInspector.ProfilesPanel):
1266         (WebInspector.ProfilesPanel.prototype._registerProfileType):
1267         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
1268         * inspector/front-end/inspector.js:
1269         (WebInspector._createPanels):
1270
1271 2011-03-11  Jer Noble  <jer.noble@apple.com>
1272
1273         Reviewed by Anders Carlsson.
1274
1275         WebCore::Document should notify ChromeClient when the full screen renderer's backing changes.
1276         https://bugs.webkit.org/show_bug.cgi?id=56226
1277
1278         * dom/Document.cpp:
1279         (WebCore::Document::webkitWillEnterFullScreenForElement): Call setRootFullScreenLayer().
1280         (WebCore::Document::webkitDidEnterFullScreenForElement): Ditto.
1281         (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
1282         (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
1283         (WebCore::Document::setFullScreenRendererSize): Layout after setting the renderer's size.
1284
1285 2011-03-11  Jer Noble  <jer.noble@apple.com>
1286
1287         Reviewed by Anders Carlsson.
1288
1289         Create new interface stubs to support full screen mode in WebKit2.
1290
1291         WebKit2: Plumb new full screen animation APIs through WebKit2.
1292         https://bugs.webkit.org/show_bug.cgi?id=55993
1293
1294         * page/ChromeClient.h:
1295         (WebCore::ChromeClient::setRootFullScreenLayer): Added.
1296
1297 2011-03-11  Oliver Hunt  <oliver@apple.com>
1298
1299         Reviewed by Gavin Barraclough.
1300
1301         Ensure all values are correctly tagged in the registerfile
1302         https://bugs.webkit.org/show_bug.cgi?id=56214
1303
1304         Make sure everything builds still.
1305
1306         * bridge/c/c_class.cpp:
1307         * bridge/c/c_runtime.cpp:
1308         * bridge/jni/JavaMethod.cpp:
1309         * plugins/PluginViewNone.cpp:
1310
1311 2011-03-11  Mark Rowe  <mrowe@apple.com>
1312
1313         Fix the 32-bit build.
1314
1315         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1316         (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
1317
1318 2011-03-11  Mark Rowe  <mrowe@apple.com>
1319
1320         Rubber-stamped by Eric Carlsson.
1321
1322         <rdar://problem/9124537> Crashes during layout tests due to overrelease of AVFoundation objects.
1323
1324         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
1325         (WebCore::MediaPlayerPrivateAVFoundationObjC::createContextVideoRenderer):
1326         (WebCore::MediaPlayerPrivateAVFoundationObjC::setAsset):
1327
1328 2011-03-11  Chris Marrin  <cmarrin@apple.com>
1329
1330         Unreviewed.
1331
1332         Fixes an error with the checkin for https://bugs.webkit.org/show_bug.cgi?id=52468
1333
1334         * platform/graphics/ca/GraphicsLayerCA.cpp:
1335         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
1336
1337 2011-03-11  Brady Eidson  <beidson@apple.com>
1338
1339         Attempted Qt build fix for https://bugs.webkit.org/show_bug.cgi?id=56216
1340
1341         * loader/icon/IconDatabase.h: Make this guy public.
1342
1343 2011-03-11  Brady Eidson  <beidson@apple.com>
1344
1345         Attempted Qt build fix for https://bugs.webkit.org/show_bug.cgi?id=56216
1346
1347         * loader/icon/IconDatabase.h:
1348         (WebCore::IconDatabase::delayDatabaseCleanup): Maybe Qt has Icon Database disabled, so we need to define this here?
1349
1350 2011-03-11  Brady Eidson  <beidson@apple.com>
1351
1352         https://bugs.webkit.org/show_bug.cgi?id=56216
1353         Fix the Qt build following the same pattern of the patch.
1354
1355         * loader/icon/IconDatabase.h:
1356         * loader/icon/IconDatabaseBase.cpp:
1357         (WebCore::IconDatabaseBase::databasePath): Added to the virtual base.
1358         * loader/icon/IconDatabaseBase.h:
1359         (WebCore::IconDatabaseBase::isOpen): Ditto.
1360
1361 2011-03-11  Ben Taylor  <bentaylor.solx86@gmail.com>
1362
1363         Reviewed by Alexey Proskuryakov.
1364
1365         https://bugs.webkit.org/show_bug.cgi?id=56198
1366         Fix conditional which had an int for one case and a pointer for another.
1367
1368         No new tests. Fix compilation on Solaris 10 with SunStudio 12 C++
1369
1370         * loader/appcache/ApplicationCacheGroup.cpp:
1371         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
1372
1373 2011-03-11  Brady Eidson  <beidson@apple.com>
1374
1375         Windows build fix.
1376
1377         * history/HistoryItem.cpp:
1378         * loader/icon/IconDatabaseBase.cpp:
1379
1380 2011-03-11  Brady Eidson  <beidson@apple.com>
1381
1382         Reviewed by Sam Weinig.
1383
1384         <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56216
1385         Rework disabled IconDatabase builds while allowing for a pluggable icon database implementation.
1386
1387         Project file stuff:
1388         * Android.mk:
1389         * CMakeLists.txt:
1390         * GNUmakefile.am:
1391         * WebCore.gyp/WebCore.gyp:
1392         * WebCore.gypi:
1393         * WebCore.pro:
1394         * WebCore.xcodeproj/project.pbxproj:
1395         * WebCore.vcproj/WebCore.vcproj:
1396
1397         * loader/icon/IconDatabase.cpp:
1398         * loader/icon/IconDatabase.h: Inherit from IconDatabaseBase.
1399
1400         * loader/icon/IconDatabaseBase.cpp: Added.
1401         (WebCore::IconDatabaseBase::iconURLForPageURL):
1402         (WebCore::iconDatabase):
1403         (WebCore::setGlobalIconDatabase):
1404         * loader/icon/IconDatabaseBase.h: Added.
1405         (WebCore::IconDatabaseBase::IconDatabaseBase):
1406         (WebCore::IconDatabaseBase::~IconDatabaseBase):
1407         (WebCore::IconDatabaseBase::setEnabled):
1408         (WebCore::IconDatabaseBase::isEnabled):
1409         (WebCore::IconDatabaseBase::defaultIcon):
1410         (WebCore::IconDatabaseBase::retainIconForPageURL):
1411         (WebCore::IconDatabaseBase::releaseIconForPageURL):
1412         (WebCore::IconDatabaseBase::iconForPageURL):
1413         (WebCore::IconDatabaseBase::setIconURLForPageURL):
1414         (WebCore::IconDatabaseBase::setIconDataForIconURL):
1415         (WebCore::IconDatabaseBase::iconDataKnownForIconURL):
1416         (WebCore::IconDatabaseBase::loadDecisionForIconURL):
1417         (WebCore::IconDatabaseBase::pageURLMappingCount):
1418         (WebCore::IconDatabaseBase::retainedPageURLCount):
1419         (WebCore::IconDatabaseBase::iconRecordCount):
1420         (WebCore::IconDatabaseBase::iconRecordCountWithData):
1421         (WebCore::IconDatabaseBase::importIconURLForPageURL):
1422         (WebCore::IconDatabaseBase::importIconDataForIconURL):
1423         (WebCore::IconDatabaseBase::shouldStopThreadActivity):
1424         (WebCore::IconDatabaseBase::open):
1425         (WebCore::IconDatabaseBase::close):
1426         (WebCore::IconDatabaseBase::removeAllIcons):
1427         (WebCore::IconDatabaseBase::setPrivateBrowsingEnabled):
1428         (WebCore::IconDatabaseBase::setClient):
1429
1430         * loader/icon/IconDatabaseNone.cpp: Removed.
1431
1432 2011-03-11  Brady Eidson  <beidson@apple.com>
1433
1434         Attempt at a build-fix for https://bugs.webkit.org/show_bug.cgi?id=51878
1435
1436         * page/PageGroup.h: Declare this method, even if the definition will end up being empty.
1437
1438 2011-03-11  Michael Nordman  <michaeln@google.com>
1439
1440         Reviewed by Dmitry Titov.
1441
1442         Adding the '~' to the dtor (duh).
1443
1444         No new tests.
1445
1446         * storage/SQLCallbackWrapper.h:
1447         (WebCore::SQLCallbackWrapper::~SQLCallbackWrapper):
1448
1449 2011-03-11  Carol Szabo  <carol.szabo@nokia.com>
1450
1451         Reviewed by David Hyatt.
1452
1453         Introduced double linkage between a CounterNode and its display renderer.
1454
1455         use of freed pointer in WebCore::RenderCounter::originalText()
1456         https://bugs.webkit.org/show_bug.cgi?id=56065
1457
1458         No new tests. This bug could only be reproduced manually by
1459         refreshing the page during load at a critical point.
1460         See bug attachment for testing.
1461
1462         * rendering/CounterNode.cpp:
1463         Introduced new member "m_owner" to store the renderer that has the
1464         style directives that produce the CounterNode.
1465         Repurposed m_renderer to reffer to the RenderCounter that shows the
1466         CounterNode.
1467         (WebCore::CounterNode::CounterNode):
1468         Updated member initialization.
1469         (WebCore::CounterNode::create):
1470         (WebCore::CounterNode::resetRenderer):
1471         (WebCore::CounterNode::resetRenderers):
1472         (WebCore::CounterNode::recount):
1473         (WebCore::CounterNode::removeChild):
1474         (WebCore::CounterNode::insertAfter):
1475         No functional changes.
1476         (WebCore::showTreeAndMark):
1477         Added flushing to ensure that the output is complete.
1478         * rendering/CounterNode.h:
1479         (WebCore::CounterNode::owner):
1480         Renamed from renderer()
1481         (WebCore::CounterNode::renderer):
1482         (WebCore::CounterNode::setRenderer):
1483         Added new accessors for the display renderer.
1484         * rendering/RenderCounter.cpp:
1485         (WebCore::findPlaceForCounter):
1486         Fixed comments. No functional changes.
1487         (WebCore::RenderCounter::~RenderCounter):
1488         Made sure that the CounterNode that this renderers displays is
1489         detached from this.
1490         (WebCore::RenderCounter::originalText):
1491         (WebCore::RenderCounter::invalidate):
1492         Added code to update m_renderer on the displayed CounterNode.
1493         (WebCore::destroyCounterNodeWithoutMapRemoval):
1494         (WebCore::RenderCounter::destroyCounterNodes):
1495         (WebCore::RenderCounter::destroyCounterNode):
1496         (WebCore::updateCounters):
1497         No change, just kept code in line with the changes above.
1498         (showCounterRendererTree):
1499         Added fflush to ensure complete display.
1500         * rendering/RenderCounter.h:
1501         * rendering/RenderObjectChildList.cpp:
1502         * rendering/RenderObjectChildList.h:
1503         Removed unneeded invalidateCounters related functions.
1504
1505 2011-03-11  Luke Macpherson   <macpherson@chromium.org>
1506
1507         Reviewed by Eric Seidel.
1508
1509         Introduce lookup-table based approach for applying CSS properties.
1510         The aim is to be a starting point for refactoring
1511         CSSStyleSelector::applyProperty() into more readable, maintainable code.
1512         https://bugs.webkit.org/show_bug.cgi?id=54707
1513
1514         No new behavior / covered by existing tests.
1515
1516         * css/CSSStyleApplyProperty.cpp: Added.
1517         (WebCore::ApplyPropertyNull):
1518         Class that provides empty implementations of inherit, initial, value.
1519         (WebCore::ApplyPropertyDefault::ApplyPropertyDefault):
1520         Class that calls the appropriate RenderStyle setters directly.
1521         (WebCore::ApplyPropertyColorBase::ApplyPropertyColorBase):
1522         Class for handling CSSProperty*Color.
1523         (WebCore::ApplyPropertyColor::ApplyPropertyColor):
1524         Class for handling CSSPropertyColor.
1525         (WebCore::CSSStyleApplyProperty::sharedCSSStyleApplyProperty):
1526         Singleton initializer.
1527         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1528         Constructor that bulds up the map from property id to apply-er objects.
1529         * css/CSSStyleApplyProperty.h: Added.
1530         (WebCore::CSSStyleApplyProperty::inherit):
1531         Handle the inherit case for a given property.
1532         (WebCore::CSSStyleApplyProperty::initial):
1533         Handle the initial case for a given property.
1534         (WebCore::CSSStyleApplyProperty::value):
1535         Apply a value to a given property.
1536         (WebCore::CSSStyleApplyProperty::implements):
1537         Returns true if the provided property id is implemented.
1538         (WebCore::CSSStyleApplyProperty::index):
1539         Private function to determine the index of a property the property map.
1540         (WebCore::CSSStyleApplyProperty::valid):
1541         Function to determine that a given property id is valid.
1542         (WebCore::CSSStyleApplyProperty::setPropertyValue):
1543         (WebCore::CSSStyleApplyProperty::propertyValue):
1544         * css/CSSStyleSelector.cpp:
1545         (WebCore::CSSStyleSelector::CSSStyleSelector):
1546         Get reference to the CSSStyleApplyProperty singleton.
1547         (WebCore::CSSStyleSelector::applyProperty):
1548         Now calls into CSSStyleApplyProperty for implemented property ids.
1549         Deleted color-related methods from the property id switch.
1550         * css/CSSStyleSelector.h:
1551         (WebCore::CSSStyleSelector::style):
1552         Made public to allow access from CSSStyleApplyProperty.
1553         (WebCore::CSSStyleSelector::parentStyle):
1554         Made public to allow access from CSSStyleApplyProperty.
1555         * rendering/style/RenderStyle.h:
1556         Made CSSStyleApplyProperty a friend class. Necessary because it needs
1557         to access the private getters and setters on this clsass.
1558
1559 2011-03-11  Anton D'Auria  <adauria@apple.com>
1560
1561         Reviewed and landed by Brady Eidson.
1562
1563         Add WebKit1 API to view and delete local storage
1564         https://bugs.webkit.org/show_bug.cgi?id=51878
1565
1566         Created StorageTracker as a central point for tracking and deleting LocalStorage per origin.
1567         StorageTracker maintains its own database of origin identifiers and backing db paths,
1568         and this allows it to contain more relational data in the future, like variable quotas per origin.
1569
1570         On initialization, StorageTracker syncs its database with LocalStorage files on disk. It adds
1571         an origin entry when StorageAreaSync performs a first sync for an origin.
1572
1573         All StorageTracker file operations are performed on one background thread with a task queue.
1574
1575         Tests: storage/domstorage/localstorage/storagetracker/storage-tracker-1-prepare.html
1576                storage/domstorage/localstorage/storagetracker/storage-tracker-2-create.html
1577                storage/domstorage/localstorage/storagetracker/storage-tracker-3-delete-all.html
1578                storage/domstorage/localstorage/storagetracker/storage-tracker-4-create.html
1579                storage/domstorage/localstorage/storagetracker/storage-tracker-5-delete-one.html
1580
1581         * GNUmakefile.am:
1582         * WebCore.exp.in:
1583         * WebCore.gypi:
1584         * WebCore.pro:
1585         * WebCore.vcproj/WebCore.vcproj:
1586         * WebCore.xcodeproj/project.pbxproj:
1587         * page/PageGroup.cpp:
1588         (WebCore::PageGroup::clearLocalStorageForAllOrigins):
1589         (WebCore::PageGroup::clearLocalStorageForOrigin):
1590         (WebCore::PageGroup::syncLocalStorage):
1591         (WebCore::PageGroup::numberOfPageGroups):
1592         * page/PageGroup.h:
1593         * platform/chromium/FileSystemChromium.cpp:
1594         (WebCore::listDirectory):
1595         * platform/posix/FileSystemPOSIX.cpp:
1596         (WebCore::listDirectory):
1597         * storage/LocalStorageTask.cpp:
1598         (WebCore::LocalStorageTask::LocalStorageTask):
1599         (WebCore::LocalStorageTask::performTask):
1600         * storage/LocalStorageTask.h:
1601         (WebCore::LocalStorageTask::createOriginIdentifiersImport):
1602         (WebCore::LocalStorageTask::createSetOriginDetails):
1603         (WebCore::LocalStorageTask::createDeleteOrigin):
1604         (WebCore::LocalStorageTask::createDeleteAllOrigins):
1605         * storage/StorageAreaImpl.cpp:
1606         (WebCore::StorageAreaImpl::clearForOriginDeletion):
1607         (WebCore::StorageAreaImpl::sync):
1608         * storage/StorageAreaImpl.h:
1609         * storage/StorageAreaSync.cpp:
1610         (WebCore::StorageAreaSync::scheduleCloseDatabase):
1611         (WebCore::StorageAreaSync::openDatabase):
1612         (WebCore::StorageAreaSync::sync):
1613         (WebCore::StorageAreaSync::deleteEmptyDatabase):
1614         (WebCore::StorageAreaSync::scheduleSync):
1615         * storage/StorageAreaSync.h:
1616         * storage/StorageNamespace.h:
1617         * storage/StorageNamespaceImpl.cpp:
1618         (WebCore::StorageNamespaceImpl::clearOriginForDeletion):
1619         (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion):
1620         (WebCore::StorageNamespaceImpl::sync):
1621         * storage/StorageNamespaceImpl.h:
1622         * storage/StorageTracker.cpp: Added.
1623         (WebCore::StorageTracker::initializeTracker):
1624         (WebCore::StorageTracker::tracker):
1625         (WebCore::StorageTracker::StorageTracker):
1626         (WebCore::StorageTracker::setStorageDirectoryPath):
1627         (WebCore::StorageTracker::trackerDatabasePath):
1628         (WebCore::StorageTracker::openTrackerDatabase):
1629         (WebCore::StorageTracker::importOriginIdentifiers):
1630         (WebCore::StorageTracker::syncImportOriginIdentifiers):
1631         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
1632         (WebCore::StorageTracker::setOriginDetails):
1633         (WebCore::StorageTracker::scheduleTask):
1634         (WebCore::StorageTracker::syncSetOriginDetails):
1635         (WebCore::StorageTracker::origins):
1636         (WebCore::StorageTracker::deleteAllOrigins):
1637         (WebCore::StorageTracker::syncDeleteAllOrigins):
1638         (WebCore::StorageTracker::deleteOrigin):
1639         (WebCore::StorageTracker::syncDeleteOrigin):
1640         (WebCore::StorageTracker::willDeleteAllOrigins):
1641         (WebCore::StorageTracker::willDeleteOrigin):
1642         (WebCore::StorageTracker::canDeleteOrigin):
1643         (WebCore::StorageTracker::cancelDeletingOrigin):
1644         (WebCore::StorageTracker::setClient):
1645         (WebCore::StorageTracker::syncLocalStorage):
1646         * storage/StorageTracker.h: Added.
1647         * storage/StorageTrackerClient.h: Added.
1648         (WebCore::StorageTrackerClient::~StorageTrackerClient):
1649
1650 2011-03-11  Steve Block  <steveblock@google.com>
1651
1652         Reviewed by Jeremy Orlow.
1653
1654         JavaMethod does not correctly check for a null jstring for the method name
1655         https://bugs.webkit.org/show_bug.cgi?id=56187
1656
1657         No new tests, simple typo fix.
1658
1659         * bridge/jni/JavaMethod.cpp:
1660         (JavaMethod::JavaMethod):
1661
1662 2011-03-11  Adrienne Walker  <enne@google.com>
1663
1664         Reviewed by James Robinson.
1665
1666         [chromium] Compositor uses too much texture memory for scrollbars
1667         https://bugs.webkit.org/show_bug.cgi?id=56212
1668
1669         Compositor invalidations can be off the page (and very large), but
1670         scrollbars only need to care about the invalidation that's visible.
1671         The large invalidation was causing the tiler layer size to grow
1672         needlessly larger than the scrollbar.
1673
1674         * platform/graphics/chromium/LayerRendererChromium.cpp:
1675         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
1676
1677 2011-03-11  David Hyatt  <hyatt@apple.com>
1678
1679         Reviewed by Simon Fraser.
1680
1681         https://bugs.webkit.org/show_bug.cgi?id=52987
1682         
1683         REGRESSION: Overflowing columns not repainted correctly
1684         
1685         Make sure to add in column overflow as visual overflow as well.  It was only propagating layout overflow, which is obviously not
1686         sufficient, since blocks paint their own columns.
1687
1688         Added fast/multicol/scrolling-overflow.html
1689
1690         * rendering/RenderBlock.cpp:
1691         (WebCore::RenderBlock::addOverflowFromChildren):
1692
1693 2011-03-11  Matthew Delaney  <mdelaney@apple.com>
1694
1695         Reviewed by Simon Fraser.
1696
1697         Set canvasUsesAcceleratedDrawing setting to be off(false) by default
1698         https://bugs.webkit.org/show_bug.cgi?id=56215
1699
1700         No new tests. Does not affect behavior. Just keeping the setting off by default.
1701
1702         * page/Settings.cpp:
1703         (WebCore::Settings::Settings):
1704
1705 2011-03-11  Andy Estes  <aestes@apple.com>
1706
1707         Reviewed by David Hyatt.
1708
1709         Table cells with dynamically added percentage height descendants do not
1710         grow in size if the table has already been laid out.
1711         https://bugs.webkit.org/show_bug.cgi?id=56174
1712         
1713         Table cells ignore their specified size and collapse to fit their
1714         children. When a descendent with percentage height is present before
1715         the table is first laid out, the descendent is sized based on the
1716         specified size of the table cell. However, when the child isn't present
1717         when the table is first laid out, the table cell ignores its specified
1718         size and collapses down to 0. Then, when the child div is added in a
1719         separate run loop iteration, it is sized to be 100% of the collapsed
1720         cell height instead of 100% of the cell's specified height. We should
1721         not get different layouts depending on the timing of tree construction.
1722         
1723         Fix this by clearing intrinsic padding before calculating the table
1724         cell's override height when we detect a child that should flex the
1725         table cell.
1726
1727         Test: fast/table/dynamic-descendant-percentage-height.html
1728
1729         * rendering/RenderTableCell.cpp:
1730         (WebCore::RenderTableCell::setOverrideSizeFromRowHeight): clear
1731         intrinsic padding before setting the override size.
1732         * rendering/RenderTableCell.h:
1733         * rendering/RenderTableSection.cpp:
1734         (WebCore::RenderTableSection::layoutRows): Call
1735         setOverrideSizeFromRowHeight() instead of setOverrideSize().
1736
1737 2011-03-11  Michael Nordman  <michaeln@google.com>
1738
1739         Reviewed by David Levin.
1740
1741         Add SQLCallbackWrapper
1742         Instead of directly holding RefPtrs to the Callback objects in SQLStatement and SQLTransaction, hold a wrapper objects
1743         which holds those references whose dtors will schedule the release of those references on the ScriptExecution thread.
1744         https://bugs.webkit.org/show_bug.cgi?id=55919
1745
1746         No new tests, existing tests apply.
1747
1748         * GNUmakefile.am:
1749         * WebCore.gypi:
1750         * WebCore.pro:
1751         * WebCore.vcproj/WebCore.vcproj:
1752         * WebCore.xcodeproj/project.pbxproj:
1753         * storage/SQLCallbackWrapper.h: Added.
1754         (WebCore::SQLCallbackWrapper::SQLCallbackWrapper):
1755         (WebCore::SQLCallbackWrapper::clear):
1756         (WebCore::SQLCallbackWrapper::unwrap):
1757         (WebCore::SQLCallbackWrapper::hasCallback):
1758         (WebCore::SQLCallbackWrapper::safeRelease):
1759         * storage/SQLStatement.cpp:
1760         (WebCore::SQLStatement::create):
1761         (WebCore::SQLStatement::SQLStatement):
1762         (WebCore::SQLStatement::performCallback):
1763         * storage/SQLStatement.h:
1764         (WebCore::SQLStatement::hasStatementCallback):
1765         (WebCore::SQLStatement::hasStatementErrorCallback):
1766         * storage/SQLTransaction.cpp:
1767         (WebCore::SQLTransaction::SQLTransaction):
1768         (WebCore::SQLTransaction::executeSQL):
1769         (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
1770         (WebCore::SQLTransaction::deliverTransactionCallback):
1771         (WebCore::SQLTransaction::deliverStatementCallback):
1772         (WebCore::SQLTransaction::postflightAndCommit):
1773         (WebCore::SQLTransaction::deliverSuccessCallback):
1774         (WebCore::SQLTransaction::handleTransactionError):
1775         (WebCore::SQLTransaction::deliverTransactionErrorCallback):
1776         * storage/SQLTransaction.h:
1777
1778 2011-03-11  Eric Carlson  <eric.carlson@apple.com>
1779
1780         Reviewed by Sam Weinig.
1781
1782         <rdar://problem/8955589> Adopt AVFoundation media back end on Lion.
1783
1784         No new tests, existing media tests cover this.
1785
1786         * WebCore.xcodeproj/project.pbxproj:
1787         * platform/graphics/MediaPlayer.cpp:
1788         (WebCore::installedMediaEngines): Register MediaPlayerPrivateAVFoundationObjC.
1789         (WebCore::bestMediaEngineForTypeAndCodecs): Kill some whitespace.
1790         (WebCore::MediaPlayer::loadWithNextMediaEngine): Ditto.
1791         (WebCore::MediaPlayer::inMediaDocument): Ditto.
1792         * platform/graphics/MediaPlayer.h:
1793
1794         * platform/graphics/avfoundation: Added.
1795         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: Added.
1796         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Added.
1797
1798         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Added.
1799         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Added.
1800
1801 2011-03-11  Dean Jackson  <dino@apple.com>
1802
1803         Reviewed by Simon Fraser.
1804
1805         https://bugs.webkit.org/show_bug.cgi?id=56205
1806         m_restrictions needs to allow multiple values (a bitfield)
1807
1808         HTMLMediaElement::m_restrictions needs to hold multiple values, so
1809         change BehaviorRestrictions to an unsigned typedef and rename the
1810         existing enum BehaviorRestrictionFlags.
1811
1812         * html/HTMLMediaElement.h:
1813         (WebCore::HTMLMediaElement::setBehaviorRestrictions):
1814
1815 2011-03-11  David Hyatt  <hyatt@apple.com>
1816
1817         Reviewed by Dan Bernstein.
1818
1819         https://bugs.webkit.org/show_bug.cgi?id=47206
1820         
1821         Table rows don't support ::before/::after.  Add support to RenderTableRow::styleDidChange so that ::before/::after content gets
1822         properly constructed.
1823
1824         Added fast/css-generated-content/table-row-before-after.html
1825
1826         * rendering/RenderTableRow.cpp:
1827         (WebCore::RenderTableRow::styleDidChange):
1828         * rendering/RenderTableRow.h:
1829
1830 2011-03-11  James Robinson  <jamesr@chromium.org>
1831
1832         Reviewed by Kenneth Russell.
1833
1834         [chromium] Avoid updating a composited layer&apos;s contents if the layer has nonpositive dimensions
1835         https://bugs.webkit.org/show_bug.cgi?id=56209
1836
1837         This matches the behavior prior to r80482.  No test since the only changes in
1838         behavior are avoiding work on invisible layers, which is unobservable,
1839         and fixing a crash due to bug 56153.
1840
1841         * platform/graphics/chromium/LayerRendererChromium.cpp:
1842         (WebCore::LayerRendererChromium::updateContentsRecursive):
1843
1844 2011-03-11  David Hyatt  <hyatt@apple.com>
1845
1846         Reviewed by Simon Fraser.
1847
1848         https://bugs.webkit.org/show_bug.cgi?id=47159
1849         
1850         CSS2.1 failures in background position parsing.
1851         
1852         Rewrite background position component parsing to match the spec.  Our old parsing would allow "100% left" to be valid
1853         when it should not have.  Rename parseFillPositionXY to parseFillPositionComponent and pass in enough information for
1854         it to understand what the first component was.
1855         
1856         For individual property parsing using background-position-x/y, I added new functions that just handle that without
1857         worrying about the other component.
1858         
1859         In order to pass the CSS2.1 test, I also had to fix multiple background parsing.  The number of layers in multiple
1860         backgrounds is determined solely by the background-image property and not by any of the other properties.  cullEmptyLayers
1861         has been changed to always consider a layer empty if it has no image set, even if other properties are set.
1862         
1863         A number of layout tests had to be patched as they were invalid.  A couple of them relied on incorrect background-position
1864         parsing (e.g., "50 left") and another relied on incorrect multiple background parsing.  It's not clear if the computed style
1865         should actually include the additional values when no image is set though, so that should perhaps be the subject of a 
1866         follow-up bug.
1867
1868         Added fast/backgrounds/background-position-parsing.html
1869
1870         * css/CSSParser.cpp:
1871         (WebCore::CSSParser::parseFillPositionX):
1872         (WebCore::CSSParser::parseFillPositionY):
1873         (WebCore::CSSParser::parseFillPositionComponent):
1874         (WebCore::CSSParser::parseFillPosition):
1875         (WebCore::CSSParser::parseFillProperty):
1876         (WebCore::CSSParser::parseTransformOrigin):
1877         (WebCore::CSSParser::parsePerspectiveOrigin):
1878         * css/CSSParser.h:
1879         * rendering/style/FillLayer.cpp:
1880         (WebCore::FillLayer::fillUnsetProperties):
1881         (WebCore::FillLayer::cullEmptyLayers):
1882
1883 2011-03-11  Vangelis Kokkevis  <vangelis@chromium.org>
1884
1885         Reviewed by James Robinson.
1886
1887         [chromium] Allow large layers with non-identity transforms to be drawn
1888         as long as their visible portion is smaller than the largest supported
1889         texture size. This code will soon be replaced by tiled layers.
1890         https://bugs.webkit.org/show_bug.cgi?id=55984
1891
1892         Test: platform/chromium/compositing/huge-layer-rotated.html
1893
1894         * platform/graphics/chromium/ContentLayerChromium.cpp:
1895         (WebCore::ContentLayerChromium::updateContentsIfDirty):
1896         (WebCore::ContentLayerChromium::draw):
1897         * platform/graphics/chromium/ContentLayerChromium.h:
1898
1899 2011-03-09  Chris Marrin  <cmarrin@apple.com>
1900
1901         Reviewed by Adam Roben.
1902
1903         REGRESSION (5.0.3-ToT): Scrolling text doesn&apos;t scroll in Star Wars intro animation
1904         https://bugs.webkit.org/show_bug.cgi?id=52468
1905
1906         Added WIN32 to the ifdef controlling whether animations are applied in normal or
1907         reverse order. On Mac, animations used to be applied in reverse, but 
1908         <rdar://problem/7095638> fixed this in the release after Snow Leopard.
1909         But that patch has not be applied to the Safari Windows SDK yet. For now
1910         I've made Windows use the reverse order logig. <rdar://problem/9112233> is
1911         tracking the inclusion of the patch on Windows.
1912
1913         * platform/graphics/ca/GraphicsLayerCA.cpp:
1914         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
1915
1916 2011-03-11  Tony Gentilcore  <tonyg@chromium.org>
1917
1918         Reviewed by Eric Seidel.
1919
1920         Let the parser yield for layout before running scripts
1921         https://bugs.webkit.org/show_bug.cgi?id=54355
1922
1923         Prior to this patch, the parser would yield to perform a layout/paint before running a
1924         script only if the script or a stylesheet blocking the script is not loaded yet. Since we
1925         don't preload scan into the body while parsing the head, typically we'll block on a script
1926         early in the body that causes us to yield to do the first paint within a reasonable time.
1927
1928         However, I'm planning to change the PreloadScanner to scan into the body from the head.
1929         That significantly improves overall load time, but would hurt first paint time because
1930         fewer scripts would be blocked during parsing and thus wouldn't yield.
1931
1932         This change causes us to yield before running scripts if we haven't painted yet (regardless
1933         of whether or not the script is loaded). In addition to allowing the above mentioned
1934         PreloadScanner change to be implemented without regressing first paint time, this also
1935         improves first paint time by itself.
1936
1937         I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
1938         bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
1939         6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
1940         signifcant change in page load time.
1941
1942         Within the pages tested, 33 had no statistically significant change in time to first paint,
1943         12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
1944         are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
1945
1946         * html/parser/HTMLDocumentParser.cpp:
1947         (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
1948         (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
1949         means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
1950         the right thing whether we are just before a token or waiting for a script. Now that we may
1951         yield before a token or before a script, this may be called while paused.
1952         * html/parser/HTMLParserScheduler.cpp:
1953         (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
1954         * page/FrameView.h:
1955         (WebCore::FrameView::hasEverPainted): Added.
1956
1957 2011-03-11  Dimitri Glazkov  <dglazkov@chromium.org>
1958
1959         Fix crashes in dom/html/level2/html/HTMLInputElement*.
1960
1961         * css/CSSStyleSelector.cpp:
1962         (WebCore::CSSStyleSelector::adjustRenderStyle): Added a null-check for e,
1963             because e can certainly be a null.
1964
1965 2011-03-09  Dimitri Glazkov  <dglazkov@chromium.org>
1966
1967         Reviewed by David Hyatt.
1968
1969         Choke text-decoration when entering shadow DOM subtree.
1970         https://bugs.webkit.org/show_bug.cgi?id=56044
1971
1972         No new tests, because the functionality can't be tested yet.
1973
1974         * css/CSSStyleSelector.cpp:
1975         (WebCore::CSSStyleSelector::adjustRenderStyle): Added a check for shadow DOM root.
1976
1977 2011-03-08  Dimitri Glazkov  <dglazkov@chromium.org>
1978
1979         Reviewed by Eric Carlson.
1980
1981         Convert MediaControlTimeDisplayElement to use standard layout with a custom renderer.
1982         https://bugs.webkit.org/show_bug.cgi?id=55972
1983
1984         Instead of poking at the time display elements all the way from RenderMedia,
1985         let the standard layout cycle take care of things. Move the logic of calculating
1986         when to collapse the time display elements into a custom renderer, since
1987         this is not something that can be accomplished with CSS.
1988
1989         Also, the logic of keeping the timeline slider at least 100px needed refreshing,
1990         since it didn't actually keep it at 100px.
1991
1992         * html/shadow/MediaControls.cpp: Moved the logic of determining visibility
1993             of time display elements to RenderMediaControlTimeDisplay, eliminating
1994             updateTimeDisplayVisibility method.
1995         * html/shadow/MediaControls.h: Removed decl.
1996         * rendering/MediaControlElements.cpp:
1997         (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
1998             Added new renderer class.
1999         (WebCore::RenderMediaControlTimeDisplay::layout): Simplified (and corrected)
2000             size-sensing logic, still using hard-coded values.
2001         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
2002             Removed m_isVisible member, which is no longer necessary.
2003         (WebCore::MediaControlTimeDisplayElement::createRenderer): Added to
2004             return the new renderer.
2005         * rendering/MediaControlElements.h: Adjusted decls.
2006         * rendering/RenderMedia.cpp:
2007         (WebCore::RenderMedia::layout): Remove the now-unnecessary poking at
2008             media controls in layout.
2009
2010 2011-03-09  Dimitri Glazkov  <dglazkov@chromium.org>
2011
2012         Reviewed by Eric Carlson.
2013
2014         Start focusing updates to media controls, away from always updating everything.
2015         https://bugs.webkit.org/show_bug.cgi?id=56038
2016
2017         For now, the new methods just call generic MediaControls::update.
2018
2019         Covered by existing tests.
2020
2021         * html/HTMLMediaElement.cpp:
2022         (WebCore::HTMLMediaElement::attributeChanged): Changed to use MediaControls::reset.
2023         (WebCore::HTMLMediaElement::setMuted): Changed to use MediaControls::changedMute.
2024         (WebCore::HTMLMediaElement::updateVolume): Changed to use MediaControls::changedVolume.
2025         (WebCore::HTMLMediaElement::defaultEventHandler): Changed to use the new mediaControls
2026             accessor.
2027         (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Changed to use
2028             MediaControls::changedClosedCaptionsVisibility.
2029         (WebCore::HTMLMediaElement::mediaControls): Added.
2030         (WebCore::HTMLMediaElement::hasMediaControls): Added.
2031         * html/HTMLMediaElement.h: Added decls.
2032         * html/shadow/MediaControls.cpp:
2033         (WebCore::MediaControls::reset): Added.
2034         (WebCore::MediaControls::changedMute): Added.
2035         (WebCore::MediaControls::changedVolume): Added.
2036         (WebCore::MediaControls::changedClosedCaptionsVisibility): Added.
2037         * html/shadow/MediaControls.h: Added decls.
2038
2039 2011-03-11  Alexis Menard  <alexis.menard@openbossa.org>
2040
2041         Reviewed by Martin Robinson.
2042
2043         [GStreamer] When seeking webKitWebSrcStop release the frame but should not.
2044         https://bugs.webkit.org/show_bug.cgi?id=55703
2045
2046         When calling webKitWebSrcStop in case of a seeking, the frame should not
2047         be reset (the source hasn't change). The frame may be used to get the network
2048         context. Some network stack (like Qt) are relaying on the network context
2049         to work.
2050
2051         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
2052         (webKitWebSrcStop):
2053
2054 2011-03-11  Dean Jackson  <dino@apple.com>
2055
2056         Unreviewed.
2057
2058         Build fixes for GTK and Leopard.
2059
2060         * bindings/gobject/GNUmakefile.am:
2061         - add missing WebKitAnimation* generated bindings
2062         * page/WebKitAnimation.idl:
2063         - use double in place of float (the core values are double anyway)
2064
2065 2011-03-11  Dean Jackson  <dino@apple.com>
2066
2067         Unreviewed build fix for QT.
2068
2069         * WebCore.pro:
2070
2071 2011-03-11  Dean Jackson  <dino@apple.com>
2072
2073         Reviewed by Simon Fraser and Chris Marrin.
2074
2075         https://bugs.webkit.org/show_bug.cgi?id=54151
2076         Implement an API to play/pause/scrub animations
2077
2078         This is Part 1. Adds the new WebKitAnimation and WebKitAnimationList
2079         APIs, exposed via Element.getWebKitAnimations(). This first pass
2080         is a read-only API - a subsequent commit will add the ability
2081         to scrub animations.
2082
2083         Test: animations/animation-api-1.html
2084
2085         * Android.derived.jscbindings.mk:
2086         * Android.derived.v8bindings.mk:
2087         * Android.mk:
2088         * Android.v8bindings.mk:
2089         * CMakeLists.txt:
2090         * CodeGenerators.pri:
2091         * DerivedSources.cpp:
2092         * DerivedSources.make:
2093         * GNUmakefile.am:
2094         * WebCore.gypi:
2095         * WebCore.pro:
2096         * WebCore.vcproj/WebCore.vcproj:
2097         * WebCore.xcodeproj/project.pbxproj:
2098         - All build settings updated for new files
2099         * bindings/js/JSBindingsAllInOne.cpp:
2100         - Include new custom files
2101         * bindings/js/JSWebKitAnimationCustom.cpp: Added.
2102         (WebCore::JSWebKitAnimation::iterationCount):
2103         - Custom property getter so that we can return INFINITY
2104         * bindings/js/JSWebKitAnimationListCustom.cpp: Added.
2105         (WebCore::JSWebKitAnimationList::markChildren):
2106         - Make sure WebKitAnimations are marked
2107         * bindings/v8/custom/V8WebKitAnimationCustom.cpp: Added.
2108         (WebCore::V8WebkitAnimation::iterationCountAccessorGetter):
2109         - Custom property getter so that we can return INFINITY
2110         * dom/Element.cpp:
2111         (WebCore::Element::webkitGetAnimations):
2112         * dom/Element.h:
2113         * dom/Element.idl:
2114         - New API entry point
2115         * page/DOMWindow.idl:
2116         - Constructor definitions for WebKitAnimation and WebKitAnimationList
2117         * page/animation/AnimationBase.cpp:
2118         (WebCore::AnimationBase::~AnimationBase):
2119         - Since AnimationBase can now live longer (if a WebKitAnimation is
2120         held in Javascript) we need to guard for the renderer having disappeared.
2121         (WebCore::AnimationBase::setElapsedTime):
2122         (WebCore::AnimationBase::play):
2123         (WebCore::AnimationBase::pause):
2124         - Stub implementations at present
2125         * page/animation/AnimationBase.h:
2126         (WebCore::AnimationBase::animation):
2127         - Expose the Animation properties
2128         * page/animation/AnimationController.cpp:
2129         (WebCore::AnimationControllerPrivate::animationsForRenderer):
2130         (WebCore::AnimationController::animationsForRenderer):
2131         - Builds the list of WebKitAnimations
2132         * page/animation/AnimationController.h:
2133         * page/animation/AnimationControllerPrivate.h:
2134         * page/animation/CompositeAnimation.cpp:
2135         (WebCore::CompositeAnimation::updateKeyframeAnimations):
2136         - Make sure we clear the renderer if we are removing the animation
2137         (WebCore::CompositeAnimation::animations):
2138         * page/animation/CompositeAnimation.h:
2139         * page/WebKitAnimation.cpp: Added.
2140         (WebCore::WebKitAnimation::WebKitAnimation):
2141         (WebCore::WebKitAnimation::name):
2142         (WebCore::WebKitAnimation::duration):
2143         (WebCore::WebKitAnimation::elapsedTime):
2144         (WebCore::WebKitAnimation::setElapsedTime):
2145         (WebCore::WebKitAnimation::delay):
2146         (WebCore::WebKitAnimation::iterationCount):
2147         (WebCore::WebKitAnimation::paused):
2148         (WebCore::WebKitAnimation::ended):
2149         (WebCore::WebKitAnimation::direction):
2150         (WebCore::WebKitAnimation::fillMode):
2151         (WebCore::WebKitAnimation::pause):
2152         (WebCore::WebKitAnimation::play):
2153         - The implementation of the new API. All the read-only parts are
2154         done, but elapsedTime, play() and pause() are stubs.
2155         * page/WebKitAnimation.h: Added.
2156         (WebCore::WebKitAnimation::create):
2157         (WebCore::WebKitAnimation::~WebKitAnimation):
2158         * page/WebKitAnimation.idl: Added.
2159         * page/WebKitAnimationList.cpp: Added.
2160         * page/WebKitAnimationList.h: Added.
2161         * page/WebKitAnimationList.idl: Added.
2162         - Copies NodeList implementation
2163
2164 2011-03-11  Ilya Tikhonovsky  <loislo@chromium.org>
2165
2166         Reviewed by Yury Semikhatsky.
2167
2168         Web Inspector: introduce error argument for all the callbacks on frontend.
2169         https://bugs.webkit.org/show_bug.cgi?id=56100
2170
2171         * inspector/CodeGeneratorInspector.pm:
2172         * inspector/front-end/AuditRules.js:
2173         (WebInspector.AuditRules.evaluateInTargetWindow):
2174         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
2175         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
2176         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
2177         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
2178         * inspector/front-end/CSSStyleModel.js:
2179         (WebInspector.CSSStyleModel.prototype.getStylesAsync):
2180         (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
2181         (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
2182         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
2183         (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
2184         (WebInspector.CSSStyleModel.prototype.addRule):
2185         (WebInspector.CSSStyleModel.prototype.addRule.callback):
2186         (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
2187         (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
2188         (WebInspector.CSSStyleModel.prototype._onRevert):
2189         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
2190         (WebInspector.CSSProperty.prototype.setText.callback):
2191         (WebInspector.CSSProperty.prototype.setText):
2192         (WebInspector.CSSProperty.prototype.setDisabled.callback):
2193         (WebInspector.CSSProperty.prototype.setDisabled):
2194         (WebInspector.CSSStyleSheet.createForId):
2195         (WebInspector.CSSStyleSheet.prototype.setText):
2196         * inspector/front-end/ConsoleView.js:
2197         (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
2198         * inspector/front-end/DOMAgent.js:
2199         (WebInspector.DOMNode.prototype.setNodeName):
2200         (WebInspector.DOMNode.prototype.setNodeValue):
2201         (WebInspector.DOMNode.prototype.setAttribute):
2202         (WebInspector.DOMNode.prototype.removeAttribute):
2203         (WebInspector.DOMNode.prototype.childNodes.mycallback):
2204         (WebInspector.DOMNode.prototype.childNodes):
2205         (WebInspector.DOMNode.prototype.outerHTML):
2206         (WebInspector.DOMNode.prototype.setOuterHTML):
2207         (WebInspector.DOMNode.prototype.removeNode):
2208         (WebInspector.DOMNode.prototype.copyNode):
2209         (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
2210         (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
2211         (WebInspector.DOMAgent.prototype._documentUpdated):
2212         (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
2213         (WebInspector.Cookies.getCookiesAsync):
2214         (WebInspector.EventListeners.getEventListenersForNodeAsync):
2215         * inspector/front-end/DOMStorage.js:
2216         (WebInspector.DOMStorage.prototype.getEntries):
2217         (WebInspector.DOMStorage.prototype.setItem):
2218         (WebInspector.DOMStorage.prototype.removeItem):
2219         * inspector/front-end/Database.js:
2220         (WebInspector.Database.prototype.getTableNames):
2221         (WebInspector.Database.prototype.executeSql):
2222         * inspector/front-end/DebuggerModel.js:
2223         (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
2224         (WebInspector.DebuggerModel.prototype.setBreakpoint):
2225         (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
2226         (WebInspector.DebuggerModel.prototype.editScriptSource):
2227         * inspector/front-end/ElementsPanel.js:
2228         (WebInspector.ElementsPanel.prototype._setSearchingForNode):
2229         * inspector/front-end/ElementsTreeOutline.js:
2230         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
2231         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
2232         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
2233         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
2234         ():
2235         * inspector/front-end/ExtensionPanel.js:
2236         (WebInspector.ExtensionWatchSidebarPane.prototype._onEvaluate):
2237         * inspector/front-end/ExtensionServer.js:
2238         (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
2239         * inspector/front-end/NetworkManager.js:
2240         (WebInspector.NetworkManager.prototype.requestContent):
2241         (WebInspector.NetworkManager.prototype._processCachedResources):
2242         * inspector/front-end/ProfileView.js:
2243         (WebInspector.CPUProfileView.profileCallback):
2244         (WebInspector.CPUProfileView):
2245         * inspector/front-end/ProfilesPanel.js:
2246         * inspector/front-end/RemoteObject.js:
2247         (WebInspector.RemoteObject.resolveNode):
2248         (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
2249         (WebInspector.RemoteObject.prototype.getProperties):
2250         (WebInspector.RemoteObject.prototype.setPropertyValue):
2251         (WebInspector.RemoteObject.prototype.evaluate):
2252         * inspector/front-end/Script.js:
2253         (WebInspector.Script.prototype.requestSource.didGetScriptSource):
2254         (WebInspector.Script.prototype.requestSource):
2255         * inspector/front-end/ScriptsPanel.js:
2256         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
2257         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
2258         (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
2259         * inspector/front-end/inspector.js:
2260         ():
2261         (WebInspector.doLoadedDone.onPopulateScriptObjects):
2262         (WebInspector.doLoadedDone.propertyNamesCallback):
2263         (WebInspector.doLoadedDone):
2264
2265 2011-03-11  Yury Semikhatsky  <yurys@chromium.org>
2266
2267         Reviewed by Pavel Feldman.
2268
2269         Web Inspector: split InjectedScriptHost into InjectedScriptManager and InjectedScriptHost
2270         https://bugs.webkit.org/show_bug.cgi?id=56173
2271
2272         Moved all injected script managing logic into InjectedScriptManager which is owned by InspectorController.
2273
2274         * CMakeLists.txt:
2275         * GNUmakefile.am:
2276         * WebCore.gypi:
2277         * WebCore.pro:
2278         * WebCore.vcproj/WebCore.vcproj:
2279         * WebCore.xcodeproj/project.pbxproj:
2280         * bindings/js/JSInjectedScriptHostCustom.cpp:
2281         * bindings/js/JSInjectedScriptManager.cpp: Added.
2282         (WebCore::InjectedScriptManager::createInjectedScript):
2283         (WebCore::InjectedScriptManager::discardInjectedScript):
2284         (WebCore::InjectedScriptManager::injectedScriptFor):
2285         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
2286         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2287         * bindings/v8/custom/V8InjectedScriptManager.cpp: Copied from Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp.
2288         (WebCore::WeakReferenceCallback):
2289         (WebCore::createInjectedScriptHostV8Wrapper):
2290         (WebCore::InjectedScriptManager::createInjectedScript):
2291         (WebCore::InjectedScriptManager::discardInjectedScript):
2292         (WebCore::InjectedScriptManager::injectedScriptFor):
2293         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
2294         * inspector/ConsoleMessage.cpp:
2295         (WebCore::ConsoleMessage::addToFrontend):
2296         * inspector/ConsoleMessage.h:
2297         * inspector/InjectedScript.cpp:
2298         (WebCore::InjectedScript::canAccessInspectedWindow):
2299         * inspector/InjectedScript.h:
2300         * inspector/InjectedScriptHost.cpp:
2301         (WebCore::InjectedScriptHost::create):
2302         (WebCore::InjectedScriptHost::InjectedScriptHost):
2303         (WebCore::InjectedScriptHost::~InjectedScriptHost):
2304         (WebCore::InjectedScriptHost::disconnect):
2305         (WebCore::InjectedScriptHost::inspectImpl):
2306         (WebCore::InjectedScriptHost::clearConsoleMessages):
2307         (WebCore::InjectedScriptHost::databaseIdImpl):
2308         (WebCore::InjectedScriptHost::storageIdImpl):
2309         * inspector/InjectedScriptHost.h:
2310         (WebCore::InjectedScriptHost::init):
2311         (WebCore::InjectedScriptHost::setFrontend):
2312         (WebCore::InjectedScriptHost::clearFrontend):
2313         * inspector/InjectedScriptManager.cpp: Added.
2314         (WebCore::InjectedScriptManager::create):
2315         (WebCore::InjectedScriptManager::InjectedScriptManager):
2316         (WebCore::InjectedScriptManager::~InjectedScriptManager):
2317         (WebCore::InjectedScriptManager::disconnect):
2318         (WebCore::InjectedScriptManager::injectedScriptHost):
2319         (WebCore::InjectedScriptManager::injectedScriptForId):
2320         (WebCore::InjectedScriptManager::injectedScriptForObjectId):
2321         (WebCore::InjectedScriptManager::discardInjectedScripts):
2322         (WebCore::InjectedScriptManager::releaseObjectGroup):
2323         (WebCore::InjectedScriptManager::injectedScriptSource):
2324         (WebCore::InjectedScriptManager::injectScript):
2325         * inspector/InjectedScriptManager.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h.
2326         * inspector/Inspector.idl:
2327         * inspector/InspectorAgent.cpp:
2328         (WebCore::InspectorAgent::InspectorAgent):
2329         (WebCore::InspectorAgent::inspectedPageDestroyed):
2330         (WebCore::InspectorAgent::focusNode):
2331         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
2332         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
2333         (WebCore::InspectorAgent::didCommitLoad):
2334         (WebCore::InspectorAgent::domContentLoadedEventFired):
2335         * inspector/InspectorAgent.h:
2336         * inspector/InspectorBrowserDebuggerAgent.cpp:
2337         * inspector/InspectorConsoleAgent.cpp:
2338         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
2339         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
2340         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
2341         (WebCore::InspectorConsoleAgent::addInspectedNode):
2342         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
2343         (WebCore::InspectorConsoleAgent::addConsoleMessage):
2344         * inspector/InspectorConsoleAgent.h:
2345         * inspector/InspectorController.cpp:
2346         (WebCore::InspectorController::InspectorController):
2347         (WebCore::InspectorController::connectFrontend):
2348         (WebCore::InspectorController::disconnectFrontend):
2349         * inspector/InspectorController.h:
2350         * inspector/InspectorDOMAgent.cpp:
2351         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2352         (WebCore::InspectorDOMAgent::discardBindings):
2353         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
2354         (WebCore::InspectorDOMAgent::resolveNode):
2355         * inspector/InspectorDOMAgent.h:
2356         (WebCore::InspectorDOMAgent::create):
2357         * inspector/InspectorDebuggerAgent.cpp:
2358         (WebCore::InspectorDebuggerAgent::create):
2359         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
2360         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2361         (WebCore::InspectorDebuggerAgent::currentCallFrames):
2362         * inspector/InspectorDebuggerAgent.h:
2363         * inspector/InspectorRuntimeAgent.cpp:
2364         (WebCore::InspectorRuntimeAgent::create):
2365         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
2366         (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
2367         (WebCore::InspectorRuntimeAgent::evaluate):
2368         (WebCore::InspectorRuntimeAgent::evaluateOn):
2369         (WebCore::InspectorRuntimeAgent::getProperties):
2370         (WebCore::InspectorRuntimeAgent::setPropertyValue):
2371         (WebCore::InspectorRuntimeAgent::releaseObject):
2372         (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
2373         * inspector/InspectorRuntimeAgent.h:
2374         * inspector/front-end/ElementsPanel.js:
2375         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
2376         (WebInspector.ElementsPanel):
2377
2378 2011-03-11  Anton Muhin  <antonm@chromium.org>
2379
2380         Reviewed by Adam Barth.
2381
2382         [v8] Change the way group id for CSS objects is calculated
2383         https://bugs.webkit.org/show_bug.cgi?id=56117
2384
2385         Do not treat CSSStyleDeclarations under not CSSRule as belonging to the same object group
2386         as they should not be reachable in JavaScript.
2387
2388         Covered by existing layout tests.  Fact of absence of retention is not trivial to prove.
2389
2390         * bindings/v8/V8GCController.cpp:
2391         (WebCore::calculateGroupId):
2392         (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
2393
2394 2011-03-11  Alexander Pavlov  <apavlov@chromium.org>
2395
2396         Reviewed by Yury Semikhatsky.
2397
2398         Web Inspector: hover over elements in Elements panel does not highlight nodes
2399         https://bugs.webkit.org/show_bug.cgi?id=56121
2400
2401         In DOM trees with a comment and/or doctype preceding the HTML tag, the tree container right boundary
2402         is 16px apart from the OL right boundary, and we miss the relevant LI by 4px. The fix is to compensate
2403         for these 16px when computing the test point coordinates.
2404
2405         * inspector/front-end/ElementsTreeOutline.js:
2406         (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
2407
2408 2011-03-11  Yury Semikhatsky  <yurys@chromium.org>
2409
2410         Unreviewed. Roll out r80837.
2411
2412         * CMakeLists.txt:
2413         * GNUmakefile.am:
2414         * WebCore.gypi:
2415         * WebCore.pro:
2416         * WebCore.vcproj/WebCore.vcproj:
2417         * WebCore.xcodeproj/project.pbxproj:
2418         * bindings/js/JSInjectedScriptHostCustom.cpp:
2419         (WebCore::InjectedScriptHost::createInjectedScript):
2420         (WebCore::InjectedScriptHost::discardInjectedScript):
2421         (WebCore::InjectedScriptHost::injectedScriptFor):
2422         (WebCore::InjectedScriptHost::canAccessInspectedWindow):
2423         * bindings/js/JSInjectedScriptManager.cpp: Removed.
2424         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2425         (WebCore::WeakReferenceCallback):
2426         (WebCore::createInjectedScriptHostV8Wrapper):
2427         (WebCore::InjectedScriptHost::createInjectedScript):
2428         (WebCore::InjectedScriptHost::discardInjectedScript):
2429         (WebCore::InjectedScriptHost::injectedScriptFor):
2430         (WebCore::InjectedScriptHost::canAccessInspectedWindow):
2431         * bindings/v8/custom/V8InjectedScriptManager.cpp: Removed.
2432         * inspector/ConsoleMessage.cpp:
2433         (WebCore::ConsoleMessage::addToFrontend):
2434         * inspector/ConsoleMessage.h:
2435         * inspector/InjectedScript.cpp:
2436         (WebCore::InjectedScript::canAccessInspectedWindow):
2437         * inspector/InjectedScript.h:
2438         * inspector/InjectedScriptHost.cpp:
2439         (WebCore::InjectedScriptHost::InjectedScriptHost):
2440         (WebCore::InjectedScriptHost::~InjectedScriptHost):
2441         (WebCore::InjectedScriptHost::inspectImpl):
2442         (WebCore::InjectedScriptHost::clearConsoleMessages):
2443         (WebCore::InjectedScriptHost::databaseIdImpl):
2444         (WebCore::InjectedScriptHost::storageIdImpl):
2445         (WebCore::InjectedScriptHost::injectedScriptForId):
2446         (WebCore::InjectedScriptHost::injectedScriptForObjectId):
2447         (WebCore::InjectedScriptHost::injectedScriptForMainFrame):
2448         (WebCore::InjectedScriptHost::discardInjectedScripts):
2449         (WebCore::InjectedScriptHost::releaseObjectGroup):
2450         (WebCore::InjectedScriptHost::frontend):
2451         (WebCore::InjectedScriptHost::injectedScriptSource):
2452         (WebCore::InjectedScriptHost::injectScript):
2453         * inspector/InjectedScriptHost.h:
2454         (WebCore::InjectedScriptHost::create):
2455         (WebCore::InjectedScriptHost::inspectorAgent):
2456         (WebCore::InjectedScriptHost::disconnectController):
2457         * inspector/InjectedScriptManager.cpp: Removed.
2458         * inspector/InjectedScriptManager.h: Removed.
2459         * inspector/Inspector.idl:
2460         * inspector/InspectorAgent.cpp:
2461         (WebCore::InspectorAgent::InspectorAgent):
2462         (WebCore::InspectorAgent::inspectedPageDestroyed):
2463         (WebCore::InspectorAgent::focusNode):
2464         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
2465         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
2466         (WebCore::InspectorAgent::didCommitLoad):
2467         (WebCore::InspectorAgent::domContentLoadedEventFired):
2468         * inspector/InspectorAgent.h:
2469         (WebCore::InspectorAgent::injectedScriptHost):
2470         * inspector/InspectorBrowserDebuggerAgent.cpp:
2471         * inspector/InspectorConsoleAgent.cpp:
2472         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
2473         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
2474         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
2475         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
2476         (WebCore::InspectorConsoleAgent::addConsoleMessage):
2477         * inspector/InspectorConsoleAgent.h:
2478         * inspector/InspectorController.cpp:
2479         (WebCore::InspectorController::InspectorController):
2480         (WebCore::InspectorController::connectFrontend):
2481         (WebCore::InspectorController::disconnectFrontend):
2482         * inspector/InspectorController.h:
2483         * inspector/InspectorDOMAgent.cpp:
2484         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2485         (WebCore::InspectorDOMAgent::discardBindings):
2486         (WebCore::InspectorDOMAgent::addInspectedNode):
2487         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
2488         (WebCore::InspectorDOMAgent::resolveNode):
2489         * inspector/InspectorDOMAgent.h:
2490         (WebCore::InspectorDOMAgent::create):
2491         * inspector/InspectorDebuggerAgent.cpp:
2492         (WebCore::InspectorDebuggerAgent::create):
2493         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
2494         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2495         (WebCore::InspectorDebuggerAgent::currentCallFrames):
2496         * inspector/InspectorDebuggerAgent.h:
2497         * inspector/InspectorRuntimeAgent.cpp:
2498         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
2499         (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
2500         (WebCore::InspectorRuntimeAgent::evaluate):
2501         (WebCore::InspectorRuntimeAgent::evaluateOn):
2502         (WebCore::InspectorRuntimeAgent::getProperties):
2503         (WebCore::InspectorRuntimeAgent::setPropertyValue):
2504         (WebCore::InspectorRuntimeAgent::releaseObject):
2505         (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
2506         * inspector/InspectorRuntimeAgent.h:
2507         (WebCore::InspectorRuntimeAgent::create):
2508         * inspector/front-end/ElementsPanel.js:
2509         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
2510         (WebInspector.ElementsPanel):
2511
2512 2011-03-11  Yury Semikhatsky  <yurys@chromium.org>
2513
2514         Reviewed by Pavel Feldman.
2515
2516         Web Inspector: split InjectedScriptHost into InjectedScriptManager and InjectedScriptHost
2517         https://bugs.webkit.org/show_bug.cgi?id=56173
2518
2519         Moved all injected script managing logic into InjectedScriptManager which is owned by InspectorController.
2520
2521         * CMakeLists.txt:
2522         * GNUmakefile.am:
2523         * WebCore.gypi:
2524         * WebCore.pro:
2525         * WebCore.vcproj/WebCore.vcproj:
2526         * WebCore.xcodeproj/project.pbxproj:
2527         * bindings/js/JSInjectedScriptHostCustom.cpp:
2528         * bindings/js/JSInjectedScriptManager.cpp: Added.
2529         (WebCore::InjectedScriptManager::createInjectedScript):
2530         (WebCore::InjectedScriptManager::discardInjectedScript):
2531         (WebCore::InjectedScriptManager::injectedScriptFor):
2532         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
2533         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2534         * bindings/v8/custom/V8InjectedScriptManager.cpp: Copied from Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp.
2535         (WebCore::WeakReferenceCallback):
2536         (WebCore::createInjectedScriptHostV8Wrapper):
2537         (WebCore::InjectedScriptManager::createInjectedScript):
2538         (WebCore::InjectedScriptManager::discardInjectedScript):
2539         (WebCore::InjectedScriptManager::injectedScriptFor):
2540         (WebCore::InjectedScriptManager::canAccessInspectedWindow):
2541         * inspector/ConsoleMessage.cpp:
2542         (WebCore::ConsoleMessage::addToFrontend):
2543         * inspector/ConsoleMessage.h:
2544         * inspector/InjectedScript.cpp:
2545         (WebCore::InjectedScript::canAccessInspectedWindow):
2546         * inspector/InjectedScript.h:
2547         * inspector/InjectedScriptHost.cpp:
2548         (WebCore::InjectedScriptHost::create):
2549         (WebCore::InjectedScriptHost::InjectedScriptHost):
2550         (WebCore::InjectedScriptHost::~InjectedScriptHost):
2551         (WebCore::InjectedScriptHost::disconnect):
2552         (WebCore::InjectedScriptHost::inspectImpl):
2553         (WebCore::InjectedScriptHost::clearConsoleMessages):
2554         (WebCore::InjectedScriptHost::databaseIdImpl):
2555         (WebCore::InjectedScriptHost::storageIdImpl):
2556         * inspector/InjectedScriptHost.h:
2557         (WebCore::InjectedScriptHost::init):
2558         (WebCore::InjectedScriptHost::setFrontend):
2559         (WebCore::InjectedScriptHost::clearFrontend):
2560         * inspector/InjectedScriptManager.cpp: Added.
2561         (WebCore::InjectedScriptManager::create):
2562         (WebCore::InjectedScriptManager::InjectedScriptManager):
2563         (WebCore::InjectedScriptManager::~InjectedScriptManager):
2564         (WebCore::InjectedScriptManager::disconnect):
2565         (WebCore::InjectedScriptManager::injectedScriptHost):
2566         (WebCore::InjectedScriptManager::injectedScriptForId):
2567         (WebCore::InjectedScriptManager::injectedScriptForObjectId):
2568         (WebCore::InjectedScriptManager::discardInjectedScripts):
2569         (WebCore::InjectedScriptManager::releaseObjectGroup):
2570         (WebCore::InjectedScriptManager::injectedScriptSource):
2571         (WebCore::InjectedScriptManager::injectScript):
2572         * inspector/InjectedScriptManager.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h.
2573         * inspector/Inspector.idl:
2574         * inspector/InspectorAgent.cpp:
2575         (WebCore::InspectorAgent::InspectorAgent):
2576         (WebCore::InspectorAgent::inspectedPageDestroyed):
2577         (WebCore::InspectorAgent::focusNode):
2578         (WebCore::InspectorAgent::didClearWindowObjectInWorld):
2579         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
2580         (WebCore::InspectorAgent::didCommitLoad):
2581         (WebCore::InspectorAgent::domContentLoadedEventFired):
2582         * inspector/InspectorAgent.h:
2583         * inspector/InspectorBrowserDebuggerAgent.cpp:
2584         * inspector/InspectorConsoleAgent.cpp:
2585         (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
2586         (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
2587         (WebCore::InspectorConsoleAgent::clearConsoleMessages):
2588         (WebCore::InspectorConsoleAgent::addInspectedNode):
2589         (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
2590         (WebCore::InspectorConsoleAgent::addConsoleMessage):
2591         * inspector/InspectorConsoleAgent.h:
2592         * inspector/InspectorController.cpp:
2593         (WebCore::InspectorController::InspectorController):
2594         (WebCore::InspectorController::connectFrontend):
2595         (WebCore::InspectorController::disconnectFrontend):
2596         * inspector/InspectorController.h:
2597         * inspector/InspectorDOMAgent.cpp:
2598         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
2599         (WebCore::InspectorDOMAgent::discardBindings):
2600         (WebCore::InspectorDOMAgent::pushNodeToFrontend):
2601         (WebCore::InspectorDOMAgent::resolveNode):
2602         * inspector/InspectorDOMAgent.h:
2603         (WebCore::InspectorDOMAgent::create):
2604         * inspector/InspectorDebuggerAgent.cpp:
2605         (WebCore::InspectorDebuggerAgent::create):
2606         (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
2607         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
2608         (WebCore::InspectorDebuggerAgent::currentCallFrames):
2609         * inspector/InspectorDebuggerAgent.h:
2610         * inspector/InspectorRuntimeAgent.cpp:
2611         (WebCore::InspectorRuntimeAgent::create):
2612         (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
2613         (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
2614         (WebCore::InspectorRuntimeAgent::evaluate):
2615         (WebCore::InspectorRuntimeAgent::evaluateOn):
2616         (WebCore::InspectorRuntimeAgent::getProperties):
2617         (WebCore::InspectorRuntimeAgent::setPropertyValue):
2618         (WebCore::InspectorRuntimeAgent::releaseObject):
2619         (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
2620         * inspector/InspectorRuntimeAgent.h:
2621         * inspector/front-end/ElementsPanel.js:
2622         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
2623         (WebInspector.ElementsPanel):
2624
2625 2011-03-09  Hans Wennborg  <hans@chromium.org>
2626
2627         Reviewed by Jeremy Orlow.
2628
2629         IndexedDB: Make IDBBackingStore abstract
2630         https://bugs.webkit.org/show_bug.cgi?id=56013
2631
2632         Make IDBBackingStore abstract to allow for multiple implementations.
2633         Move the SQLite implementation to IDBSQLiteBackingStore.
2634
2635         No new tests: refactoring only.
2636
2637         * WebCore.gypi:
2638         * storage/IDBBackingStore.h:
2639         (WebCore::IDBBackingStore::~IDBBackingStore):
2640         * storage/IDBFactoryBackendImpl.cpp:
2641         (WebCore::IDBFactoryBackendImpl::open):
2642         * storage/IDBSQLiteBackingStore.cpp:
2643         (WebCore::IDBSQLiteBackingStore::IDBSQLiteBackingStore):
2644         (WebCore::IDBSQLiteBackingStore::~IDBSQLiteBackingStore):
2645         (WebCore::runCommands):
2646         (WebCore::createTables):
2647         (WebCore::createMetaDataTable):
2648         (WebCore::getDatabaseSchemaVersion):
2649         (WebCore::migrateDatabase):
2650         (WebCore::IDBSQLiteBackingStore::open):
2651         (WebCore::IDBSQLiteBackingStore::extractIDBDatabaseMetaData):
2652         (WebCore::IDBSQLiteBackingStore::setIDBDatabaseMetaData):
2653         (WebCore::IDBSQLiteBackingStore::getObjectStores):
2654         (WebCore::IDBSQLiteBackingStore::createObjectStore):
2655         (WebCore::doDelete):
2656         (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
2657         (WebCore::whereSyntaxForKey):
2658         (WebCore::bindKeyToQuery):
2659         (WebCore::lowerCursorWhereFragment):
2660         (WebCore::upperCursorWhereFragment):
2661         (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord):
2662         (WebCore::bindKeyToQueryWithNulls):
2663         (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord):
2664         (WebCore::IDBSQLiteBackingStore::clearObjectStore):
2665         (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord):
2666         (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber):
2667         (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore):
2668         (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord):
2669         (WebCore::IDBSQLiteBackingStore::getIndexes):
2670         (WebCore::IDBSQLiteBackingStore::createIndex):
2671         (WebCore::IDBSQLiteBackingStore::deleteIndex):
2672         (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord):
2673         (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord):
2674         (WebCore::IDBSQLiteBackingStore::getObjectViaIndex):
2675         (WebCore::keyFromQuery):
2676         (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex):
2677         (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
2678         (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor):
2679         (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor):
2680         (WebCore::IDBSQLiteBackingStore::openIndexCursor):
2681         (WebCore::IDBSQLiteBackingStore::createTransaction):
2682         * storage/IDBSQLiteBackingStore.h: Added.
2683
2684 2011-03-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2685
2686         Unreviewed build error fix.
2687
2688         [EFL] Fix build break when SHARED_CORE is ON
2689         https://bugs.webkit.org/show_bug.cgi?id=56155
2690
2691         * platform/efl/ContextMenuEfl.cpp:
2692         (WebCore::ContextMenu::ContextMenu):
2693         * platform/efl/ContextMenuItemEfl.cpp:
2694         (WebCore::ContextMenuItem::nativeMenuItem):
2695         (WebCore::ContextMenuItem::ContextMenuItem):
2696         (WebCore::ContextMenuItem::~ContextMenuItem):
2697
2698 2011-03-11  Andrey Kosyakov  <caseq@chromium.org>
2699
2700         Reviewed by Pavel Feldman.
2701
2702         Web Inspector: resource load cancellation is reported to console as an error
2703         https://bugs.webkit.org/show_bug.cgi?id=55764
2704
2705         - mark interruptionForPolicyChangeError as cancellation
2706         - do not log resource cancelation as an error
2707         - always push resource to front-end before console message, so front-end can use resource info while formatting message.
2708
2709         * inspector/InspectorConsoleAgent.cpp:
2710         (WebCore::InspectorConsoleAgent::didFailLoading):
2711         * inspector/InspectorInstrumentation.cpp:
2712         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
2713         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
2714         * loader/MainResourceLoader.cpp:
2715         (WebCore::MainResourceLoader::stopLoadingForPolicyChange):
2716
2717 2011-03-10  Alexander Pavlov  <apavlov@chromium.org>
2718
2719         Reviewed by Yury Semikhatsky.
2720
2721         Web Inspector: Get rid of has/add/removeStyleClass() methods on Element.prototype - Step 1
2722         https://bugs.webkit.org/show_bug.cgi?id=56096
2723
2724         No new tests, as this is a refactoring.
2725
2726         * inspector/front-end/BreakpointsSidebarPane.js:
2727         (WebInspector.EventListenerBreakpointsSidebarPane):
2728         * inspector/front-end/DetailedHeapshotView.js:
2729         * inspector/front-end/ResourcesPanel.js:
2730         (WebInspector.ResourcesPanel):
2731         (WebInspector.BaseStorageTreeElement):
2732         (WebInspector.BaseStorageTreeElement.prototype.onattach):
2733         (WebInspector.StorageCategoryTreeElement):
2734         (WebInspector.FrameTreeElement):
2735         (WebInspector.FrameResourceTreeElement):
2736         (WebInspector.DatabaseTreeElement):
2737         (WebInspector.DatabaseTableTreeElement):
2738         (WebInspector.DOMStorageTreeElement):
2739         (WebInspector.CookieTreeElement):
2740         (WebInspector.ApplicationCacheTreeElement):
2741         (WebInspector.ResourceRevisionTreeElement):
2742         * inspector/front-end/utilities.js:
2743         (Element.prototype.removeStyleClass):
2744         (Element.prototype.addStyleClass):
2745         (Element.prototype.hasStyleClass):
2746
2747 2011-03-11  Brian Salomon  <bsalomon@google.com>
2748
2749         Reviewed by Kenneth Russell.
2750
2751         Adds GrContext flush call to PlatformContextSkia destructor. 
2752 Calls GrContext flush with int parameter instead of bool due to skia 
2753 revision.       
2754
2755         No new tests needed.
2756
2757         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2758         (WebCore::DrawingBuffer::publishToPlatformLayer):
2759         * platform/graphics/skia/PlatformContextSkia.cpp:
2760         (WebCore::PlatformContextSkia::~PlatformContextSkia):
2761         (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
2762
2763 2011-03-10  Chris Guillory  <chris.guillory@google.com>
2764
2765         Reviewed by James Robinson.
2766
2767         Fix for Coverity discovered NO_EFFECT (self-assign) defect.
2768         https://bugs.webkit.org/show_bug.cgi?id=54143
2769
2770         * platform/graphics/gpu/TilingData.cpp:
2771         (WebCore::TilingData::setMaxTextureSize):
2772
2773 2011-03-10  Emil A Eklund  <eae@chromium.org>
2774
2775         Reviewed by Alexey Proskuryakov.
2776
2777         The web colours palevioletred and mediumpurple are incorrect
2778         https://bugs.webkit.org/show_bug.cgi?id=46658
2779
2780         Changed value for the palevioletred and mediumpurple colors to match
2781         the css3 specification.
2782
2783         Test: fast/css/named-colors.html
2784
2785         * inspector/front-end/Color.js:
2786         * platform/ColorData.gperf:
2787
2788 2011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2789
2790         Unreviewed build fix.
2791
2792         [WML] Fix build error
2793         https://bugs.webkit.org/show_bug.cgi?id=56078
2794
2795         * wml/WMLInputElement.cpp:
2796         (WebCore::WMLInputElement::defaultEventHandler):
2797
2798 2011-03-10  Jeremy Moskovich  <jeremy@chromium.org>
2799
2800         Reviewed by Darin Adler.
2801
2802         Fix navigation menus on a bunch of sites in WebKit.
2803         https://bugs.webkit.org/show_bug.cgi?id=52535
2804
2805         WebKit doesn't support position:relative for several table elements and
2806         overwrites the style internally when position:relative is encountered.
2807         Unfortunately position:relative affects the choice of nodes returned by
2808         offsetParent.
2809
2810         This CL adds a bit to RenderStyle to track whether position:relative was
2811         overwritten.  The value is then consulted in offsetParent which makes us
2812         match FF/IE.
2813
2814         Tests: fast/block/positioning/offsetLeft-relative-iframe.html
2815                fast/block/positioning/offsetLeft-relative-td.html
2816
2817         * css/CSSStyleSelector.cpp:
2818         (WebCore::CSSStyleSelector::adjustRenderStyle):
2819         * rendering/RenderObject.cpp:
2820         (WebCore::RenderObject::isOriginallyRelPositioned):
2821         (WebCore::RenderObject::offsetParent):
2822         * rendering/RenderObject.h:
2823         * rendering/style/RenderStyle.h: Add a bit to track the original value of position:relative.
2824         (WebCore::InheritedFlags::positionWasRelative):
2825         (WebCore::InheritedFlags::setPositionWasRelative):
2826         * rendering/style/StyleRareNonInheritedData.cpp:
2827         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2828         (WebCore::StyleRareNonInheritedData::operator==):
2829         * rendering/style/StyleRareNonInheritedData.h:
2830
2831 2011-03-10  Adam Barth  <abarth@webkit.org>
2832
2833         Reviewed by Darin Adler.
2834
2835         REGRESSION (r66428/r71892): Crash after assertion failure (!m_reachedTerminalState) in ResourceLoader::didCancel()
2836         https://bugs.webkit.org/show_bug.cgi?id=51357
2837
2838         Previously, we would try to print from a callstack that didn't want a
2839         nested event loop, leading to re-entrancy problems.  In this patch, we
2840         complete the print call asynchronously, giving us a clean stack on
2841         which to run the nested event loop.
2842
2843         Test: printing/print-close-crash.html
2844
2845         * page/DOMWindow.cpp:
2846         (WebCore::DOMWindow::DOMWindow):
2847         (WebCore::DOMWindow::print):
2848         (WebCore::DOMWindow::printTimerFired):
2849         * page/DOMWindow.h:
2850
2851 2011-03-11  Roland Steiner  <rolandsteiner@chromium.org>
2852
2853         Reviewed by Ryosuke Niwa.
2854
2855         Bug 55570 - Remove dependency of dom/InputElement.cpp on html/ and wml/
2856         https://bugs.webkit.org/show_bug.cgi?id=55570
2857
2858         Add a virtual function toInputElement() to Node that has a default
2859         implementation of returning 0.
2860         For HTMLInputElement and WMLInputElement (which derive from InputElement)
2861         override this to return the object.
2862         Change all calling sites of the old toInputElement to use the new member
2863         function. This also allows us to save some casts.
2864
2865         No new tests. (refactoring)
2866
2867         * WebCore.exp.in:
2868         * accessibility/AXObjectCache.cpp:
2869         (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
2870         * accessibility/AccessibilityRenderObject.cpp:
2871         (WebCore::AccessibilityRenderObject::isPasswordField):
2872         (WebCore::AccessibilityRenderObject::isIndeterminate):
2873         (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
2874         (WebCore::AccessibilityRenderObject::isChecked):
2875         * css/CSSStyleSelector.cpp:
2876         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2877         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2878         * dom/CheckedRadioButtons.cpp:
2879         (WebCore::CheckedRadioButtons::removeButton):
2880         * dom/InputElement.cpp:
2881         * dom/InputElement.h:
2882         * dom/Node.cpp:
2883         (WebCore::Node::toInputElement):
2884         * dom/Node.h:
2885         * html/HTMLInputElement.h:
2886         (WebCore::HTMLInputElement::toInputElement):
2887         * rendering/RenderTextControlSingleLine.cpp:
2888         (WebCore::RenderTextControlSingleLine::inputElement):
2889         * rendering/RenderTheme.cpp:
2890         (WebCore::RenderTheme::isChecked):
2891         (WebCore::RenderTheme::isIndeterminate):
2892         * wml/WMLInputElement.h:
2893         (WebCore::WMLInputElement::toInputElement):
2894
2895 2011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2896
2897         Reviewed by Kenneth Rohde Christiansen.
2898
2899         [EFL] New mediaControl css file for EFL
2900         https://bugs.webkit.org/show_bug.cgi?id=55460
2901
2902         Add new mediaControl css file for html5 video UI.
2903
2904         * CMakeLists.txt:
2905         * CMakeListsEfl.txt:
2906         * css/mediaControlsEfl.css: Added.
2907         (audio):
2908         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
2909         (video:-webkit-full-page-media::-webkit-media-controls-panel):
2910         (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
2911         (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
2912         (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
2913         (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
2914         (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
2915         (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
2916         (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
2917         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
2918         (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
2919         (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
2920         (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
2921         (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
2922         (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
2923         (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
2924         (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
2925         * platform/efl/RenderThemeEfl.cpp:
2926         (WebCore::RenderThemeEfl::extraMediaControlsStyleSheet):
2927
2928 2011-03-10  Emil A Eklund  <eae@chromium.org>
2929
2930         Reviewed by Dimitri Glazkov.
2931
2932         style.display affecting the initial selectedIndex value of a <select> when its multiple attribute is set programatically
2933         https://bugs.webkit.org/show_bug.cgi?id=53860
2934
2935         Preserve selection when changing between multi-select and single-select
2936         for <select> boxes even if it has not yet been rendered.
2937
2938         Test: fast/dom/HTMLSelectElement/change-multiple-preserve-selection.html
2939
2940         * html/HTMLSelectElement.cpp:
2941         (WebCore::HTMLSelectElement::setMultiple):
2942
2943 2011-03-10  Ojan Vafai  <ojan@chromium.org>
2944
2945         Reviewed by Tony Chang.
2946
2947         update comment to reference new DOM Core spec
2948         https://bugs.webkit.org/show_bug.cgi?id=56079
2949
2950         I'm excising all instances of WRONG_DOCUMENT_ERR from WebKit.
2951         This is the only one that's actually specified to fire
2952         in the latest DOM Core spec.
2953
2954         * dom/DOMImplementation.cpp:
2955         (WebCore::DOMImplementation::createDocument):
2956
2957 2011-03-10  Rik Cabanier  <cabanier@gmail.com>
2958
2959         Reviewed by Tony Gentilcore.
2960
2961         Fix that allows fixed length values to be floating point
2962         https://bugs.webkit.org/show_bug.cgi?id=52699
2963
2964         * WebCore.xcodeproj/project.pbxproj:
2965         * css/CSSStyleSelector.cpp:
2966         (WebCore::convertToLength):
2967         (WebCore::convertToIntLength):
2968         (WebCore::convertToFloatLength):
2969         (WebCore::CSSStyleSelector::applyProperty):
2970         (WebCore::CSSStyleSelector::createTransformOperations):
2971         * platform/Length.h:
2972         (WebCore::Length::Length):
2973         (WebCore::Length::operator==):
2974         (WebCore::Length::operator!=):
2975         (WebCore::Length::rawValue):
2976         (WebCore::Length::type):
2977         (WebCore::Length::quirk):
2978         (WebCore::Length::setValue):
2979         (WebCore::Length::calcFloatValue):
2980         (WebCore::Length::isZero):
2981         (WebCore::Length::blend):
2982         (WebCore::Length::getIntValue):
2983         (WebCore::Length::getFloatValue):
2984         * rendering/AutoTableLayout.cpp:
2985         (WebCore::AutoTableLayout::recalcColumn):
2986         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
2987         * rendering/FixedTableLayout.cpp:
2988         (WebCore::FixedTableLayout::calcWidthArray):
2989
2990 2011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
2991
2992         Unreviewed, rolling out r80800.
2993         http://trac.webkit.org/changeset/80800
2994         https://bugs.webkit.org/show_bug.cgi?id=56163
2995
2996         Caused hundreds of tests to crash on Windows 7 (Requested by
2997         rniwa on #webkit).
2998
2999         * page/EventHandler.cpp:
3000         (WebCore::EventHandler::mouseMoved):
3001         (WebCore::EventHandler::updateMouseEventTargetNode):
3002         * page/FocusController.cpp:
3003         (WebCore::FocusController::setActive):
3004         * page/FrameView.cpp:
3005         (WebCore::FrameView::FrameView):
3006         (WebCore::FrameView::~FrameView):
3007         * page/FrameView.h:
3008         * page/Page.cpp:
3009         * page/Page.h:
3010         * platform/ScrollView.cpp:
3011         (WebCore::ScrollView::wheelEvent):
3012         * platform/ScrollView.h:
3013         * rendering/RenderDataGrid.cpp:
3014         (WebCore::RenderDataGrid::RenderDataGrid):
3015         (WebCore::RenderDataGrid::~RenderDataGrid):
3016         * rendering/RenderLayer.cpp:
3017         (WebCore::RenderLayer::RenderLayer):
3018         (WebCore::RenderLayer::~RenderLayer):
3019         * rendering/RenderLayer.h:
3020         * rendering/RenderListBox.cpp:
3021         (WebCore::RenderListBox::RenderListBox):
3022         (WebCore::RenderListBox::~RenderListBox):
3023
3024 2011-03-10  Alice Boxhall  <aboxhall@chromium.org>
3025
3026         Reviewed by Dimitri Glazkov.
3027
3028         NULL pointer crash when using :empty and :first-line pseudoclass selectors together
3029         https://bugs.webkit.org/show_bug.cgi?id=53316
3030
3031         :empty is calculated for each element during parsing, but then not 
3032         recalculated after any child elements are attached. Force style 
3033         re-calculation on elements which have :empty in their style when
3034         their children are changed.
3035
3036         Test: fast/css/empty-first-line-crash.html
3037
3038         * dom/Element.cpp:
3039         (WebCore::checkForEmptyStyleChange): Pull out empty style checking
3040         logic from checkForSiblingStyleChanges().
3041         (WebCore::checkForSiblingStyleChanges): Use new checkForEmptyStyleChanges()
3042         method.
3043         (WebCore::Element::childrenChanged):  Call checkForEmptyStyleChanges() when
3044         called with changedByParser = true.
3045
3046 2011-03-10  Emil A Eklund  <eae@chromium.org>
3047
3048         Unreviewed build fix.
3049
3050         Fix Leopard Release build broken by r80797.
3051
3052         * html/CollectionCache.h:
3053
3054 2011-03-10  Beth Dakin  <bdakin@apple.com>
3055
3056         Reviewed by Darin Adler.
3057
3058         Fix for <rdar://problem/8944558> Overlay scrollers in overflow areas need to 
3059         send notifications appropriate times (showing up, resizing)
3060         -and corresponding-
3061         https://bugs.webkit.org/show_bug.cgi?id=56067
3062
3063         The general strategy here is to add a HashSet of ScrollableAreas to the page that 
3064         can be accessed when necessary to send notifications to all ScrollableAreas.
3065
3066         Find layers for relevant node and if the layers are in the Page's ScrollableArea 
3067         set, then send the relevant notification.
3068         * page/EventHandler.cpp:
3069         (WebCore::EventHandler::mouseMoved):
3070         (WebCore::EventHandler::updateMouseEventTargetNode):
3071
3072         When the page is set active or not active, iterate through the Page's 
3073         ScrollableAreas to send hide/show notifications. 
3074         * page/FocusController.cpp:
3075         (WebCore::FocusController::setActive):
3076
3077         When a FrameView is created, add it to the ScrollableArea set. When it's 
3078         destroyed, remove it.
3079         * page/FrameView.cpp:
3080         (WebCore::FrameView::FrameView):
3081         (WebCore::FrameView::~FrameView):
3082
3083         Iterate through the Page's ScrollableAreas to send the paint notification.
3084         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
3085         * page/FrameView.h:
3086
3087         Add the new ScrollableArea set.
3088         * page/Page.cpp:
3089         (WebCore::Page::addScrollableArea):
3090         (WebCore::Page::removeScrollableArea):
3091         (WebCore::Page::pageContainsScrollableArea):
3092         * page/Page.h:
3093         (WebCore::Page::scrollableAreaSet):
3094
3095         notifyPageThatContentAreaWillPaint() is a dummy function implemented in FrameView.
3096         * platform/ScrollView.cpp:
3097         (WebCore::ScrollView::notifyPageThatContentAreaWillPaint):
3098
3099         Call notifyPageThatContentAreaWillPaint() instead of calling 
3100         contentAreaWillPaint() just for the ScrollView.
3101         (WebCore::ScrollView::paint):
3102         * platform/ScrollView.h:
3103
3104         Add/remove ScrollableAreas to the set.
3105         * rendering/RenderDataGrid.cpp:
3106         (WebCore::RenderDataGrid::RenderDataGrid):
3107         (WebCore::RenderDataGrid::~RenderDataGrid):
3108         * rendering/RenderListBox.cpp:
3109         (WebCore::RenderListBox::RenderListBox):
3110         (WebCore::RenderListBox::~RenderListBox):
3111         * rendering/RenderLayer.cpp:
3112         (WebCore::RenderLayer::RenderLayer):
3113         (WebCore::RenderLayer::~RenderLayer):
3114
3115         Should have implemented this ScrollableArea-interface function a while ago.
3116         (WebCore::RenderLayer::currentMousePosition):
3117         * rendering/RenderLayer.h:
3118
3119 2011-03-10  takano takumi  <takano@apple.com>
3120
3121         Reviewed by David Hyatt.
3122
3123         Crash in RenderCombineText::combineText when running fast/text/international/text-combine-parser-test.html on Windows with full page heap enabled
3124         https://bugs.webkit.org/show_bug.cgi?id=55069
3125
3126         No new tests. If the test above runs without crash, the fix should be okay.
3127
3128         * dom/Node.cpp:
3129         (WebCore::Node::diff):
3130         - Changed to return Detach when textCombine style was changed.
3131         * rendering/RenderCombineText.cpp:
3132         (WebCore::RenderCombineText::styleDidChange):
3133         (WebCore::RenderCombineText::setTextInternal):
3134         (WebCore::RenderCombineText::width):
3135         (WebCore::RenderCombineText::adjustTextOrigin):
3136         (WebCore::RenderCombineText::charactersToRender):
3137         (WebCore::RenderCombineText::combineText):
3138         - Added assertions to ensure the passed object is RenderCombineText.
3139         * rendering/RenderCombineText.h:
3140         (WebCore::RenderCombineText::isCombineText):
3141         - Added to distinguish plain RenderText and RenderCombineText.
3142         (WebCore::toRenderCombineText):
3143         - Added assertions to ensure the passed object is RenderCombineText.
3144         * rendering/RenderObject.h:
3145         (WebCore::RenderObject::isCombineText):
3146         - Added to distinguish plain RenderText and RenderCombineText.
3147
3148 2011-03-10  Emil A Eklund  <eae@chromium.org>
3149
3150         Reviewed by Darin Adler.
3151
3152         Collection cache not reset when moving base node between documents
3153         https://bugs.webkit.org/show_bug.cgi?id=55446
3154
3155         Fix bug where HTMLCollection::resetCollectionInfo does not reset the
3156         cache when the base node is moved to a different document by making sure
3157         that the DOMVersion is updated and that it's unique across documents.
3158
3159         Tests: fast/dom/HTMLFormElement/invalid-form-field.html
3160                fast/dom/HTMLFormElement/move-option-between-documents.html
3161                fast/dom/collection-nameditem-move-between-documents.html
3162
3163         * dom/Document.cpp:
3164         (WebCore::Document::Document):
3165         * dom/Document.h:
3166         (WebCore::Document::incDOMTreeVersion):
3167         (WebCore::Document::domTreeVersion):
3168         * dom/Node.cpp:
3169         (WebCore::Node::setDocumentRecursively):
3170         * html/FormAssociatedElement.cpp:
3171         (WebCore::FormAssociatedElement::resetFormOwner):
3172         * html/HTMLCollection.cpp:
3173         (WebCore::HTMLCollection::resetCollectionInfo):
3174         * xml/XPathResult.h:
3175
3176 2011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3177
3178         Unreviewed build fix.
3179
3180         [EFL] Fix build break when CROSS_PLATFORM_CONTEXT_MENUS is disabled.
3181         https://bugs.webkit.org/show_bug.cgi?id=56005
3182
3183         There are build breaks when CROSS_PLATFORM_CONTEXT_MENUS is disabled.
3184
3185         * platform/efl/ContextMenuEfl.cpp:
3186         (WebCore::ContextMenu::ContextMenu):
3187         * platform/efl/ContextMenuItemEfl.cpp:
3188
3189 2011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
3190
3191         Reviewed by Tony Chang.
3192
3193         startOfBlock and endOfBlock may return a position inside hr
3194         https://bugs.webkit.org/show_bug.cgi?id=56025
3195
3196         Replaced calls to enclosingBlockFlowElement in startOfBlock and endOfBlock by
3197         calls to enclosingBlock. Added EditingBoundaryCrossingRule to the argument lists
3198         of startOfBlock, endOfBlock, and enclosingBlock. Also replaced the last boolean
3199         argument variable of enclosingNodeOfType by EditingBoundaryCrossingRule.
3200
3201         Also replaced calls to enclosingBlockFlowElement in inSameBlock by calls to
3202         enclosingBlock to be consitent with startOfBlock and endOfBlock.
3203
3204         This patch also replaced calls to deprecatedNode in startOfBlock, endOfBlock,
3205         and inSameBlock by calls to containerNode because the enclosing block of a position
3206         should never be before or after the position.
3207
3208         No tests are added because this change only affects WebCore internally.
3209
3210         * editing/DeleteSelectionCommand.cpp:
3211         (WebCore::DeleteSelectionCommand::initializePositionData): Calls enclosingNodeOfType.
3212         Pass CanCrossEditingBoundary instead of false.
3213         * editing/htmlediting.cpp:
3214         (WebCore::unsplittableElementForPosition): Ditto.
3215         (WebCore::enclosingBlock): Takes EditingBoundaryCrossingRule and passes it to
3216         enclosingNodeOfType.
3217         (WebCore::enclosingNodeOfType): Takes EditingBoundaryCrossingRule instead of boolean.
3218         Fixed a bug that it stops walking the tree when it reached the root editable node
3219         even when the editing boundary crossing rule is CanCrossEditingBoundary.
3220         * editing/htmlediting.h: Prototype changes.
3221         * editing/visible_units.cpp:
3222         (WebCore::startOfBlock): Calls enclosingBlock instead of enclosingBlockFlowElement.
3223         Also added an early exit when there's no enclosing block.
3224         (WebCore::endOfBlock): Ditto. The early exist in this case prevents crash in
3225         lastPositionInNode.
3226         (WebCore::inSameBlock): Calls enclosingBlock instead of enclosingBlockFlowElement.
3227         (WebCore::isStartOfBlock): Calls startOfBlock with CanCrossEditingBoundary because
3228         we don't care where the start of block is when we're comparing against the given position.
3229         (WebCore::isEndOfBlock): Ditto.
3230         * editing/visible_units.h:
3231
3232 2011-03-10  Alexey Proskuryakov  <ap@apple.com>
3233
3234         Reviewed by Dan Bernstein.
3235
3236         Backspace deletes all non-BMP symbols at once, and then some
3237         https://bugs.webkit.org/show_bug.cgi?id=55971
3238         <rdar://problem/8725312>
3239
3240         Test: platform/mac/editing/input/insert-delete-smp-symbol.html
3241
3242         * rendering/RenderText.cpp:
3243         (WebCore::isMark): This matches what Core Foundation does for all characters that I tested.
3244         (WebCore::RenderText::previousOffsetForBackwardDeletion): Changed to use isMark().
3245
3246 2011-03-10  Chris Evans  <cevans@chromium.org>
3247
3248         Reviewed by Adam Barth.
3249
3250         Error in StyleElement::process with large nodesets
3251         https://bugs.webkit.org/show_bug.cgi?id=56150
3252
3253         Test: none due to excessive runtime and CRASH() vs. real crash.
3254
3255         * dom/StyleElement.cpp:
3256         (WebCore::StyleElement::process): Handle large node sets better.
3257
3258 2011-03-10  David Hyatt  <hyatt@apple.com>
3259
3260         Reviewed by Simon Fraser.
3261
3262         https://bugs.webkit.org/show_bug.cgi?id=47151
3263         
3264         Percentage heights should skip anonymous containing blocks when computing the used value.
3265
3266         Added fast/block/basic/percentage-height-inside-anonymous-block.html
3267
3268         * rendering/RenderBox.cpp:
3269         (WebCore::RenderBox::computePercentageLogicalHeight):
3270
3271 2011-03-10  Nat Duca  <nduca@chromium.org>
3272
3273         Reviewed by James Robinson.
3274
3275         [chromium] Make updateAndDrawLayers argumentless.
3276         https://bugs.webkit.org/show_bug.cgi?id=55985
3277
3278         Made the TilePainters and viewport parameters for
3279         LayerRendererChromium member variables instead of arguments on
3280         updateAndDrawLayers. In a future change, this will allows us to
3281         draw the layer tree without the WebView's assistance.
3282
3283         * platform/graphics/chromium/LayerRendererChromium.cpp:
3284         (WebCore::LayerRendererChromium::create):
3285         (WebCore::LayerRendererChromium::LayerRendererChromium):
3286         (WebCore::LayerRendererChromium::verticalScrollbarRect):
3287         (WebCore::LayerRendererChromium::horizontalScrollbarRect):
3288         (WebCore::LayerRendererChromium::invalidateRootLayerRect):
3289         (WebCore::LayerRendererChromium::updateRootLayerContents):
3290         (WebCore::LayerRendererChromium::updateRootLayerScrollbars):
3291         (WebCore::LayerRendererChromium::drawRootLayer):
3292         (WebCore::LayerRendererChromium::setViewport):
3293         (WebCore::LayerRendererChromium::updateAndDrawLayers):
3294         (WebCore::LayerRendererChromium::updateLayers):
3295         (WebCore::LayerRendererChromium::drawLayers):
3296         (WebCore::LayerRendererChromium::setRootLayer):
3297         (WebCore::LayerRendererChromium::getFramebufferPixels):
3298         (WebCore::LayerRendererChromium::cleanupSharedObjects):
3299         * platform/graphics/chromium/LayerRendererChromium.h:
3300         (WebCore::LayerRendererChromium::viewportSize):
3301         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
3302         (WebCore::CCHeadsUpDisplay::draw):
3303
3304 2011-01-25  Martin Robinson  <mrobinson@igalia.com>
3305
3306         Reviewed by Xan Lopez.
3307
3308         [GTK] Implement spin buttons for GTK+ 2.x
3309         https://bugs.webkit.org/show_bug.cgi?id=53098
3310
3311         Implement spin buttons for GTK+ 2.x. This allows proper render and functioning
3312         for input type=number. The implementation is based on the one in gtkspinbutton.c
3313         from the GTK+ sources.
3314
3315         * platform/gtk/RenderThemeGtk.h: Added new members and getters.
3316         * platform/gtk/RenderThemeGtk2.cpp:
3317         (WebCore::RenderThemeGtk::platformInit): Initialize spin button widget.
3318         (WebCore::RenderThemeGtk::adjustRepaintRect): We need to draw outside the
3319         spin button area to have proper rendering. There doesn't seem to be any other
3320         clean way of having spin buttons that are the size of the text input frame.
3321         (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle): Added implementation.
3322         (WebCore::RenderThemeGtk::paintInnerSpinButton): Ditto.
3323         (WebCore::RenderThemeGtk::gtkSpinButton): Added.
3324
3325 2011-03-10  Levi Weintraub  <leviw@chromium.org>
3326
3327         Reviewed by Ryosuke Niwa.
3328
3329         InsertUnorderedList over a non-editable region and multiple lines enters an infinite loop
3330         https://bugs.webkit.org/show_bug.cgi?id=53409
3331
3332         Fixing broken handling of mixed-editability content for InsertListCommand. Previously, if the selection
3333         spanned non-contenteditable regions, it would get stuck endlessly iterating the same region as the algorithm
3334         didn't skip the editable boundary.
3335
3336         Test: editing/execCommand/insert-list-with-noneditable-content.html
3337
3338         * editing/CompositeEditCommand.cpp:
3339         (WebCore::CompositeEditCommand::cleanupAfterDeletion): Changed signature to take the destination
3340         position for the active editing command. Without this, there are cases when the destination happens
3341         to be a placeholder, and we remove it.
3342         (WebCore::CompositeEditCommand::moveParagraphs):
3343         * editing/CompositeEditCommand.h:
3344         * editing/InsertListCommand.cpp:
3345         (WebCore::InsertListCommand::doApply): Added logic to the paragraph iteration loop to handle pockets of
3346         non-editable content in an editable context. Previously, this could cause an infinite loop.
3347         * editing/visible_units.cpp:
3348         (WebCore::startOfParagraph): Added a mode of operation where we'll jump across non-editable
3349         content in the same paragraph to reach the actual editable paragraph start.
3350         (WebCore::endOfParagraph): Ditto.
3351         (WebCore::startOfNextParagraph): Now uses the aforementioned non-editable content skipping mode of
3352         endOfParagraph.
3353
3354 2011-03-10  Berend-Jan Wever  <skylined@chromium.org>
3355
3356         Reviewed by Darin Adler.
3357
3358         Calling focus() on an area element not in a document should not cause a NULL ptr crash
3359         https://bugs.webkit.org/show_bug.cgi?id=54877
3360
3361         Test: fast/dom/HTMLAreaElement/area-islink-focus-null-ptr-crash.html
3362
3363         * dom/Element.cpp:
3364         (WebCore::Element::focus): Check element is in the document before allowing focus
3365         * html/HTMLAreaElement.cpp: 
3366         (WebCore::HTMLAreaElement::imageElement): Check element has a parent before checking if its parent is a map
3367
3368 2011-03-10  Xiyuan Xia  <xiyuan@chromium.org>
3369
3370         Reviewed by Tony Chang.
3371
3372         [Chromium] Fix default single selection select's popup background on chromium/linux
3373         https://bugs.webkit.org/show_bug.cgi?id=56023
3374
3375         Test: fast/html/select-dropdown-consistent-background-color.html
3376
3377         * css/themeChromiumLinux.css:
3378
3379 2011-03-10  Kris Jordan  <krisjordan@gmail.com>
3380
3381         Reviewed by Alexey Proskuryakov.
3382
3383         Improve default Accept header to give preference to HTML over XML.
3384         https://bugs.webkit.org/show_bug.cgi?id=27267
3385
3386         * loader/FrameLoader.cpp:Changed default accept header to match
3387         FireFox' as per bug 27267.
3388
3389 2011-03-10  Martin Robinson  <mrobinson@igalia.com>
3390
3391         Reviewed by Xan Lopez.
3392
3393         [GTK] [Webkit2] There are no scrollbars visible in the MiniBrowser
3394         https://bugs.webkit.org/show_bug.cgi?id=56125
3395
3396         No new tests. This functionality will be tested once we have TestRunner
3397         implementation for WebKit2 with pixel dumping support.
3398
3399         * GNUmakefile.am: Add a new define with tracks whether or not we are using
3400         our specialized GTK+ ScrollView.
3401         * platform/ScrollView.cpp: Only use the GTK+-specific ScrollView if we are compiling
3402         WebKit1.
3403         (WebCore::ScrollView::wheelEvent):
3404         * platform/gtk/ScrollViewGtk.cpp: Ditto.
3405
3406 2011-03-10  Kent Tamura  <tkent@chromium.org>
3407
3408         Reviewed by Dimitri Glazkov.
3409
3410         Assertion fails by validating a form twice very quickly
3411         https://bugs.webkit.org/show_bug.cgi?id=56069
3412
3413         If the interactive validation is invoked when a form control is in
3414         needsLayout() state, an assertion in isFocusable() fails. To avoid it,
3415         Add a call to updateLayoutIgnorePendingStylesheets() before isFocusable().
3416
3417         Test: fast/forms/interactive-validation-assertion-by-validate-twice.html
3418
3419         * html/HTMLFormElement.cpp:
3420         (WebCore::HTMLFormElement::validateInteractively):
3421           Calls updateLayoutIgnorePendingStylesheets().
3422
3423 2011-03-10  David Hyatt  <hyatt@apple.com>
3424
3425         Reviewed by Beth Dakin.
3426
3427         https://bugs.webkit.org/show_bug.cgi?id=47143
3428         
3429         Static distance computation is wrong when an ancestor is also positioned.  We need to go up the container()
3430         chain (after initially starting with the parent()) when doing this computation, so that we properly skip
3431         intermediate boxes between two positioned blocks.
3432
3433         Added fast/block/positioning/static-distance-with-positioned-ancestor.html.
3434
3435         * rendering/RenderBox.cpp:
3436         (WebCore::computeInlineStaticDistance):
3437         (WebCore::computeBlockStaticDistance):
3438
3439 2011-03-10  Adrienne Walker  <enne@google.com>
3440
3441         Reviewed by Kenneth Russell.
3442
3443         [chromium] Make tiled compositor data structure more efficient.
3444         https://bugs.webkit.org/show_bug.cgi?id=54133
3445
3446         Previously, the compositor had a sparse 2D array of tiles for the
3447         whole page, most of which were null.  The tiles were implicitly
3448         located based on their position in the array. This was inefficient
3449         when the page grew (e.g. infinite scrolling) and caused some bugs
3450         (e.g. width * height > MAX_INT).  This change modifies tiles to have
3451         explicit positions so they can be stored in a hash map.
3452
3453         Tests: LayoutTests/compositing/
3454
3455         * platform/graphics/chromium/LayerTilerChromium.cpp:
3456         (WebCore::LayerTilerChromium::reset):
3457         (WebCore::LayerTilerChromium::createTile):
3458         (WebCore::LayerTilerChromium::invalidateTiles):
3459         (WebCore::LayerTilerChromium::contentRectToTileIndices):
3460         (WebCore::LayerTilerChromium::tileAt):
3461         (WebCore::LayerTilerChromium::tileContentRect):
3462         (WebCore::LayerTilerChromium::tileLayerRect):
3463         (WebCore::LayerTilerChromium::invalidateRect):
3464         (WebCore::LayerTilerChromium::invalidateEntireLayer):
3465         (WebCore::LayerTilerChromium::update):
3466         (WebCore::LayerTilerChromium::updateFromPixels):
3467         (WebCore::LayerTilerChromium::draw):
3468         (WebCore::LayerTilerChromium::growLayerToContain):
3469         * platform/graphics/chromium/LayerTilerChromium.h:
3470         (WebCore::LayerTilerChromium::Tile::Tile):
3471         (WebCore::LayerTilerChromium::Tile::i):
3472         (WebCore::LayerTilerChromium::Tile::j):
3473         (WebCore::LayerTilerChromium::Tile::moveTo):
3474         (WebCore::LayerTilerChromium::TileMapKeyTraits::emptyValue):
3475         (WebCore::LayerTilerChromium::TileMapKeyTraits::constructDeletedValue):
3476         (WebCore::LayerTilerChromium::TileMapKeyTraits::isDeletedValue):
3477
3478 2011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
3479
3480         Unreviewed build fix for r80752; Negated the boolean logic.
3481
3482         * editing/VisiblePosition.cpp:
3483         (WebCore::VisiblePosition::next):
3484         (WebCore::VisiblePosition::previous):
3485
3486 2011-03-10  David Hyatt  <hyatt@apple.com>
3487
3488         Reviewed by Adam Roben.
3489
3490         Make the same change to xheight on Windows for CG.
3491
3492         * platform/graphics/win/SimpleFontDataCGWin.cpp:
3493         (WebCore::SimpleFontData::platformInit):
3494
3495 2011-03-10  David Hyatt  <hyatt@apple.com>
3496
3497         Reviewed by Simon Fraser.
3498
3499         https://bugs.webkit.org/show_bug.cgi?id=47147
3500         
3501         Fix for repaint issues when the root element is a table and needs to paint a background that
3502         covers the entire canvas.  Remove paintRootBoxDecorations and replace with paintRootBoxFillLayers,
3503         so that it can be called only for fill layer painting.  Make tables and normal boxes both
3504         call this new method.  Fix the dirty check at the start of RenderTable paint to not happen if
3505         the table is the root of the document (this same check exists in RenderBlock painting already).
3506
3507         * rendering/RenderBox.cpp:
3508         (WebCore::RenderBox::paintRootBoxFillLayers):
3509         (WebCore::RenderBox::paintBoxDecorations):
3510         (WebCore::RenderBox::paintBoxDecorationsWithSize):
3511         * rendering/RenderBox.h:
3512         * rendering/RenderLayerCompositor.cpp:
3513         (WebCore::RenderLayerCompositor::calculateCompositedBounds):
3514         * rendering/RenderTable.cpp:
3515         (WebCore::RenderTable::paint):
3516         (WebCore::RenderTable::paintBoxDecorations):
3517
3518 2011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
3519
3520         Unreviewed, rolling out r80749.
3521         http://trac.webkit.org/changeset/80749
3522         https://bugs.webkit.org/show_bug.cgi?id=56143
3523
3524         "Caused at least 3 media tests to be flaky" (Requested by
3525         tonyg-cr on #webkit).
3526
3527         * html/parser/HTMLDocumentParser.cpp:
3528         (WebCore::HTMLDocumentParser::canTakeNextToken):
3529         (WebCore::HTMLDocumentParser::pumpTokenizer):
3530         * html/parser/HTMLParserScheduler.cpp:
3531         * html/parser/HTMLParserScheduler.h:
3532         (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
3533         * page/FrameView.h:
3534
3535 2011-03-10  Sam Weinig  <sam@webkit.org>
3536
3537         Reviewed by David Hyatt.
3538
3539         Regression: Content not drawn when scrolling horizontally in an RTL page
3540         https://bugs.webkit.org/show_bug.cgi?id=55077
3541
3542         * platform/ScrollView.cpp:
3543         (WebCore::ScrollView::overhangAmount):
3544         (WebCore::ScrollView::calculateOverhangAreasForPainting):
3545         Take the scroll origin into account when calculating overhang.
3546
3547         * platform/ScrollView.h:
3548         * rendering/RenderLayer.h:
3549         * platform/ScrollableArea.h:
3550         (WebCore::ScrollableArea::scrollOrigin):
3551         Move identical scroll origin member from ScrollView and RenderLayer
3552         to shared base ScrollableArea. This is also needed so that the animator
3553         can access it.
3554
3555         * platform/mac/ScrollAnimatorMac.mm:
3556         (WebCore::ScrollAnimatorMac::pinnedInDirection):
3557         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
3558         (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
3559         Account for a scroll origin when doing calculating scroll offsets.
3560
3561 2011-03-09  Matthew Delaney  <mdelaney@apple.com>
3562
3563         Reviewed by Simon Fraser.
3564
3565         Plumb through settings for accelerated drawing for canvas
3566         https://bugs.webkit.org/show_bug.cgi?id=56039
3567
3568         No new tests. Doesn't affect behavior, just adding a switch to toggle canvas backends.
3569
3570         * WebCore.exp.in:
3571         * html/HTMLCanvasElement.cpp:
3572         * html/canvas/CanvasRenderingContext2D.cpp:
3573         * page/Settings.cpp:
3574         * page/Settings.h:
3575
3576 2011-03-10  David Hyatt  <hyatt@apple.com>
3577
3578         Reviewed by Simon Fraser.
3579
3580         https://bugs.webkit.org/show_bug.cgi?id=47157
3581         
3582         CSS2.1 test suite failures because the ex unit is broken with the Ahem font.
3583         
3584         Remove the code that tries to also include the maxX of the glyph bounds for the
3585         'x' glyph, since it just causes the x-height to be way too large in cases where the 'x' glyph extends
3586         below the baseline.
3587
3588         Remove the Apple Symbol hack for ex units, since the person who added that was confused by another
3589         issue, namely that CGFontGetXHeight wasn't being properly multiplied by the pointSize.  That's why
3590         the value was too small.  Patched the code to just multiply by pointSize and took out the hack.
3591         
3592         Fix causes many tests in the css2.1 directory to progress, so no new tests required.  Many other
3593         layout tests change because the xHeight for Lucida Grande gets smaller by a little bit, and radio
3594         buttons use ex horizontal margins by default.
3595
3596         * platform/graphics/mac/SimpleFontDataMac.mm:
3597         (WebCore::SimpleFontData::platformInit):
3598
3599 2011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
3600
3601         Reviewed by Tony Chang.
3602
3603         VisiblePosition's next and previous should take an enum instead of a boolean
3604         https://bugs.webkit.org/show_bug.cgi?id=56135
3605
3606         Changed the argument type of VisiblePosition::next and VisiblePosition::previous
3607         from bool to EditingBoundaryCrossingRule. Also got rid of StayInEditableContent enum
3608         in VisibleSelection and replaced it by EditingBoundaryCrossingRule because the enum
3609         was only used in VisiblePosition::isAll and subsequently in SelectionController::isAll
3610         to call VisiblePosition::next and VisiblePosition::previous.
3611
3612         * WebCore.exp.in:
3613         * dom/Position.cpp:
3614         (WebCore::Position::trailingWhitespacePosition):
3615         * editing/ApplyBlockElementCommand.cpp:
3616         (WebCore::ApplyBlockElementCommand::doApply):
3617         * editing/CompositeEditCommand.cpp:
3618         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
3619         * editing/InsertListCommand.cpp:
3620         (WebCore::InsertListCommand::doApply):
3621         (WebCore::InsertListCommand::listifyParagraph):
3622         * editing/ReplaceSelectionCommand.cpp:
3623         (WebCore::ReplaceSelectionCommand::shouldMergeStart):
3624         (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
3625         (WebCore::ReplaceSelectionCommand::doApply):
3626         * editing/SelectionController.cpp:
3627         (WebCore::SelectionController::modifyExtendingRight):
3628         (WebCore::SelectionController::modifyExtendingForward):
3629         (WebCore::SelectionController::modifyMovingForward):
3630         (WebCore::SelectionController::modifyExtendingLeft):
3631         (WebCore::SelectionController::modifyExtendingBackward):
3632         (WebCore::SelectionController::modifyMovingBackward):
3633         * editing/SelectionController.h:
3634         (WebCore::SelectionController::isAll):
3635         * editing/TypingCommand.cpp:
3636         (WebCore::TypingCommand::deleteKeyPressed):
3637         (WebCore::TypingCommand::forwardDeleteKeyPressed):
3638         * editing/VisiblePosition.cpp:
3639         (WebCore::VisiblePosition::next):
3640         (WebCore::VisiblePosition::previous):
3641         * editing/VisiblePosition.h:
3642         * editing/VisibleSelection.cpp:
3643         (WebCore::VisibleSelection::isAll):
3644         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
3645         * editing/VisibleSelection.h:
3646         * editing/htmlediting.cpp:
3647         (WebCore::selectionForParagraphIteration):
3648         * editing/visible_units.cpp:
3649         (WebCore::startOfNextParagraph):
3650
3651 2011-03-10  Mihai Parparita  <mihaip@chromium.org>
3652
3653         Reviewed by Tony Gentilcore.
3654
3655         Remove CRASH() calls added to track down bug 53045
3656         https://bugs.webkit.org/show_bug.cgi?id=56137
3657
3658         Remove CRASH() calls added by r76575 and re-label ones added by r80155
3659         and r80269 as being associated with bug 56124 (which may still be
3660         happening).
3661
3662         * css/CSSImageValue.cpp:
3663         (WebCore::CSSImageValue::cachedImage):
3664         * css/CSSSelector.h:
3665         * css/CSSSelectorList.cpp:
3666         (WebCore::CSSSelectorList::deleteSelectors):
3667         * loader/cache/CachedResource.cpp:
3668         (WebCore::CachedResource::CachedResource):
3669         (WebCore::CachedResource::~CachedResource):
3670         * loader/cache/CachedResource.h:
3671
3672 2011-03-10  Tony Gentilcore  <tonyg@chromium.org>
3673
3674         Reviewed by Eric Seidel.
3675
3676         Let the parser yield for layout before running scripts
3677         https://bugs.webkit.org/show_bug.cgi?id=54355
3678
3679         Prior to this patch, the parser would yield to perform a layout/paint before running a
3680         script only if the script or a stylesheet blocking the script is not loaded yet. Since we
3681         don't preload scan into the body while parsing the head, typically we'll block on a script
3682         early in the body that causes us to yield to do the first paint within a reasonable time.
3683
3684         However, I'm planning to change the PreloadScanner to scan into the body from the head.
3685         That significantly improves overall load time, but would hurt first paint time because
3686         fewer scripts would be blocked during parsing and thus wouldn't yield.
3687
3688         This change causes us to yield before running scripts if we haven't painted yet (regardless
3689         of whether or not the script is loaded). In addition to allowing the above mentioned
3690         PreloadScanner change to be implemented without regressing first paint time, this also
3691         improves first paint time by itself.
3692
3693         I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
3694         bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
3695         6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
3696         signifcant change in page load time.
3697
3698         Within the pages tested, 33 had no statistically significant change in time to first paint,
3699         12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
3700         are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
3701
3702         * html/parser/HTMLDocumentParser.cpp:
3703         (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
3704         (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
3705         means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
3706         the right thing whether we are just before a token or waiting for a script. Now that we may
3707         yield before a token or before a script, this may be called while paused.
3708         * html/parser/HTMLParserScheduler.cpp:
3709         (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
3710         * page/FrameView.h:
3711         (WebCore::FrameView::hasEverPainted): Added.
3712
3713 2011-03-10  Alejandro G. Castro  <alex@igalia.com>
3714
3715         Reviewed by Martin Robinson.
3716
3717         Some Gtk code uses defined(USE_FREETYPE) instead of just USE(FREETYPE)
3718         https://bugs.webkit.org/show_bug.cgi?id=55996
3719
3720         Use the macre USE instead of defined fro WTF_USE_FREETYPE and
3721         WTF_USE_PANGO.
3722
3723         * GNUmakefile.am:
3724         * platform/graphics/cairo/OwnPtrCairo.cpp:
3725         * platform/graphics/cairo/OwnPtrCairo.h:
3726         * platform/graphics/cairo/RefPtrCairo.cpp:
3727         * platform/graphics/cairo/RefPtrCairo.h:
3728         * platform/graphics/gtk/FontGtk.cpp:
3729         (WebCore::setPangoAttributes):
3730         (WebCore::Font::drawComplexText):
3731         (WebCore::Font::floatWidthForComplexText):
3732         (WebCore::Font::offsetForPositionForComplexText):
3733         (WebCore::Font::selectionRectForComplexText):
3734
3735 2011-03-10  Geoffrey Garen  <ggaren@apple.com>
3736
3737         Reviewed by Oliver Hunt.
3738
3739         Rolled back in 80277 and 80280 with event handler layout test failures fixed.
3740         https://bugs.webkit.org/show_bug.cgi?id=55653
3741
3742         The failures were caused by a last minute typo: assigning to currentEvent
3743         instead of m_currentEvent.
3744
3745         * WebCore.xcodeproj/project.pbxproj:
3746         * bindings/js/JSDOMGlobalObject.cpp:
3747         * bindings/js/JSDOMGlobalObject.h:
3748         * bindings/js/JSDOMWindowBase.cpp:
3749         * bindings/js/JSDOMWindowBase.h:
3750         * bindings/js/JSDOMWindowCustom.h:
3751         * bindings/js/JSWorkerContextBase.cpp:
3752
3753 2011-03-10  David Hyatt  <hyatt@apple.com>
3754
3755         Reviewed by Dan Bernstein.
3756
3757         https://bugs.webkit.org/show_bug.cgi?id=56129, vertical text broken on Lion and Leopard.
3758
3759         Add Snow Leopard ifdefs for the scaling by point size and then the division by unitsPerEm to the
3760         translationsTransform applied to the results from CTFontGetVerticalTranslationsForGlyphs, since
3761         this is done already on Lion and Leopard.
3762
3763         * platform/graphics/mac/FontMac.mm:
3764         (WebCore::showGlyphsWithAdvances):
3765
3766 2011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
3767
3768         Unreviewed, rolling out r80701.
3769         http://trac.webkit.org/changeset/80701
3770         https://bugs.webkit.org/show_bug.cgi?id=56126
3771
3772         fast/dom/Geolocation/window-close-crash.html fails on Snow
3773         Leopard release builds (Requested by mihaip on #webkit).
3774
3775         * page/DOMWindow.cpp:
3776         * page/DOMWindow.h:
3777         * page/Frame.cpp:
3778         (WebCore::Frame::pageDestroyed):
3779         (WebCore::Frame::transferChildFrameToNewDocument):
3780         * page/Geolocation.cpp:
3781         (WebCore::Geolocation::~Geolocation):
3782         (WebCore::Geolocation::disconnectFrame):
3783         (WebCore::Geolocation::lastPosition):
3784         (WebCore::Geolocation::requestPermission):
3785         (WebCore::Geolocation::startUpdating):
3786         (WebCore::Geolocation::stopUpdating):
3787         * page/Geolocation.h:
3788         * page/GeolocationController.cpp:
3789         (WebCore::GeolocationController::~GeolocationController):
3790         * page/Navigator.cpp:
3791         * page/Navigator.h:
3792         * platform/mock/GeolocationClientMock.cpp:
3793         * platform/mock/GeolocationClientMock.h:
3794
3795 2011-03-10  Pratik Solanki  <psolanki@apple.com>
3796
3797         Reviewed by Alexey Proskuryakov.
3798
3799         ASSERT_NOT_REACHED triggered in WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority
3800         https://bugs.webkit.org/show_bug.cgi?id=56075
3801
3802         Map priority value 3, which means no priority, to ResourceLoadPriorityUnresolved.
3803
3804         * platform/network/cf/ResourceRequestCFNet.h:
3805         (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority):
3806         (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority):
3807
3808 2011-03-10  Andrey Adaikin  <aandrey@google.com>
3809
3810         Reviewed by Pavel Feldman.
3811
3812         Web Inspector: [Text editor] Substitute live-edit mode activation by double-click
3813         https://bugs.webkit.org/show_bug.cgi?id=56084
3814
3815         Also fixed a regression: console was not opening/closing on ESC key press because tabIndex="0" attribute was preserved for a readOnly viewer.
3816
3817         * inspector/front-end/SourceFrame.js:
3818         (WebInspector.SourceFrame):
3819         (WebInspector.SourceFrame.prototype._startEditing):
3820         (WebInspector.SourceFrame.prototype._registerShortcuts):
3821         (WebInspector.SourceFrame.prototype._handleKeyDown):
3822         (WebInspector.SourceFrame.prototype._handleSave):
3823         (WebInspector.SourceFrame.prototype._handleRevertEditing):
3824         (WebInspector.SourceFrame.prototype._doubleClick):
3825         * inspector/front-end/TextEditorModel.js:
3826         (WebInspector.TextEditorModel.prototype.get text):
3827         * inspector/front-end/TextViewer.js:
3828         (WebInspector.TextViewer.prototype.get readOnly):
3829         (WebInspector.TextEditorMainPanel):
3830         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
3831         (WebInspector.TextEditorMainPanel.prototype.get readOnly):
3832
3833 2011-03-10  Greg Simon  <gregsimon@chromium.org>
3834
3835         Reviewed by Pavel Feldman.
3836
3837         Web Inspector: Need new graphic icon for garbage collect button.
3838         https://bugs.webkit.org/show_bug.cgi?id=55794
3839
3840         No new tests: gc tests are flaky due to non-determinisic
3841         behavior of collection APIs (more notes in bug)
3842
3843         * English.lproj/localizedStrings.js:
3844         * WebCore.gypi:
3845         * bindings/js/ScriptProfiler.cpp:
3846         (WebCore::ScriptProfiler::collectGarbage):
3847         * bindings/js/ScriptProfiler.h:
3848         * bindings/v8/ScriptProfiler.cpp:
3849         (WebCore::ScriptProfiler::collectGarbage):
3850         * bindings/v8/ScriptProfiler.h:
3851         * inspector/Inspector.idl:
3852         * inspector/InspectorProfilerAgent.cpp:
3853         (WebCore::InspectorProfilerAgent::collectGarbage):
3854         * inspector/InspectorProfilerAgent.h:
3855         * inspector/front-end/Images/garbageCollectButtonGlyph.png: Added.
3856         * inspector/front-end/TimelinePanel.js:
3857         (WebInspector.TimelinePanel.prototype.get statusBarItems):
3858         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
3859         (WebInspector.TimelinePanel.prototype._garbageCollectButtonClicked):
3860         * inspector/front-end/inspector.css:
3861         (.garbage-collect-status-bar-item .glyph):
3862
3863 2011-03-10  Andrey Kosyakov  <caseq@chromium.org>
3864
3865         Web Inspector: better names for HAR export commands
3866         https://bugs.webkit.org/show_bug.cgi?id=56097
3867
3868         Rename Export to HAR to Copy entry/network log as HAR
3869         Expose Copy as HAR unconditionally, remove related settings entry.
3870
3871         * English.lproj/localizedStrings.js:
3872         * inspector/front-end/NetworkPanel.js:
3873         (WebInspector.NetworkPanel.prototype._contextMenu):
3874         * inspector/front-end/Settings.js:
3875
3876 2011-03-10  Qi Zhang  <qi.2.zhang@nokia.com>
3877
3878         Reviewed by Laszlo Gombos.
3879
3880         [Qt] Mobile Devices should include Model and Firmware Version in Webkit Generated User Agent String
3881         https://bugs.webkit.org/show_bug.cgi?id=48636
3882
3883         Fix a typo in features.pri that turns on this feature on mobile
3884         devices by default.
3885
3886         * features.pri:
3887
3888 2011-03-10  Alexander Pavlov  <apavlov@chromium.org>
3889
3890         Reviewed by Pavel Feldman.
3891
3892         Web Inspector: Invalid expected parameter list in CSSAgent.setSelectorText() callback (CSSStyleModel.js)
3893         https://bugs.webkit.org/show_bug.cgi?id=56092
3894
3895         * inspector/front-end/CSSStyleModel.js:
3896         (WebInspector.CSSStyleModel.prototype.setRuleSelector):
3897
3898 2011-03-10  Pavel Feldman  <pfeldman@chromium.org>
3899
3900         Not reviewed: rolling out r80478 and its follow ups for breaking
3901         inspector and engadget.com.
3902         https://bugs.webkit.org/show_bug.cgi?id=49401
3903
3904         * dom/Document.cpp:
3905         (WebCore::Document::Document):
3906         (WebCore::performTask):
3907         (WebCore::Document::postTask):
3908         * dom/Document.h:
3909         * loader/FrameLoader.cpp:
3910         (WebCore::FrameLoader::setDefersLoading):
3911         * manual-tests/database-callback-deferred.html: Removed.
3912         * page/PageGroupLoadDeferrer.cpp:
3913         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
3914         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
3915
3916 2011-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3917
3918         Reviewed by Kenneth Rohde Christiansen.
3919
3920         Tiled backing store's delegated scroll request uses incorrect convention
3921         https://bugs.webkit.org/show_bug.cgi?id=56011
3922
3923         Use a point instead of delta, when relaying the scroll request from
3924         ScrollView::setScrollPosition.
3925
3926         * loader/EmptyClients.h:
3927         (WebCore::EmptyChromeClient::delegatedScrollRequested):
3928         * page/Chrome.cpp:
3929         (WebCore::Chrome::delegatedScrollRequested):
3930         * page/Chrome.h:
3931         * page/ChromeClient.h:
3932         * platform/HostWindow.h:
3933         * platform/ScrollView.cpp:
3934         (WebCore::ScrollView::setScrollPosition):
3935
3936 2011-03-10  Pavel Feldman  <pfeldman@chromium.org>
3937
3938         Reviewed by Yury Semikhatsky.
3939
3940         Web Inspector: brush up DOM agent API.
3941         https://bugs.webkit.org/show_bug.cgi?id=56093
3942
3943         * inspector/Inspector.idl:
3944         * inspector/InspectorDOMAgent.cpp:
3945         (WebCore::InspectorDOMAgent::childNodes):
3946         (WebCore::InspectorDOMAgent::setNodeName):
3947         (WebCore::InspectorDOMAgent::outerHTML):
3948         (WebCore::InspectorDOMAgent::setNodeValue):
3949         * inspector/InspectorDOMAgent.h:
3950         * inspector/front-end/DOMAgent.js:
3951         (WebInspector.DOMNode):
3952         (WebInspector.DOMNode.prototype.hasAttributes):
3953         (WebInspector.DOMNode.prototype.nodeType):
3954         (WebInspector.DOMNode.prototype.nodeName):
3955         (WebInspector.DOMNode.prototype.setNodeName):
3956         (WebInspector.DOMNode.prototype.localName):
3957         (WebInspector.DOMNode.prototype.nodeValue):
3958         (WebInspector.DOMNode.prototype.setNodeValue):
3959         (WebInspector.DOMNode.prototype.setAttribute):
3960         (WebInspector.DOMNode.prototype.attributes):
3961         (WebInspector.DOMNode.prototype.removeAttribute):
3962         (WebInspector.DOMNode.prototype.childNodes.mycallback):
3963         (WebInspector.DOMNode.prototype.childNodes):
3964         (WebInspector.DOMNode.prototype.outerHTML):
3965         (WebInspector.DOMNode.prototype.setOuterHTML):
3966         (WebInspector.DOMNode.prototype.removeNode):
3967         (WebInspector.DOMNode.prototype.copyNode):
3968         (WebInspector.DOMNode.prototype.path):
3969         (WebInspector.DOMNode.prototype._setAttributesPayload):
3970         (WebInspector.DOMNode.prototype._addAttribute):
3971         (WebInspector.DOMAgent.prototype._characterDataModified):
3972         * inspector/front-end/ElementsPanel.js:
3973         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
3974         (WebInspector.ElementsPanel.prototype.decorateNodeLabel):
3975         (WebInspector.ElementsPanel.prototype.handleCopyEvent):
3976         * inspector/front-end/ElementsTreeOutline.js:
3977         (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
3978         (WebInspector.ElementsTreeElement):
3979         (WebInspector.ElementsTreeElement.prototype.updateChildren):
3980         (WebInspector.ElementsTreeElement.prototype._updateChildren):
3981         (WebInspector.ElementsTreeElement.prototype._startEditingTarget):
3982         (WebInspector.ElementsTreeElement.prototype._startEditing):
3983         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
3984         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
3985         (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
3986         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
3987         (WebInspector.ElementsTreeElement.prototype._attributeHTML):
3988         ():
3989         * inspector/front-end/EventListenersSidebarPane.js:
3990         ():
3991         * inspector/front-end/MetricsSidebarPane.js:
3992         * inspector/front-end/StylesSidebarPane.js:
3993         * inspector/front-end/utilities.js:
3994
3995 2011-03-09  Alexander Pavlov  <apavlov@chromium.org>
3996
3997         Reviewed by Pavel Feldman.
3998
3999         Web Inspector: [STYLES] Editing a property value adds a word for any property value that uses a paren
4000         https://bugs.webkit.org/show_bug.cgi?id=56002
4001
4002         * inspector/front-end/StylesSidebarPane.js: Introduce an additional check.
4003
4004 2011-03-09  Pavel Podivilov  <podivilov@chromium.org>
4005
4006         Reviewed by Pavel Feldman.
4007
4008         Web Inspector: use DebuggerPresentation instead of DebuggerModel in source frame delegate.
4009         https://bugs.webkit.org/show_bug.cgi?id=56034
4010
4011         * inspector/front-end/DebuggerPresentationModel.js:
4012         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
4013         (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
4014         (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
4015         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
4016         (WebInspector.DebuggerPresentationModel.prototype._sourceLocationToActualLocation):
4017         * inspector/front-end/ScriptsPanel.js:
4018         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
4019         (WebInspector.SourceFrameDelegateForScriptsPanel):
4020         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint):
4021         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint):
4022         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint):
4023         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint):
4024         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine):
4025         * inspector/front-end/SourceFrame.js:
4026         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
4027         (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
4028         (WebInspector.SourceFrame.prototype._contextMenu.else.setBreakpointEnabled):
4029         (WebInspector.SourceFrame.prototype._contextMenu):
4030         (WebInspector.SourceFrame.prototype._mouseDown):
4031         (WebInspector.SourceFrameDelegate.prototype.removeBreakpoint):
4032         (WebInspector.SourceFrameDelegate.prototype.updateBreakpoint):
4033
4034 2011-03-09  Alexander Pavlov  <apavlov@chromium.org>
4035
4036         Reviewed by Pavel Feldman.
4037
4038         Web Inspector: elements dom tree - word wrap toggle
4039         https://bugs.webkit.org/show_bug.cgi?id=44311
4040
4041         A "Word Wrap" option is now shown in a context menu for the entire DOM tree content area
4042         and persisted into application settings.
4043
4044         * English.lproj/localizedStrings.js:
4045         * inspector/front-end/ElementsPanel.js:
4046         (WebInspector.ElementsPanel.prototype._contextMenuEventFired):
4047         (WebInspector.ElementsPanel.prototype._contextMenuEventFired.toggleWordWrap):
4048         * inspector/front-end/ElementsTreeOutline.js:
4049         (WebInspector.ElementsTreeOutline):
4050         (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
4051         (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):