Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-03-17  Jeff Miller  <jeffm@apple.com>
2
3         Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj directories, specifically:
4         
5         *.mode*
6         *.pbxuser
7         *.perspective*
8         project.xcworkspace
9         xcuserdata
10
11         * WebCore.xcodeproj: Modified property svn:ignore.
12         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Modified property svn:ignore.
13
14 2011-03-17  Sam Weinig  <sam@webkit.org>
15
16         Fix Mac build.
17
18         * WebCore.exp.in:
19         Add missing symbol.
20
21 2011-03-17  Ryosuke Niwa  <rniwa@webkit.org>
22
23         Reviewed by Adele Peterson and Enrica Casucci.
24
25         Assert that editing does not ignore position's anchorNode if position is an offset in anchor
26         https://bugs.webkit.org/show_bug.cgi?id=56027
27
28         Debug build fix.
29
30         * dom/Element.cpp:
31         (WebCore::Element::updateFocusAppearance): "this" can be an input element so can't always instantiate
32         a position inside the node. Call firstPositionInOrBeforeNode instead.
33         * editing/ReplaceSelectionCommand.cpp:
34         (WebCore::positionAvoidingPrecedingNodes): Exit early when a node's content is ignored by editing instead
35         of just when the node is br.
36         * editing/htmlediting.cpp:
37         (WebCore::lastEditablePositionBeforePositionInRoot): The shadow ancestor node is usually an input element
38         so don't instantiate a position inside it. Call firstPositionInOrBeforeNode instead.
39
40 2011-03-17  Sheriff Bot  <webkit.review.bot@gmail.com>
41
42         Unreviewed, rolling out r81369.
43         http://trac.webkit.org/changeset/81369
44         https://bugs.webkit.org/show_bug.cgi?id=56579
45
46         breaks debugger test (Requested by podivilov on #webkit).
47
48         * inspector/front-end/DebuggerPresentationModel.js:
49         (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
50         (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
51         (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
52         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
53         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
54         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
55         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
56         (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
57         (WebInspector.DebuggerPresentationModel.prototype._encodeSourceLocation):
58         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
59         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
60         (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
61         (WebInspector.DebuggerPresentationModel.prototype.reset):
62         * inspector/front-end/ScriptsPanel.js:
63         (WebInspector.ScriptsPanel):
64         (WebInspector.ScriptsPanel.prototype._parsedScriptSource):
65         (WebInspector.ScriptsPanel.prototype._failedToParseScriptSource):
66         (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
67         (WebInspector.ScriptsPanel.prototype._addScript):
68         (WebInspector.ScriptsPanel.prototype._resourceForURL):
69         (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
70         (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelectAndShowSourceFrameIfNeeded):
71         (WebInspector.ScriptsPanel.prototype._showSourceFrame):
72         (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
73         (WebInspector.ScriptsPanel.prototype._sourceFileIdForScript):
74         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
75         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
76
77 2011-03-17  Ryosuke Niwa  <rniwa@webkit.org>
78
79         Reviewed by Justin Garcia.
80
81         Assert that editing does not ignore position's anchorNode if position is an offset in anchor
82         https://bugs.webkit.org/show_bug.cgi?id=56027
83
84         Added the assertion in Position::Position and Position::moveToPosition. This assertion catches
85         places where we instantiate positions inside a node on which editingIgnoresContent returns true.
86
87         Test: editing/execCommand/button.html
88
89         * dom/Position.cpp:
90         (WebCore::Position::Position): Added an assertion.
91         (WebCore::Position::moveToPosition): Ditto.
92         * dom/PositionIterator.cpp:
93         (WebCore::PositionIterator::operator Position): Avoid creating a position immediately below
94         a node whose content is ignored by editing. While this does not avoid creation of positions
95         inside ignored contents completely, it works in most cases. Filed the bug 56027 to resolve
96         the underlying problem. Without this change, the assertion hits in existing layout tests.
97         cannot be tested directly.
98         * editing/ApplyStyleCommand.cpp:
99         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Call firstPositionInOrBeforeNode
100         instead of firstPositionInNode because startNode may as well be a br element. Without this change,
101         the assertion hits in existing layout tests.
102         * editing/htmlediting.cpp:
103         (WebCore::canHaveChildrenForEditing): button is editable so content is not ignored. Added a test
104         for this.
105         * editing/visible_units.cpp:
106         (WebCore::previousBoundary): Added a FIXME.
107         (WebCore::startPositionForLine): Because br can also have an inline text box, checking that
108         startBox is an inline text box isn't an adequate to instantiate a position inside startNode.
109         Call startNode->isTextNode() instead. Without this change, the assertion hits in existing layout
110         tests.
111
112 2011-03-17  Pavel Podivilov  <podivilov@chromium.org>
113
114         Reviewed by Pavel Feldman.
115
116         Web Inspector: extract content loading logic from scripts panel.
117         https://bugs.webkit.org/show_bug.cgi?id=55237
118
119         Encapsulate source files creation logic in debugger presentation model
120         to support source mappings in a pluggable way.
121
122         * inspector/front-end/DebuggerPresentationModel.js:
123         (WebInspector.DebuggerPresentationModel.prototype.sourceFile):
124         (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent.else.didRequestSource):
125         (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent):
126         (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
127         (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
128         (WebInspector.DebuggerPresentationModel.prototype._addScript.else.resourceFinished):
129         (WebInspector.DebuggerPresentationModel.prototype._addScript):
130         (WebInspector.DebuggerPresentationModel.prototype._ensureSourceFileAdded):
131         (WebInspector.DebuggerPresentationModel.prototype._resourceForURL):
132         (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
133         (WebInspector.DebuggerPresentationModel.prototype._sourceFileAdded):
134         (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
135         (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
136         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
137         (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
138         (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
139         (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
140         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
141         (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
142         (WebInspector.DebuggerPresentationModel.prototype.reset):
143         * inspector/front-end/ScriptsPanel.js:
144         (WebInspector.ScriptsPanel):
145         (WebInspector.ScriptsPanel.prototype._sourceFileAdded):
146         (WebInspector.ScriptsPanel.prototype._showSourceFrame):
147         (WebInspector.ScriptsPanel.prototype._sourceFileChanged):
148         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
149         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
150
151 2011-03-17  Pavel Feldman  <pfeldman@chromium.org>
152
153         Reviewed by Yury Semikhatsky.
154
155         Web Inspector: add types markup to the IDL, remove Value types from the protocol.
156         https://bugs.webkit.org/show_bug.cgi?id=56562
157
158         * inspector/ConsoleMessage.cpp:
159         (WebCore::ConsoleMessage::addToFrontend):
160         * inspector/InjectedScript.cpp:
161         (WebCore::InjectedScript::evaluate):
162         (WebCore::InjectedScript::evaluateOn):
163         (WebCore::InjectedScript::evaluateOnCallFrame):
164         (WebCore::InjectedScript::getProperties):
165         (WebCore::InjectedScript::setPropertyValue):
166         (WebCore::InjectedScript::callFrames):
167         (WebCore::InjectedScript::makeCall):
168         (WebCore::InjectedScript::makeObjectCall):
169         * inspector/InjectedScript.h:
170         * inspector/InjectedScriptSource.js:
171         (.):
172         * inspector/Inspector.idl:
173         * inspector/InspectorApplicationCacheAgent.cpp:
174         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
175         * inspector/InspectorApplicationCacheAgent.h:
176         * inspector/InspectorCSSAgent.cpp:
177         (WebCore::InspectorCSSAgent::getStylesForNode):
178         (WebCore::InspectorCSSAgent::getInlineStyleForNode):
179         (WebCore::InspectorCSSAgent::getComputedStyleForNode):
180         (WebCore::InspectorCSSAgent::getStyleSheet):
181         (WebCore::InspectorCSSAgent::setPropertyText):
182         (WebCore::InspectorCSSAgent::toggleProperty):
183         (WebCore::InspectorCSSAgent::setRuleSelector):
184         (WebCore::InspectorCSSAgent::addRule):
185         * inspector/InspectorCSSAgent.h:
186         * inspector/InspectorDOMAgent.cpp:
187         (WebCore::InspectorDOMAgent::resolveNode):
188         * inspector/InspectorDOMAgent.h:
189         * inspector/InspectorDebuggerAgent.cpp:
190         (WebCore::InspectorDebuggerAgent::editScriptSource):
191         (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
192         (WebCore::InspectorDebuggerAgent::currentCallFrames):
193         * inspector/InspectorDebuggerAgent.h:
194         * inspector/InspectorResourceAgent.cpp:
195         (WebCore::InspectorResourceAgent::identifierForInitialRequest):
196         * inspector/InspectorRuntimeAgent.cpp:
197         (WebCore::InspectorRuntimeAgent::evaluate):
198         (WebCore::InspectorRuntimeAgent::evaluateOn):
199         (WebCore::InspectorRuntimeAgent::getProperties):
200         (WebCore::InspectorRuntimeAgent::setPropertyValue):
201         * inspector/InspectorRuntimeAgent.h:
202         * inspector/ScriptCallStack.cpp:
203         (WebCore::ScriptCallStack::buildInspectorArray):
204         * inspector/ScriptCallStack.h:
205         * inspector/TimelineRecordFactory.cpp:
206         (WebCore::TimelineRecordFactory::createGenericRecord):
207         * inspector/front-end/NetworkManager.js:
208         (WebInspector.NetworkDispatcher.prototype._createResource):
209
210 2011-03-17  Sheriff Bot  <webkit.review.bot@gmail.com>
211
212         Unreviewed, rolling out r81350.
213         http://trac.webkit.org/changeset/81350
214         https://bugs.webkit.org/show_bug.cgi?id=56560
215
216         "Breaks twenty Chromium Webkit Win builder webkit_gpu_tests"
217         (Requested by apavlov on #webkit).
218
219         * WebCore.gypi:
220         * platform/graphics/chromium/GLES2Canvas.cpp:
221         (WebCore::GLES2Canvas::State::State):
222         (WebCore::GLES2Canvas::clearRect):
223         (WebCore::GLES2Canvas::fillPath):
224         (WebCore::GLES2Canvas::fillRect):
225         (WebCore::GLES2Canvas::clipPath):
226         (WebCore::GLES2Canvas::restore):
227         (WebCore::GLES2Canvas::drawTexturedRect):
228         (WebCore::GLES2Canvas::drawTexturedRectTile):
229         (WebCore::GLES2Canvas::drawQuad):
230         * platform/graphics/chromium/GLES2Canvas.h:
231         * platform/graphics/gpu/BicubicShader.cpp: Removed.
232         * platform/graphics/gpu/BicubicShader.h: Removed.
233         * platform/graphics/gpu/ConvolutionShader.cpp: Removed.
234         * platform/graphics/gpu/ConvolutionShader.h: Removed.
235         * platform/graphics/gpu/DrawingBuffer.h:
236         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
237         (WebCore::SharedGraphicsContext3D::create):
238         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
239         * platform/graphics/gpu/SharedGraphicsContext3D.h:
240         * platform/graphics/skia/GraphicsContextSkia.cpp:
241         (WebCore::GraphicsContext::setPlatformShadow):
242         * platform/graphics/skia/PlatformContextSkia.cpp:
243         (WebCore::PlatformContextSkia::canAccelerate):
244
245 2011-03-17  Mikhail Naganov  <mnaganov@chromium.org>
246
247         Reviewed by Yury Semikhatsky.
248
249         Web Inspector: Clean up Inspector strings.
250         https://bugs.webkit.org/show_bug.cgi?id=56557
251
252         * English.lproj/localizedStrings.js:
253
254 2011-03-14  Pavel Podivilov  <podivilov@chromium.org>
255
256         Reviewed by Yury Semikhatsky.
257
258         Web Inspector: refactor event listener breakpoints.
259         https://bugs.webkit.org/show_bug.cgi?id=56305
260
261         - restore event listener breakpoints one by one instead of using setAllBrowserBreakpoints
262         - store event listener breakpoints in a separate separate setting
263         - move presentation-related code from BreakpointManager to EventListenerBreakpointsSidebarPane
264
265         Test: inspector/debugger/event-listener-breakpoints.html
266
267         * inspector/Inspector.idl:
268         * inspector/InspectorAgent.cpp:
269         (WebCore::InspectorAgent::setFrontend):
270         * inspector/InspectorBrowserDebuggerAgent.cpp:
271         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
272         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
273         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
274         (WebCore::InspectorBrowserDebuggerAgent::clear):
275         * inspector/InspectorBrowserDebuggerAgent.h:
276         * inspector/InspectorInstrumentation.cpp:
277         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
278         * inspector/front-end/BreakpointManager.js:
279         (WebInspector.BreakpointManager.prototype.setEventListenerBreakpoint):
280         (WebInspector.BreakpointManager.prototype.removeEventListenerBreakpoint):
281         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
282         (WebInspector.BreakpointManager.prototype._projectChanged):
283         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
284         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
285         (WebInspector.BreakpointManager.prototype._createDOMBreakpointId):
286         * inspector/front-end/BreakpointsSidebarPane.js:
287         (WebInspector.EventListenerBreakpointsSidebarPane):
288         (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI):
289         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
290         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
291         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
292         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
293         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
294         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
295         (WebInspector.EventListenerBreakpointsSidebarPane.prototype.highlightBreakpoint):
296         (WebInspector.EventListenerBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
297         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._saveBreakpoints):
298         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._restoreBreakpoints):
299         * inspector/front-end/CallStackSidebarPane.js:
300         (WebInspector.CallStackSidebarPane.prototype.update):
301         (WebInspector.CallStackSidebarPane.prototype.setStatus):
302         (WebInspector.CallStackSidebarPane.prototype._domBreakpointHit):
303         * inspector/front-end/ScriptsPanel.js:
304         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
305         (WebInspector.ScriptsPanel.prototype._clearInterface):
306         * inspector/front-end/Settings.js:
307         (WebInspector.Settings):
308
309 2011-03-16  Stephen White  <senorblanco@chromium.org>
310
311         Reviewed by Kenneth Russell.
312
313         Implement GPU-accelerated shadows.
314         https://bugs.webkit.org/show_bug.cgi?id=56476
315
316         For hard shadows, we simply offset the CTM and draw in the shadow
317         color.  For soft shadows, we use a separable Gaussian convolution,
318         with a bilinear downsample and Mitchell-Netravali upsample in order to
319         preserve quality.
320
321         * WebCore.gypi:
322         Add BicubicShader and ConvolutionShader to the build.
323         * platform/graphics/chromium/GLES2Canvas.cpp:
324         (WebCore::GLES2Canvas::State::State):
325         Add shadow-related members to the GLES2Canvas::State
326         (WebCore::GLES2Canvas::State::shadowActive):
327         Add a helper function to know if shadows are active.
328         (WebCore::GLES2Canvas::clearRect):
329         (WebCore::GLES2Canvas::scissorClear):
330         Refactor the scissor clearing function out of clearRect().
331         (WebCore::GLES2Canvas::fillPath):
332         Add hook for shadow rendering in paths.  Bind framebuffer at this level.
333         (WebCore::GLES2Canvas::fillRect):
334         Add hook for shadow rendering in rects.  Bind framebuffer at this level.
335         (WebCore::GLES2Canvas::fillRectInternal):
336         Rename fillRect() -> fillRectInternal(), which does bind its vertex 
337         buffer, but does not bind the framebuffer.
338         (WebCore::GLES2Canvas::setShadowColor):
339         (WebCore::GLES2Canvas::setShadowOffset):
340         (WebCore::GLES2Canvas::setShadowBlur):
341         (WebCore::GLES2Canvas::setShadowsIgnoreTransforms):
342         Implement graphicsContext-style setters for shadow parameters.
343         (WebCore::GLES2Canvas::clipPath):
344         Call fillPathInternal(), not fillPath().
345         (WebCore::GLES2Canvas::restore):
346         (WebCore::GLES2Canvas::drawTexturedRect):
347         Bind the framebuffer at this level.  Do not bind vertices here (will
348         be done in drawTexturedQuad).
349         (WebCore::GLES2Canvas::drawTexturedRectTile):
350         drawQuad() -> drawTexturedQuad().
351         (WebCore::GLES2Canvas::convolveRect):
352         Implement one pass of a convolution filter (X or Y).
353         (WebCore::gauss):
354         (WebCore::buildKernel):
355         Some helper functions to build a Gaussian convolution kernel.
356         (WebCore::GLES2Canvas::drawTexturedQuad):
357         Rename drawQuad() -> drawTexturedQuad(), to be more clear.  Do not
358         bind the framebuffer at this level (it will be done higher).
359         (WebCore::GLES2Canvas::drawTexturedQuadMitchell):
360         Implement Mitchell-Netravali bicubic sampling, using BicubicShader.
361         (WebCore::GLES2Canvas::fillPathInternal):
362         Rename fillPath() -> fillPathInternal(), which does use quad vertices,
363         but does not bind the framebuffer or set the compositing mode.
364         (WebCore::GLES2Canvas::flipRect):
365         Implement a helper function to flip a rectangle in Y within the canvas.
366         (WebCore::GLES2Canvas::clearBorders):
367         Implement a helper function to clear an n-pixel border around a rect.
368         (WebCore::GLES2Canvas::beginShadowDraw):
369         Setup before drawing a primitive's shadow:  for hard shadows, just
370         offset the CTM by the shadow offset.  For soft shadows, bind to an
371         offscreen DrawingBuffer.
372         (WebCore::GLES2Canvas::endShadowDraw):
373         Tear-down after drawing a primitive's shadow:  for hard shadows, just
374         restore the CTM.  For soft shadows, downsample (if necessary), then
375         blur in X, blur in Y, upsample if necessary).
376         * platform/graphics/chromium/GLES2Canvas.h:
377         * platform/graphics/gpu/BicubicShader.cpp: Added.
378         (WebCore::BicubicShader::BicubicShader):
379         (WebCore::BicubicShader::create):
380         (WebCore::BicubicShader::use):
381         * platform/graphics/gpu/BicubicShader.h: Added.
382         Implement a bicubic image filtering shader.
383         * platform/graphics/gpu/ConvolutionShader.cpp: Added.
384         (WebCore::ConvolutionShader::ConvolutionShader):
385         (WebCore::ConvolutionShader::create):
386         (WebCore::ConvolutionShader::use):
387         * platform/graphics/gpu/ConvolutionShader.h: Added.
388         Implement a 1-dimensional convolution shader.  In order to minimize
389         texture samples, this shader is parameterized at compile time by the
390         width of the convolution kernel.
391         * platform/graphics/gpu/DrawingBuffer.h:
392         (WebCore::DrawingBuffer::colorBuffer):
393         Add an accessor to retrieve a DrawingBuffer's texture ID.
394         * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
395         (WebCore::SharedGraphicsContext3D::create):
396         (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
397         (WebCore::SharedGraphicsContext3D::useBicubicProgram):
398         (WebCore::SharedGraphicsContext3D::useConvolutionProgram):
399         Create BicubicShader and cMaxKernelWidth ConvolutionShader's (one for
400         each possible kernel width).
401         (WebCore::SharedGraphicsContext3D::getOffscreenBuffer):
402         Implement a simple cache of offscreen DrawingBuffers, integer-indexed.
403         This is done to minimize the VRAM usage:  only 2 buffers are used for
404         all canvases.
405         * platform/graphics/gpu/SharedGraphicsContext3D.h:
406         Add bicubic and convolution shader members, and useXXX() functions.
407         * platform/graphics/skia/GraphicsContextSkia.cpp:
408         (WebCore::GraphicsContext::setPlatformShadow):
409         Hook into GraphicsContextSkia's platform shadow setters to set
410         parameters on GLES2Canvas.
411         * platform/graphics/skia/PlatformContextSkia.cpp:
412         (WebCore::PlatformContextSkia::canAccelerate):
413         Remove shadows (loopers) from the list of things we can't accelerate.
414
415 2011-03-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
416
417         Reviewed by Andreas Kling.
418
419         Tiled backing store should only request repaint for updated areas
420         https://bugs.webkit.org/show_bug.cgi?id=56464
421
422         Reuse updateBackBuffer's dirty rectangle calculations to only
423         invalidate the necessary parts of the window.
424
425         * platform/graphics/Tile.h:
426         * platform/graphics/TiledBackingStore.cpp:
427         (WebCore::TiledBackingStore::updateTileBuffers):
428         * platform/graphics/qt/TileQt.cpp:
429         (WebCore::Tile::updateBackBuffer):
430
431 2011-03-17  Mikhail Naganov  <mnaganov@chromium.org>
432
433         Reviewed by Pavel Feldman.
434
435         Web Inspector: [Chromium] Reduce memory consumption by detailed heap snapshots indexes.
436         https://bugs.webkit.org/show_bug.cgi?id=56395
437
438         * inspector/front-end/DetailedHeapshotGridNodes.js:
439         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
440         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
441         * inspector/front-end/HeapSnapshot.js:
442         (WebInspector.HeapSnapshotRetainerEdge): Added
443         (WebInspector.HeapSnapshotRetainerEdgeIterator): Added
444         (WebInspector.HeapSnapshotNode.prototype.get retainers):
445         (WebInspector.HeapSnapshot.prototype.dispose):
446         (WebInspector.HeapSnapshot.prototype.hasId):
447         (WebInspector.HeapSnapshot.prototype.retainers):
448         (WebInspector.HeapSnapshot.prototype._buildRetainers):
449         (WebInspector.HeapSnapshot.prototype._buildIdsList):
450         (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
451         (WebInspector.HeapSnapshot.prototype._findNodePositionInIndex):
452         (WebInspector.HeapSnapshot.prototype._findNearestNodeIndex):
453         (WebInspector.HeapSnapshot.prototype._getRetainerIndex):
454         (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
455         (WebInspector.HeapSnapshot.prototype._numbersComparator):
456         (WebInspector.HeapSnapshotPathFinder.prototype.get _lastEdge):
457         (WebInspector.HeapSnapshotPathFinder.prototype._nextEdgeIter):
458         (WebInspector.HeapSnapshotPathFinder.prototype._buildNextPath):
459         (WebInspector.HeapSnapshotPathFinder.prototype._pathToString):
460
461 2011-03-17  Sheriff Bot  <webkit.review.bot@gmail.com>
462
463         Unreviewed, rolling out r81243.
464         http://trac.webkit.org/changeset/81243
465         https://bugs.webkit.org/show_bug.cgi?id=56471
466
467         Breaks GTK 64-bit Debug tests (Requested by podivilov on
468         #webkit).
469
470         * inspector/Inspector.idl:
471         * inspector/InspectorAgent.cpp:
472         (WebCore::InspectorAgent::setFrontend):
473         * inspector/InspectorBrowserDebuggerAgent.cpp:
474         (WebCore::InspectorBrowserDebuggerAgent::setFrontend):
475         (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
476         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
477         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
478         (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
479         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
480         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
481         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
482         (WebCore::InspectorBrowserDebuggerAgent::clear):
483         * inspector/InspectorBrowserDebuggerAgent.h:
484         * inspector/InspectorInstrumentation.cpp:
485         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
486         * inspector/front-end/BreakpointManager.js:
487         (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
488         (WebInspector.BreakpointManager.prototype._createEventListenerBreakpoint):
489         (WebInspector.BreakpointManager.prototype.setXHRBreakpoint):
490         (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint):
491         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
492         (WebInspector.BreakpointManager.prototype._projectChanged):
493         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
494         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
495         (WebInspector.BreakpointManager.prototype._createDOMBreakpointId):
496         (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
497         (WebInspector.EventListenerBreakpoint):
498         (WebInspector.EventListenerBreakpoint.prototype._enable):
499         (WebInspector.EventListenerBreakpoint.prototype._disable):
500         (WebInspector.EventListenerBreakpoint.prototype._serializeToJSON):
501         (WebInspector.EventListenerBreakpointView):
502         (WebInspector.EventListenerBreakpointView.eventNameForUI):
503         (WebInspector.EventListenerBreakpointView.prototype.get eventName):
504         (WebInspector.EventListenerBreakpointView.prototype.compareTo):
505         (WebInspector.EventListenerBreakpointView.prototype.populateLabelElement):
506         (WebInspector.EventListenerBreakpointView.prototype.populateStatusMessageElement):
507         (WebInspector.EventListenerBreakpointView.prototype._uiEventName):
508         * inspector/front-end/BreakpointsSidebarPane.js:
509         (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
510         (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
511         (WebInspector.EventListenerBreakpointsSidebarPane):
512         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
513         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
514         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
515         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointAdded):
516         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointHitStateChanged):
517         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointRemoved):
518         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
519         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._projectChanged):
520         * inspector/front-end/CallStackSidebarPane.js:
521         (WebInspector.CallStackSidebarPane.prototype.update):
522         (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
523         (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit):
524         (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
525         * inspector/front-end/ScriptsPanel.js:
526         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
527         (WebInspector.ScriptsPanel.prototype._clearInterface):
528         * inspector/front-end/Settings.js:
529         (WebInspector.Settings):
530
531 2011-03-17  Adam Barth  <abarth@webkit.org>
532
533         Reviewed by Eric Seidel.
534
535         Add more ObjC++ files to the build
536         https://bugs.webkit.org/show_bug.cgi?id=56548
537
538         96 link errors.
539
540         * WebCore.gypi:
541         * gyp/WebCore.gyp:
542
543 2011-03-17  Adam Barth  <abarth@webkit.org>
544
545         Reviewed by Eric Seidel.
546
547         Add a few Objective-C++ files to the WebCore GYP build
548         https://bugs.webkit.org/show_bug.cgi?id=56547
549
550         464 link errors.
551
552         * gyp/WebCore.gyp:
553
554 2011-03-17  Yuta Kitamura  <yutak@chromium.org>
555
556         Unreviewed build fix.
557
558         Non-ASCII characters in XMLTreeViewer.{cpp,h}
559         https://bugs.webkit.org/show_bug.cgi?id=56549
560
561         * xml/XMLTreeViewer.cpp: Replace non-ASCII characters with ASCII equivalents.
562         * xml/XMLTreeViewer.h: Ditto.
563
564 2011-03-17  Adam Barth  <abarth@webkit.org>
565
566         Reviewed by Eric Seidel.
567
568         Add plugins and bridge to the WebCore GYP build
569         https://bugs.webkit.org/show_bug.cgi?id=56546
570
571         506 link errors.
572
573         * gyp/WebCore.gyp:
574
575 2011-03-16  Jeff Johnson  <github@lapcatsoftware.com>
576
577         Reviewed by Alexey Proskuryakov.
578
579         Logic error in -[WebHTMLView close]
580         https://bugs.webkit.org/show_bug.cgi?id=56445
581
582         The function setDraggingImageURL() is no longer called and can be deleted.
583
584         No new tests. Deleting dead code.
585
586         * page/DragController.h:
587
588 2011-03-16  Naoki Takano  <takano.naoki@gmail.com>
589
590         Reviewed by Ryosuke Niwa.
591
592         Textarea maxlength doesn't account for newlines
593         https://bugs.webkit.org/show_bug.cgi?id=54443
594
595         When a user presses a return key, TypingCommand::insertLineBreak() is called.
596         So before append a new line, check if we can add the new line.
597
598         * editing/TypingCommand.cpp:
599         (WebCore::canAppendNewLineFeed): Implement new helper function to check if we can add new line.
600         (WebCore::TypingCommand::insertLineBreak): Added check logic before adding the new line.
601         (WebCore::TypingCommand::insertParagraphSeparator): Added check logic before adding the new line.
602
603 2011-03-16  Adam Barth  <abarth@webkit.org>
604
605         Reviewed by Eric Seidel.
606
607         WebCore GYP build should build more derived sources
608         https://bugs.webkit.org/show_bug.cgi?id=56529
609
610         This patch brings us down to 597 link errors.
611
612         * gyp/WebCore.gyp:
613
614 2011-03-16  Adam Barth  <abarth@webkit.org>
615
616         Reviewed by Eric Seidel.
617
618         WebCore GYP should build (most) remaining source files
619         https://bugs.webkit.org/show_bug.cgi?id=56515
620
621         We're still not building all the files and we have 1305 link errors,
622         but this patch is progress.
623
624         * WebCore.gypi:
625         * gyp/WebCore.gyp:
626         * plugins/PluginStream.cpp:
627
628 2011-03-16  Dan Bernstein  <mitz@apple.com>
629
630         Reviewed by Alexey Proskuryakov.
631
632         Update the default navigator.vendor value
633         https://bugs.webkit.org/show_bug.cgi?id=56449
634
635         * page/NavigatorBase.cpp: Updated the default value of
636         WEBCORE_NAVIGATOR_VENDOR.
637
638 2011-03-16  John Bauman  <jbauman@chromium.org>
639
640         Reviewed by James Robinson.
641
642         texImage2D gets old contents of canvas
643         https://bugs.webkit.org/show_bug.cgi?id=56414
644
645         Always update the canvas contents in copiedImage, as there's no reason
646         to ask for an out-of-date image.
647
648         * html/HTMLCanvasElement.cpp:
649         (WebCore::HTMLCanvasElement::copiedImage):
650
651 2011-03-16  Adam Barth  <abarth@webkit.org>
652
653         Reviewed by James Robinson.
654
655         Remove USE(BUILTIN_UTF8_CODEC)
656         https://bugs.webkit.org/show_bug.cgi?id=56508
657
658         * platform/text/TextCodecICU.cpp:
659         (WebCore::TextCodecICU::registerEncodingNames):
660         * platform/text/TextEncodingRegistry.cpp:
661         (WebCore::buildBaseTextCodecMaps):
662
663 2011-03-16  Joseph Pecoraro  <joepeck@webkit.org>
664
665         Reviewed by Kenneth Rohde Christiansen.
666
667         Viewport no longer allows an auto value for "user-scalable"
668         https://bugs.webkit.org/show_bug.cgi?id=55416
669
670         This restores our behavior before r67376 the default "user-scalable"
671         behavior can be defined by a WebKit client if a value was not
672         explicitly provided in web content (via the viewport <meta> tag).
673         Here, all WebKit ports default to "yes" after computing
674         viewport arguments. However, in the future they may consider
675         changing the default user-scalable value based on the type
676         of the document being viewed, a user preference, or other reasons.
677
678         Covered by existing tests. Should be no changes.
679
680         * dom/ViewportArguments.cpp:
681         (WebCore::computeViewportAttributes): be explicit about 0.
682         (WebCore::findUserScalableValue): convert to return a float, the instance variable type.
683         * dom/ViewportArguments.h:
684         (WebCore::ViewportArguments::ViewportArguments): convert the boolean back to a float to
685         allow for 3 states. Explicit no, explicit yes, and ValueAuto to be defined by the
686         WebKit client.
687
688 2011-03-16  David Levin  <levin@chromium.org>
689
690         Reviewed by Dmitry Titov.
691
692         REGRESSION(r81289): Fix valgrind error (and crashes) when running the chromium unit test "test_shell_test".
693
694         Conditional jump or move depends on uninitialised value(s)
695             WebCore::RenderLayerCompositor::RenderLayerCompositor(WebCore::RenderView*) (third_party/WebKit/Source/WebCore/rendering/RenderLayerCompositor.cpp:117)
696
697         * page/Settings.cpp:
698         (WebCore::Settings::Settings):
699
700 2011-03-16  Beth Dakin  <bdakin@apple.com>
701
702         Reviewed by Darin Adler.
703
704         Fix for https://bugs.webkit.org/show_bug.cgi?id=56493 Drag-scrolling overlay 
705         scrollbars thumb in overflow regions does not work
706         -and corresponding-
707         <rdar://problem/9112688> Drag-scrolling overlay scrollbars thumb in overflow 
708         regions does not work
709
710         Up until now, overlay scrollbars have always been treated in the Render Tree as if 
711         they have a thickness of 0 because they should not affect layout. However, it is 
712         important to consider their size when hit-testing because otherwise, we have this 
713         bug! This patch adds a boolean parameter to overflowClipRect(), 
714         RenderLayer::verticalScrollbarWidth(), and 
715         RenderLayer::horizontalScrollbarHeight(). This bool indicates whether to include 
716         the actual overlay scrollbar thickness. It defaults to false and is only sent is 
717         as true from RenderBloc::nodeAtPoint().
718
719         * rendering/RenderBlock.cpp:
720         (WebCore::RenderBlock::nodeAtPoint):
721         * rendering/RenderBox.cpp:
722         (WebCore::RenderBox::overflowClipRect):
723         * rendering/RenderBox.h:
724         * rendering/RenderLayer.cpp:
725         (WebCore::RenderLayer::verticalScrollbarWidth):
726         (WebCore::RenderLayer::horizontalScrollbarHeight):
727         * rendering/RenderLayer.h:
728         * rendering/RenderTable.cpp:
729         (WebCore::RenderTable::overflowClipRect):
730         * rendering/RenderTable.h:
731
732 2011-03-16  Keith Kyzivat  <keith.kyzivat@nokia.com>
733
734         Reviewed by Andreas Kling.
735
736         [Qt] Fix std::swap not found issue on mobile Qt devices.
737         https://bugs.webkit.org/show_bug.cgi?id=56463
738
739         Include <algorithm> in TextBreakIteratorQt.cpp so std::swap is found
740         on some Qt mobile devices.
741
742         No new tests: No tests needed - compilation verified manually.
743
744         * platform/text/qt/TextBreakIteratorQt.cpp:
745         (WebCore::acquireLineBreakIterator):
746
747 2011-03-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
748
749         Reviewed by Kenneth Rohde Christiansen.
750
751         [Qt] WebGL content not shown when accelerated compositing is enabled
752         https://bugs.webkit.org/show_bug.cgi?id=56339
753
754         Removed all previously implemented WebGL code from GraphicsLayerQt
755         because API has changed. GraphicsContext3D provides PlatformLayer
756         that is added as a child of GraphicsLayer and is therefore painted
757         through QGraphicsView pipeline.
758
759         * platform/graphics/GraphicsContext3D.h:
760         * platform/graphics/qt/GraphicsContext3DQt.cpp:
761         (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
762         (WebCore::GraphicsContext3DInternal::paint):
763         (WebCore::GraphicsContext3DInternal::boundingRect):
764         (WebCore::GraphicsContext3D::platformLayer):
765         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
766         (WebCore::GraphicsContext3D::reshape):
767         * platform/graphics/qt/GraphicsLayerQt.cpp:
768         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
769         (WebCore::GraphicsLayerQtImpl::paint):
770         (WebCore::GraphicsLayerQtImpl::flushChanges):
771         (WebCore::GraphicsLayerQt::setContentsToCanvas):
772         * platform/graphics/qt/GraphicsLayerQt.h:
773
774 2011-03-16  Ryosuke Niwa  <rniwa@webkit.org>
775
776         Reviewed by Tony Chang.
777
778         Get rid of nearestMailBlockquote
779         https://bugs.webkit.org/show_bug.cgi?id=56439
780
781         Removed nearestMailBlockquote and replaced the calls to the function by calls
782         to enclosingNodeOfType and highestEnclosingNodeOfType.
783         
784         Also fixed a bug in BreakBlockquoteCommand and DeleteSelectionCommand not to
785         respect editing boundaries.  Added a test for the former command.
786
787         Test: editing/execCommand/break-non-editable-blockquote.html
788
789         * editing/BreakBlockquoteCommand.cpp:
790         (WebCore::BreakBlockquoteCommand::doApply): No longer crosses editing boundary
791         when looking for a Mail blockquote.
792         * editing/DeleteSelectionCommand.cpp:
793         (WebCore::DeleteSelectionCommand::saveTypingStyleState): Ditto.
794         (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
795         * editing/ReplaceSelectionCommand.cpp:
796         (WebCore::hasMatchingQuoteLevel):
797         (WebCore::handleStyleSpansBeforeInsertion):
798         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
799         (WebCore::ReplaceSelectionCommand::doApply):
800         * editing/htmlediting.cpp:
801         (WebCore::enclosingNodeOfType): Check rule upfront to improve the performance.
802         (WebCore::highestEnclosingNodeOfType): Ditto; also add the missing check.
803         * editing/htmlediting.h:
804         (WebCore::firstPositionInOrBeforeNode): Added a null pointer check.
805         (WebCore::lastPositionInOrAfterNode): Ditto.
806         * editing/markup.cpp:
807         (WebCore::highestAncestorToWrapMarkup):
808         (WebCore::createMarkup):
809
810 2011-03-16  Jer Noble  <jer.noble@apple.com>
811
812         Reviewed by Beth Dakin.
813
814         RenderFullScreen::createFullScreenStyle() leaks
815         https://bugs.webkit.org/show_bug.cgi?id=53384
816
817         Two problems: a) not calling release() on the style returned in setFullScreenRenderer
818         causes an unnecessary ref/deref, and b) the fullscreen renderer needs to be destroyed,
819         not just detached, when it is no longer needed.
820
821         * dom/Document.cpp:
822         (WebCore::Document::setFullScreenRenderer): Destroy the current renderer when a new one is set.
823         * rendering/RenderFullScreen.cpp:
824         (RenderFullScreen::createFullScreenStyle): release() the return value.
825
826 2011-03-16  Mike Reed  <reed@google.com>
827
828         Reviewed by James Robinson.
829
830         Reestablish typeface/size/encoding when drawing stroked text
831         https://bugs.webkit.org/show_bug.cgi?id=56481
832
833         No new tests. LayoutTests/svg/css/composite-shadow-text.svg
834
835         * platform/graphics/skia/SkiaFontWin.cpp:
836         (WebCore::paintSkiaText):
837
838 2011-03-16  Daniel Sievers  <sievers@google.com>
839
840         Reviewed by James Robinson.
841
842         Add setting to always force compositing mode
843         https://bugs.webkit.org/show_bug.cgi?id=56156
844
845         No new tests needed as this defaults to disabled (and is unfeasible
846         to be tested through property overriding at runtime).
847
848         * page/Settings.h:
849         (WebCore::Settings::setForceCompositingMode):
850         (WebCore::Settings::forceCompositingMode):
851         * rendering/RenderLayerCompositor.cpp:
852         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
853         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
854         * rendering/RenderLayerCompositor.h:
855
856 2011-03-16  Vangelis Kokkevis  <vangelis@chromium.org>
857
858         Reviewed by Kenneth Russell.
859
860         [chromium] Fixing backface visibility for transformed layers.
861         https://bugs.webkit.org/show_bug.cgi?id=56237
862
863         Test: platform/chromium/compositing/backface-visibility-transformed.html
864
865         * platform/graphics/chromium/LayerRendererChromium.cpp:
866         (WebCore::LayerRendererChromium::drawLayer):
867
868 2011-03-16  Dimitri Glazkov  <dglazkov@chromium.org>
869
870         Reviewed by Darin Adler.
871
872         REGRESSION(r76147): Dragging slider thumb is impossible or results in drawing artifacts.
873         https://bugs.webkit.org/show_bug.cgi?id=56469
874
875         Technically, this is not a regression, but rather uncovering of an old
876         problem. When the RenderSlider::layout was written, the layout state was
877         pushed with a wrong offset. However, since the whole slider track was
878         always repainted, the problem didn't manifest itself until we actually
879         started being more precise in our repaints.
880
881         Test: fast/repaint/slider-thumb-float.html
882
883         * rendering/RenderSlider.cpp:
884         (WebCore::RenderSlider::layout): Changed to pass actual thumb offset
885         to the LayoutStateMaintainer, rather than thumb size.
886
887 2011-03-16  Dimitri Glazkov  <dglazkov@chromium.org>
888
889         Reviewed by Eric Carlson.
890
891         Add play state callbacks to MediaControls, kill timeUpdate timer.
892         https://bugs.webkit.org/show_bug.cgi?id=56473
893
894         No change in behavior, covered by existing tests.
895
896         * html/HTMLMediaElement.cpp:
897         (WebCore::HTMLMediaElement::playbackProgressTimerFired): Added a call to
898             media controls.
899         (WebCore::HTMLMediaElement::updatePlayState): Ditto.
900         * html/shadow/MediaControls.cpp:
901         (WebCore::MediaControls::MediaControls): Removed initialization of the timer.
902         (WebCore::MediaControls::playbackProgressed): Added.
903         (WebCore::MediaControls::playbackStarted): Added, for now routing to just
904             call playbackProgressed.
905         (WebCore::MediaControls::playbackStopped): Ditto.
906         (WebCore::MediaControls::update): Removed the code to start/stop the
907             timer that's now gone.
908         * html/shadow/MediaControls.h: Removed timer decls.
909
910 2011-03-16  Bill Budge  <bbudge@chromium.org>
911
912         Reviewed by David Levin.
913
914         DocumentThreadableLoaderClient needs a protected default Constructor
915         https://bugs.webkit.org/show_bug.cgi?id=56479
916
917         No new tests. Exposes no new functionality.
918
919         * loader/DocumentThreadableLoaderClient.h:
920         (WebCore::DocumentThreadableLoaderClient::DocumentThreadableLoaderClient):
921
922 2011-03-16  David Levin  <levin@chromium.org>
923
924         Chromium Leopard build fix attempt #2.
925
926         Same error as before.
927         * bindings/v8/V8GCController.cpp:
928
929 2011-03-16  David Levin  <levin@chromium.org>
930
931         Chromium Leopard build fix attempt.
932
933         The error was 'WebCore::GrouperVisitor' has a field 'WebCore::GrouperVisitor::m_grouper' whose type uses the anonymous namespace.
934
935         * bindings/v8/V8GCController.cpp:
936
937 2011-03-16  Ryosuke Niwa  <rniwa@webkit.org>
938
939         Reviewed by Dimitri Glazkov and Darin Adler.
940
941         Node::isContentEditable should always call parentNode() instead of parentOrHostNode()
942         https://bugs.webkit.org/show_bug.cgi?id=56472
943
944         Replaced the call to parentOrHostNode() in Node::isContentEditable by a call to parentNode().
945         Node::isContentEditable now calls parentNode() on all nodes.
946
947         No tests are added since this behavior change is not visible to scripts at the moment.
948
949         * dom/Node.cpp:
950         (WebCore::Node::isContentEditable):
951
952 2011-03-16  Chris Fleizach  <cfleizach@apple.com>
953
954         Reviewed by Darin Adler.
955
956         WK2: Need to propagate enhanced accessibility flag from UI -> web process
957         https://bugs.webkit.org/show_bug.cgi?id=56379
958
959         Allow the enhanced accessibility flag to be toggleable. 
960
961         * accessibility/AXObjectCache.h:
962         (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility):
963
964 2011-03-16  Csaba Osztrogonác  <ossy@webkit.org>
965
966         [Qt] Buildfix after r81230.
967
968         * WebCore.pri: Missing include path added.
969
970 2011-03-15  Oliver Hunt  <oliver@apple.com>
971
972         Reviewed by Geoffrey Garen.
973
974         Make Structure creation require a JSGlobalData
975         https://bugs.webkit.org/show_bug.cgi?id=56438
976
977         Mechanical change to make all structure creation use GlobalData
978
979         * bindings/js/JSAudioConstructor.cpp:
980         (WebCore::JSAudioConstructor::JSAudioConstructor):
981         * bindings/js/JSAudioConstructor.h:
982         (WebCore::JSAudioConstructor::createStructure):
983         * bindings/js/JSDOMBinding.h:
984         (WebCore::DOMObjectWithGlobalPointer::createStructure):
985         (WebCore::DOMConstructorObject::createStructure):
986         (WebCore::getDOMStructure):
987         * bindings/js/JSDOMGlobalObject.h:
988         (WebCore::JSDOMGlobalObject::createStructure):
989         * bindings/js/JSDOMWindowBase.h:
990         (WebCore::JSDOMWindowBase::createStructure):
991         * bindings/js/JSDOMWindowShell.cpp:
992         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
993         (WebCore::JSDOMWindowShell::setWindow):
994         * bindings/js/JSDOMWindowShell.h:
995         (WebCore::JSDOMWindowShell::createStructure):
996         * bindings/js/JSImageConstructor.cpp:
997         (WebCore::JSImageConstructor::JSImageConstructor):
998         * bindings/js/JSImageConstructor.h:
999         (WebCore::JSImageConstructor::createStructure):
1000         * bindings/js/JSImageDataCustom.cpp:
1001         (WebCore::toJS):
1002         * bindings/js/JSOptionConstructor.cpp:
1003         (WebCore::JSOptionConstructor::JSOptionConstructor):
1004         * bindings/js/JSOptionConstructor.h:
1005         (WebCore::JSOptionConstructor::createStructure):
1006         * bindings/js/JSWorkerContextBase.h:
1007         (WebCore::JSWorkerContextBase::createStructure):
1008         * bindings/js/WorkerScriptController.cpp:
1009         (WebCore::WorkerScriptController::initScript):
1010         * bindings/scripts/CodeGeneratorJS.pm:
1011         * bridge/c/CRuntimeObject.h:
1012         (JSC::Bindings::CRuntimeObject::createStructure):
1013         * bridge/c/c_instance.cpp:
1014         (JSC::Bindings::CRuntimeMethod::createStructure):
1015         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1016         (JavaRuntimeMethod::createStructure):
1017         * bridge/jni/jsc/JavaRuntimeObject.h:
1018         (JSC::Bindings::JavaRuntimeObject::createStructure):
1019         * bridge/objc/ObjCRuntimeObject.h:
1020         (JSC::Bindings::ObjCRuntimeObject::createStructure):
1021         * bridge/objc/objc_instance.mm:
1022         (ObjCRuntimeMethod::createStructure):
1023         * bridge/objc/objc_runtime.h:
1024         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
1025         * bridge/runtime_array.h:
1026         (JSC::RuntimeArray::createStructure):
1027         * bridge/runtime_method.h:
1028         (JSC::RuntimeMethod::createStructure):
1029         * bridge/runtime_object.h:
1030         (JSC::Bindings::RuntimeObject::createStructure):
1031
1032 2011-03-16  Pratik Solanki  <psolanki@apple.com>
1033
1034         Reviewed by Alexey Proskuryakov.
1035
1036         REGRESSION: Crash in adjustMIMETypeIfNecessary since r81001
1037         https://bugs.webkit.org/show_bug.cgi?id=56345
1038
1039         Add NULL check for Content-Type header field.
1040
1041         Test: http/tests/xmlhttprequest/xmlhttprequest-no-content-type.html
1042
1043         * platform/network/mac/WebCoreURLResponse.mm:
1044         (WebCore::adjustMIMETypeIfNecessary):
1045
1046 2011-03-15  Levi Weintraub  <leviw@chromium.org>
1047
1048         Reviewed by Ryosuke Niwa.
1049
1050         REGRESSION (r81165): Assert running editing/style/iframe-onload-crash.html with non-Mac editing behavior
1051         https://bugs.webkit.org/show_bug.cgi?id=56407
1052
1053         Fixing the creation of incorrect ranges from TextIterator due to passing node/offset pairs that
1054         weren't parent-anchored. Also changing canHaveChildrenForEditing to properly handle nodes that
1055         have had children appended to them that editing wouldn't normally allow.
1056
1057         Tests: editing/style/iframe-onload-crash-mac.html
1058                editing/style/iframe-onload-crash-unix.html
1059                editing/style/iframe-onload-crash-win.html
1060
1061         * editing/TextIterator.cpp:
1062         (WebCore::TextIterator::rangeFromLocationAndLength): Passing parent-anchored values to range.
1063         * editing/htmlediting.cpp:
1064         (WebCore::canHaveChildrenForEditing): Adding a condition that the nodes don't already have children
1065         for hr and datagrid, as you can append any node to another using javascript.
1066
1067 2011-03-16  Mikhail Naganov  <mnaganov@chromium.org>
1068
1069         Reviewed by Pavel Feldman.
1070
1071         [Chromium] Report object groups and single DOM-related objects
1072         to the new heap profiler.
1073         https://bugs.webkit.org/show_bug.cgi?id=53659
1074
1075         * Android.v8bindings.mk:
1076         * WebCore.gypi:
1077         * WebCore.pro:
1078         * bindings/scripts/CodeGeneratorV8.pm:
1079         * bindings/v8/RetainedDOMInfo.cpp: Added.
1080         (WebCore::RetainedDOMInfo::RetainedDOMInfo):
1081         * bindings/v8/RetainedDOMInfo.h: Added.
1082         * bindings/v8/RetainedObjectInfo.h: Added.
1083         * bindings/v8/ScriptProfiler.cpp:
1084         (WebCore::retainedDOMInfo):
1085         (WebCore::ScriptProfiler::initialize):
1086         * bindings/v8/ScriptProfiler.h:
1087         * bindings/v8/V8DOMWindowShell.cpp:
1088         (WebCore::V8DOMWindowShell::initContextIfNeeded):
1089         * bindings/v8/V8GCController.cpp:
1090         (WebCore::GroupId::GrouperItem::GrouperItem):
1091         (WebCore::GroupId::GrouperItem::groupId):
1092         (WebCore::GroupId::GrouperItem::createRetainedObjectInfo):
1093         (WebCore::calculateGroupId):
1094         (WebCore::GrouperVisitor::visitDOMWrapper):
1095         (WebCore::GrouperVisitor::applyGrouping):
1096         * bindings/v8/WrapperTypeInfo.h:
1097         * inspector/front-end/DetailedHeapshotGridNodes.js:
1098         (WebInspector.HeapSnapshotConstructorNode):
1099         (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
1100         (WebInspector.HeapSnapshotDiffNode):
1101         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
1102         (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
1103         * inspector/front-end/DetailedHeapshotView.js:
1104         (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource):
1105         (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh):
1106         (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.startSearching):
1107         (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
1108         (WebInspector.HeapSnapshotRetainingPathsList.prototype._setRootChildrenForFinder):
1109         (WebInspector.DetailedHeapshotView.prototype._changeRetainingPathsRoot):
1110         (WebInspector.DetailedHeapshotView.prototype.get isTracingToWindowObjects):
1111         * inspector/front-end/HeapSnapshot.js:
1112         (WebInspector.HeapSnapshotNode.prototype.get className):
1113         (WebInspector.HeapSnapshot.prototype._buildAggregates):
1114         (WebInspector.HeapSnapshotPathFinder.prototype.updateRoots):
1115         (WebInspector.HeapSnapshotPathFinder.prototype._fillRootChildren):
1116         * inspector/front-end/heapProfiler.css:
1117         (.detailed-heapshot-view .retaining-paths-view .title > span):
1118         (.detailed-heapshot-view .retaining-paths-to-windows):
1119
1120 2011-03-16  Sam Weinig  <sam@webkit.org>
1121
1122         Reviewed by Adam Roben.
1123
1124         Add WebKit2 API to figure out if an input or textarea was edited
1125         https://bugs.webkit.org/show_bug.cgi?id=56474
1126
1127         Add HTMLInputElement::lastChangeWasUserEdit and HTMLTextAreaElement::lastChangeWasUserEdit
1128         and use them to implement -[DOMHTMLInputElement _isEdited] and -[DOMHTMLTextAreaElement _isEdited]
1129         as well as API in WebKit2.
1130
1131         * WebCore.exp.in:
1132         * bindings/objc/DOMHTML.mm:
1133         (-[DOMHTMLInputElement _isEdited]):
1134         (-[DOMHTMLTextAreaElement _isEdited]):
1135         * html/HTMLInputElement.cpp:
1136         (WebCore::HTMLInputElement::lastChangeWasUserEdit):
1137         * html/HTMLInputElement.h:
1138         * html/HTMLTextAreaElement.cpp:
1139         (WebCore::HTMLTextAreaElement::lastChangeWasUserEdit):
1140         * html/HTMLTextAreaElement.h:
1141
1142 2011-03-15  Pavel Feldman  <pfeldman@chromium.org>
1143
1144         Reviewed by Yury Semikhatsky.
1145
1146         Web Inspector: ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key)
1147         https://bugs.webkit.org/show_bug.cgi?id=56376
1148
1149         * inspector/InspectorBrowserDebuggerAgent.cpp:
1150         (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
1151         * inspector/front-end/DOMAgent.js:
1152         (WebInspector.DOMAgent.prototype._setDocument):
1153
1154 2011-03-16  Dan Bernstein  <mitz@apple.com>
1155
1156         Reviewed by Simon Fraser.
1157
1158         text-combine text retains compressed font after adding characters to it
1159         https://bugs.webkit.org/show_bug.cgi?id=56448
1160
1161         Test: fast/dynamic/text-combine.html
1162
1163         * css/CSSStyleSelector.cpp:
1164         (WebCore::CSSStyleSelector::applyProperty): Allow styles with text-combine to be shared, since
1165         only the clones on the RenderCombineText will be mutated.
1166         * rendering/RenderCombineText.cpp:
1167         (WebCore::RenderCombineText::styleDidChange): Clone the style, to avoid mutating the parent’s
1168         style.
1169         (WebCore::RenderCombineText::combineText): Start off with the original font; restore it if
1170         the text cannot be combined.
1171         * rendering/RenderCombineText.h:
1172         (WebCore::RenderCombineText::originalFont): Added. Returns the parent’s font.
1173
1174 2011-03-14  Pavel Podivilov  <podivilov@chromium.org>
1175
1176         Reviewed by Yury Semikhatsky.
1177
1178         Web Inspector: refactor event listener breakpoints.
1179         https://bugs.webkit.org/show_bug.cgi?id=56305
1180
1181         - restore event listener breakpoints one by one instead of using setAllBrowserBreakpoints
1182         - store event listener breakpoints in a separate separate setting
1183         - move presentation-related code from BreakpointManager to EventListenerBreakpointsSidebarPane
1184
1185         Test: inspector/debugger/event-listener-breakpoints.html
1186
1187         * inspector/Inspector.idl:
1188         * inspector/InspectorAgent.cpp:
1189         (WebCore::InspectorAgent::setFrontend):
1190         * inspector/InspectorBrowserDebuggerAgent.cpp:
1191         (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
1192         (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
1193         (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
1194         (WebCore::InspectorBrowserDebuggerAgent::clear):
1195         * inspector/InspectorBrowserDebuggerAgent.h:
1196         * inspector/InspectorInstrumentation.cpp:
1197         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
1198         * inspector/front-end/BreakpointManager.js:
1199         (WebInspector.BreakpointManager.prototype.setEventListenerBreakpoint):
1200         (WebInspector.BreakpointManager.prototype.removeEventListenerBreakpoint):
1201         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
1202         (WebInspector.BreakpointManager.prototype._projectChanged):
1203         (WebInspector.BreakpointManager.prototype._saveBreakpoints):
1204         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
1205         (WebInspector.BreakpointManager.prototype._createDOMBreakpointId):
1206         * inspector/front-end/BreakpointsSidebarPane.js:
1207         (WebInspector.EventListenerBreakpointsSidebarPane):
1208         (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI):
1209         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
1210         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
1211         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
1212         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
1213         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
1214         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
1215         (WebInspector.EventListenerBreakpointsSidebarPane.prototype.highlightBreakpoint):
1216         (WebInspector.EventListenerBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
1217         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._saveBreakpoints):
1218         (WebInspector.EventListenerBreakpointsSidebarPane.prototype._restoreBreakpoints):
1219         * inspector/front-end/CallStackSidebarPane.js:
1220         (WebInspector.CallStackSidebarPane.prototype.update):
1221         (WebInspector.CallStackSidebarPane.prototype.setStatus):
1222         (WebInspector.CallStackSidebarPane.prototype._domBreakpointHit):
1223         * inspector/front-end/ScriptsPanel.js:
1224         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
1225         (WebInspector.ScriptsPanel.prototype._clearInterface):
1226         * inspector/front-end/Settings.js:
1227         (WebInspector.Settings):
1228
1229 2011-03-16  David Kilzer  <ddkilzer@apple.com>
1230
1231         Minor clean-up after r81156, r81172
1232
1233         Follow-up for:
1234         <http://webkit.org/b/56381> Objective-C classes should be typedef-ed as structs (not void*) in C++
1235
1236         * platform/graphics/GraphicsLayer.h: Removed unused @class
1237         WebLayer declaration.
1238         * platform/graphics/ca/PlatformCAAnimation.h: Changed typedef
1239         struct CAPropertyAnimation to class declaration.
1240
1241 2011-03-16  Andrey Adaikin  <aandrey@google.com>
1242
1243         Reviewed by Yury Semikhatsky.
1244
1245         Web Inspector: Remove live-edit code
1246         https://bugs.webkit.org/show_bug.cgi?id=56177
1247
1248         * inspector/front-end/Settings.js:
1249         * inspector/front-end/SourceFrame.js:
1250         (WebInspector.SourceFrame):
1251         (WebInspector.SourceFrame.prototype._doubleClick):
1252         * inspector/front-end/TextViewer.js:
1253         (WebInspector.TextEditorMainPanel):
1254         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
1255
1256 2011-03-16  Alexis Menard  <alexis.menard@openbossa.org>
1257
1258         Reviewed by Martin Robinson.
1259
1260         [GStreamer] There is no need to set the state of the pipeline to playing, HTMLMediaElement will do it.
1261         https://bugs.webkit.org/show_bug.cgi?id=56403
1262
1263         In case of a seek on a live pipeline there is no need to call gst_element_set_state(m_playBin, GST_STATE_PLAYING);
1264         As soon as HTMLMediaElement::updatePlayState() is called (like when the data comes in) the playback will be relaunched
1265         i.e the pause() made when beginScrubbing is done is just internal.
1266
1267         No new tests: Verified manually.
1268
1269         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1270         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
1271
1272 2011-03-16  Adam Barth  <abarth@webkit.org>
1273
1274         Reviewed by Eric Seidel.
1275
1276         WebCore GYP build should build platform/
1277         https://bugs.webkit.org/show_bug.cgi?id=56430
1278
1279         Adding platform/ to the GYP build required disabling
1280         ALWAYS_SEARCH_USER_PATHS, which in turn required fixing some latent
1281         style issues.  I suspect we'll end up excluding some of these files
1282         from the build in the final analysis, but we might as well fix the
1283         style errors while we're here.
1284
1285         * bindings/js/JSMainThreadExecState.h:
1286         * bindings/js/ScheduledAction.h:
1287         * css/CSSPrimitiveValueCache.cpp:
1288         * gyp/WebCore.gyp:
1289         * platform/KillRingNone.cpp:
1290         (WebCore::KillRing::append):
1291         (WebCore::KillRing::prepend):
1292         * platform/graphics/ContextShadow.h:
1293         * platform/graphics/gpu/LoopBlinnPathProcessor.cpp:
1294         (WebCore::LoopBlinnPathProcessor::buildContours):
1295         (WebCore::TessellationState::combineCallback):
1296         * platform/graphics/gpu/PODRedBlackTree.h:
1297         (WebCore::PODRedBlackTree::updateNode):
1298         (WebCore::PODRedBlackTree::logIfVerbose):
1299         * platform/graphics/opengl/TextureMapperGL.cpp:
1300         * platform/graphics/opengl/TextureMapperGL.h:
1301         * platform/graphics/texmap/TextureMapper.h:
1302         (WebCore::BitmapTexture::save):
1303         (WebCore::TextureMapper::paintToTarget):
1304         * platform/graphics/texmap/TextureMapperNode.h:
1305
1306 2011-03-15  Philippe Normand  <pnormand@igalia.com>
1307
1308         Reviewed by Eric Carlson.
1309
1310         [GStreamer] http/tests/media/video-play-stall-before-meta-data.html fails
1311         https://bugs.webkit.org/show_bug.cgi?id=56370
1312
1313         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1314         (WebCore::mediaPlayerPrivateMessageCallback): Let the
1315         mediaPlayerClient handle the stream error, in this case the
1316         HTMLMediaElement will emit a stalled event.
1317
1318 2011-03-10  Philippe Normand  <pnormand@igalia.com>
1319
1320         Reviewed by Martin Robinson.
1321
1322         [GStreamer] Frame accurate seeking isn't always accurate
1323         https://bugs.webkit.org/show_bug.cgi?id=55217
1324
1325         Attempt to build the seek GstClockTime position by converting the
1326         float time value to a GTimeVal value rounded at microsecond
1327         precision. Additionally perform the seek with the ACCURATE seek
1328         flag. These modifications at least fix this manual-test:
1329         http://www.massive-interactive.nl/html5_video/smpte_test_universal.html
1330
1331         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1332         (WebCore::MediaPlayerPrivateGStreamer::currentTime):
1333         (WebCore::MediaPlayerPrivateGStreamer::seek):
1334         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1335
1336 2011-03-15  Yury Semikhatsky  <yurys@chromium.org>
1337
1338         Reviewed by Pavel Feldman.
1339
1340         Web Inspector: split InspectorAgent.populateScriptObjects into more granular agent-specific requests
1341         https://bugs.webkit.org/show_bug.cgi?id=56389
1342
1343         Instead of sending one big request populateScriptObjects each agent requests
1344         for initial data in its constructor.
1345         
1346         * inspector/Inspector.idl:
1347         * inspector/InspectorAgent.cpp:
1348         (WebCore::InspectorAgent::InspectorAgent):
1349         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1350         (WebCore::InspectorAgent::setFrontend):
1351         (WebCore::InspectorAgent::pushDataCollectedOffline):
1352         (WebCore::InspectorAgent::getPreferredPanel):
1353         * inspector/InspectorAgent.h:
1354         * inspector/InspectorDOMAgent.cpp:
1355         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
1356         (WebCore::InspectorDOMAgent::setFrontend):
1357         (WebCore::InspectorDOMAgent::restore):
1358         * inspector/InspectorDOMAgent.h:
1359         (WebCore::InspectorDOMAgent::create):
1360         * inspector/InspectorDebuggerAgent.cpp:
1361         (WebCore::InspectorDebuggerAgent::setFrontend):
1362         * inspector/InspectorDebuggerAgent.h:
1363         * inspector/InspectorProfilerAgent.h:
1364         (WebCore::InspectorProfilerAgent::isEnabled):
1365         * inspector/front-end/ProfilesPanel.js:
1366         (WebInspector.ProfilesPanel):
1367         * inspector/front-end/ScriptsPanel.js:
1368         (WebInspector.ScriptsPanel):
1369         * inspector/front-end/inspector.js:
1370
1371 2011-03-15  Ryosuke Niwa  <rniwa@webkit.org>
1372
1373         Reviewed by Darin Adler.
1374
1375         Devirtualize isContentEditable and isRichlyContentEditable
1376         https://bugs.webkit.org/show_bug.cgi?id=56421
1377
1378         Rewrote Node::isContentEditable as a non-recursive non-virtual function.
1379
1380         * dom/Document.cpp: Removed isContentEditable and isContentRichlyEditable.
1381         * dom/Document.h: Ditto.
1382         * dom/Node.cpp:
1383         (WebCore::Node::isContentEditable): Rewritten.
1384         * dom/Node.h:
1385         (WebCore::Node::isContentEditable): Calls isContentEditable(Editable).
1386         (WebCore::Node::isContentRichlyEditable): Calls isContentEditable(RichlyEditable).
1387         * html/HTMLElement.cpp: Removed isContentEditable and isContentRichlyEditable.
1388         * html/HTMLElement.h: Ditto.
1389
1390 2011-03-15  Adam Barth  <abarth@webkit.org>
1391
1392         Reviewed by Eric Seidel.
1393
1394         WebCore GYP build should build inspector/ loader/ mathml/ notifications/ and page/
1395         https://bugs.webkit.org/show_bug.cgi?id=56412
1396
1397         Yay for smooth sailing.
1398
1399         * gyp/WebCore.gyp:
1400
1401 2011-03-15  Dimitri Glazkov  <dglazkov@chromium.org>
1402
1403         Reviewed by Kent Tamura.
1404
1405         REGRESSION(r76147): A slider thumb that is styled cannot be programmatically moved
1406         https://bugs.webkit.org/show_bug.cgi?id=56059
1407
1408         Test: fast/dom/HTMLInputElement/input-slider-update-styled.html
1409
1410         * html/RangeInputType.cpp:
1411         (WebCore::RangeInputType::valueChanged): Changed to use setPositionFromValue.
1412         * html/shadow/SliderThumbElement.cpp:
1413         (WebCore::SliderThumbElement::setPositionFromValue): Added.
1414         (WebCore::SliderThumbElement::dragFrom): Changed to use setPositionFromPoint.
1415         (WebCore::SliderThumbElement::setPositionFromPoint): Ditto.
1416         (WebCore::SliderThumbElement::defaultEventHandler): Ditto.
1417         * html/shadow/SliderThumbElement.h: Added decls.
1418
1419 2011-03-15  David Levin  <levin@chromium.org>
1420
1421         Attempted build fix following r81213. Same song second verse.
1422
1423         * platform/image-encoders/skia/PNGImageEncoder.cpp:
1424         (WebCore::encodePixels):
1425
1426 2011-03-15  David Levin  <levin@chromium.org>
1427
1428         Attempted build fix for Chromium OSX release build following r81213.
1429
1430         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
1431         (WebCore::encodePixels): Change scoping of |pixels| to be after setjmp call.
1432
1433 2011-03-15  John Bauman  <jbauman@chromium.org>
1434
1435         Reviewed by Kenneth Russell.
1436
1437         Non-premultiplied-alpha canvas attribute is ignore for toDataURL, drawImage, texImage2D
1438         https://bugs.webkit.org/show_bug.cgi?id=56238
1439
1440        Attempt to get an ImageData (non-premultiplied) from a WebGL canvas
1441        instead of getting an ImageBuffer, so there's a chance the data can be
1442        passed straight through to the consumer with no premultiplication
1443        necessary. Fixes Chromium and Safari.
1444
1445         Test: fast/canvas/webgl/premultiplyalpha-test.html
1446
1447         * html/HTMLCanvasElement.cpp:
1448         (WebCore::HTMLCanvasElement::toDataURL):
1449         (WebCore::HTMLCanvasElement::getImageData):
1450         * html/HTMLCanvasElement.h:
1451         * html/canvas/WebGLRenderingContext.cpp:
1452         (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData):
1453         (WebCore::WebGLRenderingContext::texImage2D):
1454         (WebCore::WebGLRenderingContext::texSubImage2D):
1455         * html/canvas/WebGLRenderingContext.h:
1456         * platform/graphics/GraphicsContext3D.h:
1457         * platform/graphics/ImageBuffer.h:
1458         * platform/graphics/cg/ImageBufferCG.cpp:
1459         (WebCore::CGImageToDataURL):
1460         (WebCore::ImageBuffer::toDataURL):
1461         (WebCore::ImageDataToDataURL):
1462         * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
1463         (WebCore::GraphicsContext3D::validateAttributes):
1464         (WebCore::GraphicsContext3D::readRenderingResults):
1465         (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
1466         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
1467         * platform/graphics/qt/GraphicsContext3DQt.cpp:
1468         (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
1469         * platform/graphics/skia/ImageBufferSkia.cpp:
1470         (WebCore::ImageToDataURL):
1471         (WebCore::ImageBuffer::toDataURL):
1472         (WebCore::ImageDataToDataURL):
1473         * platform/image-encoders/skia/JPEGImageEncoder.cpp:
1474         (WebCore::preMultipliedBGRAtoRGB):
1475         (WebCore::RGBAtoRGB):
1476         (WebCore::encodePixels):
1477         (WebCore::JPEGImageEncoder::encode):
1478         * platform/image-encoders/skia/JPEGImageEncoder.h:
1479         * platform/image-encoders/skia/PNGImageEncoder.cpp:
1480         (WebCore::preMultipliedBGRAtoRGBA):
1481         (WebCore::encodePixels):
1482         (WebCore::PNGImageEncoder::encode):
1483         * platform/image-encoders/skia/PNGImageEncoder.h:
1484
1485 2011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
1486
1487         [wx] Build fix, only compile the methods when the INDEXED_DATABASE feature is enabled.
1488         
1489         * storage/IDBDatabaseCallbacksImpl.cpp:
1490
1491 2011-03-15  Brady Eidson  <beidson@apple.com>
1492
1493         Build fix after r81208 for https://bugs.webkit.org/show_bug.cgi?id=56425
1494
1495         * loader/icon/IconDatabaseBase.h: #include instead of forward declare.
1496
1497 2011-03-15  Beth Dakin  <bdakin@apple.com>
1498
1499         Reviewed by Darin Adler.
1500
1501         Fix for <rdar://problem/8944558> Overlay scrollers in overflow areas need to 
1502         send notifications appropriate times (showing up, resizing)
1503         -and corresponding-
1504         https://bugs.webkit.org/show_bug.cgi?id=56067
1505
1506         The general strategy here is to add a HashSet of ScrollableAreas to the page that 
1507         can be accessed when necessary to send notifications to all ScrollableAreas. In 
1508         turn, all of the ScrollableArea classes that add themselves to the HashSet must 
1509         keep a weak pointer to Page so that they can remove themselves without relying on 
1510         Frames or Renderers to still have references.
1511
1512         Find layers for relevant node and if the layers are in the Page's ScrollableArea 
1513         set, then send the relevant notification.
1514         * page/EventHandler.cpp:
1515         (WebCore::layerForNode):
1516         (WebCore::EventHandler::mouseMoved):
1517         (WebCore::EventHandler::updateMouseEventTargetNode):
1518
1519         When the page is set active or not active, iterate through the Page's 
1520         ScrollableAreas to send hide/show notifications. 
1521         * page/FocusController.cpp:
1522         (WebCore::FocusController::setActive):
1523
1524         When a FrameView is created, add it to the ScrollableArea set. When it's 
1525         destroyed, remove it.
1526         * page/FrameView.cpp:
1527         (WebCore::FrameView::FrameView):
1528         (WebCore::FrameView::~FrameView):
1529
1530         Iterate through the Page's ScrollableAreas to send the paint notification.
1531         (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
1532         * page/FrameView.h:
1533         (WebCore::FrameView::disconnectFromPage):
1534
1535         Add the new ScrollableArea set.
1536         * page/Page.cpp:
1537         (WebCore::Page::~Page):
1538         (WebCore::Page::addScrollableArea):
1539 (WebCore::Page::removeScrollableArea):
1540         (WebCore::Page::containsScrollableArea):
1541         * page/Page.h:
1542         (WebCore::Page::scrollableAreaSet):
1543
1544         notifyPageThatContentAreaWillPaint() is a dummy function implemented in FrameView.
1545         * platform/ScrollView.cpp:
1546         (WebCore::ScrollView::notifyPageThatContentAreaWillPaint):
1547         
1548         Call notifyPageThatContentAreaWillPaint() instead of calling 
1549         contentAreaWillPaint() just for the ScrollView.
1550         (WebCore::ScrollView::paint):
1551         * platform/ScrollView.h:
1552
1553         Add/remove ScrollableAreas to the set. Add new disconnectFromPage().
1554         * platform/ScrollableArea.h:
1555         (WebCore::ScrollableArea::disconnectFromPage):
1556         * rendering/RenderDataGrid.cpp:
1557         (WebCore::RenderDataGrid::RenderDataGrid):
1558         (WebCore::RenderDataGrid::~RenderDataGrid):
1559         * rendering/RenderDataGrid.h:
1560         (WebCore::RenderDataGrid::disconnectFromPage):
1561         * rendering/RenderLayer.cpp:
1562         (WebCore::RenderLayer::RenderLayer):
1563         (WebCore::RenderLayer::~RenderLayer):
1564         * rendering/RenderLayer.h:
1565         (WebCore::RenderLayer::disconnectFromPage):
1566         * rendering/RenderListBox.cpp:
1567         (WebCore::RenderListBox::RenderListBox):
1568         (WebCore::RenderListBox::~RenderListBox):
1569         * rendering/RenderListBox.h:
1570         (WebCore::RenderListBox::disconnectFromPage):
1571
1572         Should have implemented this ScrollableArea-interface function a while ago.
1573         (WebCore::RenderLayer::currentMousePosition):
1574
1575 2011-03-15  Brady Eidson  <beidson@apple.com>
1576
1577         Reviewed by Sam Weinig.
1578
1579         https://bugs.webkit.org/show_bug.cgi?id=56425
1580         WebKit2 icon database.
1581
1582         * WebCore.exp.in:
1583
1584 2011-03-15  Adam Barth  <abarth@webkit.org>
1585
1586         Reviewed by Dimitri Glazkov.
1587
1588         WebCore GYP build should build editing, fileapi, history, and html
1589         https://bugs.webkit.org/show_bug.cgi?id=56411
1590
1591         These all went smoothly.
1592
1593         * gyp/WebCore.gyp:
1594
1595 2011-03-15  Adam Barth  <abarth@webkit.org>
1596
1597         Reviewed by Eric Seidel.
1598
1599         WebCore GYP build should build dom/
1600         https://bugs.webkit.org/show_bug.cgi?id=56409
1601
1602         * gyp/WebCore.gyp:
1603
1604 2011-03-15  Adam Barth  <abarth@webkit.org>
1605
1606         Reviewed by Eric Seidel.
1607
1608         WebCore GYP build should build css/
1609         https://bugs.webkit.org/show_bug.cgi?id=56408
1610
1611         CSSParser.cpp #includes tokenizer.cpp, which we haven't included in the
1612         build yet.  I've punted on that problem for now, but we'll come back to
1613         it.
1614
1615         * gyp/WebCore.gyp:
1616
1617 2011-03-15  Adam Barth  <abarth@webkit.org>
1618
1619         Reviewed by Dimitri Glazkov.
1620
1621         WebCore GYP build should build bindings/
1622         https://bugs.webkit.org/show_bug.cgi?id=56406
1623
1624         I wanted to include bindings/objc in this patch, but they were somewhat
1625         complicated.  It looks like they include headers from the output
1626         directory (via PrivateHeaders), but we haven't wired up the
1627         PrivateHeaders yet.
1628
1629         * gyp/WebCore.gyp:
1630
1631 2011-03-15  James Simonsen  <simonjam@chromium.org>
1632
1633         Reviewed by Tony Gentilcore.
1634
1635         Need different behavior for ensuring execution order of dynamically loaded scripts
1636         https://bugs.webkit.org/show_bug.cgi?id=50115
1637
1638         Dynamically added scripts with async=false will load in parallel, but execute in order.
1639         See: http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#force-async
1640
1641         Tests: fast/dom/HTMLScriptElement/script-async-attr.html
1642                http/tests/misc/script-async-load-execute-in-order.html
1643
1644         * Android.mk: Rename AsyncScriptRunner -> ScriptRunner.
1645         * CMakeLists.txt: Ditto.
1646         * GNUmakefile.am: Ditto.
1647         * WebCore.gypi: Ditto.
1648         * WebCore.pro: Ditto.
1649         * WebCore.vcproj/WebCore.vcproj: Ditto.
1650         * WebCore.xcodeproj/project.pbxproj: Ditto.
1651         * dom/DOMAllInOne.cpp: Ditto.
1652         * dom/Document.cpp:
1653         (WebCore::Document::Document): Ditto.
1654         (WebCore::Document::~Document): Ditto.
1655         * dom/Document.h:
1656         (WebCore::Document::scriptRunner): Ditto.
1657         * dom/ScriptElement.cpp:
1658         (WebCore::ScriptElement::ScriptElement): Added forceAsync and willExecuteInOrder.
1659         (WebCore::ScriptElement::handleAsyncAttribute): Called by HTMLScriptElement when async attribute changes.
1660         (WebCore::ScriptElement::prepareScript): Added support for forceAsync.
1661         (WebCore::ScriptElement::notifyFinished): Tell ScriptRunner to execute in order if needed.
1662         * dom/ScriptElement.h:
1663         (WebCore::ScriptElement::forceAsync): Added.
1664         * dom/ScriptRunner.cpp: Renamed from Source/WebCore/dom/AsyncScriptRunner.cpp.
1665         (WebCore::ScriptRunner::ScriptRunner): Added in-order script queue.
1666         (WebCore::ScriptRunner::~ScriptRunner): Ditto.
1667         (WebCore::ScriptRunner::executeScriptSoon):
1668         (WebCore::ScriptRunner::queueScriptForInOrderExecution): Added.
1669         (WebCore::ScriptRunner::suspend):
1670         (WebCore::ScriptRunner::resume):
1671         (WebCore::ScriptRunner::timerFired): Execute in-order scripts if ready.
1672         * dom/ScriptRunner.h: Renamed from Source/WebCore/dom/AsyncScriptRunner.h.
1673         (WebCore::ScriptRunner::create):
1674         (WebCore::ScriptRunner::hasPendingScripts): Check for in-order scripts too.
1675         * html/HTMLScriptElement.cpp:
1676         (WebCore::HTMLScriptElement::attributeChanged): Notify ScriptElement when async changes.
1677         (WebCore::HTMLScriptElement::setAsync): Ditto.
1678         (WebCore::HTMLScriptElement::async): Include forceAsync in calculation.
1679         * html/HTMLScriptElement.h:
1680         * html/HTMLScriptElement.idl: Removed Reflect from async for custom behavior.
1681         * page/PageGroupLoadDeferrer.cpp:
1682         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Rename AsyncScriptRunner -> ScriptRunner.
1683         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): Ditto.
1684
1685 2011-03-15  Tony Chang  <tony@chromium.org>
1686
1687         Reviewed by Adam Barth.
1688
1689         pngcrush images used by inspector
1690         https://bugs.webkit.org/show_bug.cgi?id=56426
1691
1692         This saves 120k in WebCore and 8k in WebKit/chromium.  I ran
1693         pngcrush -brute, so none of the meta data (ancillary chunks)
1694         are modified.
1695
1696         No new tests, just compressing png files.
1697
1698         * inspector/front-end/Images/applicationCache.png:
1699         * inspector/front-end/Images/auditsIcon.png:
1700         * inspector/front-end/Images/back.png:
1701         * inspector/front-end/Images/breakpointBorder.png:
1702         * inspector/front-end/Images/breakpointConditionalBorder.png:
1703         * inspector/front-end/Images/breakpointConditionalCounterBorder.png:
1704         * inspector/front-end/Images/breakpointCounterBorder.png:
1705         * inspector/front-end/Images/breakpointsActivateButtonGlyph.png:
1706         * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png:
1707         * inspector/front-end/Images/checker.png:
1708         * inspector/front-end/Images/clearConsoleButtonGlyph.png:
1709         * inspector/front-end/Images/closeButtons.png:
1710         * inspector/front-end/Images/consoleButtonGlyph.png:
1711         * inspector/front-end/Images/consoleIcon.png:
1712         * inspector/front-end/Images/cookie.png:
1713         * inspector/front-end/Images/database.png:
1714         * inspector/front-end/Images/databaseTable.png:
1715         * inspector/front-end/Images/debuggerContinue.png:
1716         * inspector/front-end/Images/debuggerPause.png:
1717         * inspector/front-end/Images/debuggerStepInto.png:
1718         * inspector/front-end/Images/debuggerStepOut.png:
1719         * inspector/front-end/Images/debuggerStepOver.png:
1720         * inspector/front-end/Images/disclosureTriangleSmallDown.png:
1721         * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png:
1722         * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png:
1723         * inspector/front-end/Images/disclosureTriangleSmallRight.png:
1724         * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png:
1725         * inspector/front-end/Images/disclosureTriangleSmallRightDown.png:
1726         * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png:
1727         * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png:
1728         * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png:
1729         * inspector/front-end/Images/dockButtonGlyph.png:
1730         * inspector/front-end/Images/elementsIcon.png:
1731         * inspector/front-end/Images/enableOutlineButtonGlyph.png:
1732         * inspector/front-end/Images/enableSolidButtonGlyph.png:
1733         * inspector/front-end/Images/errorIcon.png:
1734         * inspector/front-end/Images/errorMediumIcon.png:
1735         * inspector/front-end/Images/errorRedDot.png:
1736         * inspector/front-end/Images/excludeButtonGlyph.png:
1737         * inspector/front-end/Images/focusButtonGlyph.png:
1738         * inspector/front-end/Images/forward.png:
1739         * inspector/front-end/Images/frame.png:
1740         * inspector/front-end/Images/garbageCollectButtonGlyph.png:
1741         * inspector/front-end/Images/gearButtonGlyph.png:
1742         * inspector/front-end/Images/glossyHeader.png:
1743         * inspector/front-end/Images/glossyHeaderPressed.png:
1744         * inspector/front-end/Images/glossyHeaderSelected.png:
1745         * inspector/front-end/Images/glossyHeaderSelectedPressed.png:
1746         * inspector/front-end/Images/goArrow.png:
1747         * inspector/front-end/Images/graphLabelCalloutLeft.png:
1748         * inspector/front-end/Images/graphLabelCalloutRight.png:
1749         * inspector/front-end/Images/helpButtonGlyph.png:
1750         * inspector/front-end/Images/largerResourcesButtonGlyph.png:
1751         * inspector/front-end/Images/localStorage.png:
1752         * inspector/front-end/Images/networkIcon.png:
1753         * inspector/front-end/Images/nodeSearchButtonGlyph.png:
1754         * inspector/front-end/Images/paneAddButtons.png:
1755         * inspector/front-end/Images/paneBottomGrow.png:
1756         * inspector/front-end/Images/paneBottomGrowActive.png:
1757         * inspector/front-end/Images/paneGrowHandleLine.png:
1758         * inspector/front-end/Images/paneSettingsButtons.png:
1759         * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png:
1760         * inspector/front-end/Images/percentButtonGlyph.png:
1761         * inspector/front-end/Images/popoverArrows.png:
1762         * inspector/front-end/Images/popoverBackground.png:
1763         * inspector/front-end/Images/profileGroupIcon.png:
1764         * inspector/front-end/Images/profileIcon.png:
1765         * inspector/front-end/Images/profileSmallIcon.png:
1766         * inspector/front-end/Images/profilesIcon.png:
1767         * inspector/front-end/Images/profilesSilhouette.png:
1768         * inspector/front-end/Images/programCounterBorder.png:
1769         * inspector/front-end/Images/radioDot.png:
1770         * inspector/front-end/Images/recordButtonGlyph.png:
1771         * inspector/front-end/Images/recordToggledButtonGlyph.png:
1772         * inspector/front-end/Images/reloadButtonGlyph.png:
1773         * inspector/front-end/Images/resourceCSSIcon.png:
1774         * inspector/front-end/Images/resourceDocumentIcon.png:
1775         * inspector/front-end/Images/resourceDocumentIconSmall.png:
1776         * inspector/front-end/Images/resourceJSIcon.png:
1777         * inspector/front-end/Images/resourcePlainIcon.png:
1778         * inspector/front-end/Images/resourcePlainIconSmall.png:
1779         * inspector/front-end/Images/resourcesIcon.png:
1780         * inspector/front-end/Images/resourcesSizeGraphIcon.png:
1781         * inspector/front-end/Images/resourcesTimeGraphIcon.png:
1782         * inspector/front-end/Images/scriptsIcon.png:
1783         * inspector/front-end/Images/scriptsSilhouette.png:
1784         * inspector/front-end/Images/searchSmallBlue.png:
1785         * inspector/front-end/Images/searchSmallBrightBlue.png:
1786         * inspector/front-end/Images/searchSmallGray.png:
1787         * inspector/front-end/Images/searchSmallWhite.png:
1788         * inspector/front-end/Images/segment.png:
1789         * inspector/front-end/Images/segmentEnd.png:
1790         * inspector/front-end/Images/segmentHover.png:
1791         * inspector/front-end/Images/segmentHoverEnd.png:
1792         * inspector/front-end/Images/segmentSelected.png:
1793         * inspector/front-end/Images/segmentSelectedEnd.png:
1794         * inspector/front-end/Images/sessionStorage.png:
1795         * inspector/front-end/Images/splitviewDimple.png:
1796         * inspector/front-end/Images/splitviewDividerBackground.png:
1797         * inspector/front-end/Images/statusbarButtons.png:
1798         * inspector/front-end/Images/statusbarMenuButton.png:
1799         * inspector/front-end/Images/statusbarMenuButtonSelected.png:
1800         * inspector/front-end/Images/statusbarResizerHorizontal.png:
1801         * inspector/front-end/Images/statusbarResizerVertical.png:
1802         * inspector/front-end/Images/successGreenDot.png:
1803         * inspector/front-end/Images/thumbActiveHoriz.png:
1804         * inspector/front-end/Images/thumbActiveVert.png:
1805         * inspector/front-end/Images/thumbHoriz.png:
1806         * inspector/front-end/Images/thumbHoverHoriz.png:
1807         * inspector/front-end/Images/thumbHoverVert.png:
1808         * inspector/front-end/Images/thumbVert.png:
1809         * inspector/front-end/Images/timelineBarBlue.png:
1810         * inspector/front-end/Images/timelineBarGray.png:
1811         * inspector/front-end/Images/timelineBarGreen.png:
1812         * inspector/front-end/Images/timelineBarOrange.png:
1813         * inspector/front-end/Images/timelineBarPurple.png:
1814         * inspector/front-end/Images/timelineBarRed.png:
1815         * inspector/front-end/Images/timelineBarYellow.png:
1816         * inspector/front-end/Images/timelineCheckmarks.png:
1817         * inspector/front-end/Images/timelineDots.png:
1818         * inspector/front-end/Images/timelineHollowPillBlue.png:
1819         * inspector/front-end/Images/timelineHollowPillGray.png:
1820         * inspector/front-end/Images/timelineHollowPillGreen.png:
1821         * inspector/front-end/Images/timelineHollowPillOrange.png:
1822         * inspector/front-end/Images/timelineHollowPillPurple.png:
1823         * inspector/front-end/Images/timelineHollowPillRed.png:
1824         * inspector/front-end/Images/timelineHollowPillYellow.png:
1825         * inspector/front-end/Images/timelineIcon.png:
1826         * inspector/front-end/Images/timelinePillBlue.png:
1827         * inspector/front-end/Images/timelinePillGray.png:
1828         * inspector/front-end/Images/timelinePillGreen.png:
1829         * inspector/front-end/Images/timelinePillOrange.png:
1830         * inspector/front-end/Images/timelinePillPurple.png:
1831         * inspector/front-end/Images/timelinePillRed.png:
1832         * inspector/front-end/Images/timelinePillYellow.png:
1833         * inspector/front-end/Images/toolbarItemSelected.png:
1834         * inspector/front-end/Images/trackHoriz.png:
1835         * inspector/front-end/Images/trackVert.png:
1836         * inspector/front-end/Images/treeDownTriangleBlack.png:
1837         * inspector/front-end/Images/treeDownTriangleWhite.png:
1838         * inspector/front-end/Images/treeRightTriangleBlack.png:
1839         * inspector/front-end/Images/treeRightTriangleWhite.png:
1840         * inspector/front-end/Images/treeUpTriangleBlack.png:
1841         * inspector/front-end/Images/treeUpTriangleWhite.png:
1842         * inspector/front-end/Images/undockButtonGlyph.png:
1843         * inspector/front-end/Images/userInputIcon.png:
1844         * inspector/front-end/Images/userInputPreviousIcon.png:
1845         * inspector/front-end/Images/userInputResultIcon.png:
1846         * inspector/front-end/Images/warningIcon.png:
1847         * inspector/front-end/Images/warningMediumIcon.png:
1848         * inspector/front-end/Images/warningOrangeDot.png:
1849         * inspector/front-end/Images/warningsErrors.png:
1850
1851 2011-03-15  Ryosuke Niwa  <rniwa@webkit.org>
1852
1853         Reviewed by Tony Chang.
1854
1855         Crash in ReplaceSelectionCommand::doApply when inserting a node under a document node
1856         https://bugs.webkit.org/show_bug.cgi?id=56372
1857
1858         The bug was caused by insertNodeAfter's calling parentElement on document's child.
1859         Fixed this by changing the node that AppendNodeCommand takes.
1860
1861         There was also a bug that document node always returned false for isContentEditable
1862         and isContentRichlyEditable because they never overrode Node's default implementation.
1863         Fixed this by overriding them in Document.
1864
1865         Test: editing/execCommand/append-node-under-document.html
1866
1867         * dom/Document.cpp:
1868         (WebCore::Document::isContentEditable): Added.
1869         (WebCore::Document::isContentRichlyEditable): Added.
1870         * dom/Document.h:
1871         * editing/AppendNodeCommand.cpp:
1872         (WebCore::AppendNodeCommand::AppendNodeCommand): Takes ContainerNode instead of Element.
1873         * editing/AppendNodeCommand.h:
1874         (WebCore::AppendNodeCommand::create): Ditto.
1875         * editing/CompositeEditCommand.cpp:
1876         (WebCore::CompositeEditCommand::appendNode): Ditto.
1877         (WebCore::CompositeEditCommand::insertNodeAfter): Calls parentNode instead of parentElement.
1878         * editing/CompositeEditCommand.h:
1879
1880 2011-03-15  David Grogan  <dgrogan@chromium.org>
1881
1882         Reviewed by Jeremy Orlow.
1883
1884         Fix crash caused by Invalid call to destroyActiveDOMObject during stopActiveDOMObjects
1885         https://bugs.webkit.org/show_bug.cgi?id=56350
1886
1887         When a frame is unloaded, ScriptExecutionContext::stopActiveDOMObjects
1888         calls stop() on each ActiveDOMObject.
1889
1890         Calling IDBDatabase::stop() can cause IDBDatabase to be destroyed:
1891         * IDBDatabase::stop() causes the chrome message dispatcher to remove
1892         its reference to IDBDatabase, which it has as type
1893         IDBDatabaseCallbacks.
1894         * If that reference is the last one, the IDBDatabase is destroyed.
1895         * Destroying an ActiveDOMObject while they are being iterated over causes
1896         a defensive crash.
1897         
1898         This change creates a separate IDBDatabaseCallbacks object that is not
1899         an ActiveDOMObject, so it can be destroyed by
1900         ScriptExecutionContext::stopActiveDOMObjects.
1901         
1902         Because the chrome message dispatcher is only used in multi-process
1903         chromium, that's the only platform affected.  Chromium browser tests
1904         forthcoming.
1905
1906         * WebCore.gypi:
1907         * storage/IDBDatabase.cpp:
1908         (WebCore::IDBDatabase::IDBDatabase):
1909         (WebCore::IDBDatabase::~IDBDatabase):
1910         (WebCore::IDBDatabase::setVersion):
1911         (WebCore::IDBDatabase::close):
1912         (WebCore::IDBDatabase::open):
1913         * storage/IDBDatabase.h:
1914         * storage/IDBDatabaseCallbacks.h:
1915         (WebCore::IDBDatabaseCallbacks::unRegisterDatabase):
1916         * storage/IDBDatabaseCallbacksImpl.cpp: Copied from Source/WebCore/storage/IDBDatabaseCallbacks.h.
1917         (WebCore::IDBDatabaseCallbacksImpl::create):
1918         (WebCore::IDBDatabaseCallbacksImpl::IDBDatabaseCallbacksImpl):
1919         (WebCore::IDBDatabaseCallbacksImpl::onVersionChange):
1920         (WebCore::IDBDatabaseCallbacksImpl::unRegisterDatabase):
1921         * storage/IDBDatabaseCallbacksImpl.h: Copied from Source/WebCore/storage/IDBDatabaseCallbacks.h.
1922         (WebCore::IDBDatabaseCallbacksImpl::~IDBDatabaseCallbacksImpl):
1923
1924 2011-03-15  Adam Barth  <abarth@webkit.org>
1925
1926         Reviewed by Dimitri Glazkov.
1927
1928         accessibility should build in WebCore GYP build
1929         https://bugs.webkit.org/show_bug.cgi?id=56405
1930
1931         This patch changes our include/exclude strategy to more closely match
1932         the strategy used by the Chromium GYP build system.  Ideally, we'd find
1933         a way to share more of these patterns.  In the meantime, I'm going to
1934         slowly increase the number of translation units in the project and
1935         adjust the include/exclude filters appropriately.
1936
1937         * gyp/WebCore.gyp:
1938
1939 2011-03-15  Alexey Proskuryakov  <ap@apple.com>
1940
1941         Reviewed by Darin Adler.
1942
1943         REGRESSION (WebKit2): keygen element doesn't work
1944         https://bugs.webkit.org/show_bug.cgi?id=56402
1945         <rdar://problem/9006545>
1946
1947         Covered by existing regresison tests.
1948
1949         * English.lproj/Localizable.strings:
1950
1951         * WebCore.exp.in: Removed WebCoreKeyGenerator, which no longer exists. Added
1952         _wkSignedPublicKeyAndChallengeString, so that this WKSI function could be used in WebCore.
1953
1954         * platform/mac/SSLKeyGeneratorMac.mm: Removed.
1955         * platform/mac/WebCoreKeyGenerator.h: Removed.
1956         * platform/mac/WebCoreKeyGenerator.m: Removed.
1957         * platform/mac/WebCoreSystemInterface.h:
1958         * platform/mac/WebCoreSystemInterface.mm:
1959         * WebCore.xcodeproj/project.pbxproj:
1960         Renamed SSLKeyGeneratorMac.mm to .cpp, as it doesn't use any Objective C any more.
1961         Removed WebCoreKeyGenerator, as we no longer need an interface to WebKit.
1962
1963         * platform/LocalizationStrategy.h:
1964         * platform/LocalizedStrings.cpp:
1965         (WebCore::keygenMenuItem512):
1966         (WebCore::keygenMenuItem1024):
1967         (WebCore::keygenMenuItem2048):
1968         (WebCore::keygenKeychainItemName):
1969         * platform/LocalizedStrings.h:
1970         Added strings used by keygen element, now that the code using them is in WebCore.
1971
1972         * platform/mac/SSLKeyGeneratorMac.cpp: Copied from Source/WebCore/platform/mac/SSLKeyGeneratorMac.mm.
1973         (WebCore::getSupportedKeySizes):
1974         (WebCore::signedPublicKeyAndChallengeString):
1975         Moved the code from WebKit. There is never any need to provide implementation at runtime,
1976         like old code was doing.
1977
1978         * platform/win/SSLKeyGeneratorWin.cpp: (WebCore::WebCore::getSupportedKeySizes):
1979         Added a FIXME about localization. Note that Safari for Windows doesn't support keygen.
1980
1981 2011-03-15  Anders Carlsson  <andersca@apple.com>
1982
1983         Fix clang build.
1984
1985         * platform/graphics/GraphicsContext3D.h:
1986         * platform/graphics/GraphicsLayer.h:
1987
1988 2011-03-15  Simon Fraser  <simon.fraser@apple.com>
1989
1990         Fix Lion build after r81161.
1991         
1992         Pass the PlatformCALayer down into drawLayerContents()
1993         so we can use its acceleratesDrawing() method.
1994
1995         * platform/graphics/mac/WebLayer.h:
1996         * platform/graphics/mac/WebLayer.mm:
1997         (drawLayerContents):
1998         (-[WebLayer drawInContext:]):
1999         * platform/graphics/mac/WebTiledLayer.mm:
2000         (-[WebTiledLayer drawInContext:]):
2001
2002 2011-03-15  Alok priyadarshi  <alokp@chromium.org>
2003
2004         Reviewed by James Robinson.
2005
2006         Valgrind error due to uninitialized PluginLayerChromium::m_textureId
2007         https://bugs.webkit.org/show_bug.cgi?id=56390
2008
2009         * platform/graphics/chromium/PluginLayerChromium.cpp:
2010         (WebCore::PluginLayerChromium::PluginLayerChromium):
2011         * platform/graphics/chromium/PluginLayerChromium.h:
2012         (WebCore::PluginLayerChromium::textureId):
2013
2014 2011-03-14  Nikolas Zimmermann  <nzimmermann@rim.com>
2015
2016         Reviewed by Dirk Schulze.
2017
2018         REGRESSION (r68976): Incorrect bidi rendering in SVG text
2019         https://bugs.webkit.org/show_bug.cgi?id=53980
2020
2021         rework the test engine or SVG "text-intro" tests so we can turn them back on
2022         https://bugs.webkit.org/show_bug.cgi?id=6524
2023
2024         svg/W3C-SVG-1.1/text-intro-0*.svg fail when MS Office fonts are present
2025         https://bugs.webkit.org/show_bug.cgi?id=11662
2026
2027         svg/batik/text/textBiDi.svg failing
2028         https://bugs.webkit.org/show_bug.cgi?id=17392
2029
2030         SVG bidi examples at w3C I18N WG tutorials are not rendered correctly.
2031         https://bugs.webkit.org/show_bug.cgi?id=24374
2032
2033         Implement proper bidirectionality support for SVG text.
2034
2035         BiDi didn't work properly until now, because the x/y/dx/dy/rotate value lists are stored in logical order (aka. in
2036         the order the characters appear in the markup), and when laying out bidi text, we associated the current character
2037         in visual order with the current x/y/dx/dy/rotate value in logical order, messing up RTL text layout.
2038         The BiDi algorithm itself, inherited by RenderBlockLineLayout, works just fine, the inline box tree is correct.
2039
2040         Long story:
2041         Before the inline box tree is created, SVGTextLayoutAttributesBuilder builds a list of x/y/dx/dy/rotate/<text metrics>
2042         for each RenderSVGInlineText* object, called SVGTextLayoutAttributes. This happens in logical order, as specified in
2043         the markup. <text x="10 20" y="10">abcdef</text> creates a SVGTextLayoutAttributes object in the renderer associated with
2044         "abcdef" that contains (10, 20) for x, (10) for y, the dx/dy/rotate lists are empty, and the SVGTextMetrics list holds 6
2045         width/height values for each of the glyphs (and some other infromation, see SVGTextMetrics class).
2046         The SVGTextLayoutAttributes object is _used by_ RenderBlockLineLayout when applying the BiDi algorithm as SVG demands
2047         that BiDi reordering does not happen across text chunks (a text chunk is defined by an absolute position, eg. x="10").
2048
2049         To summarize: SVGTextLayoutAttributes are stored in all RenderSVGInlineText renderers, caching the metrics of all
2050         characters, their position based on the DOM attributes x/y/dx/dy/rotate. Using that information it's possible to
2051         determine whether a position starts a new text chunk, and that's used by RenderBlockLineLayout to create the 
2052         inline box tree, in _visual order_, as it will appear on screen.
2053
2054         After the inline box tree is created, the SVGRootInlineBox traverses its children in visual order and feeds the
2055         found text boxes to SVGTextLayoutEngine, which lays out the text on a line or a path, according to SVG text layout
2056         rules. For each character of the passed in InlineTextBox, it determines the x/y/dx/dy/rotate value, and the position
2057         in the <text metrics> list of the renderer. The problem here is that the passed in text boxes are in visual order,
2058         the x/y/.. lists are all in logical order.
2059
2060         Example: <text direction="rtl" unicde-bidi="bidi-override" x="10 20">abcdef</text>, reverse the text direction:
2061                  the visual order now is: "fedcba", where 'f' should be associated with x="10" and 'e' with x="20".
2062
2063         Fix that problem, by computing a list of text boxes in _logical_ order in advance and pass it to SVGTextLayoutEngine,
2064         before it starts processing the boxes in visual order, fed by SVGRootInlineBox. When laying oout text, we can now
2065         process text in visual order, but grab the x/y/.. coordinates from the renderer in logical order.
2066
2067         Some more work was needed to truly fix Arabic. The SVGTextLayoutAttributesBuilder measured all characters isolated,
2068         which is not a problem with latin text, but results in wrong advances for Arabic text, as isolated forms, instead of
2069         shaped forms are measured. This broke text-anchor support, text queries on Arabic text etc. Fixed now, covered by
2070         dozens of new tests.
2071
2072         Tests: svg/W3C-I18N/g-dirLTR-ubNone.svg
2073                svg/W3C-I18N/g-dirLTR-ubOverride.svg
2074                svg/W3C-I18N/g-dirRTL-ubNone.svg
2075                svg/W3C-I18N/g-dirRTL-ubOverride.svg
2076                svg/W3C-I18N/text-anchor-dirLTR-anchorEnd.svg
2077                svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle.svg
2078                svg/W3C-I18N/text-anchor-dirLTR-anchorStart.svg
2079                svg/W3C-I18N/text-anchor-dirNone-anchorEnd.svg
2080                svg/W3C-I18N/text-anchor-dirNone-anchorMiddle.svg
2081                svg/W3C-I18N/text-anchor-dirNone-anchorStart.svg
2082                svg/W3C-I18N/text-anchor-dirRTL-anchorEnd.svg
2083                svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle.svg
2084                svg/W3C-I18N/text-anchor-dirRTL-anchorStart.svg
2085                svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd.svg
2086                svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle.svg
2087                svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart.svg
2088                svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd.svg
2089                svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle.svg
2090                svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart.svg
2091                svg/W3C-I18N/text-anchor-no-markup.svg
2092                svg/W3C-I18N/text-dirLTR-ubNone.svg
2093                svg/W3C-I18N/text-dirLTR-ubOverride.svg
2094                svg/W3C-I18N/text-dirRTL-ubNone.svg
2095                svg/W3C-I18N/text-dirRTL-ubOverride.svg
2096                svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context.svg
2097                svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context.svg
2098                svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context.svg
2099                svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context.svg
2100                svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context.svg
2101                svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context.svg
2102                svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context.svg
2103                svg/W3C-I18N/tspan-dirNone-ubOverride-in-rtl-context.svg
2104                svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-default-context.svg
2105                svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-ltr-context.svg
2106                svg/W3C-I18N/tspan-dirRTL-ubNone-in-default-context.svg
2107                svg/W3C-I18N/tspan-dirRTL-ubNone-in-ltr-context.svg
2108                svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context.svg
2109                svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context.svg
2110                svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context.svg
2111                svg/W3C-I18N/tspan-direction-ltr.svg
2112                svg/W3C-I18N/tspan-direction-rtl.svg
2113                svg/W3C-SVG-1.1-SE/text-intro-02-b.svg
2114                svg/W3C-SVG-1.1-SE/text-intro-05-t.svg
2115                svg/W3C-SVG-1.1-SE/text-intro-09-b.svg
2116                svg/W3C-SVG-1.1/text-align-08-b.svg
2117                svg/W3C-SVG-1.1/text-fonts-03-t.svg
2118                svg/W3C-SVG-1.1/text-intro-01-t.svg
2119                svg/W3C-SVG-1.1/text-intro-02-b.svg
2120                svg/W3C-SVG-1.1/text-intro-03-b.svg
2121                svg/W3C-SVG-1.1/text-intro-04-t.svg
2122                svg/text/bidi-reorder-value-lists.svg
2123                svg/text/bidi-text-anchor-direction.svg
2124                svg/text/bidi-text-query.svg
2125                svg/text/bidi-tspans.svg
2126
2127         * rendering/RenderBlockLineLayout.cpp: Remove hack that forced LTR support when unicode-bidi="normal" and handling SVG text.
2128         (WebCore::RenderBlock::determineStartPosition):
2129         * rendering/svg/SVGInlineTextBox.cpp: s/fragment.positionListOffset/fragment.characterOffset/
2130         (WebCore::SVGInlineTextBox::offsetForPositionInFragment):
2131         (WebCore::SVGInlineTextBox::constructTextRun):
2132         (WebCore::SVGInlineTextBox::mapStartEndPositionsIntoFragmentCoordinates):
2133         * rendering/svg/SVGRenderTreeAsText.cpp: Ditto.
2134         (WebCore::writeSVGInlineTextBox):
2135         * rendering/svg/SVGRootInlineBox.cpp: Add new buildTextBoxListInLogicalOrder(), collecting all text boxes recursively in logical order (aka. as specified in markup).
2136                                               This is needed as we have to process x/y/dx/dy/rotate value lists of text/tspan/.. elements in logical order, not in visual
2137                                               order as the characters are presented on screen.
2138         (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
2139         (WebCore::SVGRootInlineBox::buildTextBoxListInLogicalOrder):
2140         (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
2141         * rendering/svg/SVGRootInlineBox.h:
2142         * rendering/svg/SVGTextChunk.cpp: Cleanup code, minimize SVGTextChunks memory consumption.
2143         (WebCore::SVGTextChunk::SVGTextChunk): A text chunk now know whether its base progress direction is left-to-right or right-to-left.
2144         (WebCore::SVGTextChunk::calculateLength):
2145         (WebCore::SVGTextChunk::calculateTextAnchorShift): Make text-anchor direction aware. text-anchor="start/end" meaning depends on the context (ltr vs. rtl).
2146         * rendering/svg/SVGTextChunk.h: Adapt code, merging three members into a bitfield.
2147         (WebCore::SVGTextChunk::isVerticalText):
2148         (WebCore::SVGTextChunk::hasDesiredTextLength):
2149         (WebCore::SVGTextChunk::hasTextAnchor):
2150         (WebCore::SVGTextChunk::hasLengthAdjustSpacing):
2151         (WebCore::SVGTextChunk::hasLengthAdjustSpacingAndGlyphs):
2152         * rendering/svg/SVGTextChunkBuilder.cpp: Adapt to SVGTextChunk code changes.
2153         (WebCore::SVGTextChunkBuilder::addTextChunk):
2154         (WebCore::SVGTextChunkBuilder::processTextChunk):
2155         * rendering/svg/SVGTextFragment.h: Add metricsListOffset, needed only while laying out text.
2156         (WebCore::SVGTextFragment::SVGTextFragment): Rename positionListOffset to characterOffset, as it describes an offset in the textRenderer->characters() array.
2157         * rendering/svg/SVGTextLayoutAttributesBuilder.cpp
2158         (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): Fix measuring Arabic text in LTR/RTL modes. Assure that each SVGTextMetrics object
2159                                                                               that we cache, refers to the _rendered_ character. For Arabic text that means, that we're
2160                                                                               measuring the shaped width of the glyph, not the glyph in its isolated form. Without that
2161                                                                               fix reordering boxes containing Arabic is wrong.
2162         * rendering/svg/SVGTextLayoutEngine.cpp: SVGTextLayoutEngine is fed with text boxes to be laid out in _visual_ order, left-to-right, after the BiDi algorithm
2163                                                  has been applied by RenderBlockLineLayout to create the inline box tree. The coordinates lists x/y/dx/dy/rotate have
2164                                                  to be processed in _logical_ order. SVGRootInlineBox now passes a list of text boxes in logical order to SVGTextLayoutEngine,
2165                                                  to assure it grabs the coordinates from the correct InlineTextBox. See examples at the top of the ChangeLog.
2166         (WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine):
2167         (WebCore::SVGTextLayoutEngine::recordTextFragment): No need to measure text here anymore, SVGTextLayoutAttributesBuilder now provides exact advances for each glyph.
2168                                                             The width of a SVGTextFragment is always equal to the sum of each glyph advance. (This was not the case for
2169                                                             Arabic until now.)
2170         (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
2171         (WebCore::SVGTextLayoutEngine::nextLogicalBoxAndOffset): Computes the next logical box and the offset to the next coordinate value in its position list.
2172         (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
2173         * rendering/svg/SVGTextLayoutEngine.h: Add CharacterRange helper struct.
2174         (WebCore::SVGTextLayoutEngine::CharacterRange::CharacterRange):
2175         * rendering/svg/SVGTextMetrics.cpp: Remove unused measureAllCharactersIndividually() method.
2176         (WebCore::constructTextRun): Pass direction and unicode-bidi="override" values to the TextRun, otherwhise LTR is always asumed.
2177         * rendering/svg/SVGTextMetrics.h:
2178         (WebCore::SVGTextMetrics::setWidth): Add private setter, only SVGTextLayoutAttributesBuilder is allowed to modify the metrics (to fix up glyph widths for Arabic).
2179         * rendering/svg/SVGTextQuery.cpp: s/fragment.positionListOffset/fragment.characterOffset/
2180         (WebCore::SVGTextQuery::subStringLengthCallback):
2181         (WebCore::SVGTextQuery::startPositionOfCharacterCallback):
2182         (WebCore::SVGTextQuery::endPositionOfCharacterCallback):
2183         (WebCore::calculateGlyphBoundaries):
2184
2185 2011-03-15  Sergio Villar Senin  <svillar@igalia.com>
2186
2187         Reviewed by Xan Lopez.
2188
2189         [GTK] Fix make distcheck for 1.3.13 release
2190         https://bugs.webkit.org/show_bug.cgi?id=56371
2191
2192         No new tests as this is a build fix.
2193
2194         * GNUmakefile.am: added a couple of missing files.
2195
2196 2011-03-08  Levi Weintraub  <leviw@chromium.org>
2197
2198         Reviewed by Ryosuke Niwa.
2199
2200         Get rid of firstDeepEditingPositionForNode and lastDeepEditingPositionForNode
2201         https://bugs.webkit.org/show_bug.cgi?id=52642
2202
2203         Replacing calls to first/lastDeepEditingPositionForNode with calls to their analogous
2204         functions that create new positions. Also fixing various parts of editing code that
2205         incorrectly handled the new positions now being created.
2206
2207         No new tests as this is refactoring/cleanup.
2208
2209         * accessibility/AccessibilityRenderObject.cpp:
2210         (WebCore::AccessibilityRenderObject::visiblePositionRange):
2211         * dom/Position.cpp:
2212         (WebCore::Position::parentAnchoredEquivalent):
2213         (WebCore::Position::previous):
2214         (WebCore::Position::next):
2215         (WebCore::Position::atFirstEditingPositionForNode):
2216         (WebCore::Position::atLastEditingPositionForNode):
2217         (WebCore::Position::upstream):
2218         (WebCore::Position::isCandidate):
2219         (WebCore::Position::getInlineBoxAndOffset):
2220         * dom/Position.h:
2221         (WebCore::operator==):
2222         * dom/PositionIterator.cpp:
2223         (WebCore::PositionIterator::operator Position):
2224         * editing/ApplyBlockElementCommand.cpp:
2225         (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded):
2226         * editing/CompositeEditCommand.cpp:
2227         (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
2228         * editing/DeleteSelectionCommand.cpp:
2229         (WebCore::isTableCellEmpty):
2230         (WebCore::DeleteSelectionCommand::removeNode):
2231         * editing/InsertLineBreakCommand.cpp:
2232         (WebCore::InsertLineBreakCommand::doApply):
2233         * editing/InsertListCommand.cpp:
2234         (WebCore::InsertListCommand::unlistifyParagraph):
2235         * editing/ReplaceSelectionCommand.cpp:
2236         (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
2237         * editing/TypingCommand.cpp:
2238         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2239         * editing/VisibleSelection.cpp:
2240         (WebCore::VisibleSelection::selectionFromContentsOfNode):
2241         (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
2242         * editing/htmlediting.cpp:
2243         (WebCore::firstEditablePositionAfterPositionInRoot):
2244         (WebCore::lastEditablePositionBeforePositionInRoot):
2245         (WebCore::enclosingEmptyListItem):
2246         * editing/htmlediting.h:
2247         * editing/visible_units.cpp:
2248         (WebCore::startOfParagraph):
2249         (WebCore::endOfParagraph):
2250         (WebCore::startOfEditableContent):
2251         (WebCore::endOfEditableContent):
2252         * rendering/RenderBox.cpp:
2253         (WebCore::RenderBox::positionForPoint):
2254
2255 2011-03-15  Beth Dakin  <bdakin@apple.com>
2256
2257         Attempted build fix.
2258
2259         * platform/mac/ScrollAnimatorMac.mm:
2260         (WebCore::ScrollAnimatorMac::cancelAnimations):
2261
2262 2011-03-15  David Hyatt  <hyatt@apple.com>
2263
2264         Reviewed by Dave Levin.
2265
2266         https://bugs.webkit.org/show_bug.cgi?id=56329
2267
2268         Fix FontCache problems on Linux.  Make sure not to mutate the platform data passed in to SimpleFontData's
2269         constructor.  Change this code to match Mac and to set the new m_hasVerticalGlyphs boolean instead of
2270         mutating orientation.
2271
2272         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
2273         (WebCore::SimpleFontData::platformInit):
2274
2275 2011-03-15  Simon Fraser  <simon.fraser@apple.com>
2276
2277         Reviewed by Dan Bernstein.
2278
2279         Disable ShadowBlur shadow drawing in accelerated contexts
2280         https://bugs.webkit.org/show_bug.cgi?id=56392
2281
2282         When drawing into a graphics context that is accelerated, don't use
2283         ShadowBlur, because it may be slower.
2284         
2285         * platform/graphics/GraphicsContext.h:
2286         * platform/graphics/cg/GraphicsContextCG.cpp:
2287         (WebCore::GraphicsContext::fillRect):
2288         (WebCore::GraphicsContext::fillRoundedRect):
2289         (WebCore::GraphicsContext::fillRectWithRoundedHole):
2290         (WebCore::GraphicsContext::setIsCALayerContext):
2291         (WebCore::GraphicsContext::isCALayerContext):
2292         (WebCore::GraphicsContext::setIsAcceleratedContext):
2293         (WebCore::GraphicsContext::isAcceleratedContext):
2294         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
2295         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
2296         * platform/graphics/mac/WebLayer.mm:
2297         (drawLayerContents):
2298
2299 2011-03-15  Beth Dakin  <bdakin@apple.com>
2300
2301         Reviewed by Simon Fraser.
2302
2303         Fix for <rdar://problem/9075624> Overlay scrollbars slow down PLT by 6%
2304
2305         Tell the ScrollAnimator to cancelAnimations() since we are navigating to a new 
2306         page.
2307         * loader/FrameLoader.cpp:
2308         (WebCore::FrameLoader::transitionToCommitted):
2309         
2310         Scroll animations should be suspended if the FrameLoadState is anything but 
2311         complete.
2312         * page/FrameView.cpp:
2313         (WebCore::FrameView::shouldSuspendScrollAnimations):
2314         * page/FrameView.h:
2315         * platform/ScrollableArea.h:
2316         (WebCore::ScrollableArea::shouldSuspendScrollAnimations):
2317         * rendering/RenderDataGrid.cpp:
2318         (WebCore::RenderDataGrid::shouldSuspendScrollAnimations):
2319         * rendering/RenderDataGrid.h:
2320         * rendering/RenderLayer.cpp:
2321         (WebCore::RenderLayer::shouldSuspendScrollAnimations):
2322         * rendering/RenderLayer.h:
2323         * rendering/RenderListBox.cpp:
2324         (WebCore::RenderListBox::shouldSuspendScrollAnimations):
2325         * rendering/RenderListBox.h:
2326
2327         New virtual function cancelAnimations() is only needed on the Mac, so the base 
2328         class is empty.
2329         * platform/ScrollAnimator.h:
2330         (WebCore::ScrollAnimator::cancelAnimations):
2331
2332         ScrollAnimatorMac needs to keep track of whether the page has been scrolled since 
2333         it started loading. If so, we will override optimizations that wait for the 
2334         FrameLoadState to be complete before animating scrollbars.
2335         * platform/mac/ScrollAnimatorMac.h:
2336         (WebCore::ScrollAnimatorMac::haveScrolledSincePageLoad):
2337
2338         If the scrollbar animations should be suspended, we start a timer to make sure 
2339         that we do flash the scrollbars. Animating the scrollbars is expensive, so this is 
2340         both a performance optimization and a UI enhancement since the scrollbar won't 
2341         jump around nearly as much on a page load.
2342         * platform/mac/ScrollAnimatorMac.mm:
2343         (-[ScrollbarPainterDelegate cancelAnimations]):
2344         (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
2345         (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
2346         (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
2347         (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
2348         (WebCore::ScrollAnimatorMac::scroll):
2349         (WebCore::ScrollAnimatorMac::handleWheelEvent):
2350         (WebCore::ScrollAnimatorMac::cancelAnimations):
2351         (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
2352         (WebCore::ScrollAnimatorMac::beginScrollGesture):
2353         (WebCore::ScrollAnimatorMac::startScrollbarPaintTimer):
2354         (WebCore::ScrollAnimatorMac::scrollbarPaintTimerIsActive):
2355         (WebCore::ScrollAnimatorMac::stopScrollbarPaintTimer):
2356         (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
2357
2358         New WebCoreSystemInterface function to force the scrollbars to flash
2359         * WebCore.exp.in:
2360         * platform/mac/WebCoreSystemInterface.h:
2361         * platform/mac/WebCoreSystemInterface.mm:
2362
2363 2011-03-15  Dimitri Glazkov  <dglazkov@chromium.org>
2364
2365         Reviewed by Adam Barth.
2366
2367         Remove stale comment at RenderStyle::diff.
2368         https://bugs.webkit.org/show_bug.cgi?id=56387
2369
2370         * rendering/style/RenderStyle.cpp: Removed comment.
2371
2372 2011-03-15  David Kilzer  <ddkilzer@apple.com>
2373
2374         <http://webkit.org/b/56381> Objective-C classes should be typedef-ed as structs (not void*) in C++
2375
2376         Reviewed by Simon Fraser.
2377
2378         Typedef-ing Objective-C classes as void* for pure C++ makes it
2379         easier for bugs to creep in because compilers can't do any type
2380         checking for void pointers.
2381
2382         * platform/graphics/GraphicsContext3D.h: Changed typedef
2383         declarations for CALayer and WebGLLayer from void* to structs.
2384         (WebCore::GraphicsContext3D::platformLayer): Changed
2385         static_cast<CALayer*> to reinterpret_cast<CALayer*> now that
2386         CALayer and WebGLLayer are not void pointers.
2387         * platform/graphics/GraphicsLayer.h: Changed typedef declaration
2388         for PlatformLayer from void* to struct CALayer.
2389         * platform/graphics/ca/PlatformCAAnimation.h: Changed typedef
2390         declaration for CAPropertyAnimation from void* to a struct.
2391         Extracted typdef for PlatformAnimationRef.
2392
2393 2011-03-15  Ilya Sherman  <isherman@chromium.org>
2394
2395         Reviewed by Tony Chang.
2396
2397         Autofilled form elements are assigned fixed background color but not text color
2398         https://bugs.webkit.org/show_bug.cgi?id=48382
2399
2400         Test: fast/forms/input-autofilled.html
2401
2402         * css/html.css:
2403         (input:-webkit-autofill): Added foreground color: #000000
2404         * css/wml.css:
2405         (input:-webkit-autofill): Added foreground color: #000000
2406
2407 2011-03-15  Alexis Menard  <alexis.menard@openbossa.org>
2408
2409         Reviewed by Eric Carlson.
2410
2411         HTMLMediaElement::mediaPlayerPlaybackStateChanged should not change the "public" state of the element
2412         if it's an internal pause for example.
2413         https://bugs.webkit.org/show_bug.cgi?id=56374
2414
2415         In case of an internal pause, the callback from the mediaplayer should be ignored to avoid reflecting the
2416         change into the DOM.
2417
2418         No new tests: Verified manually.
2419
2420         * html/HTMLMediaElement.cpp:
2421         (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
2422
2423 2011-03-12  Pavel Podivilov  <podivilov@chromium.org>
2424
2425         Reviewed by Yury Semikhatsky.
2426
2427         Web Inspector: re-implement xhr breakpoints.
2428         https://bugs.webkit.org/show_bug.cgi?id=56252
2429
2430         - restore xhr breakpoints one by one instead of using setAllBrowserBreakpoints
2431         - store xhr breakpoints in a separate setting
2432         - move presentation-related code from BreakpointManager to XHRBreakpointsSidebarPane
2433
2434         Test: inspector/debugger/xhr-breakpoints.html
2435
2436         * inspector/InspectorBrowserDebuggerAgent.cpp:
2437         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
2438         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
2439         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
2440         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
2441         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
2442         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
2443         (WebCore::InspectorBrowserDebuggerAgent::clear):
2444         * inspector/InspectorBrowserDebuggerAgent.h:
2445         * inspector/front-end/BreakpointManager.js:
2446         (WebInspector.BreakpointManager.prototype.setXHRBreakpoint):
2447         (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint):
2448         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
2449         (WebInspector.BreakpointManager.prototype._projectChanged):
2450         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
2451         (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
2452         * inspector/front-end/BreakpointsSidebarPane.js:
2453         (WebInspector.XHRBreakpointsSidebarPane):
2454         (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing):
2455         (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked):
2456         (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
2457         (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
2458         (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint):
2459         (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu):
2460         (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
2461         (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked.finishEditing):
2462         (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked):
2463         (WebInspector.XHRBreakpointsSidebarPane.prototype.highlightBreakpoint):
2464         (WebInspector.XHRBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
2465         (WebInspector.XHRBreakpointsSidebarPane.prototype._saveBreakpoints):
2466         (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints):
2467         (WebInspector.XHRBreakpointsSidebarPane.prototype._projectChanged):
2468         * inspector/front-end/CallStackSidebarPane.js:
2469         (WebInspector.CallStackSidebarPane.prototype.update):
2470         (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit):
2471         * inspector/front-end/ScriptsPanel.js:
2472         (WebInspector.ScriptsPanel):
2473         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
2474         (WebInspector.ScriptsPanel.prototype._clearInterface):
2475         * inspector/front-end/Settings.js:
2476         (WebInspector.Settings):
2477         * inspector/front-end/inspector.js:
2478         (WebInspector.resetFocusElement):
2479         (WebInspector.set attached):
2480
2481 2011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
2482
2483         Reviewed by Darin Adler.
2484
2485         Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
2486         info into the headers rather than in export symbol definition files, but disable it on 
2487         all platforms initially so we can deal with port build issues one port at a time.
2488         
2489         https://bugs.webkit.org/show_bug.cgi?id=27551
2490
2491         * config.h:
2492         * platform/mac/LoggingMac.mm:
2493
2494 2011-03-15  Ilya Tikhonovsky  <loislo@chromium.org>
2495
2496         Unreviewed build fix.
2497
2498         Chromium: shared lib linux build are failing.
2499
2500         Two exclude rules for LocalizedNumberNone and TextEncodingDetectorNone were added to the wrong library.
2501         It was webcore_remaining instead of webcore_platform.
2502
2503         * WebCore.gyp/WebCore.gyp:
2504
2505 2011-03-15  Yury Semikhatsky  <yurys@chromium.org>
2506
2507         Reviewed by Pavel Feldman.
2508
2509         Web Inspector: expanding/collapsing object shouldn&apos;t affect outer console.group expansion state
2510         https://bugs.webkit.org/show_bug.cgi?id=56373
2511
2512         * inspector/front-end/Section.js:
2513         (WebInspector.Section):
2514         (WebInspector.Section.prototype.toggleExpanded):
2515         (WebInspector.Section.prototype.handleClick): stop click even propagation if it was handled by this section.
2516
2517 2011-03-15  Pavel Feldman  <pfeldman@chromium.org>
2518
2519         Reviewed by Yury Semikhatsky.
2520
2521         Web Inspector: crash upon "//html//@id" search in elements panel.
2522         https://bugs.webkit.org/show_bug.cgi?id=56334
2523
2524         * inspector/InspectorDOMAgent.cpp:
2525         * inspector/front-end/ElementsTreeOutline.js:
2526
2527 2011-03-15  Andrey Kosyakov  <caseq@chromium.org>
2528
2529         Reviewed by Yury Semikhatsky.
2530
2531         Web Inspector: further extension API cleanup (removed inspectedPage, add experimental prefix)
2532         https://bugs.webkit.org/show_bug.cgi?id=56327
2533
2534         * inspector/front-end/ExtensionAPI.js:
2535         (WebInspector.injectedExtensionAPI):
2536         * inspector/front-end/ExtensionAPISchema.json:
2537
2538 2011-03-15  Yury Semikhatsky  <yurys@chromium.org>
2539
2540         Reviewed by Pavel Feldman.
2541
2542         Web Inspector: when console.groupEnd calls twice
2543         https://bugs.webkit.org/show_bug.cgi?id=56114
2544
2545         Test: inspector/console/console-nested-group.html
2546
2547         * inspector/ConsoleMessage.h:
2548         (WebCore::ConsoleMessage::type):
2549         * inspector/InspectorConsoleAgent.cpp:
2550         (WebCore::InspectorConsoleAgent::addConsoleMessage): do not coalesce adjacent EndGroup messages.
2551
2552 2011-03-15  Chris Mumford  <chris.mumford@palm.com>
2553
2554         Reviewed by Adam Barth.
2555
2556         Initializing several member variables that were not initialized in
2557         their constructors. These values were all read prior to initialization
2558         as reported by Valgrind.
2559
2560         No new tests: No feature additions/removals.
2561
2562         * accessibility/AccessibilityImageMapLink.cpp:
2563         (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
2564         * editing/DeleteSelectionCommand.cpp:
2565         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
2566         * html/HTMLCanvasElement.cpp:
2567         (WebCore::HTMLCanvasElement::HTMLCanvasElement):
2568         * xml/XPathResult.cpp:
2569         (WebCore::XPathResult::XPathResult):
2570
2571 2011-03-15  Ben Taylor  <bentaylor.solx86@gmail.com>
2572
2573         Reviewed by Adam Barth.
2574
2575         https://bugs.webkit.org/show_bug.cgi?id=56255
2576         Fix build on Solaris 10/Sun Studio 12 C++
2577
2578         No new tests. This is to fix compilation on Solaris 10 with Sun Studio 12 C++
2579
2580         * bridge/runtime_array.h:
2581         (JSC::RuntimeArray::getConcreteArray):
2582
2583 2011-03-14  Sam Weinig  <sam@webkit.org>
2584
2585         Reviewed by Adam Roben
2586
2587         about:blank fake responses don't get serialized when sent the UIProcess
2588         <rdar://problem/9108119>
2589         https://bugs.webkit.org/show_bug.cgi?id=56357
2590
2591         Test: AboutBlankLoad
2592
2593         * platform/network/cf/ResourceResponse.h:
2594         * platform/network/cf/ResourceResponseCFNet.cpp:
2595         (WebCore::ResourceResponse::cfURLResponse):
2596         Create a CFURLResponseRef if one does not exist yet as we do for
2597         NSURLResponses on the mac.
2598
2599 2011-03-14  Alexis Menard  <alexis.menard@openbossa.org>
2600
2601         Reviewed by Kenneth Rohde Christiansen.
2602
2603         [Qt] Seeking videos using the timeline bar does not work properly and stop the video playback.
2604         https://bugs.webkit.org/show_bug.cgi?id=56145
2605
2606         We do not need seekTimeout and queuedSeekTimeout anymore. setPosition on QMediaPlayer is good enough.
2607         positionChanged() will be emitted when the data is buffered. On Linux the signal was not emitted because
2608         of a bug in QtMultimedia.
2609
2610         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
2611         (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
2612         (WebCore::MediaPlayerPrivateQt::seek):
2613         (WebCore::MediaPlayerPrivateQt::stateChanged):
2614         (WebCore::MediaPlayerPrivateQt::positionChanged):
2615         * platform/graphics/qt/MediaPlayerPrivateQt.h:
2616
2617 2011-03-14  Alexey Proskuryakov  <ap@apple.com>
2618
2619         Reviewed by Adam Roben.
2620
2621         https://bugs.webkit.org/show_bug.cgi?id=44138
2622         Crash beneath SocketStreamHandle::readStreamCallback when running websocket/tests/workers/worker-handshake-challenge-randomness.html
2623
2624         https://bugs.webkit.org/show_bug.cgi?id=55375
2625         http/tests/websocket/tests/reload-crash.html sometimes crashes beneath SocketStreamHandle::readStreamCallback on Windows
2626
2627         https://bugs.webkit.org/show_bug.cgi?id=56185
2628         http/tests/websocket/tests/url-with-credential.html sometimes crashes beneath SocketStreamHandle::readStreamCallback on Windows
2629
2630         * platform/network/cf/SocketStreamHandle.h: Made SocketStreamHandle ThreadSafeShared, so that
2631         a pointer can be passed across threads when wrapped in a RefPtr.
2632
2633         * platform/network/cf/SocketStreamHandleCFNet.cpp: Make sure that an object still exists
2634         when executing a method on main thread by using RefPtr.
2635
2636 2011-03-14  Sam Weinig  <sam@webkit.org>
2637
2638         Mac build fix. Part 1 of N.
2639
2640         * WebCore.exp.in:
2641
2642 2011-03-14  Joseph Pecoraro  <joepeck@webkit.org>
2643
2644         Reviewed by Eric Carlson.
2645
2646         Stalled media elements don't stop delaying the load event
2647         https://bugs.webkit.org/show_bug.cgi?id=56316
2648
2649         We should stop delaying the load event when the load has
2650         stalled naturally, or if we require a user gesture to
2651         continue the load.
2652
2653         Test: http/tests/media/video-play-stall-before-meta-data.html
2654
2655         * html/HTMLMediaElement.cpp:
2656         (WebCore::HTMLMediaElement::setNetworkState): when suspending, stop delaying.
2657         (WebCore::HTMLMediaElement::progressEventTimerFired): when stalling, stop delaying.
2658
2659 2011-03-13  MORITA Hajime  <morrita@google.com>
2660
2661         Reviewed by Tony Chang.
2662
2663         Crash when dragging and dropping in a document with an invalid XHTML header
2664         https://bugs.webkit.org/show_bug.cgi?id=48799
2665
2666         DragController tried to dispatch textInput event even when the
2667         drag destination is not the editable area.
2668         This change skips the event dispatching on that case.
2669         
2670         Test: editing/pasteboard/drop-file-svg.html
2671
2672         * page/DragController.cpp:
2673         (WebCore::DragController::dispatchTextInputEventFor):
2674         (WebCore::DragController::concludeEditDrag):
2675
2676 2011-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2677
2678         Unreviewed, rolling out r81094.
2679         http://trac.webkit.org/changeset/81094
2680         https://bugs.webkit.org/show_bug.cgi?id=56355
2681
2682         Broke the chromium DRT related build. (Requested by dave_levin
2683         on #webkit).
2684
2685         * WebCore.exp.in:
2686         * WebCore.order:
2687         * page/Frame.cpp:
2688         (WebCore::Frame::layerTreeAsText):
2689         * page/Frame.h:
2690         * rendering/RenderLayerCompositor.cpp:
2691         (WebCore::RenderLayerCompositor::layerTreeAsText):
2692         * rendering/RenderLayerCompositor.h:
2693
2694 2011-03-14  Adam Barth  <abarth@webkit.org>
2695
2696         Apparently we need to exclude DefaultSharedWorkerRepository.cpp from
2697         the Chromium build, otherwise the objects visible in the global scope
2698         change.
2699
2700         * WebCore.gyp/WebCore.gyp:
2701
2702 2011-03-14  Adam Barth  <abarth@webkit.org>
2703
2704         Attempted Chromium build fix.  Exclude AllInOne harder.
2705
2706         * WebCore.gyp/WebCore.gyp:
2707
2708 2011-03-14  Ryosuke Niwa  <rniwa@webkit.org>
2709
2710         Reviewed by Darin Adler.
2711
2712         EventHandler calls shouldChangeSelection needlessly
2713         https://bugs.webkit.org/show_bug.cgi?id=56324
2714
2715         Extracted setSelectionIfNeeded and setNonDirectionalSelectionIfNeeded and
2716         avoided calling shouldChangeSelection and setSelection when the existing
2717         selection is identical to that of new selection.
2718
2719         * page/EventHandler.cpp:
2720         (WebCore::setSelectionIfNeeded): Extracted.
2721         (WebCore::setNonDirectionalSelectionIfNeeded): Extracted.
2722         (WebCore::EventHandler::selectClosestWordFromMouseEvent): Calls a helper function above.
2723         (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Ditto.
2724         (WebCore::EventHandler::handleMousePressEventTripleClick): Ditto.
2725         (WebCore::EventHandler::handleMousePressEventSingleClick): Ditto.
2726         (WebCore::EventHandler::updateSelectionForMouseDrag): Ditto.
2727         (WebCore::EventHandler::handleMouseReleaseEvent): Ditto.
2728
2729 2011-03-14  Daniel Sievers  <sievers@google.com>
2730
2731         Reviewed by Simon Fraser.
2732
2733         [Chromium] Make RenderAsTextBehavior and LayerTreeAsTextBehavior tweakable from the DumpRenderTree commandline
2734         https://bugs.webkit.org/show_bug.cgi?id=56139
2735
2736         * WebCore.exp.in:
2737         * WebCore.order:
2738         * page/Frame.cpp:
2739         (WebCore::Frame::layerTreeAsText):
2740         * page/Frame.h:
2741         * rendering/RenderLayerCompositor.cpp:
2742         (WebCore::RenderLayerCompositor::layerTreeAsText):
2743         * rendering/RenderLayerCompositor.h:
2744
2745 2011-03-14  Adam Barth  <abarth@webkit.org>
2746
2747         Reviewed by Dimitri Glazkov.
2748
2749         Add remaining files to WebCore.gypi
2750         https://bugs.webkit.org/show_bug.cgi?id=56351
2751
2752         Adding the remaining files to WebCore.gypi required updating the
2753         include/exclude lists in WebCore.gyp.  These lists aren't overly
2754         elegant, but we can try to improve them in the future.
2755
2756         * WebCore.gyp/WebCore.gyp:
2757         * WebCore.gypi:
2758         * bindings/v8/ScriptCachedFrameData.cpp:
2759             - Added ifdefs to this file to match the header.
2760         * platform/graphics/WOFFFileFormat.cpp:
2761             - Fixed build error when compiling without ENABLE(OPENTYPE_SANITIZER).
2762
2763 2011-03-14  Anton Muhin  <antonm@chromium.org>
2764
2765         Reviewed by Adam Barth.
2766
2767         [v8] Rework object group building.
2768         https://bugs.webkit.org/show_bug.cgi?id=55399
2769
2770         Instead of going top-down (from owner to owned elements), go up---from objects
2771         to their group ids.  That fits better to v8's object grouping model and guarantees
2772         that each wrapper belongs to the single group.
2773
2774         Alas, this cannot be implemented for one kind of objects---CSSProperties.
2775
2776         Part of core GC algorithm and tested extensively by exisiting layout tests.
2777
2778         * bindings/scripts/CodeGeneratorV8.pm:
2779         * bindings/scripts/test/V8/V8TestInterface.cpp:
2780         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
2781         * bindings/scripts/test/V8/V8TestObj.cpp:
2782         * bindings/v8/V8GCController.cpp:
2783         (WebCore::calculateGroupId):
2784         (WebCore::calculateRootStyleSheet):
2785         (WebCore::GrouperVisitor::visitDOMWrapper):
2786         (WebCore::GrouperVisitor::applyGrouping):
2787         (WebCore::V8GCController::gcPrologue):
2788         * bindings/v8/WrapperTypeInfo.h:
2789         (WebCore::WrapperTypeInfo::isSubclass):
2790         * css/CSSRuleList.h:
2791         (WebCore::CSSRuleList::styleList):
2792         * css/StyleSheetList.h:
2793         (WebCore::StyleSheetList::document):
2794
2795 2011-03-14  Kent Tamura  <tkent@chromium.org>
2796
2797         Reviewed by James Robinson.
2798
2799         Assertion failure by form validation message for <select required> with float:left
2800         https://bugs.webkit.org/show_bug.cgi?id=55995
2801
2802         Test: fast/forms/interactive-validation-select-crash.html
2803
2804         * rendering/RenderBlock.cpp:
2805         (WebCore::canMergeContiguousAnonymousBlocks):
2806           isAnonymousBlock() doesn't mean it is a RenderBlock. We need to check isRenderBlock().
2807
2808 2011-03-14  Balazs Kelemen  <kbalazs@webkit.org>
2809
2810         Reviewed by Adam Roben.
2811
2812         [Qt][WK2]Unbreak InjectedBundle on Qt
2813         https://bugs.webkit.org/show_bug.cgi?id=54109
2814
2815         No code changes so no new tests.
2816
2817         Revert the changes that were needed to use KURL
2818         in WebKitTestRunner.
2819
2820         * Configurations/WebCore.xcconfig:
2821         * WebCore.exp.in:
2822
2823 2011-03-14  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
2824
2825         Reviewed by Kenneth Rohde Christiansen.
2826
2827         [Qt] Compilation fails with --3d-canvas 
2828         https://bugs.webkit.org/show_bug.cgi?id=55964
2829
2830         * WebCore.pro:
2831         * platform/graphics/qt/Extensions3DQt.cpp:
2832
2833 2011-03-14  Brian Weinstein  <bweinstein@apple.com>
2834
2835         Reviewed by Adam Roben and Gavin Barraclough.
2836
2837         FileSystemWin.cpp needs listDirectory() implementation
2838         https://bugs.webkit.org/show_bug.cgi?id=56331
2839         <rdar://problem/9126635>
2840         
2841         Move PathWalker from an inline class in WebKit2 to its own class in WebCore,
2842         so it can be used from both WebCore and WebKit2.
2843         
2844         Implement FileSystemWin::listDirectory using PathWalker to populate the Vector
2845         of paths matching the passed in pattern.
2846
2847         * WebCore.vcproj/WebCore.vcproj:
2848         * platform/win/FileSystemWin.cpp:
2849         (WebCore::listDirectory): Call through to PathWalker.
2850         * platform/win/PathWalker.cpp: Added.
2851         (WebCore::PathWalker::PathWalker): Moved from WebKit2. Added a second argument
2852             for the pattern to pass to the Windows File APIs.
2853         (WebCore::PathWalker::~PathWalker): Moved from WebKit2.
2854         (WebCore::PathWalker::isValid): Ditto.
2855         (WebCore::PathWalker::data): Ditto.
2856         (WebCore::PathWalker::step): Ditto.
2857         * platform/win/PathWalker.h: Added.
2858
2859 2011-03-14  Brady Eidson  <beidson@apple.com>
2860
2861         Reviewed by Anders Carlsson.
2862
2863         https://bugs.webkit.org/show_bug.cgi?id=56320
2864         Remove HistoryItem::icon() and the WebCore dependency on "IconDatabaseBase::defaultIcon()"
2865
2866         Remove HistoryItem::icon():
2867         * history/HistoryItem.cpp:
2868         * history/HistoryItem.h:
2869         * WebCore.exp.in:
2870
2871         * loader/icon/IconDatabaseBase.h:
2872         (WebCore::IconDatabaseBase::defaultIcon):
2873
2874 2011-03-14  Andy Estes  <aestes@apple.com>
2875
2876         Reviewed by Darin Adler.
2877
2878         Timer-based events should inherit the user gesture state of their
2879         originating event in certain cases.
2880         https://bugs.webkit.org/show_bug.cgi?id=55104
2881
2882         If a timer is installed by a gesture-originated event and will fire
2883         within one second, the timer-initiated event should behave as if it
2884         were also initiated by a user gesture. Multi-shot timers should only
2885         get this behavior on their first execution. Nested timers should not
2886         get this behavior. This makes us compatible with Gecko when handling
2887         popups and file chooser dialogs created from timer events.
2888
2889         Test: fast/events/popup-blocking-timers.html
2890
2891         * page/DOMTimer.cpp:
2892         (WebCore::timeoutId): Create a helper function so that m_timeoutId can
2893         be initialized in the data member initialization list.
2894         (WebCore::shouldForwardUserGesture): Ditto, but for
2895         m_shouldForwardUserGesture.
2896         (WebCore::DOMTimer::DOMTimer): Move initialization of data members from
2897         the ctor body to the data member initialization list. Also rename the
2898         argument 'timeout' to 'interval'.
2899         (WebCore::DOMTimer::fired): Create a UserGestureIndicator and set its
2900         state based on the value of m_shouldForwardUserGesture.
2901         (WebCore::DOMTimer::adjustMinimumTimerInterval): m_originalTimeout was
2902         renamed to m_originalInterval.
2903         * page/DOMTimer.h: Add m_shouldForwardUserGesture and rename
2904         m_originalTimeout to m_originalInterval.
2905
2906 2011-03-09  Levi Weintraub  <leviw@chromium.org>
2907
2908         Reviewed by Ryosuke Niwa.
2909
2910         Deleting content directly following a button inserts an unnecessary placeholder
2911         https://bugs.webkit.org/show_bug.cgi?id=56053
2912
2913         Fixing a use of Node's enclosingBlockFlowElement with enclosingBlock htmlediting's
2914         enclosingBlock, as enclosingBlockFlowElement would return inline-block elements despite
2915         DeleteSelectionCommand treating them as blockflow.
2916
2917         Test: editing/deleting/delete-inserts-br-after-button.html
2918
2919         * editing/DeleteSelectionCommand.cpp:
2920         (WebCore::DeleteSelectionCommand::mergeParagraphs):
2921
2922 2011-03-14  David Hyatt  <hyatt@apple.com>
2923
2924         Reviewed by Dan Bernstein.
2925
2926         https://bugs.webkit.org/show_bug.cgi?id=45164
2927
2928         REGRESSION: <a><img align=top></a> Clickable area too large
2929         
2930         Make sure to clamp hit testing of quirky inline flow boxes the same way we already clamped
2931         painting.
2932
2933         * rendering/InlineFlowBox.cpp:
2934         (WebCore::InlineFlowBox::nodeAtPoint):
2935
2936 2011-03-14  Chris Marrin  <cmarrin@apple.com>
2937
2938         Reviewed by Adam Roben.
2939
2940         REGRESSION (r75138-r75503): Animations on Apple HTML5 Gallery demo are wrong
2941         https://bugs.webkit.org/show_bug.cgi?id=52845
2942
2943         The lastCommitTime() value in CACFLayerTreeHost was returning as the time
2944         the render previous to this one happened. That often made it seem like
2945         animations started more in the past than they did, breaking many animations.
2946         The startAnimations() call actually fires from a CACF callback after all the
2947         WebKit content has been rendered. So sending currentTime as the start time
2948         to the animations is close enough for proper synchronization.
2949
2950         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
2951         (WebCore::CACFLayerTreeHost::notifyAnimationsStarted):
2952
2953 2011-03-11  Ryosuke Niwa  <rniwa@webkit.org>
2954
2955         Reviewed by Tony Chang.
2956
2957         Selection uses first mousemove's localRect instead of that of mousedown
2958         https://bugs.webkit.org/show_bug.cgi?id=56213
2959
2960         Fixed the bug by adding an extra call to updateSelectionForMouseDrag in handleMouseDraggedEvent
2961         using the mouse coordinates of the mousedown event that started the drag.
2962
2963         Test: editing/selection/drag-select-rapidly.html
2964
2965         * page/EventHandler.cpp:
2966         (WebCore::EventHandler::handleMouseDraggedEvent):
2967
2968 2011-03-14  Mark Rowe  <mrowe@apple.com>
2969
2970         Reviewed by Timothy Hatcher.
2971
2972         Apply a large, blunt object directly to the skull of the Leopard build.
2973
2974         * Configurations/Base.xcconfig: Disable the generation of debugging symbols when
2975         building the Debug configuration on Leopard. This should cut the size of the object
2976         files that the linker needs to process by over 85%. This will hopefully allow them
2977         to fit in to the 32-bit address space of the Leopard linker.
2978
2979 2011-03-14  David Hyatt  <hyatt@apple.com>
2980
2981         Reviewed by Beth Dakin.
2982
2983         https://bugs.webkit.org/show_bug.cgi?id=56246
2984         
2985         Add support for relative positioning to table cells.   Back out the code that hacked around the lack of support
2986         for offsetLeft, and add new tests to demonstrate that relative positioning works.
2987
2988         * css/CSSStyleSelector.cpp:
2989         (WebCore::CSSStyleSelector::adjustRenderStyle):
2990         * rendering/RenderObject.cpp:
2991         (WebCore::RenderObject::offsetParent):
2992         * rendering/RenderObject.h:
2993         (WebCore::RenderObject::isRelPositioned):
2994         * rendering/RenderTableCell.h:
2995         * rendering/style/RenderStyle.h:
2996         * rendering/style/StyleRareNonInheritedData.cpp:
2997         (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
2998         (WebCore::StyleRareNonInheritedData::operator==):
2999         * rendering/style/StyleRareNonInheritedData.h:
3000
3001 2011-03-14  David Hyatt  <hyatt@apple.com>
3002
3003         Reviewed by Beth Dakin.
3004
3005         Partial backout of https://bugs.webkit.org/show_bug.cgi?id=56230.  Go back to repainting the root
3006         layer, since first layouts and printing mess up otherwise.
3007
3008         * page/FrameView.cpp:
3009         (WebCore::FrameView::layout):
3010
3011 2011-03-11  David Hyatt  <hyatt@apple.com>
3012
3013         Reviewed by Simon Fraser.
3014
3015         Clean up full repainting of layers during layout and at other times.  Platforms that did not do an invalidation on
3016         size changes were incorrectly relying on the DoFullRepaint case of RenderLayer::updateLayerPositions to invalidate
3017         for them. However this code is now wrong, since it assumed that the outermost layer was a RenderView that encompassed
3018         all of the child layers.  This is no longer the case since the overflow changes that tightened up visual overflow
3019         and limited that overflow only to content that the layer painted.
3020         
3021         Eliminate the DoFullRepaint flag and actually make no repainting of any kind happen from the layer code if FrameView's
3022         m_doFullRepaint boolean is set.  This will flush out any ports that aren't just invalidating the world on their
3023         own in response to view resizes or fixed layout size changes and force them to fix things to be consistent with
3024         the other ports.
3025         
3026         Make the two dynamic calls to updateLayerPositions still do a full repaint by setting the repaint flag on the layer.
3027         I'm suspicious as to the correctness of the repainting in both of these cases (both before and after this patch),
3028         but the behavior should be the same.
3029         
3030         No new tests, since this is untestable on ports that invalidate on a resize.
3031
3032         * page/FrameView.cpp:
3033         (WebCore::FrameView::layout):
3034         * rendering/RenderBoxModelObject.cpp:
3035         (WebCore::RenderBoxModelObject::styleDidChange):
3036         * rendering/RenderLayer.cpp:
3037         (WebCore::RenderLayer::updateLayerPositions):
3038         (WebCore::RenderLayer::removeOnlyThisLayer):
3039         * rendering/RenderLayer.h:
3040
3041 2011-03-11  Oliver Hunt  <oliver@apple.com>
3042
3043         Reviewed by Gavin Barraclough.
3044
3045         Ensure all values are correctly tagged in the registerfile
3046         https://bugs.webkit.org/show_bug.cgi?id=56214
3047
3048         Make sure everything builds still.
3049
3050         * bridge/c/c_class.cpp:
3051         * bridge/c/c_runtime.cpp:
3052         * bridge/jni/JavaMethod.cpp:
3053         * plugins/PluginViewNone.cpp:
3054
3055 2011-03-14  Luiz Agostini  <luiz.agostini@openbossa.org>
3056
3057         Unreviewed build fix for r81035.
3058
3059         * html/HTMLDetailsElement.cpp:
3060         (WebCore::HTMLDetailsElement::defaultEventHandler):
3061         * rendering/RenderDetailsMarker.cpp:
3062         (WebCore::createDownArrowPath):
3063         (WebCore::createUpArrowPath):
3064         (WebCore::createLeftArrowPath):
3065         (WebCore::createRightArrowPath):
3066
3067 2011-03-13  Jer Noble  <jer.noble@apple.com>
3068
3069         FullScreen: Handle entering full screen security restrictions
3070         https://bugs.webkit.org/show_bug.cgi?id=56264
3071
3072         Tests: fullscreen/full-screen-iframe-allowed.html
3073                fullscreen/full-screen-iframe-not-allowed.html
3074
3075         Disable full screen documents in the following conditions:
3076         1) requesting element is in an iframe which does not have a
3077         webkitallowfullscreen attribute.
3078         2) page is not processing a user gesture.
3079
3080         * dom/Document.cpp:
3081         (WebCore::Document::fullScreenIsAllowedForElement): Added.  Checks
3082             to see if elements contained in IFRAMES are allowed to
3083             enter full screen.
3084         (WebCore::Document::webkitRequestFullScreenForElement): Checks
3085             if page is currently processing a user gesture.
3086         * dom/Document.h:
3087         * html/HTMLAttributeNames.in: Added webkitallowfullscreenAttr.
3088         * html/HTMLFrameElementBase.cpp:
3089         (WebCore::HTMLFrameElementBase::allowFullScreen): Added.
3090         * html/HTMLFrameElementBase.h:
3091
3092 2011-03-14  Anton D'Auria  <adauria@apple.com>
3093
3094         Reviewed by David Levin.
3095
3096         REGRESSION(r80892): Use of uninitialized variable "m_syncCloseDatabase" in StorageAreaSync::sync
3097         https://bugs.webkit.org/show_bug.cgi?id=56303
3098
3099         Initialized m_syncCloseDatabase to false in the StorageAreaSync constructor.
3100
3101         * storage/StorageAreaSync.cpp:
3102         (WebCore::StorageAreaSync::StorageAreaSync):
3103
3104 2011-03-14  Steve Block  <steveblock@google.com>
3105
3106         Reviewed by Oliver Hunt.
3107
3108         JavaMethod.cpp does not compile with V8
3109         https://bugs.webkit.org/show_bug.cgi?id=56306
3110
3111         Moved the ScopeChain.h include to JavaStringJSC.
3112
3113         No new tests, build fix only.
3114
3115         * bridge/jni/JavaMethod.cpp:
3116         * bridge/jni/jsc/JavaStringJSC.h
3117
3118 2011-02-28  Luiz Agostini  <luiz.agostini@openbossa.org>
3119
3120         Reviewed by Dave Hyatt.
3121
3122         HTML5 <details> and <summary>: rendering
3123         https://bugs.webkit.org/show_bug.cgi?id=51071
3124
3125         Tests: fast/html/details-add-summary-1-and-click.html
3126                fast/html/details-add-summary-1.html
3127                fast/html/details-add-summary-10-and-click.html
3128                fast/html/details-add-summary-10.html
3129                fast/html/details-add-summary-2-and-click.html
3130                fast/html/details-add-summary-2.html
3131                fast/html/details-add-summary-3-and-click.html
3132                fast/html/details-add-summary-3.html
3133                fast/html/details-add-summary-4-and-click.html
3134                fast/html/details-add-summary-4.html
3135                fast/html/details-add-summary-5-and-click.html
3136                fast/html/details-add-summary-5.html
3137                fast/html/details-add-summary-6-and-click.html
3138                fast/html/details-add-summary-6.html
3139                fast/html/details-add-summary-7-and-click.html
3140                fast/html/details-add-summary-7.html
3141                fast/html/details-add-summary-8-and-click.html
3142                fast/html/details-add-summary-8.html
3143                fast/html/details-add-summary-9-and-click.html
3144                fast/html/details-add-summary-9.html
3145                fast/html/details-mouse-click.html
3146                fast/html/details-no-summary1.html
3147                fast/html/details-no-summary2.html
3148                fast/html/details-no-summary3.html
3149                fast/html/details-no-summary4.html
3150                fast/html/details-open-javascript.html
3151                fast/html/details-open1.html
3152                fast/html/details-open2.html
3153                fast/html/details-open3.html
3154                fast/html/details-open4.html
3155                fast/html/details-open5.html
3156                fast/html/details-open6.html
3157                fast/html/details-position.html
3158                fast/html/details-remove-summary-1-and-click.html
3159                fast/html/details-remove-summary-1.html
3160                fast/html/details-remove-summary-2-and-click.html
3161                fast/html/details-remove-summary-2.html
3162                fast/html/details-remove-summary-3-and-click.html
3163                fast/html/details-remove-summary-3.html
3164                fast/html/details-remove-summary-4-and-click.html
3165                fast/html/details-remove-summary-4.html
3166                fast/html/details-remove-summary-5-and-click.html
3167                fast/html/details-remove-summary-5.html
3168                fast/html/details-remove-summary-6-and-click.html
3169                fast/html/details-remove-summary-6.html
3170                fast/html/details-writing-mode.html
3171
3172         http://www.w3.org/TR/html5/interactive-elements.html#the-details-element
3173
3174         The main <summary> element is the first <summary> element of a <details> element.
3175         All other childs of the <details> element are rendered only if the attribute 'open' is set.
3176         Click event toggles the 'open' attribute.
3177
3178         * html/HTMLDetailsElement.cpp:
3179         (WebCore::HTMLDetailsElement::HTMLDetailsElement):
3180         (WebCore::HTMLDetailsElement::findMainSummary):
3181         (WebCore::HTMLDetailsElement::childrenChanged):
3182         (WebCore::HTMLDetailsElement::finishParsingChildren):
3183         (WebCore::HTMLDetailsElement::parseMappedAttribute):
3184         (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
3185         (WebCore::HTMLDetailsElement::defaultEventHandler):
3186         * html/HTMLDetailsElement.h:
3187         (WebCore::HTMLDetailsElement::mainSummary):
3188
3189         Method createRenderer added to class HTMLSummaryElement.
3190
3191         * html/HTMLSummaryElement.cpp:
3192         (WebCore::HTMLSummaryElement::createRenderer):
3193         * html/HTMLSummaryElement.h:
3194
3195         The first <summary> element is positioned at the top of its <details> parent.
3196         The area occupied by this main <summary> element is the interactive area of the
3197         <details> element. If the <details> tag has no <summary> child an OwnedSummaryRenderer
3198         is created and added to the corresponding RenderDetails object.
3199
3200         * rendering/RenderDetails.cpp:
3201         (WebCore::RenderDetails::RenderDetails):
3202         (WebCore::RenderDetails::destroy):
3203         (WebCore::RenderDetails::summaryBlock):
3204         (WebCore::RenderDetails::contentBlock):
3205         (WebCore::RenderDetails::addChild):
3206         (WebCore::RenderDetails::removeChild):
3207         (WebCore::RenderDetails::setMarkerStyle):
3208         (WebCore::RenderDetails::styleDidChange):
3209         (WebCore::RenderDetails::getRenderPosition):
3210         (WebCore::RenderDetails::markerDestroyed):
3211         (WebCore::RenderDetails::summaryDestroyed):
3212         (WebCore::RenderDetails::moveSummaryToContents):
3213         (WebCore::RenderDetails::createSummaryStyle):
3214         (WebCore::RenderDetails::replaceMainSummary):
3215         (WebCore::RenderDetails::createDefaultSummary):
3216         (WebCore::RenderDetails::checkMainSummary):
3217         (WebCore::RenderDetails::layout):
3218         (WebCore::RenderDetails::isOpen):
3219         (WebCore::RenderDetails::getParentOfFirstLineBox):
3220         (WebCore::RenderDetails::firstNonMarkerChild):
3221         (WebCore::RenderDetails::updateMarkerLocation):
3222         * rendering/RenderDetails.h:
3223         (WebCore::RenderDetails::interactiveArea):
3224         (WebCore::RenderDetails::removeLeftoverAnonymousBlock):
3225         (WebCore::RenderDetails::createsAnonymousWrapper):
3226         (WebCore::RenderDetails::requiresForcedStyleRecalcPropagation):
3227
3228         A marker is added to the main <summary> element to indicate the current value of the 'open'
3229         attribute of the <details> element.
3230
3231         * rendering/RenderDetailsMarker.cpp:
3232         (WebCore::RenderDetailsMarker::RenderDetailsMarker):
3233         (WebCore::RenderDetailsMarker::destroy):
3234         (WebCore::RenderDetailsMarker::lineHeight):
3235         (WebCore::RenderDetailsMarker::baselinePosition):
3236         (WebCore::RenderDetailsMarker::computePreferredLogicalWidths):
3237         (WebCore::RenderDetailsMarker::layout):
3238         (WebCore::RenderDetailsMarker::getRelativeMarkerRect):
3239         (WebCore::RenderDetailsMarker::isOpen):
3240         (WebCore::createPath):
3241         (WebCore::createDownArrowPath):
3242         (WebCore::createUpArrowPath):
3243         (WebCore::createLeftArrowPath):
3244         (WebCore::createRightArrowPath):
3245         (WebCore::RenderDetailsMarker::orientation):
3246         (WebCore::RenderDetailsMarker::getCanonicalPath):
3247         (WebCore::RenderDetailsMarker::getPath):
3248         (WebCore::RenderDetailsMarker::paint):
3249         * rendering/RenderDetailsMarker.h:
3250         (WebCore::toRenderDetailsMarker):
3251
3252         * rendering/RenderSummary.cpp:
3253         (WebCore::RenderSummary::RenderSummary):
3254         (WebCore::RenderSummary::destroy):
3255         (WebCore::RenderSummary::parentDetails):
3256         (WebCore::RenderSummary::styleDidChange):
3257         * rendering/RenderSummary.h:
3258
3259         * rendering/RenderTreeAsText.cpp:
3260         (WebCore::RenderTreeAsText::writeRenderObject):
3261
3262 2011-03-14  Brady Eidson  <beidson@apple.com>
3263
3264         Reviewed by Sam Weinig.
3265
3266         https://bugs.webkit.org/show_bug.cgi?id=56296
3267         Clean up IconDatabaseBase header.
3268
3269         -Get rid of the "PlatformString.h" include and replace it with a forward declaration.
3270         -Group methods by which are used in WebCore directly and which are used in WebKit ports.
3271
3272         This'll make it easier to use in external frameworks (like WebKit2).
3273
3274         * loader/icon/IconDatabase.h:
3275         * loader/icon/IconDatabaseBase.h:
3276         (WebCore::IconDatabaseBase::retainIconForPageURL):
3277         (WebCore::IconDatabaseBase::releaseIconForPageURL):
3278         (WebCore::IconDatabaseBase::iconForPageURL):
3279         (WebCore::IconDatabaseBase::setIconURLForPageURL):
3280         (WebCore::IconDatabaseBase::setIconDataForIconURL):
3281         (WebCore::IconDatabaseBase::iconDataKnownForIconURL):
3282         (WebCore::IconDatabaseBase::loadDecisionForIconURL):
3283         (WebCore::IconDatabaseBase::importIconURLForPageURL):
3284         (WebCore::IconDatabaseBase::importIconDataForIconURL):
3285         (WebCore::IconDatabaseBase::open):
3286
3287 2011-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3288
3289         Unreviewed, rolling out r81026.
3290         http://trac.webkit.org/changeset/81026
3291         https://bugs.webkit.org/show_bug.cgi?id=56313
3292
3293         Breaks gtk 64-bit tests (Requested by podivilov on #webkit).
3294
3295         * inspector/InspectorBrowserDebuggerAgent.cpp:
3296         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
3297         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
3298         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
3299         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
3300         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
3301         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
3302         (WebCore::InspectorBrowserDebuggerAgent::clear):
3303         * inspector/InspectorBrowserDebuggerAgent.h:
3304         * inspector/front-end/BreakpointManager.js:
3305         (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
3306         (WebInspector.BreakpointManager.prototype._createXHRBreakpoint):
3307         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
3308         (WebInspector.BreakpointManager.prototype._projectChanged):
3309         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
3310         (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
3311         (WebInspector.BreakpointManager.prototype._createXHRBreakpointId):
3312         (WebInspector.XHRBreakpoint):
3313         (WebInspector.XHRBreakpoint.prototype._enable):
3314         (WebInspector.XHRBreakpoint.prototype._disable):
3315         (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
3316         (WebInspector.XHRBreakpointView):
3317         (WebInspector.XHRBreakpointView.prototype.compareTo):
3318         (WebInspector.XHRBreakpointView.prototype.populateEditElement):
3319         (WebInspector.XHRBreakpointView.prototype.populateLabelElement):
3320         (WebInspector.XHRBreakpointView.prototype.populateStatusMessageElement):
3321         * inspector/front-end/BreakpointsSidebarPane.js:
3322         (WebInspector.XHRBreakpointsSidebarPane.addButtonClicked):
3323         (WebInspector.XHRBreakpointsSidebarPane):
3324         (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
3325         (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint):
3326         (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
3327         * inspector/front-end/CallStackSidebarPane.js:
3328         (WebInspector.CallStackSidebarPane.prototype.update):
3329         * inspector/front-end/ScriptsPanel.js:
3330         (WebInspector.ScriptsPanel):
3331         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
3332         (WebInspector.ScriptsPanel.prototype._clearInterface):
3333         * inspector/front-end/Settings.js:
3334         (WebInspector.Settings):
3335         * inspector/front-end/inspector.js:
3336         (WebInspector.resetFocusElement):
3337         (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
3338         (WebInspector.createXHRBreakpointsSidebarPane):
3339         (WebInspector.set attached):
3340
3341 2011-03-14  Mikhail Naganov  <mnaganov@chromium.org>
3342
3343         Reviewed by Pavel Feldman.
3344
3345         Web Inspector: Factor out binary search algo from the insertionIndexForObjectInListSortedByFunction function.
3346         https://bugs.webkit.org/show_bug.cgi?id=56312
3347
3348         Test: inspector/utilities.html
3349
3350         * inspector/front-end/utilities.js:
3351
3352 2011-03-12  Pavel Podivilov  <podivilov@chromium.org>
3353
3354         Reviewed by Yury Semikhatsky.
3355
3356         Web Inspector: re-implement xhr breakpoints.
3357         https://bugs.webkit.org/show_bug.cgi?id=56252
3358
3359         - restore xhr breakpoints one by one instead of using setAllBrowserBreakpoints
3360         - store xhr breakpoints in a separate setting
3361         - move presentation-related code from BreakpointManager to XHRBreakpointsSidebarPane
3362
3363         Test: inspector/debugger/xhr-breakpoints.html
3364
3365         * inspector/InspectorBrowserDebuggerAgent.cpp:
3366         (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
3367         (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
3368         (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
3369         (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
3370         (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
3371         (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
3372         (WebCore::InspectorBrowserDebuggerAgent::clear):
3373         * inspector/InspectorBrowserDebuggerAgent.h:
3374         * inspector/front-end/BreakpointManager.js:
3375         (WebInspector.BreakpointManager.prototype.setXHRBreakpoint):
3376         (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint):
3377         (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
3378         (WebInspector.BreakpointManager.prototype._projectChanged):
3379         (WebInspector.BreakpointManager.prototype._validateBreakpoints):
3380         (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
3381         * inspector/front-end/BreakpointsSidebarPane.js:
3382         (WebInspector.XHRBreakpointsSidebarPane):
3383         (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing):
3384         (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked):
3385         (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
3386         (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
3387         (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint):
3388         (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu):
3389         (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
3390         (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked.finishEditing):
3391         (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked):
3392         (WebInspector.XHRBreakpointsSidebarPane.prototype.highlightBreakpoint):
3393         (WebInspector.XHRBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
3394         (WebInspector.XHRBreakpointsSidebarPane.prototype._saveBreakpoints):
3395         (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints):
3396         (WebInspector.XHRBreakpointsSidebarPane.prototype._projectChanged):
3397         * inspector/front-end/CallStackSidebarPane.js:
3398         (WebInspector.CallStackSidebarPane.prototype.update):
3399         (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit):
3400         * inspector/front-end/ScriptsPanel.js:
3401         (WebInspector.ScriptsPanel):
3402         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
3403         (WebInspector.ScriptsPanel.prototype._clearInterface):
3404         * inspector/front-end/Settings.js:
3405         (WebInspector.Settings):
3406         * inspector/front-end/inspector.js:
3407         (WebInspector.resetFocusElement):
3408         (WebInspector.set attached):
3409
3410 2011-03-14  Pavel Podivilov  <podivilov@chromium.org>
3411
3412         Reviewed by Pavel Feldman.
3413
3414         Web Inspector: move breakpoints restoring to debugger presentation model.