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