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