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