2011-03-04 Ilya Tikhonovsky <loislo@chromium.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-03-04  Ilya Tikhonovsky  <loislo@chromium.org>
2
3         Reviewed by Yury Semikhatsky.
4
5         Web Inspector: Remove unnecessary domain and success flags from the response messages.
6         https://bugs.webkit.org/show_bug.cgi?id=55768
7
8         We have domain property in the response messages but it is not used because we dispatch
9         the responses on the callback associated with seq.
10
11         If we have property 'errors' in the response then success eq false and true in the other case.
12
13         * inspector/CodeGeneratorInspector.pm:
14
15 2011-03-04  Christian Dywan  <christian@lanedo.com>
16
17         Reviewed by Gustavo Noronha Silva.
18
19         Enable Copy Image Address context menu item in the Gtk port
20         https://bugs.webkit.org/show_bug.cgi?id=55136
21
22         * page/ContextMenuController.cpp:
23         * platform/ContextMenuItem.h:
24         * platform/LocalizationStrategy.h:
25         * platform/LocalizedStrings.cpp:
26         * platform/LocalizedStrings.h:
27         * platform/gtk/ContextMenuItemGtk.cpp:
28         * platform/gtk/LocalizedStringsGtk.cpp:
29
30 2011-03-04  Pavel Feldman  <pfeldman@chromium.org>
31
32         Reviewed by Yury Semikhatsky.
33
34         Web Inspector: implement getCompletions via evaluate.
35         https://bugs.webkit.org/show_bug.cgi?id=55759
36
37         * inspector/InjectedScript.cpp:
38         * inspector/InjectedScript.h:
39         * inspector/InjectedScriptSource.js:
40         * inspector/Inspector.idl:
41         * inspector/InspectorDebuggerAgent.cpp:
42         * inspector/InspectorDebuggerAgent.h:
43         * inspector/InspectorRuntimeAgent.cpp:
44         * inspector/InspectorRuntimeAgent.h:
45         * inspector/front-end/ConsoleView.js:
46         (WebInspector.ConsoleView.prototype.completions.evaluated):
47         (WebInspector.ConsoleView.prototype.completions.evaluatedProperties):
48         (WebInspector.ConsoleView.prototype.completions):
49         (WebInspector.ConsoleView.prototype._reportCompletions):
50         * inspector/front-end/ScriptsPanel.js:
51         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
52         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
53         * inspector/front-end/SourceFrame.js:
54         (WebInspector.SourceFrame.prototype._showPopup):
55         (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
56
57 2011-03-04  Steve Block  <steveblock@google.com>
58
59         Reviewed by Jeremy Orlow.
60
61         V8 version of JavaString should obtain string from JNI in UTF-16 encoding
62         https://bugs.webkit.org/show_bug.cgi?id=55566
63
64         We obtain the string from JNI in UTF-16 encoding and convert
65         to UTF-8 using our own routines as required. This matches the
66         behaviour of the JSC version of JavaString.
67
68         No new tests, no change in behaviour.
69
70         * bridge/jni/v8/JavaStringV8.h:
71         (JSC::Bindings::JavaStringImpl::init):
72         (JSC::Bindings::JavaStringImpl::utf8):
73         (JSC::Bindings::JavaStringImpl::impl):
74
75 2011-03-03  Pavel Feldman  <pfeldman@chromium.org>
76
77         Reviewed by Yury Semikhatsky.
78
79         Web Inspector: do not push document into front-end, make it request one.
80         https://bugs.webkit.org/show_bug.cgi?id=55664
81
82         * inspector/Inspector.idl:
83         * inspector/InspectorAgent.cpp:
84         (WebCore::InspectorAgent::InspectorAgent):
85         * inspector/InspectorAgent.h:
86         * inspector/InspectorBrowserDebuggerAgent.cpp:
87         (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
88         * inspector/InspectorDOMAgent.cpp:
89         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
90         (WebCore::InspectorDOMAgent::clearFrontend):
91         (WebCore::InspectorDOMAgent::setDocument):
92         (WebCore::InspectorDOMAgent::getDocument):
93         (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
94         (WebCore::InspectorDOMAgent::boundNodeId):
95         (WebCore::InspectorDOMAgent::resolveNode):
96         (WebCore::InspectorDOMAgent::mainFrameDOMContentLoaded):
97         * inspector/InspectorDOMAgent.h:
98         (WebCore::InspectorDOMAgent::create):
99         * inspector/front-end/BreakpointManager.js:
100         (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
101         (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement.decorateNode):
102         (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement):
103         * inspector/front-end/DOMAgent.js:
104         (WebInspector.DOMDocument):
105         (WebInspector.DOMAgent):
106         (WebInspector.DOMAgent.prototype.requestDocument):
107         (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
108         (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
109         (WebInspector.DOMAgent.prototype._attributesUpdated):
110         (WebInspector.DOMAgent.prototype._characterDataModified):
111         (WebInspector.DOMAgent.prototype._documentUpdated):
112         (WebInspector.DOMAgent.prototype._setDocument):
113         (WebInspector.DOMAgent.prototype._setDetachedRoot):
114         (WebInspector.DOMAgent.prototype._setChildNodes):
115         (WebInspector.DOMAgent.prototype._childNodeInserted):
116         (WebInspector.DOMAgent.prototype._childNodeRemoved):
117         (WebInspector.DOMDispatcher.prototype.documentUpdated):
118         * inspector/front-end/ElementsPanel.js:
119         (WebInspector.ElementsPanel.prototype.show):
120         (WebInspector.ElementsPanel.prototype.setDocument):
121         * inspector/front-end/MetricsSidebarPane.js:
122         * inspector/front-end/RemoteObject.js:
123         (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
124
125 2011-03-04  Andrey Kosyakov  <caseq@chromium.org>
126
127         Reviewed by Pavel Feldman.
128
129         Web Inspector: summary bar may overlap content of the network item view
130         https://bugs.webkit.org/show_bug.cgi?id=55656
131
132         - drop custom summary bar placement logic, do it with CSS instead.
133
134         * inspector/front-end/NetworkPanel.js:
135         (WebInspector.NetworkPanel.prototype.resize):
136         (WebInspector.NetworkPanel.prototype._createSummaryBar):
137         (WebInspector.NetworkPanel.prototype._updateSummaryBar):
138         (WebInspector.NetworkPanel.prototype._updateFilter):
139         (WebInspector.NetworkPanel.prototype.show):
140         (WebInspector.NetworkPanel.prototype.refresh):
141         (WebInspector.NetworkPanel.prototype._reset):
142         (WebInspector.NetworkPanel.prototype._setLargerResources):
143         (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
144         * inspector/front-end/networkPanel.css:
145         (.network-sidebar .data-grid td):
146         (.network-sidebar tr.filler td):
147         (.network-summary-bar):
148         (.network-sidebar .data-grid .network-summary-bar td):
149         (.network-summary-bar img):
150
151 2011-03-04  James Su <suzhe@chromium.org>
152
153         Reviewed by Dimitri Glazkov.
154
155         [Chromium] keycode is always 0 when using non-Latin keyboard layout.
156         https://bugs.webkit.org/show_bug.cgi?id=54939
157
158         Add KeyEventCocoa.{h,mm}, so that we can reuse them in chromium.
159
160         No intended functionality change.
161
162         * WebCore.gyp/WebCore.gyp:
163         * WebCore.gypi:
164
165 2011-03-04  Patrick Gansterer  <paroga@webkit.org>
166
167         Unreviewed EFL build fix for r80324.
168
169         * platform/efl/RenderThemeEfl.cpp:
170         (WebCore::RenderThemeEfl::paintThemePart):
171
172 2011-03-04  Patrick Gansterer  <paroga@webkit.org>
173
174         Unreviewed EFL build fix for r80324.
175
176         * platform/efl/RenderThemeEfl.cpp:
177         (WebCore::RenderThemeEfl::paintThemePart):
178
179 2011-03-03  Yury Semikhatsky  <yurys@chromium.org>
180
181         Reviewed by Pavel Feldman.
182
183         Web Inspector: AppCache agent should have same lifetime as InspectorAgent
184         https://bugs.webkit.org/show_bug.cgi?id=55673
185
186         * inspector/InspectorAgent.cpp:
187         (WebCore::InspectorAgent::InspectorAgent):
188         (WebCore::InspectorAgent::setFrontend):
189         (WebCore::InspectorAgent::disconnectFrontend):
190         (WebCore::InspectorAgent::createFrontendLifetimeAgents):
191         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
192         (WebCore::InspectorAgent::didCommitLoad):
193         * inspector/InspectorApplicationCacheAgent.cpp:
194         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
195         (WebCore::InspectorApplicationCacheAgent::setFrontend):
196         (WebCore::InspectorApplicationCacheAgent::clearFrontend):
197         * inspector/InspectorApplicationCacheAgent.h:
198         * inspector/InspectorInstrumentation.cpp:
199         (WebCore::InspectorInstrumentation::networkStateChangedImpl):
200         (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
201         * inspector/InstrumentingAgents.h:
202         (WebCore::InstrumentingAgents::inspectorApplicationCacheAgent):
203         (WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent):
204
205 2011-03-03  Brian Weinstein  <bweinstein@apple.com>
206
207         Reviewed by Adam Roben.
208
209         Cleanup from https://bugs.webkit.org/show_bug.cgi?id=55427.
210         
211         Call WebCore::startObservingCookieChanges and WebCore::stopObservingCookieChanges
212         on all platforms, and stub the functions on platforms that don't implement them.
213         
214         Add startObservingCookieChanges and stopObservingCookieChanges to TemporaryLinkStubs
215         for platforms that don't implement them.
216
217         * platform/android/TemporaryLinkStubs.cpp:
218         * platform/brew/TemporaryLinkStubs.cpp:
219         * platform/chromium/TemporaryLinkStubs.cpp:
220         * platform/efl/TemporaryLinkStubs.cpp:
221         * platform/gtk/TemporaryLinkStubs.cpp:
222         * platform/haiku/TemporaryLinkStubs.cpp:
223         * platform/qt/TemporaryLinkStubsQt.cpp:
224         * platform/win/TemporaryLinkStubs.cpp:
225
226 2011-03-03  Eric Seidel  <eric@webkit.org>
227
228         Reviewed by Dimitri Glazkov.
229
230         Refactor createRendererIfNeeded to avoid premature nextRenderer calculation
231         https://bugs.webkit.org/show_bug.cgi?id=55720
232
233         There are two thing going on here:
234         1. Delaying nextRenderer calculation until we actually use it,
235            previously we would always compute nextRenderer (expensive!)
236            even if no renderer insertion was to occur.
237         2. Fix fullscreen elements to be inserted into the right place
238            in the rendering tree.  Previously they would always be the last
239            child in their parent's list, even if that wasn't the right place.
240
241         I don't know of any way to trigger the fullscreen bug,
242         but I tested this with peacekeeper and saw no performance change.
243
244         Peacekeeper's domJQueryBasics is now possibly as much as 2% faster
245         but I don't really trust the stability of peacekeeper to begin with.
246
247         This paves the way for further improvement in our nextRenderer calculation.
248
249         * dom/Node.cpp:
250         (WebCore::Node::attach):
251         (WebCore::Node::previousRenderer):
252         (WebCore::Node::nextRenderer):
253         (WebCore::Node::createRendererAndStyle):
254         (WebCore::wrapWithRenderFullScreen):
255         (WebCore::Node::createRendererIfNeeded):
256         * dom/Node.h:
257
258 2011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
259
260         Reviewed by Darin Adler.
261
262         Remove LOOSE_PASS_OWN_ARRAY_PTR from PassOwnArrayPtr.h
263         https://bugs.webkit.org/show_bug.cgi?id=55554
264
265         * platform/Length.cpp:
266         (WebCore::newLengthArray): Pass nullptr instead of 0.
267
268 2011-03-03  Nat Duca  <nduca@chromium.org>
269
270         Reviewed by James Robinson.
271
272         [chromium] Create a LayerChromium layerTreeAsText. Add HUD to
273         LayerRendererChromium that draws compositor FPS and, optionally,
274         the layer tree.
275         https://bugs.webkit.org/show_bug.cgi?id=54710
276
277         * WebCore.gypi:
278         * platform/graphics/chromium/Canvas2DLayerChromium.h:
279         (WebCore::Canvas2DLayerChromium::drawsContent):
280         * platform/graphics/chromium/CanvasLayerChromium.h:
281         (WebCore::CanvasLayerChromium::layerTypeAsString):
282         * platform/graphics/chromium/ContentLayerChromium.cpp:
283         (WebCore::writeIndent):
284         (WebCore::ContentLayerChromium::dumpLayerProperties):
285         * platform/graphics/chromium/ContentLayerChromium.h:
286         (WebCore::ContentLayerChromium::drawsContent):
287         (WebCore::ContentLayerChromium::layerTypeAsString):
288         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
289         (WebCore::GraphicsLayerChromium::setName):
290         (WebCore::GraphicsLayerChromium::updateNames):
291         (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
292         (WebCore::GraphicsLayerChromium::setupContentsLayer):
293         * platform/graphics/chromium/GraphicsLayerChromium.h:
294         * platform/graphics/chromium/ImageLayerChromium.h:
295         (WebCore::ImageLayerChromium::drawsContent):
296         (WebCore::ImageLayerChromium::layerTypeAsString):
297         * platform/graphics/chromium/LayerChromium.cpp:
298         (WebCore::LayerChromium::LayerChromium):
299         (WebCore::LayerChromium::setName):
300         (WebCore::LayerChromium::layerTreeAsText):
301         (WebCore::writeIndent):
302         (WebCore::LayerChromium::dumpLayer):
303         (WebCore::LayerChromium::dumpLayerProperties):
304         * platform/graphics/chromium/LayerChromium.h:
305         (WebCore::LayerChromium::name):
306         (WebCore::LayerChromium::drawsContent):
307         (WebCore::LayerChromium::debugID):
308         (WebCore::LayerChromium::layerTypeAsString):
309         * platform/graphics/chromium/LayerRendererChromium.cpp:
310         (WebCore::LayerRendererChromium::LayerRendererChromium):
311         (WebCore::LayerRendererChromium::~LayerRendererChromium):
312         (WebCore::LayerRendererChromium::drawLayers):
313         (WebCore::LayerRendererChromium::present):
314         (WebCore::LayerRendererChromium::layerTreeAsText):
315         (WebCore::LayerRendererChromium::dumpRenderSurfaces):
316         * platform/graphics/chromium/LayerRendererChromium.h:
317         (WebCore::LayerRendererChromium::getHeadsUpDisplay):
318         (WebCore::LayerRendererChromium::rootVisibleRect):
319         * platform/graphics/chromium/PluginLayerChromium.h:
320         (WebCore::PluginLayerChromium::drawsContent):
321         (WebCore::PluginLayerChromium::layerTypeAsString):
322         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
323         (WebCore::RenderSurfaceChromium::name):
324         (WebCore::writeIndent):
325         (WebCore::RenderSurfaceChromium::dumpSurface):
326         * platform/graphics/chromium/RenderSurfaceChromium.h:
327         * platform/graphics/chromium/VideoLayerChromium.h:
328         (WebCore::VideoLayerChromium::drawsContent):
329         (WebCore::VideoLayerChromium::layerTypeAsString):
330         * platform/graphics/chromium/WebGLLayerChromium.h:
331         (WebCore::WebGLLayerChromium::drawsContent):
332         (WebCore::WebGLLayerChromium::layerTypeAsString):
333         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: Added.
334         (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
335         (WebCore::CCHeadsUpDisplay::~CCHeadsUpDisplay):
336         (WebCore::CCHeadsUpDisplay::draw):
337         (WebCore::CCHeadsUpDisplay::drawHudContents):
338         (WebCore::CCHeadsUpDisplay::onPresent):
339         * platform/graphics/chromium/cc/CCHeadsUpDisplay.h: Added.
340         (WebCore::CCHeadsUpDisplay::setShowFPSCounter):
341         (WebCore::CCHeadsUpDisplay::showFPSCounter):
342         (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree):
343         (WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
344         (WebCore::CCHeadsUpDisplay::enabled):
345         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
346         (WebCore::CCLayerImpl::CCLayerImpl):
347         (WebCore::writeIndent):
348         (WebCore::CCLayerImpl::dumpLayerProperties):
349         * platform/graphics/chromium/cc/CCLayerImpl.h:
350         (WebCore::CCLayerImpl::debugID):
351         (WebCore::CCLayerImpl::setName):
352         (WebCore::CCLayerImpl::name):
353
354 2011-03-02  Ojan Vafai  <ojan@chromium.org>
355
356         Reviewed by Darin Adler.
357
358         crash in adoptNode with mutation events
359         https://bugs.webkit.org/show_bug.cgi?id=50046
360
361         If the DOM is modified during the removeChild call in adoptNode,
362         then the setDocument call that follows can leave the DOM in an
363         inconsistent state.
364
365         * dom/Document.cpp:
366         (WebCore::Document::adoptNode):
367
368 2011-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
369
370         Reviewed by Darin Adler.
371
372         Add audio tag tests to the media controls manual test suite.
373         https://bugs.webkit.org/show_bug.cgi?id=55722
374
375         * manual-tests/media-controls.html: Added 4 audio tests.
376
377 2011-03-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
378
379         Reviewed by Eric Seidel.
380
381         [EFL] Adjust functions of RenderThemeEfl.cpp to WebKit parameter style
382         https://bugs.webkit.org/show_bug.cgi?id=54392
383
384         Functions of RenderThemeEfl.cpp adhere efl coding style instead of WebKit coding style.
385         WebCore's functions should adhere WebKit coding style.
386
387         * platform/efl/RenderThemeEfl.cpp:
388         (WebCore::RenderThemeEfl::themePartCacheEntryReset):
389         (WebCore::RenderThemeEfl::themePartCacheEntrySurfaceCreate):
390         (WebCore::RenderThemeEfl::cacheThemePartNew):
391         (WebCore::RenderThemeEfl::cacheThemePartReset):
392         (WebCore::RenderThemeEfl::cacheThemePartResizeAndReset):
393         (WebCore::RenderThemeEfl::cacheThemePartGet):
394         (WebCore::RenderThemeEfl::cacheThemePartFlush):
395         (WebCore::RenderThemeEfl::applyEdjeStateFromForm):
396         (WebCore::RenderThemeEfl::paintThemePart):
397         (WebCore::renderThemeEflColorClassSelectionActive):
398         (WebCore::renderThemeEflColorClassSelectionInactive):
399         (WebCore::renderThemeEflColorClassFocusRing):
400         (WebCore::renderThemeEflColorClassButtonText):
401         (WebCore::renderThemeEflColorClassComboText):
402         (WebCore::renderThemeEflColorClassEntryText):
403         (WebCore::renderThemeEflColorClassSearchText):
404         (WebCore::RenderThemeEfl::applyPartDescription):
405         (WebCore::RenderThemeEfl::applyPartDescriptions):
406         (WebCore::RenderThemeEfl::controlSupportsTints):
407         (WebCore::RenderThemeEfl::baselinePosition):
408         (WebCore::RenderThemeEfl::paintSliderTrack):
409         (WebCore::RenderThemeEfl::adjustSliderTrackStyle):
410         (WebCore::RenderThemeEfl::adjustSliderThumbStyle):
411         (WebCore::RenderThemeEfl::paintSliderThumb):
412         (WebCore::RenderThemeEfl::adjustCheckboxStyle):
413         (WebCore::RenderThemeEfl::paintCheckbox):
414         (WebCore::RenderThemeEfl::adjustRadioStyle):
415         (WebCore::RenderThemeEfl::paintRadio):
416         (WebCore::RenderThemeEfl::adjustButtonStyle):
417         (WebCore::RenderThemeEfl::paintButton):
418         (WebCore::RenderThemeEfl::adjustMenuListStyle):
419         (WebCore::RenderThemeEfl::paintMenuList):
420         (WebCore::RenderThemeEfl::adjustTextFieldStyle):
421         (WebCore::RenderThemeEfl::paintTextField):
422         (WebCore::RenderThemeEfl::adjustTextAreaStyle):
423         (WebCore::RenderThemeEfl::paintTextArea):
424         (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle):
425         (WebCore::RenderThemeEfl::paintSearchFieldDecoration):
426         (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
427         (WebCore::RenderThemeEfl::paintSearchFieldResultsButton):
428         (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
429         (WebCore::RenderThemeEfl::paintSearchFieldResultsDecoration):
430         (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
431         (WebCore::RenderThemeEfl::paintSearchFieldCancelButton):
432         (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
433         (WebCore::RenderThemeEfl::paintSearchField):
434         (WebCore::RenderThemeEfl::adjustProgressBarStyle):
435         (WebCore::RenderThemeEfl::paintProgressBar):
436         (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
437         (WebCore::RenderThemeEfl::paintMediaMuteButton):
438         (WebCore::RenderThemeEfl::paintMediaPlayButton):
439         (WebCore::RenderThemeEfl::paintMediaSeekBackButton):
440         (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
441         (WebCore::RenderThemeEfl::paintMediaSliderTrack):
442         (WebCore::RenderThemeEfl::paintMediaSliderThumb):
443         (WebCore::RenderThemeEfl::paintMediaVolumeSliderContainer):
444         (WebCore::RenderThemeEfl::paintMediaVolumeSliderTrack):
445         (WebCore::RenderThemeEfl::paintMediaVolumeSliderThumb):
446         (WebCore::RenderThemeEfl::paintMediaCurrentTime):
447
448 2011-03-03  Andy Estes  <aestes@apple.com>
449
450         Reviewed by Adam Barth.
451
452         Assertion failure in toElement(WebCore::Node*)
453         https://bugs.webkit.org/show_bug.cgi?id=55697
454
455         Test: fast/parser/fragment-foreign-content.html
456
457         * html/parser/HTMLTreeBuilder.cpp:
458         (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken): The current
459         element in the HTMLElementStack might be a DocumentFragment if a
460         fragment is being parsed who's first node is foreign content.
461
462 2011-03-03  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
463
464         Reviewed by Kenneth Rohde Christiansen.
465
466         [QT] Implement mock client-based geolocation for layout testing
467         https://bugs.webkit.org/show_bug.cgi?id=54334
468
469         Implements client() to GeolocationController to re-use geolocationClientMock class
470         for layout testing purpose.
471
472         * page/GeolocationController.h:
473         (WebCore::GeolocationController::client):
474
475 2011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
476
477         Reviewed by Kent Tamura.
478
479         Stop calling deprecatedNode and deprecatedEditingOffset in InsertTextCommand
480         https://bugs.webkit.org/show_bug.cgi?id=55352
481
482         Stopped calling deprecatedNode and deprecatedEditingOffset in the following functions:
483
484         * editing/CompositeEditCommand.cpp:
485         (WebCore::CompositeEditCommand::positionOutsideTabSpan): Takes care of all types of positions and
486         no longer calls deprecated functions.
487         * editing/InsertTextCommand.cpp:
488         (WebCore::InsertTextCommand::positionInsideTextNode): Ditto; renamed from prepareForTextInsertion.
489         Check if the text node inside a tab span before checking if the container node is a text node
490         because the position before or after a text node can still be inside a tab span.
491         (WebCore::InsertTextCommand::input): No longer calls deprecated functions.
492         * editing/InsertTextCommand.h:
493         * editing/ModifySelectionListLevel.cpp:
494         (WebCore::getStartEndListChildren): Call anchorNode() instead of deprecatedNode() because the start
495         or the end of selection could be an immediate child of a list node (e.g. br inside ul)
496
497 2011-03-03  Hans Wennborg  <hans@chromium.org>
498
499         Reviewed by Jeremy Orlow.
500
501         IndexedDB: Move last bits of SQL into IDBBackingStore
502         https://bugs.webkit.org/show_bug.cgi?id=55668
503
504         After this, all SQL code for IndexedDB is in IDBBackingStore.cpp.
505
506         No new tests: refactoring only.
507
508         * storage/IDBBackingStore.cpp:
509         (WebCore::IDBBackingStore::createTransaction):
510         * storage/IDBBackingStore.h:
511         * storage/IDBCursorBackendImpl.h:
512         * storage/IDBDatabaseBackendImpl.cpp:
513         (WebCore::IDBDatabaseBackendImpl::backingStore):
514         * storage/IDBDatabaseBackendImpl.h:
515         * storage/IDBIndexBackendImpl.h:
516         * storage/IDBKey.h:
517         * storage/IDBObjectStoreBackendImpl.h:
518         * storage/IDBTransactionBackendImpl.cpp:
519         (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
520         * storage/IDBTransactionBackendImpl.h:
521         * storage/IDBTransactionBackendInterface.h:
522         * storage/IDBTransactionCoordinator.cpp:
523
524 2011-03-03  Adam Klein  <adamk@chromium.org>
525
526         Reviewed by David Levin.
527
528         [fileapi] Tighten up ResolveURICallbacks
529         https://bugs.webkit.org/show_bug.cgi?id=55638
530
531         Two changes:
532           - Retry only on TYPE_MISMATCH_ERR now that Chromium
533             properly sets that error code.
534           - Call DirectoryEntry instead of DOMFileSystem methods.
535
536         No change in behavior, so no new tests.
537
538         * fileapi/FileSystemCallbacks.cpp:
539         (WebCore::ResolveURICallbacks::didOpenFileSystem):
540
541 2011-03-03  Anders Carlsson  <andersca@apple.com>
542
543         Reviewed by Sam Weinig.
544
545         Get rid of Page::globalHistoryItem
546         https://bugs.webkit.org/show_bug.cgi?id=55738
547
548         The m_globalHistoryItem is only used by Mac and Windows WebKit1.
549         Instead of having WebCore updating this member variable, just call out
550         to a FrameLoaderClient member function and let WebKit keep it up to date.
551
552         * loader/EmptyClients.h:
553         (WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem):
554         (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryItemForPage):
555         * loader/FrameLoader.cpp:
556         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
557         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
558         * loader/FrameLoaderClient.h:
559         (WebCore::FrameLoaderClient::updateGlobalHistoryItemForPage):
560         * loader/HistoryController.cpp:
561         (WebCore::HistoryController::goToItem):
562         (WebCore::HistoryController::updateForStandardLoad):
563         (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
564         * page/Page.cpp:
565         * page/Page.h:
566
567 2011-03-02  Jeremy Orlow  <jorlow@chromium.org>
568
569         Reviewed by Steve Block.
570
571         Cursor.continue with a key param should test less than, not equal to
572         https://bugs.webkit.org/show_bug.cgi?id=55640
573
574         If you supply a param to cursor.continue, we sould guarantee that
575         the item we continue to is greater than or equal to the parameter.
576         Right now, we only test equality.
577
578         http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-continue
579         http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#dfn-steps-for-iterating-a-cursor
580
581         Test: storage/indexeddb/cursor-continue.html
582
583         * storage/IDBCursorBackendImpl.cpp:
584         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
585         * storage/IDBKey.cpp:
586         (WebCore::IDBKey::isLessThan):
587         (WebCore::IDBKey::isEqual):
588         * storage/IDBKey.h:
589
590 2011-03-03  Brent Fulgham  <bfulgham@webkit.org>
591
592         Build fix. Need win/cURL DownloadBundle stub.
593
594         * platform/network/curl/DownloadBundle.h: Added.
595
596 2011-03-03  Geoffrey Garen  <ggaren@apple.com>
597
598         Rolled out 80277 and 80280 because they caused event handler layout test
599         failures.
600
601         * WebCore.xcodeproj/project.pbxproj:
602         * bindings/js/JSDOMGlobalObject.cpp:
603         * bindings/js/JSDOMGlobalObject.h:
604         * bindings/js/JSDOMWindowBase.cpp:
605         * bindings/js/JSDOMWindowBase.h:
606         * bindings/js/JSDOMWindowCustom.h:
607         * bindings/js/JSWorkerContextBase.cpp:
608
609 2011-03-03  Brady Eidson  <beidson@apple.com>
610
611         Reviewed by Darin Adler.
612
613         https://bugs.webkit.org/show_bug.cgi?id=55721
614         Global IconDatabase should be returned by reference, not as a pointer
615
616         * history/HistoryItem.cpp:
617         (WebCore::HistoryItem::HistoryItem):
618         (WebCore::HistoryItem::~HistoryItem):
619         (WebCore::HistoryItem::reset):
620         (WebCore::HistoryItem::icon):
621         (WebCore::HistoryItem::setURLString):
622
623         * loader/FrameLoader.cpp:
624         (WebCore::FrameLoader::startIconLoader):
625         (WebCore::FrameLoader::commitIconURLToIconDatabase):
626
627         * loader/archive/cf/LegacyWebArchive.cpp:
628         (WebCore::LegacyWebArchive::create):
629
630         * loader/icon/IconDatabase.cpp:
631         (WebCore::iconDatabase):
632         * loader/icon/IconDatabase.h:
633         * loader/icon/IconDatabaseNone.cpp:
634         (WebCore::iconDatabase):
635         * loader/icon/wince/IconDatabaseWinCE.cpp:
636         (WebCore::iconDatabase):
637
638         * loader/icon/IconLoader.cpp:
639         (WebCore::IconLoader::finishLoading):
640
641 2011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
642
643         Reviewed by Martin Robinson.
644
645         Stop instantiating legacy editing positions in FocusController::advanceFocusInDocumentOrder
646         https://bugs.webkit.org/show_bug.cgi?id=52742
647
648         Use firstPositionInOrBeforeNode to instantiate appropriate position.
649
650         * page/FocusController.cpp:
651         (WebCore::FocusController::advanceFocusInDocumentOrder):
652
653 2011-03-03  Andy Estes  <aestes@apple.com>
654
655         Reviewed by Darin Adler.
656
657         When displaying the missing plug-in sheet, pass the 'pluginspage'
658         attribute to the UI process.
659         https://bugs.webkit.org/show_bug.cgi?id=55553
660
661         * WebCore.exp.in: Export __ZN7WebCore9HTMLNames15pluginspageAttrE.
662         * html/HTMLAttributeNames.in: Add 'pluginspage' as a known content
663         attribute.
664
665 2011-03-03  Jessie Berlin  <jberlin@apple.com>
666
667         Reviewed by Adam Roben.
668
669         WebKit2: Use CFNetwork Sessions API.
670         https://bugs.webkit.org/show_bug.cgi?id=55435
671
672         Set the Private Browsing Storage Session on requests when Private Browsing is enabled.
673
674         * WebCore.exp.in:
675         Support using WKCopyRequestWithStorageSession in WebCore.
676         * platform/mac/WebCoreSystemInterface.h:
677         Ditto.
678         * platform/mac/WebCoreSystemInterface.mm:
679         Ditto.
680
681         * platform/network/cf/ResourceHandleCFNet.cpp:
682         (WebCore::makeFinalRequest):
683         If Private Browsing is enabled, set the Private Browsing Storage Session on the request.
684         (WebCore::ResourceHandle::willSendRequest):
685         Ditto.
686         * platform/network/mac/ResourceHandleMac.mm:
687         (WebCore::ResourceHandle::createNSURLConnection):
688         Ditto.
689         (WebCore::ResourceHandle::willSendRequest):
690         Ditto.
691
692         * platform/network/cf/ResourceRequest.h:
693         * platform/network/cf/ResourceRequestCFNet.cpp:
694         (WebCore::ResourceRequest::setStorageSession):
695         Call through to WKSI.
696         * platform/network/mac/ResourceRequestMac.mm:
697         (WebCore::ResourceRequest::setStorageSession):
698         Ditto.
699
700 2011-03-03  Chris Marrin  <cmarrin@apple.com>
701
702         Reviewed by Simon Fraser.
703
704         REGRESSION: Accelerated transitions are jumpy
705         https://bugs.webkit.org/show_bug.cgi?id=55022
706
707         Changed the way default TimingFunction is stored according to Adam Roben's
708         suggestion.
709
710         * platform/animation/TimingFunction.h:
711         (WebCore::CubicBezierTimingFunction::defaultTimingFunction):
712
713 2011-03-03  Dan Bernstein  <mitz@apple.com>
714
715         Reviewed by Sam Weinig.
716
717         Rename -webkit-hyphenate-locale to -webkit-locale
718         https://bugs.webkit.org/show_bug.cgi?id=55709
719
720         * css/CSSComputedStyleDeclaration.cpp:
721         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
722         * css/CSSParser.cpp:
723         (WebCore::CSSParser::parseValue):
724         (WebCore::cssPropertyID):
725         * css/CSSPropertyNames.in:
726         * css/CSSStyleSelector.cpp:
727         (WebCore::CSSStyleSelector::applyProperty):
728         * rendering/RenderBlockLineLayout.cpp:
729         (WebCore::RenderBlock::findNextLineBreak):
730         * rendering/style/RenderStyle.cpp:
731         (WebCore::RenderStyle::diff):
732         * rendering/style/RenderStyle.h:
733         (WebCore::InheritedFlags::locale):
734         (WebCore::InheritedFlags::setLocale):
735         (WebCore::InheritedFlags::initialLocale):
736         * rendering/style/StyleRareInheritedData.cpp:
737         (WebCore::StyleRareInheritedData::StyleRareInheritedData):
738         (WebCore::StyleRareInheritedData::operator==):
739         * rendering/style/StyleRareInheritedData.h:
740
741 2011-03-03  Kevin Ollivier  <kevino@theolliviers.com>
742
743         [wx] Build fixes. Use Font::textMetrics to get ascent value, and add missing include.
744
745         * platform/wx/DragDataWx.cpp:
746         * platform/wx/wxcode/win/non-kerned-drawing.cpp:
747         (WebCore::drawTextWithSpacing):
748
749 2011-03-03  Oliver Hunt  <oliver@apple.com>
750
751         Reviewed by Geoffrey Garen.
752
753         JSVariableObject needs to use WriteBarrier for symboltable property storage
754         https://bugs.webkit.org/show_bug.cgi?id=55698
755
756         Update to pass JSGlobalData for the symbol table write used
757         to set the document property.
758
759         * bindings/js/JSDOMWindowBase.cpp:
760         (WebCore::JSDOMWindowBase::updateDocument):
761
762 2011-03-03  Alexey Proskuryakov  <ap@apple.com>
763
764         More build fixing. Move WebCoreKeyboardUIMode.h to a cross-platform location.
765
766         * WebCore.xcodeproj/project.pbxproj:
767         * page/WebCoreKeyboardUIMode.h: Copied from WebCore/page/mac/WebCoreKeyboardUIMode.h.
768         * page/mac/WebCoreKeyboardUIMode.h: Removed.
769
770 2011-03-03  Alexey Proskuryakov  <ap@apple.com>
771
772         Build fix. Should include WebCoreKeyboardUIMode.h on all platforms now.
773
774         * page/ChromeClient.h:
775
776 2011-03-02  Alexey Proskuryakov  <ap@apple.com>
777
778         Reviewed by Darin Adler.
779
780         REGRESSION (WebKit2): Tab keys no longer observe Full Keyboard Access
781         https://bugs.webkit.org/show_bug.cgi?id=55633
782         <rdar://problem/8963023>
783
784         * loader/EmptyClients.h: (WebCore::EmptyChromeClient::keyboardUIMode):
785         * page/ChromeClient.h:
786         * page/EventHandler.cpp: (WebCore::EventHandler::tabsToLinks):
787         Merged tabsToLinks() and keyboardUIMode(). The latter returned a superset of information
788         returned by former.
789
790 2011-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
791
792         Fix Win compile break, caused by r80276.
793
794         * rendering/RenderThemeWin.h: Changed signature of volumeSliderOffsetFromMuteButton
795             to match RenderTheme.h.
796
797 2011-03-02  Geoffrey Garen  <ggaren@apple.com>
798
799         Reviewed by Darin Adler.
800
801         Moved all variable object storage inline -- upping the object size limit to 1K
802         https://bugs.webkit.org/show_bug.cgi?id=55653
803
804         * bindings/js/JSDOMGlobalObject.cpp:
805         * bindings/js/JSDOMGlobalObject.h:
806         * bindings/js/JSDOMWindowBase.cpp:
807         * bindings/js/JSDOMWindowBase.h:
808         * bindings/js/JSDOMWindowCustom.h:
809         * bindings/js/JSWorkerContextBase.cpp: Removed out-of-line storage. Changed d-> to m_.
810
811 2011-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
812
813         Reviewed by Darin Adler.
814
815         Use RenderBox in volumeSliderOffsetFromMuteButton, since that's what is actually being used.
816         https://bugs.webkit.org/show_bug.cgi?id=55099
817
818         Cleanup, no behavior change.
819
820         * html/shadow/MediaControls.cpp:
821         (WebCore::MediaControls::updateVolumeSliderContainer): Changed to pass RenderBox
822             instead of Node.
823         * rendering/RenderMediaControls.cpp:
824         (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): Changed
825             to use RenderBox as argument.
826         * rendering/RenderMediaControls.h: Ditto.
827         * rendering/RenderTheme.cpp:
828         (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton): Ditto.
829         * rendering/RenderTheme.h: Ditto.
830         * rendering/RenderThemeChromiumMac.h: Ditto.
831         * rendering/RenderThemeChromiumMac.mm:
832         (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton): Ditto.
833         * rendering/RenderThemeMac.h: Ditto.
834         * rendering/RenderThemeMac.mm:
835         (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): Ditto.
836         * rendering/RenderThemeWin.cpp:
837         (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton): Ditto.
838
839 2011-03-03  Alexis Menard  <alexis.menard@openbossa.org>
840
841         Reviewed by Andreas Kling.
842
843         When building with DEFINES+=USE_GSTREAMER=1 we don't want to define ENABLE_QT_MULTIMEDIA to 1.
844         Also add the new files added after https://bugs.webkit.org/show_bug.cgi?id=54870 to support GRefPtr
845         for GstElement.
846
847         * WebCore.pro:
848         * features.pri:
849
850 2011-03-03  Anders Carlsson  <andersca@apple.com>
851
852         Try to fix the Windows build again.
853
854         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
855         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
856
857 2011-03-03  Mihai Parparita  <mihaip@chromium.org>
858
859         Reviewed by Dimitri Glazkov.
860
861         Add another CRASH() for CSSSelector double frees
862         https://bugs.webkit.org/show_bug.cgi?id=55693
863
864         To help track down bug 53045, add a CRASH call when the the array and/or
865         CSSSelector member in CSSSelectorList is disposed of more than once.
866
867         Just a check, no new tests necessary.
868         
869         * css/CSSSelectorList.cpp:
870         (WebCore::CSSSelectorList::deleteSelectors):
871
872 2011-03-03  Anders Carlsson  <andersca@apple.com>
873
874         Yet another attempt at fixing the Windows build.
875
876         * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
877         * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
878         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
879         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
880
881 2011-03-02  Chris Marrin  <cmarrin@apple.com>
882
883         Reviewed by Simon Fraser.
884
885         REGRESSION: Accelerated transitions are jumpy
886         https://bugs.webkit.org/show_bug.cgi?id=55022
887
888         Got rid of default TimingFunction values from PlatformCAAnimation*. A TimingFunction
889         is now always passed in. The TimingFunction class now has a static method to get
890         a default object which has the 'ease' values in it. I now assert in both Mac and
891         Win implementations if a null TimingFunction pointer is seen.
892
893         * platform/animation/TimingFunction.h:
894         (WebCore::CubicBezierTimingFunction::create):
895         (WebCore::CubicBezierTimingFunction::defaultTimingFunction):
896         (WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction):
897         * platform/graphics/ca/GraphicsLayerCA.cpp:
898         (WebCore::GraphicsLayerCA::timingFunctionForAnimationValue):
899         * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
900         (toCAMediaTimingFunction):
901         * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
902         (toCACFTimingFunction):
903
904 2011-03-03  Tony Gentilcore  <tonyg@chromium.org>
905
906         Unreviewed build fix.
907
908         Fix clang compile after r80220
909         https://bugs.webkit.org/show_bug.cgi?id=55692
910
911         * storage/IDBBackingStore.cpp:
912         (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
913
914 2011-03-03  Anders Carlsson  <andersca@apple.com>
915
916         Attempt to fix the Windows build.
917
918         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
919         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
920
921 2011-03-02  Brian Weinstein  <bweinstein@apple.com>
922
923         Reviewed by Adam Roben.
924
925         Rest of WebKit2: Need a way to send notifications to client when cookies change
926         https://bugs.webkit.org/show_bug.cgi?id=55427
927         <rdar://problem/9056027>
928
929         Add functions to be exported.
930
931         * WebCore.exp.in:
932
933 2011-03-03  Anders Carlsson  <andersca@apple.com>
934
935         Reviewed by Darin Adler.
936
937         Improve WebCore build time by ~5%
938         https://bugs.webkit.org/show_bug.cgi?id=55688
939
940         Forward declare the CATransform3D and CGAffineTransform structs instead of including
941         large chunks of QuartzCore and Core Graphics.
942
943         On an 8 core Mac Pro, this sped up building WebCore by about 5%.
944
945         * platform/graphics/ca/GraphicsLayerCA.cpp:
946         * platform/graphics/ca/TransformationMatrixCA.cpp:
947         * platform/graphics/transforms/TransformationMatrix.h:
948
949 2011-03-03  Andrey Kosyakov  <caseq@chromium.org>
950
951         Unreviewed. Adjusted call to a method renamed in r80102.
952
953         * inspector/front-end/SourceFrame.js:
954         (WebInspector.SourceFrame.prototype._startEditing):
955
956 2011-03-03  Timothy Hatcher  <timothy@apple.com>
957
958         Use APIEntryShim instead of JSLock in SerializedScriptValue to allow it to be used
959         by contexts not created by WebCore.
960
961         https://webkit.org/b/55642
962
963         Reviewed by Oliver Hunt.
964
965         * bindings/js/SerializedScriptValue.cpp:
966         (WebCore::SerializedScriptValue::create): Use APIEntryShim instead of JSLock.
967         (WebCore::SerializedScriptValue::deserialize): Ditto.
968
969 2011-03-03  Alexey Proskuryakov  <ap@apple.com>
970
971         Reviewed by Darin Adler.
972
973         WebCore should check for "Upgrade" and "Connection" header fields in WebSockets handshake
974         https://bugs.webkit.org/show_bug.cgi?id=55498
975         <rdar://problem/8752706>
976
977         Tests: http/tests/websocket/tests/handshake-fail-by-no-connection-header.html
978                http/tests/websocket/tests/handshake-fail-by-no-upgrade-header.html
979
980         * websockets/WebSocketHandshake.h: Removed unused and meaningless setters for response
981         header fields. Removed separate member variables for those, as they were duplicating data
982         available in response, and there is no reason to squeeze microsecods here.
983
984         * websockets/WebSocketHandshake.cpp:
985         (WebCore::WebSocketHandshake::reset): There are no longer member variables for header field
986         values to reset here.
987         (WebCore::WebSocketHandshake::readServerHandshake): Removed a call for processHeaders().
988         (WebCore::WebSocketHandshake::serverWebSocketOrigin): Changed to get the value from response.
989         (WebCore::WebSocketHandshake::serverWebSocketLocation): Ditto.
990         (WebCore::WebSocketHandshake::serverWebSocketProtocol): Ditto.
991         (WebCore::WebSocketHandshake::serverSetCookie): Ditto.
992         (WebCore::WebSocketHandshake::serverSetCookie2): Ditto.
993         (WebCore::WebSocketHandshake::serverUpgrade): Added.
994         (WebCore::WebSocketHandshake::serverConnection): Added.
995         (WebCore::WebSocketHandshake::checkResponseHeaders): Added checks for Upgrade and Connection
996         header field presence and values.
997
998 2011-03-03  Helder Correia  <helder@sencha.com>
999
1000         Reviewed by Andreas Kling.
1001
1002         [Qt] fast/canvas/canvas-strokePath-gradient-shadow.html fails
1003         https://bugs.webkit.org/show_bug.cgi?id=55651
1004
1005         When relying on ContextShadow and using a gradient stroke for a path,
1006         the alpha of the shadow is incorrect.
1007
1008         * platform/graphics/qt/GraphicsContextQt.cpp:
1009         (WebCore::GraphicsContext::strokePath):
1010
1011 2011-03-03  Martin Robinson  <mrobinson@igalia.com>
1012
1013         XHTMLMP build broken after r78342
1014         https://bugs.webkit.org/show_bug.cgi?id=55286
1015
1016         Fix XHTMLMP build now that the DocumentWriter is a member of DocumentLoader
1017         instead of FrameLoader.
1018
1019         No new tests. This is a build fix.
1020
1021         * dom/Document.cpp:
1022         (WebCore::Document::isXHTMLMPDocument):
1023
1024 2011-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
1025
1026         Reviewed by Eric Carlson.
1027
1028         Tweak MediaControlMuteButtonElement class hierarchy.
1029         https://bugs.webkit.org/show_bug.cgi?id=55614
1030
1031         This allows the mute button on the panel to have event handlers that are
1032         different from the mute button in the volume slider.
1033
1034         No change in behavior, covered by existing tests.
1035
1036         * html/shadow/MediaControls.cpp:
1037         (WebCore::MediaControls::createMuteButton): Changed to use MediaControlPanelMuteButtonElement.
1038         * rendering/MediaControlElements.cpp:
1039         (WebCore::MediaControlMuteButtonElement::updateDisplayType):
1040         (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement): Added.
1041         (WebCore::MediaControlPanelMuteButtonElement::create): Added.
1042         (WebCore::MediaControlPanelMuteButtonElement::shadowPseudoId): Moved.
1043         * rendering/MediaControlElements.h: Added defs.
1044
1045 2011-03-03  Yury Semikhatsky  <yurys@chromium.org>
1046
1047         Reviewed by Pavel Feldman.
1048
1049         Web Inspector: Resource agent should have same lifetime as Inspector agent
1050         https://bugs.webkit.org/show_bug.cgi?id=55461
1051
1052         * inspector/Inspector.idl:
1053         * inspector/InspectorAgent.cpp:
1054         (WebCore::InspectorAgent::InspectorAgent):
1055         (WebCore::InspectorAgent::inspectedPageDestroyed): disconnectFrontend is called before the agent is destroyed
1056         to clear frontend reference in all agents.
1057         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1058         (WebCore::InspectorAgent::setFrontend):
1059         (WebCore::InspectorAgent::disconnectFrontend):
1060         (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
1061         (WebCore::InspectorAgent::didCommitLoad):
1062         * inspector/InspectorAgent.h:
1063         (WebCore::InspectorAgent::resourceAgent):
1064         * inspector/InspectorBrowserDebuggerAgent.cpp:
1065         (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
1066         * inspector/InspectorDebuggerAgent.cpp:
1067         (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
1068         * inspector/InspectorInstrumentation.cpp:
1069         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
1070         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
1071         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
1072         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
1073         (WebCore::InspectorInstrumentation::retrieveResourceAgent):
1074         * inspector/InspectorResourceAgent.cpp:
1075         (WebCore::InspectorResourceAgent::setFrontend):
1076         (WebCore::InspectorResourceAgent::clearFrontend):
1077         (WebCore::InspectorResourceAgent::restore):
1078         (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
1079         (WebCore::InspectorResourceAgent::enable):
1080         (WebCore::InspectorResourceAgent::disable):
1081         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
1082         * inspector/InspectorResourceAgent.h:
1083         (WebCore::InspectorResourceAgent::create):
1084         * inspector/InspectorTimelineAgent.cpp:
1085         (WebCore::InspectorTimelineAgent::restore):
1086         * inspector/InspectorTimelineAgent.h:
1087         * inspector/front-end/NetworkManager.js:
1088         (WebInspector.NetworkManager):
1089         (WebInspector.NetworkManager.prototype.frontendReused):
1090         * inspector/front-end/inspector.js:
1091         (WebInspector.frontendReused):
1092
1093 2011-03-03  Andras Becsi  <abecsi@webkit.org>
1094
1095         Reviewed by Andreas Kling.
1096
1097         CSS RGBA fast-path color parsing should clamp of out-of-range alpha values
1098         https://bugs.webkit.org/show_bug.cgi?id=55661
1099
1100         Test case originally written by Andreas Kling <andreas.kling@nokia.com>
1101
1102         Test: fast/canvas/rgba-parsing.html
1103
1104         * css/CSSParser.cpp:
1105         (WebCore::isValidDouble): Check whether the given string is a valid double.
1106         (WebCore::parseAlphaValue): Out-of-range alpha values should be clamped to the (0.0, 1.0) range.
1107
1108 2011-03-03  David Holloway  <dhollowa@chromium.org>
1109
1110         Reviewed by Dimitri Glazkov.
1111
1112         Changes HTMLTextFormControlElement::placeholderShouldBeVisible to account
1113         for non-empty suggestion text.  The visibility of the placeholder text
1114         now turned off when suggestion text is set.
1115         https://bugs.webkit.org/show_bug.cgi?id=55245
1116
1117         No new tests because, by design, the suggestion text is not accessible
1118         through the DOM.
1119
1120         * html/HTMLFormControlElement.cpp:
1121         (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
1122         * html/HTMLFormControlElement.h:
1123         (WebCore::HTMLTextFormControlElement::isEmptySuggestedValue):
1124         * html/HTMLInputElement.h:
1125         (WebCore::HTMLInputElement::isEmptySuggestedValue):
1126
1127 2011-03-03  Andy Estes  <aestes@apple.com>
1128
1129         Reviewed by Eric Seidel.
1130
1131         HTML5 TreeBuilder regressed a Peacekeeper DOM test by 25% (was 40%)
1132         https://bugs.webkit.org/show_bug.cgi?id=48719
1133         
1134         Instead of pushing a fake HTMLHtmlElement onto the open element stack
1135         during fragment parsing only to later remove it and reparent its
1136         children to the DocumentFragment, push the DocumentFragment directly
1137         onto the open element stack as the root node. This requires refactoring
1138         HTMLElementStack to hold ContainerNode pointers rather than Element
1139         pointers, which has implications for HTMLConstructionSite and
1140         HTMLTreeBuilder as well.
1141         
1142         With this patch, the regression in Peacekeeper from Safari 5.0.3 to ToT
1143         is ~14%. However, if you discount the 'domDynamicCreationCreateElement'
1144         test, ToT is now ~4% faster than Safari 5.0.3. This indicates that the
1145         regression no longer lies in fragment parsing.
1146
1147         No new tests. No change in behavior.
1148
1149         * dom/Element.h:
1150         (WebCore::Node::hasLocalName):
1151         * dom/Node.h:
1152         * html/parser/HTMLConstructionSite.cpp:
1153         (WebCore::HTMLNames::hasImpliedEndTag):
1154         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
1155         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
1156         (WebCore::HTMLConstructionSite::insertComment):
1157         (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
1158         (WebCore::HTMLConstructionSite::attachToCurrent):
1159         (WebCore::HTMLConstructionSite::insertScriptElement):
1160         (WebCore::HTMLConstructionSite::insertTextNode):
1161         (WebCore::HTMLConstructionSite::createElement):
1162         (WebCore::HTMLConstructionSite::createHTMLElement):
1163         (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
1164         (WebCore::HTMLConstructionSite::generateImpliedEndTags):
1165         (WebCore::HTMLConstructionSite::findFosterSite):
1166         (WebCore::HTMLConstructionSite::shouldFosterParent):
1167         * html/parser/HTMLConstructionSite.h:
1168         (WebCore::HTMLConstructionSite::currentNode):
1169         * html/parser/HTMLElementStack.cpp:
1170         (WebCore::HTMLNames::isNumberedHeaderElement):
1171         (WebCore::HTMLNames::isScopeMarker):
1172         (WebCore::HTMLNames::isListItemScopeMarker):
1173         (WebCore::HTMLNames::isTableScopeMarker):
1174         (WebCore::HTMLNames::isTableBodyScopeMarker):
1175         (WebCore::HTMLNames::isTableRowScopeMarker):
1176         (WebCore::HTMLNames::isButtonScopeMarker):
1177         (WebCore::HTMLNames::isSelectScopeMarker):
1178         (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
1179         (WebCore::HTMLElementStack::ElementRecord::replaceElement):
1180         (WebCore::HTMLElementStack::HTMLElementStack):
1181         (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement):
1182         (WebCore::HTMLElementStack::popAll):
1183         (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
1184         (WebCore::HTMLElementStack::popUntil):
1185         (WebCore::HTMLElementStack::popUntilPopped):
1186         (WebCore::HTMLElementStack::popUntilTableScopeMarker):
1187         (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
1188         (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
1189         (WebCore::HTMLElementStack::pushHTMLHtmlElement):
1190         (WebCore::HTMLElementStack::push):
1191         (WebCore::HTMLElementStack::insertAbove):
1192         (WebCore::HTMLElementStack::find):
1193         (WebCore::HTMLElementStack::topmost):
1194         (WebCore::HTMLElementStack::contains):
1195         (WebCore::inScopeCommon):
1196         (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
1197         (WebCore::HTMLElementStack::htmlElement):
1198         (WebCore::HTMLElementStack::rootNode):
1199         (WebCore::HTMLElementStack::pushCommon):
1200         * html/parser/HTMLElementStack.h:
1201         (WebCore::HTMLElementStack::ElementRecord::element):
1202         (WebCore::HTMLElementStack::ElementRecord::node):
1203         (WebCore::HTMLElementStack::topNode):
1204         * html/parser/HTMLTreeBuilder.cpp:
1205         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
1206         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
1207         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1208         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
1209         (WebCore::HTMLTreeBuilder::processStartTag):
1210         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
1211         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1212         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
1213         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
1214         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
1215         (WebCore::HTMLTreeBuilder::processEndTag):
1216         (WebCore::HTMLTreeBuilder::processEndOfFile):
1217         (WebCore::HTMLTreeBuilder::finished):
1218         * html/parser/HTMLTreeBuilder.h:
1219
1220 2011-03-02  Yury Semikhatsky  <yurys@chromium.org>
1221
1222         Reviewed by Pavel Feldman.
1223
1224         Web Inspector: inspector protocol should allow different domains to have methods with same name
1225         https://bugs.webkit.org/show_bug.cgi?id=55558
1226
1227         * inspector/CodeGeneratorInspector.pm: each command is now identified by domain + command-name(was command-name only).
1228
1229 2011-03-02  Pavel Podivilov  <podivilov@chromium.org>
1230
1231         Reviewed by Yury Semikhatsky.
1232
1233         Web Inspector: make selected call frame debugger presentation model property.
1234         https://bugs.webkit.org/show_bug.cgi?id=55582
1235
1236         * inspector/front-end/CallStackSidebarPane.js:
1237         (WebInspector.CallStackSidebarPane):
1238         (WebInspector.CallStackSidebarPane.prototype.update):
1239         (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame):
1240         (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
1241         * inspector/front-end/ConsoleView.js:
1242         (WebInspector.ConsoleView.prototype.completions):
1243         * inspector/front-end/DebuggerPresentationModel.js:
1244         (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
1245         (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame):
1246         * inspector/front-end/ScriptsPanel.js:
1247         (WebInspector.ScriptsPanel):
1248         (WebInspector.ScriptsPanel.prototype.getCompletionsOnCallFrame):
1249         (WebInspector.ScriptsPanel.prototype._debuggerResumed):
1250         (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
1251         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
1252
1253 2011-03-03  Jia Pu  <jpu@apple.com>
1254
1255         Reviewed by Darin Adler.
1256
1257         On Mac OS X, spelling suggestion panel stops showing up after change set 80121
1258         https://bugs.webkit.org/show_bug.cgi?id=55628
1259
1260         Removed a call to stopCorrectionPanelTimer() to fix a regression introduced by changeset 80121.
1261
1262         * editing/Editor.cpp:
1263         (WebCore::Editor::appliedEditing):
1264         * manual-tests/autocorrection/autocorrection-contraction.html:
1265
1266 2011-03-03  Pavel Podivilov  <podivilov@chromium.org>
1267
1268         Reviewed by Pavel Feldman.
1269
1270         Web Inspector: rename "sourceName" to "sourceFileId" in ScriptsPanel.js.
1271         https://bugs.webkit.org/show_bug.cgi?id=55569
1272
1273         sourceFileId better reflects the intention to have unique identifier for each source that is shown in scripts panel.
1274
1275         * inspector/front-end/DebuggerPresentationModel.js:
1276         * inspector/front-end/ScriptsPanel.js:
1277
1278 2011-03-03  Steve Block  <steveblock@google.com>
1279
1280         Reviewed by David Levin.
1281
1282         JavaString API should be implementable by both JSC and V8
1283         https://bugs.webkit.org/show_bug.cgi?id=55567
1284
1285         Remove JavaString's UString operator and replace it with a
1286         script-engine-independent impl() method, which returns a
1287         StringImpl and can be implemented with both JSC and V8.
1288
1289         No new tests, refactoring only. 
1290
1291         * bridge/jni/JNIBridge.h:
1292         (JSC::Bindings::JavaString::impl):
1293         * bridge/jni/jni_jsobject.mm:
1294         (JavaJSObject::call):
1295         (JavaJSObject::eval):
1296         (JavaJSObject::getMember):
1297         (JavaJSObject::setMember):
1298         (JavaJSObject::removeMember):
1299         * bridge/jni/jsc/JNIBridgeJSC.cpp:
1300         (JavaField::valueFromInstance):
1301         (JavaField::setValueToInstance):
1302         * bridge/jni/jsc/JavaClassJSC.cpp:
1303         (JavaClass::JavaClass):
1304         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1305         (JavaInstance::invokeMethod):
1306         * bridge/jni/jsc/JavaStringJSC.h:
1307         (JSC::Bindings::JavaStringImpl::impl):
1308         * bridge/jni/v8/JavaStringV8.h:
1309         (JSC::Bindings::JavaStringImpl::impl):
1310
1311 2011-03-03  Benjamin Poulain  <ikipou@gmail.com>
1312
1313         Reviewed by Adam Roben.
1314
1315         REGRESSION (r79817): Lots of leaks of FloatingObjects seen on SnowLeopard Intel Leaks bot
1316         https://bugs.webkit.org/show_bug.cgi?id=55602
1317
1318         Delete the FloatingObject referenced by m_floatingObjects when clearing the floats.
1319
1320         The DeprecatedPtrList was deleting the objects automatically due to its autoDelete behavior. The
1321         objects need to be deleted manually with ListHashSet.
1322
1323         * rendering/RenderBlock.cpp:
1324         (WebCore::RenderBlock::clearFloats):
1325
1326 2011-03-03  Hans Wennborg  <hans@chromium.org>
1327
1328         Reviewed by Jeremy Orlow.
1329
1330         IndexedDB: Move SQL code, especially for cursors, to IDBBackingStore
1331         https://bugs.webkit.org/show_bug.cgi?id=55376
1332
1333         Move SQL code from IDBKey, IDBKeyRange, IDBIndexBackendImpl,
1334         IDBObjectStoreBackendImpl, and especially IDBCursorBackendImpl.
1335
1336         No new functionality, so no new tests.
1337
1338         * storage/IDBBackingStore.cpp:
1339         (WebCore::lowerCursorWhereFragment):
1340         (WebCore::upperCursorWhereFragment):
1341         (WebCore::IDBBackingStore::deleteObjectStoreRecord):
1342         (WebCore::IDBBackingStore::keyExistsInObjectStore):
1343         (WebCore::IDBBackingStore::getObjectViaIndex):
1344         (WebCore::keyFromQuery):
1345         (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
1346         (WebCore::IDBBackingStore::keyExistsInIndex):
1347         (WebCore::CursorImplCommon::CursorImplCommon::continueInternal):
1348         (WebCore::CursorImplCommon::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
1349         (WebCore::CursorImplCommon::ObjectStoreCursorImpl::objectStoreDataId):
1350         (WebCore::CursorImplCommon::ObjectStoreCursorImpl::key):
1351         (WebCore::CursorImplCommon::ObjectStoreCursorImpl::value):
1352         (WebCore::CursorImplCommon::ObjectStoreCursorImpl::continueFunction):
1353         (WebCore::IDBBackingStore::openObjectStoreCursor):
1354         (WebCore::ObjectStoreCursorImpl::loadCurrentRow):
1355         (WebCore::ObjectStoreCursorImpl::currentRowExists):
1356         (WebCore::IndexKeyCursorImpl::IndexKeyCursorImpl):
1357         (WebCore::IndexKeyCursorImpl::indexDataId):
1358         (WebCore::IndexKeyCursorImpl::key):
1359         (WebCore::IndexKeyCursorImpl::primaryKey):
1360         (WebCore::IndexKeyCursorImpl::continueFunction):
1361         (WebCore::IDBBackingStore::openIndexKeyCursor):
1362         (WebCore::IndexKeyCursorImpl::loadCurrentRow):
1363         (WebCore::IndexKeyCursorImpl::currentRowExists):
1364         (WebCore::IndexCursorImpl::IndexCursorImpl):
1365         (WebCore::IndexCursorImpl::indexDataId):
1366         (WebCore::IndexCursorImpl::key):
1367         (WebCore::IndexCursorImpl::primaryKey):
1368         (WebCore::IndexCursorImpl::value):
1369         (WebCore::IndexCursorImpl::continueFunction):
1370         (WebCore::IDBBackingStore::openIndexCursor):
1371         (WebCore::IndexCursorImpl::loadCurrentRow):
1372         (WebCore::IndexCursorImpl::currentRowExists):
1373         * storage/IDBBackingStore.h:
1374         (WebCore::IDBBackingStore::Cursor::~Cursor):
1375         * storage/IDBCursorBackendImpl.cpp:
1376         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
1377         (WebCore::IDBCursorBackendImpl::key):
1378         (WebCore::IDBCursorBackendImpl::value):
1379         (WebCore::IDBCursorBackendImpl::update):
1380         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
1381         (WebCore::IDBCursorBackendImpl::deleteFunction):
1382         * storage/IDBCursorBackendImpl.h:
1383         (WebCore::IDBCursorBackendImpl::create):
1384         * storage/IDBIndexBackendImpl.cpp:
1385         (WebCore::IDBIndexBackendImpl::openCursorInternal):
1386         (WebCore::IDBIndexBackendImpl::getInternal):
1387         (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
1388         * storage/IDBIndexBackendImpl.h:
1389         * storage/IDBKey.cpp:
1390         (WebCore::IDBKey::isEqual):
1391         * storage/IDBKey.h:
1392         * storage/IDBKeyRange.cpp:
1393         * storage/IDBKeyRange.h:
1394         * storage/IDBObjectStoreBackendImpl.cpp:
1395         (WebCore::IDBObjectStoreBackendImpl::putInternal):
1396         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
1397         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
1398         * storage/IDBObjectStoreBackendImpl.h:
1399
1400 2011-03-03  Peter Kasting  <pkasting@google.com>
1401
1402         Reviewed by James Robinson.
1403
1404         Drop redundant "Windows; " from the Windows-specific User Agent string.
1405         https://bugs.webkit.org/show_bug.cgi?id=54567
1406
1407         * StringsNotToBeLocalized.txt:
1408
1409 2011-03-03  Mario Sanchez Prada  <msanchez@igalia.com>
1410
1411         Reviewed by Martin Robinson.
1412
1413         [GTK] Combo boxes should emit object:selection-changed even when collapsed
1414         https://bugs.webkit.org/show_bug.cgi?id=53146
1415
1416         Emit the selection-changed signals when the menu list value has changed
1417
1418         Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
1419
1420         * accessibility/gtk/AXObjectCacheAtk.cpp:
1421         (WebCore::getListObject): New, return the right list object for
1422         menu lists and list boxes.
1423         (WebCore::notifyChildrenSelectionChange): Support menu lists.
1424         (WebCore::AXObjectCache::postPlatformNotification): Call function
1425         notifyChildrenSelectionChange for AXMenuListValueChanged.
1426
1427 2011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
1428
1429         Reviewed by Tony Chang.
1430
1431         applyInlineStyleToPushDown and removeInlineStyleFromElement should take EditingStyle
1432         https://bugs.webkit.org/show_bug.cgi?id=55338
1433
1434         Include wtf/Forward.h instead of wtf/text/String.h
1435
1436         * editing/EditingStyle.h:
1437
1438 2011-03-03  Csaba Osztrogon√°c  <ossy@webkit.org>
1439
1440         Unreviewed trivial fix after r80169.
1441
1442         [Qt][WK2] Memory exhausted when building qtwebkit2 on linux
1443         https://bugs.webkit.org/show_bug.cgi?id=55484
1444
1445         * WebCore.pro: Typo fix. We have to use linux-g++* instead of linux-g++.
1446
1447
1448 2011-03-02  MORITA Hajime  <morrita@google.com>
1449
1450         Reviewed by Kent Tamura.
1451
1452         [Refactoring] Make ScheduledEvent on FrameView abstract out to ScheduleAction
1453         https://bugs.webkit.org/show_bug.cgi?id=54440
1454
1455         - Extracted FrameActionScheduler from FrameView
1456         - Extracted FrameAction abstract class from ScheduledEvent,
1457           which has fire() virtual method.
1458         - Renamed ScheduledEvent EventFrameAction
1459         
1460         With this change, Any action can be hooked up to the end of the layout.
1461         
1462         No new tests. No behavioral change.
1463
1464         * Android.mk:
1465         * CMakeLists.txt:
1466         * GNUmakefile.am:
1467         * WebCore.gypi:
1468         * WebCore.pro:
1469         * WebCore.vcproj/WebCore.vcproj:
1470         * WebCore.xcodeproj/project.pbxproj:
1471         * page/FrameActionScheduler.cpp: Added.
1472         (WebCore::EventFrameAction::EventFrameAction):
1473         (WebCore::EventFrameAction::fire):
1474         (WebCore::FrameActionScheduler::FrameActionScheduler):
1475         (WebCore::FrameActionScheduler::~FrameActionScheduler):
1476         (WebCore::FrameActionScheduler::isEmpty):
1477         (WebCore::FrameActionScheduler::clear):
1478         (WebCore::FrameActionScheduler::pause):
1479         (WebCore::FrameActionScheduler::resume):
1480         (WebCore::FrameActionScheduler::dispatch):
1481         (WebCore::FrameActionScheduler::scheduleAction):
1482         (WebCore::FrameActionScheduler::scheduleEvent):
1483         * page/FrameActionScheduler.h: Added.
1484         (WebCore::FrameAction::FrameAction):
1485         (WebCore::FrameAction::~FrameAction):
1486         (WebCore::FrameActionScheduler::isScheduled):
1487         * page/FrameView.cpp:
1488         (WebCore::FrameView::FrameView):
1489         (WebCore::FrameView::~FrameView):
1490         (WebCore::FrameView::layout):
1491         (WebCore::FrameView::scheduleEvent):
1492         (WebCore::FrameView::pauseScheduledEvents):
1493         (WebCore::FrameView::resumeScheduledEvents):
1494         (WebCore::FrameView::performPostLayoutTasks):
1495         (WebCore::FrameView::updateOverflowStatus):
1496         * page/FrameView.h:
1497
1498 2011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1499
1500         Unreviewed, rolling out r80201.
1501         http://trac.webkit.org/changeset/80201
1502         https://bugs.webkit.org/show_bug.cgi?id=55648
1503
1504         "caused tests to crash on several bots" (Requested by rniwa on
1505         #webkit).
1506
1507         * dom/Element.h:
1508         (WebCore::Node::hasTagName):
1509         * dom/Node.h:
1510         * html/parser/HTMLConstructionSite.cpp:
1511         (WebCore::HTMLNames::hasImpliedEndTag):
1512         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
1513         (WebCore::HTMLConstructionSite::insertComment):
1514         (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
1515         (WebCore::HTMLConstructionSite::attachToCurrent):
1516         (WebCore::HTMLConstructionSite::insertScriptElement):
1517         (WebCore::HTMLConstructionSite::insertTextNode):
1518         (WebCore::HTMLConstructionSite::createElement):
1519         (WebCore::HTMLConstructionSite::createHTMLElement):
1520         (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
1521         (WebCore::HTMLConstructionSite::generateImpliedEndTags):
1522         (WebCore::HTMLConstructionSite::findFosterSite):
1523         (WebCore::HTMLConstructionSite::shouldFosterParent):
1524         * html/parser/HTMLConstructionSite.h:
1525         * html/parser/HTMLElementStack.cpp:
1526         (WebCore::HTMLNames::isNumberedHeaderElement):
1527         (WebCore::HTMLNames::isScopeMarker):
1528         (WebCore::HTMLNames::isListItemScopeMarker):
1529         (WebCore::HTMLNames::isTableScopeMarker):
1530         (WebCore::HTMLNames::isTableBodyScopeMarker):
1531         (WebCore::HTMLNames::isTableRowScopeMarker):
1532         (WebCore::HTMLNames::isButtonScopeMarker):
1533         (WebCore::HTMLNames::isSelectScopeMarker):
1534         (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
1535         (WebCore::HTMLElementStack::ElementRecord::replaceElement):
1536         (WebCore::HTMLElementStack::HTMLElementStack):
1537         (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement):
1538         (WebCore::HTMLElementStack::popAll):
1539         (WebCore::HTMLElementStack::popUntilTableScopeMarker):
1540         (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
1541         (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
1542         (WebCore::HTMLElementStack::popUntilForeignContentScopeMarker):
1543         (WebCore::HTMLElementStack::pushHTMLHtmlElement):
1544         (WebCore::HTMLElementStack::push):
1545         (WebCore::HTMLElementStack::insertAbove):
1546         (WebCore::HTMLElementStack::find):
1547         (WebCore::HTMLElementStack::topmost):
1548         (WebCore::inScopeCommon):
1549         (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
1550         (WebCore::HTMLElementStack::htmlElement):
1551         (WebCore::HTMLElementStack::bodyElement):
1552         (WebCore::HTMLElementStack::pushCommon):
1553         * html/parser/HTMLElementStack.h:
1554         (WebCore::HTMLElementStack::ElementRecord::element):
1555         (WebCore::HTMLElementStack::top):
1556         * html/parser/HTMLTreeBuilder.cpp:
1557         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
1558         (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
1559         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
1560         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1561         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
1562         (WebCore::HTMLTreeBuilder::processStartTag):
1563         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
1564         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1565         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
1566         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
1567         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
1568         (WebCore::HTMLTreeBuilder::processEndTag):
1569         (WebCore::HTMLTreeBuilder::processEndOfFile):
1570         (WebCore::HTMLTreeBuilder::finished):
1571         * html/parser/HTMLTreeBuilder.h:
1572
1573 2011-03-02  Yury Semikhatsky  <yurys@chromium.org>
1574
1575         Reviewed by Pavel Feldman.
1576
1577         Web Inspector: break down InspectorFrontend into domain-specific classes
1578         https://bugs.webkit.org/show_bug.cgi?id=55584
1579
1580         * inspector/CodeGeneratorInspector.pm: InspectorFrontend now contains nested classes for
1581         all domains that have event notifications.
1582         * inspector/ConsoleMessage.cpp:
1583         (WebCore::ConsoleMessage::addToFrontend):
1584         (WebCore::ConsoleMessage::updateRepeatCountInConsole):
1585         * inspector/ConsoleMessage.h:
1586         * inspector/InjectedScriptHost.cpp:
1587         (WebCore::InjectedScriptHost::inspectImpl):
1588         * inspector/Inspector.idl:
1589         * inspector/InspectorAgent.cpp:
1590         (WebCore::InspectorAgent::inspectedPageDestroyed):
1591         (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
1592         (WebCore::InspectorAgent::setFrontend):
1593         (WebCore::InspectorAgent::disconnectFrontend):
1594         (WebCore::InspectorAgent::populateScriptObjects):
1595         (WebCore::InspectorAgent::pushDataCollectedOffline):
1596         (WebCore::InspectorAgent::didCommitLoad):
1597         (WebCore::InspectorAgent::domContentLoadedEventFired):
1598         (WebCore::InspectorAgent::loadEventFired):
1599         (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
1600         (WebCore::InspectorAgent::evaluateForTestInFrontend):
1601         (WebCore::InspectorAgent::showPanel):
1602         * inspector/InspectorApplicationCacheAgent.cpp:
1603         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
1604         * inspector/InspectorApplicationCacheAgent.h:
1605         * inspector/InspectorConsoleAgent.cpp:
1606         (WebCore::InspectorConsoleAgent::setFrontend):
1607         * inspector/InspectorConsoleAgent.h:
1608         * inspector/InspectorController.cpp:
1609         (WebCore::InspectorController::show):
1610         (WebCore::InspectorController::close):
1611         * inspector/InspectorDOMAgent.cpp:
1612         (WebCore::InspectorDOMAgent::setFrontend):
1613         * inspector/InspectorDOMAgent.h:
1614         * inspector/InspectorDOMStorageResource.cpp:
1615         (WebCore::InspectorDOMStorageResource::bind):
1616         * inspector/InspectorDOMStorageResource.h:
1617         * inspector/InspectorDatabaseAgent.cpp:
1618         (WebCore::InspectorDatabaseAgent::FrontendProvider::frontend):
1619         (WebCore::InspectorDatabaseAgent::FrontendProvider::FrontendProvider):
1620         (WebCore::InspectorDatabaseAgent::setFrontend):
1621         * inspector/InspectorDatabaseResource.cpp:
1622         (WebCore::InspectorDatabaseResource::bind):
1623         * inspector/InspectorDatabaseResource.h:
1624         * inspector/InspectorDebuggerAgent.cpp:
1625         (WebCore::InspectorDebuggerAgent::setFrontend):
1626         * inspector/InspectorDebuggerAgent.h:
1627         * inspector/InspectorProfilerAgent.cpp:
1628         * inspector/InspectorProfilerAgent.h:
1629         (WebCore::InspectorProfilerAgent::setFrontend):
1630         (WebCore::InspectorProfilerAgent::clearFrontend):
1631         * inspector/InspectorResourceAgent.cpp:
1632         (WebCore::InspectorResourceAgent::InspectorResourceAgent):
1633         * inspector/InspectorResourceAgent.h:
1634         * inspector/InspectorTimelineAgent.cpp:
1635         (WebCore::InspectorTimelineAgent::setFrontend):
1636         * inspector/InspectorTimelineAgent.h:
1637         * inspector/front-end/DOMAgent.js:
1638         (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
1639         (WebInspector.DOMDispatcher.prototype.addNodesToSearchResult):
1640         * inspector/front-end/inspector.js:
1641
1642 2011-03-02  Kent Tamura  <tkent@chromium.org>
1643
1644         Unreviewed, a trivial regression fix.
1645
1646         Fix LocalizedNumberICU regression by r80198 and r80199.
1647         https://bugs.webkit.org/show_bug.cgi?id=55629
1648
1649         * platform/text/LocalizedNumberICU.cpp:
1650           We should use U_SUCCESS().
1651         (WebCore::createFormatterForCurrentLocale):
1652         (WebCore::parseLocalizedNumber):
1653
1654 2011-03-02  Dan Bernstein  <mitz@apple.com>
1655
1656         Let Xcode know that Localizable.strings is UTF-16-encoded.
1657
1658         * WebCore.xcodeproj/project.pbxproj:
1659
1660 2011-03-02  Andy Estes  <aestes@apple.com>
1661
1662         Reviewed by Eric Seidel.
1663
1664         HTML5 TreeBuilder regressed a Peacekeeper DOM test by 25% (was 40%)
1665         https://bugs.webkit.org/show_bug.cgi?id=48719
1666         
1667         Instead of pushing a fake HTMLHtmlElement onto the open element stack
1668         during fragment parsing only to later remove it and reparent its
1669         children to the DocumentFragment, push the DocumentFragment directly
1670         onto the open element stack as the root node. This requires refactoring
1671         HTMLElementStack to hold ContainerNode pointers rather than Element
1672         pointers, which has implications for HTMLConstructionSite and
1673         HTMLTreeBuilder as well.
1674         
1675         With this patch, the regression in Peacekeeper due to the introduction
1676         of the HTML5 fragment parsing algorithm is ~14%. The regression from
1677         Safari 5.0.3 is ~24%.
1678
1679         No new tests. No change in behavior.
1680
1681         * dom/Element.h:
1682         (WebCore::Node::hasLocalName):
1683         * dom/Node.h:
1684         * html/parser/HTMLConstructionSite.cpp:
1685         (WebCore::HTMLNames::hasImpliedEndTag):
1686         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
1687         (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
1688         (WebCore::HTMLConstructionSite::insertComment):
1689         (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
1690         (WebCore::HTMLConstructionSite::attachToCurrent):
1691         (WebCore::HTMLConstructionSite::insertScriptElement):
1692         (WebCore::HTMLConstructionSite::insertTextNode):
1693         (WebCore::HTMLConstructionSite::createElement):
1694         (WebCore::HTMLConstructionSite::createHTMLElement):
1695         (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
1696         (WebCore::HTMLConstructionSite::generateImpliedEndTags):
1697         (WebCore::HTMLConstructionSite::findFosterSite):
1698         (WebCore::HTMLConstructionSite::shouldFosterParent):
1699         * html/parser/HTMLConstructionSite.h:
1700         (WebCore::HTMLConstructionSite::currentNode):
1701         * html/parser/HTMLElementStack.cpp:
1702         (WebCore::HTMLNames::isNumberedHeaderElement):
1703         (WebCore::HTMLNames::isScopeMarker):
1704         (WebCore::HTMLNames::isListItemScopeMarker):
1705         (WebCore::HTMLNames::isTableScopeMarker):
1706         (WebCore::HTMLNames::isTableBodyScopeMarker):
1707         (WebCore::HTMLNames::isTableRowScopeMarker):
1708         (WebCore::HTMLNames::isButtonScopeMarker):
1709         (WebCore::HTMLNames::isSelectScopeMarker):
1710         (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
1711         (WebCore::HTMLElementStack::ElementRecord::replaceElement):
1712         (WebCore::HTMLElementStack::HTMLElementStack):
1713         (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement):
1714         (WebCore::HTMLElementStack::popAll):
1715         (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
1716         (WebCore::HTMLElementStack::popUntil):
1717         (WebCore::HTMLElementStack::popUntilPopped):
1718         (WebCore::HTMLElementStack::popUntilTableScopeMarker):
1719         (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
1720         (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
1721         (WebCore::HTMLElementStack::pushHTMLHtmlElement):
1722         (WebCore::HTMLElementStack::push):
1723         (WebCore::HTMLElementStack::insertAbove):
1724         (WebCore::HTMLElementStack::find):
1725         (WebCore::HTMLElementStack::topmost):
1726         (WebCore::HTMLElementStack::contains):
1727         (WebCore::inScopeCommon):
1728         (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
1729         (WebCore::HTMLElementStack::htmlElement):
1730         (WebCore::HTMLElementStack::rootNode):
1731         (WebCore::HTMLElementStack::pushCommon):
1732         * html/parser/HTMLElementStack.h:
1733         (WebCore::HTMLElementStack::ElementRecord::element):
1734         (WebCore::HTMLElementStack::ElementRecord::node):
1735         (WebCore::HTMLElementStack::topNode):
1736         * html/parser/HTMLTreeBuilder.cpp:
1737         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
1738         (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
1739         (WebCore::HTMLTreeBuilder::processStartTagForInBody):
1740         (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
1741         (WebCore::HTMLTreeBuilder::processStartTag):
1742         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
1743         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
1744         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
1745         (WebCore::HTMLTreeBuilder::processEndTagForInCell):
1746         (WebCore::HTMLTreeBuilder::processEndTagForInBody):
1747         (WebCore::HTMLTreeBuilder::processEndTag):
1748         (WebCore::HTMLTreeBuilder::processEndOfFile):
1749         (WebCore::HTMLTreeBuilder::finished):
1750         * html/parser/HTMLTreeBuilder.h:
1751
1752 2011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1753
1754         Unreviewed, rolling out r80188.
1755         http://trac.webkit.org/changeset/80188
1756         https://bugs.webkit.org/show_bug.cgi?id=55647
1757
1758         Broke the WebKit API tests. (Requested by xenon on #webkit).
1759
1760         * WebCore.exp.in:
1761
1762 2011-03-02  Kent Tamura  <tkent@chromium.org>
1763
1764         Unreviewed, build fix.
1765
1766         * platform/text/LocalizedNumberICU.cpp:
1767         (WebCore::createFormatterForCurrentLocale): Fix a typo.
1768
1769 2011-03-02  Kent Tamura  <tkent@chromium.org>
1770
1771         Reviewed by Darin Adler.
1772
1773         Caching number formatter instances in LocalizedNumber* implementations
1774         https://bugs.webkit.org/show_bug.cgi?id=55629
1775
1776         No new tests. This change doesn't change existing behavior, and is
1777         covered by existing tests.
1778
1779         * platform/text/LocalizedNumberICU.cpp:
1780         (WebCore::createFormatterForCurrentLocale):
1781         (WebCore::numberFormatter): Introduce a function to return a static
1782           instance of NumberFormat.
1783         (WebCore::parseLocalizedNumber): Use numberFormatter().
1784         (WebCore::formatLocalizedNumber): Use numberFormatter().
1785         * platform/text/mac/LocalizedNumberMac.mm:
1786         (WebCore::createFormatterForCurrentLocale):
1787         (WebCore::numberFormatter): Introduce a function to return a static
1788           instance of NSNumberFormatter.
1789         (WebCore::parseLocalizedNumber): Use numberFormatter().
1790         (WebCore::formatLocalizedNumber): Use numberFormatter().
1791
1792 2011-03-02  Levi Weintraub  <leviw@chromium.org>
1793
1794         Reviewed by Ryosuke Niwa.
1795
1796         deprecatedEditingOffset should actually return the expected deprecated value for "after" positions
1797         https://bugs.webkit.org/show_bug.cgi?id=54986
1798
1799         Calls to deprecatedEditingOffset needs to return the expected value for new Before/After positions
1800         until we can update all the call sites to consider the new position types.
1801
1802         No tests. This is intended to simplify the transition to new Positions, not to change behavior.
1803
1804         * dom/Position.cpp:
1805         (WebCore::Position::deprecatedEditingOffset):
1806         (WebCore::Position::offsetForPositionAfterAnchor): Added to do the right thing while ensuring
1807         inline-speed for most calls to deprecatedEditingOffset.
1808         * dom/Position.h:
1809
1810 2011-03-02  Timothy Hatcher  <timothy@apple.com>
1811
1812         Export SerializedScriptValue::create(JSC::ExecState* exec, JSC::JSValue value).
1813
1814         Reviewed by Darin Adler.
1815
1816         * WebCore.exp.in: Added __ZN7WebCore21SerializedScriptValue6createEPN3JSC9ExecStateENS1_7JSValueE.
1817
1818 2011-03-02  Daniel Cheng  <dcheng@chromium.org>
1819
1820         Reviewed by David Levin.
1821
1822         Manually revert ChromiumDataObject changes.
1823         https://bugs.webkit.org/show_bug.cgi?id=55627
1824
1825         No new tests since no functionality should change.
1826
1827         * WebCore.gypi:
1828         * editing/chromium/EditorChromium.cpp:
1829         (WebCore::Editor::newGeneralClipboard):
1830         * page/chromium/EventHandlerChromium.cpp:
1831         (WebCore::EventHandler::createDraggingClipboard):
1832         * platform/chromium/ChromiumDataObject.cpp:
1833         (WebCore::ChromiumDataObject::clearData):
1834         (WebCore::ChromiumDataObject::clearAll):
1835         (WebCore::ChromiumDataObject::clearAllExceptFiles):
1836         (WebCore::ChromiumDataObject::hasData):
1837         (WebCore::ChromiumDataObject::types):
1838         (WebCore::ChromiumDataObject::getData):
1839         (WebCore::ChromiumDataObject::setData):
1840         (WebCore::ChromiumDataObject::ChromiumDataObject):
1841         * platform/chromium/ChromiumDataObject.h:
1842         (WebCore::ChromiumDataObject::create):
1843         (WebCore::ChromiumDataObject::copy):
1844         (WebCore::ChromiumDataObject::urlTitle):
1845         (WebCore::ChromiumDataObject::setUrlTitle):
1846         (WebCore::ChromiumDataObject::htmlBaseUrl):
1847         (WebCore::ChromiumDataObject::setHtmlBaseUrl):
1848         (WebCore::ChromiumDataObject::containsFilenames):
1849         (WebCore::ChromiumDataObject::filenames):
1850         (WebCore::ChromiumDataObject::setFilenames):
1851         (WebCore::ChromiumDataObject::fileExtension):
1852         (WebCore::ChromiumDataObject::setFileExtension):
1853         (WebCore::ChromiumDataObject::fileContentFilename):
1854         (WebCore::ChromiumDataObject::setFileContentFilename):
1855         (WebCore::ChromiumDataObject::fileContent):
1856         (WebCore::ChromiumDataObject::setFileContent):
1857         * platform/chromium/ClipboardChromium.cpp:
1858         * platform/chromium/ClipboardChromium.h:
1859
1860 2011-03-02  David Grogan  <dgrogan@chromium.org>
1861
1862         Reviewed by Jeremy Orlow.
1863
1864         IndexedDB: fire versionchange events when calling setVersion
1865         https://bugs.webkit.org/show_bug.cgi?id=55095
1866
1867         * dom/EventNames.h:
1868         * storage/IDBDatabase.cpp:
1869         (WebCore::IDBDatabase::setVersion):
1870         (WebCore::IDBDatabase::close):
1871         (WebCore::IDBDatabase::onVersionChange):
1872         (WebCore::IDBDatabase::open):
1873         (WebCore::IDBDatabase::enqueueEvent):
1874         (WebCore::IDBDatabase::dispatchEvent):
1875         * storage/IDBDatabase.h:
1876         (WebCore::IDBDatabase::dispatchEvent):
1877         * storage/IDBDatabase.idl:
1878         * storage/IDBDatabaseBackendImpl.cpp:
1879         (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::create):
1880         (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::databaseCallbacks):
1881         (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::PendingSetVersionCall):
1882         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
1883         (WebCore::IDBDatabaseBackendImpl::setVersion):
1884         (WebCore::IDBDatabaseBackendImpl::open):
1885         (WebCore::IDBDatabaseBackendImpl::close):
1886         * storage/IDBDatabaseBackendImpl.h:
1887         * storage/IDBDatabaseBackendInterface.h:
1888         * storage/IDBDatabaseCallbacks.h: Copied from Source/WebCore/storage/IDBVersionChangeEvent.cpp.
1889         (WebCore::IDBDatabaseCallbacks::~IDBDatabaseCallbacks):
1890         * storage/IDBFactoryBackendImpl.cpp:
1891         (WebCore::IDBFactoryBackendImpl::open):
1892         * storage/IDBRequest.cpp:
1893         (WebCore::IDBRequest::onSuccess):
1894         * storage/IDBVersionChangeEvent.cpp:
1895         (WebCore::IDBVersionChangeEvent::create):
1896         (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
1897         * storage/IDBVersionChangeEvent.h:
1898         * storage/IDBVersionChangeRequest.cpp:
1899         (WebCore::IDBVersionChangeRequest::onBlocked):
1900
1901 2011-03-02  Alexey Proskuryakov  <ap@apple.com>
1902
1903         Fix assertion failures on Gtk bot.
1904
1905         * page/EventHandler.cpp: (WebCore::EventHandler::tabsToLinks): Removed an overzealous
1906         assertion. We can get here with non-Tab key events when spatial navigation is enabled.
1907
1908 2011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1909
1910         Unreviewed, rolling out r80139.
1911         http://trac.webkit.org/changeset/80139
1912         https://bugs.webkit.org/show_bug.cgi?id=55620
1913
1914         failing and crashing tests on Snow Leopard bot (Requested by
1915         mihaip1 on #webkit).
1916
1917         * page/DOMWindow.cpp:
1918         * page/DOMWindow.h:
1919         * page/Frame.cpp:
1920         (WebCore::Frame::pageDestroyed):
1921         (WebCore::Frame::transferChildFrameToNewDocument):
1922         * page/Frame.h:
1923         (WebCore::Frame::detachFromPage):
1924         * page/Geolocation.cpp:
1925         (WebCore::Geolocation::~Geolocation):
1926         (WebCore::Geolocation::disconnectFrame):
1927         (WebCore::Geolocation::lastPosition):
1928         (WebCore::Geolocation::requestPermission):
1929         (WebCore::Geolocation::startUpdating):
1930         (WebCore::Geolocation::stopUpdating):
1931         * page/Geolocation.h:
1932         * page/GeolocationController.cpp:
1933         (WebCore::GeolocationController::~GeolocationController):
1934         * page/Navigator.cpp:
1935         * page/Navigator.h:
1936         * platform/mock/GeolocationClientMock.cpp:
1937         * platform/mock/GeolocationClientMock.h:
1938
1939 2011-03-02  Jessie Berlin  <jberlin@apple.com>
1940
1941         Reviewed by Adam Roben.
1942
1943         WebKit2: Use CFNetwork Sessions API.
1944         https://bugs.webkit.org/show_bug.cgi?id=55435
1945
1946         Add the ability to create a Private Browsing Storage Session.
1947
1948         * WebCore.exp.in:
1949         Export the symbol for ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase.
1950
1951         * page/Settings.cpp:
1952         (WebCore::Settings::setPrivateBrowsingEnabled):
1953         Propagate the private browsing state to the ResourceHandle.
1954
1955         * platform/mac/WebCoreSystemInterface.h:
1956         Add the function declaration for wkCreatePrivateStorageSession.
1957         * platform/mac/WebCoreSystemInterface.mm:
1958
1959         * platform/network/ResourceHandle.cpp:
1960         (WebCore::privateStorageSession):
1961         Since the same Private Browsing Storage Session will need to be accessed throughout the loading
1962         code and will need to be used by all web pages and page groups, make it a global static.
1963         (WebCore::privateBrowsingStorageSessionIdentifierBase):
1964         Ditto, since the identifier is needed to create the Private Browsing Storage Session.
1965         (WebCore::ResourceHandle::setPrivateBrowsingEnabled):
1966         If enabled, create and store the Private Browsing Storage Session.
1967         (WebCore::ResourceHandle::privateBrowsingStorageSession):
1968         (WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase):
1969         * platform/network/ResourceHandle.h:
1970
1971         * platform/network/cf/ResourceHandleCFNet.cpp:
1972         (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
1973         The call to wkCreatePrivateStorageSession needs to be in a file including the correct
1974         version of WKSI.
1975         (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase):
1976         Return the bundle identifier.
1977         * platform/network/mac/ResourceHandleMac.mm:
1978         (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
1979         The call to wkCreatePrivateStorageSession needs to be in a file importing the correct
1980         version of WKSI.
1981         (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase):
1982         Return the bundle identifier.
1983
1984 2011-03-02  Daniel Cheng  <dcheng@chromium.org>
1985
1986         Revert frame-specific WebClipboard changes
1987         https://bugs.webkit.org/show_bug.cgi?id=55617
1988
1989         This code is no longer needed since we've decided to use the original
1990         approach to copy/paste drag/drop handling in ClipboardChromium.
1991
1992         No new tests because no functionality changes.
1993
1994         * platform/chromium/ChromiumDataObject.cpp:
1995         (WebCore::ChromiumDataObject::createReadable):
1996         * platform/chromium/ChromiumDataObject.h:
1997         * platform/chromium/ClipboardChromium.cpp:
1998         (WebCore::ClipboardChromium::create):
1999         * platform/chromium/PlatformBridge.h:
2000         * platform/chromium/ReadableDataObject.cpp:
2001         (WebCore::ReadableDataObject::create):
2002         (WebCore::ReadableDataObject::ReadableDataObject):
2003         (WebCore::ReadableDataObject::getData):
2004         (WebCore::ReadableDataObject::urlTitle):
2005         (WebCore::ReadableDataObject::htmlBaseUrl):
2006         (WebCore::ReadableDataObject::filenames):
2007         (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
2008         * platform/chromium/ReadableDataObject.h:
2009
2010 2011-03-02  Tony Chang  <tony@chromium.org>
2011
2012         Unreviewed, rolling chromium DEPS to r76362.
2013
2014         https://bugs.webkit.org/show_bug.cgi?id=55564
2015
2016         * WebCore.gyp/WebCore.gyp: Switch to libjpeg_turbo to match chromium
2017
2018 2011-03-02  Alexey Proskuryakov  <ap@apple.com>
2019
2020         Build fix.
2021
2022         * page/ChromeClient.h: (WebCore::ChromeClient::keyboardUIMode): I didn't mean to commit these
2023         changes yet.
2024
2025 2011-03-02  Alexey Proskuryakov  <ap@apple.com>
2026
2027         Reviewed by John Sullivan.
2028
2029         Clean up WebCore tabsToLinks code a little
2030         https://bugs.webkit.org/show_bug.cgi?id=55606
2031
2032         No change in behavior, so no tests.
2033
2034         * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::isKeyboardFocusable):
2035         This is the only caller of tabsToAllControls(). Renamed this function to tabsToAllFormControls().
2036
2037         * page/EventHandler.cpp:
2038         (WebCore::EventHandler::isKeyboardOptionTab): Moved from platform specific files. This
2039         function cannot be file static, because EventHandlerMac.mm uses it.
2040         (WebCore::eventInvertsTabsToLinksClientCallResult): Merged implementations from platform
2041         specific files. We can just as well have #if here. Renamed for clarity.
2042         (WebCore::EventHandler::tabsToLinks): Rewrote in a way that makes it clearer how "invert"
2043         works.
2044         
2045         * page/EventHandler.h: We no longer need invertSenseOfTabsToLinks() here, it's only used
2046         in EventHandler.cpp.
2047
2048         * page/android/EventHandlerAndroid.cpp: (WebCore::EventHandler::tabsToAllFormControls):
2049         * page/brew/EventHandlerBrew.cpp: (WebCore::EventHandler::tabsToAllFormControls):
2050         * page/chromium/EventHandlerChromium.cpp: (WebCore::EventHandler::tabsToAllFormControls):
2051         * page/efl/EventHandlerEfl.cpp: (WebCore::EventHandler::tabsToAllFormControls):
2052         * page/gtk/EventHandlerGtk.cpp: (WebCore::EventHandler::tabsToAllFormControls):
2053         * page/haiku/EventHandlerHaiku.cpp: (WebCore::EventHandler::tabsToAllFormControls):
2054         * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::tabsToAllFormControls):
2055         * page/qt/EventHandlerQt.cpp: (WebCore::EventHandler::tabsToAllFormControls):
2056         * page/win/EventHandlerWin.cpp: (WebCore::EventHandler::tabsToAllFormControls):
2057         * page/wx/EventHandlerWx.cpp: (WebCore::EventHandler::tabsToAllFormControls):
2058         Updating all port files.
2059
2060 2011-02-28  Jeremy Orlow  <jorlow@chromium.org>
2061
2062         Reviewed by James Robinson.
2063
2064         Split IDBCursor.value into IDBCursor.primaryKey and IDBCursor.value
2065         https://bugs.webkit.org/show_bug.cgi?id=55443
2066
2067         Implement http://www.w3.org/Bugs/Public/show_bug.cgi?id=11948
2068
2069         The idea is to have an IDBCursor and an IDBCursorWithValue interface which
2070         inherits from the former.  index.openKeyCursor will return the former and
2071         index/objectStore.openCursor will return the latter.  We'll add a primaryKey
2072         attribute to IDBCursor.  It will always be the key of the associated object
2073         store entry.  For index.openCursor cursors, the key attribute will be the key
2074         of the index.  For objectStore.openCursors, it'll be the same as the
2075         primaryKey.  The value will be the value of the objectStore entry.
2076
2077         * WebCore.gypi:
2078         * bindings/scripts/CodeGeneratorV8.pm:
2079         * bindings/v8/SerializedScriptValue.cpp:
2080         (WebCore::SerializedScriptValue::deserializeAndSetProperty):
2081         * bindings/v8/SerializedScriptValue.h:
2082         * bindings/v8/custom/V8IDBAnyCustom.cpp:
2083         (WebCore::toV8):
2084         * storage/IDBAny.cpp:
2085         (WebCore::IDBAny::idbCursorWithValue):
2086         (WebCore::IDBAny::set):
2087         * storage/IDBAny.h:
2088         * storage/IDBCursor.cpp:
2089         (WebCore::IDBCursor::create):
2090         (WebCore::IDBCursor::primaryKey):
2091         (WebCore::IDBCursor::value):
2092         * storage/IDBCursor.h:
2093         * storage/IDBCursor.idl:
2094         * storage/IDBCursorBackendImpl.cpp:
2095         (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
2096         (WebCore::IDBCursorBackendImpl::primaryKey):
2097         (WebCore::IDBCursorBackendImpl::value):
2098         (WebCore::IDBCursorBackendImpl::update):
2099         (WebCore::IDBCursorBackendImpl::currentRowExists):
2100         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
2101         (WebCore::IDBCursorBackendImpl::deleteFunction):
2102         (WebCore::IDBCursorBackendImpl::loadCurrentRow):
2103         * storage/IDBCursorBackendImpl.h:
2104         (WebCore::IDBCursorBackendImpl::create):
2105         * storage/IDBCursorBackendInterface.h:
2106         * storage/IDBCursorWithValue.cpp: Copied from Source/WebCore/storage/IDBCursor.idl.
2107         (WebCore::IDBCursorWithValue::create):
2108         (WebCore::IDBCursorWithValue::IDBCursorWithValue):
2109         (WebCore::IDBCursorWithValue::~IDBCursorWithValue):
2110         * storage/IDBCursorWithValue.h: Copied from Source/WebCore/storage/IDBCursorBackendInterface.h.
2111         * storage/IDBCursorWithValue.idl: Copied from Source/WebCore/storage/IDBCursor.idl.
2112         * storage/IDBIndex.cpp:
2113         (WebCore::IDBIndex::openCursor):
2114         (WebCore::IDBIndex::openKeyCursor):
2115         * storage/IDBIndexBackendImpl.cpp:
2116         (WebCore::IDBIndexBackendImpl::openCursorInternal):
2117         (WebCore::IDBIndexBackendImpl::openCursor):
2118         (WebCore::IDBIndexBackendImpl::openKeyCursor):
2119         * storage/IDBIndexBackendImpl.h:
2120         * storage/IDBObjectStore.cpp:
2121         (WebCore::IDBObjectStore::openCursor):
2122         * storage/IDBObjectStoreBackendImpl.cpp:
2123         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
2124         * storage/IDBRequest.cpp:
2125         (WebCore::IDBRequest::IDBRequest):
2126         (WebCore::IDBRequest::setCursorType):
2127         (WebCore::IDBRequest::onSuccess):
2128         (WebCore::IDBRequest::dispatchEvent):
2129         * storage/IDBRequest.h:
2130
2131 2011-03-02  Aravind Akella  <aravind.akella@nokia.com>
2132
2133          Reviewed by Csaba Osztrogon√°c.
2134
2135          [Qt][WK2] Memory exhausted when building qtwebkit2 on linux
2136          https://bugs.webkit.org/show_bug.cgi?id=55484
2137
2138          Using AllInOne files to avoid memory exhaustion for debug 
2139          builds on 32 bit linux machines.
2140
2141          No new tests. Fixing a build issue.
2142
2143          * WebCore.pro:
2144
2145 2011-03-02  Daniel Cheng  <dcheng@chromium.org>
2146
2147         Reviewed by David Levin.
2148
2149         Add feature define for data transfer items
2150         https://bugs.webkit.org/show_bug.cgi?id=55510
2151
2152         * Configurations/FeatureDefines.xcconfig:
2153         * GNUmakefile.am:
2154         * features.pri:
2155
2156 2011-03-02  Dimitri Glazkov  <dglazkov@chromium.org>
2157
2158         Update location of media-file.js, which was moved in r79630.
2159
2160         * manual-tests/media-controls.html: Updated location.
2161
2162 2011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
2163
2164         Unreviewed, rolling out r80156.
2165         http://trac.webkit.org/changeset/80156
2166         https://bugs.webkit.org/show_bug.cgi?id=55604
2167
2168         "Broke SL compile" (Requested by tonyg-cr on #webkit).
2169
2170         * bridge/jni/JNIBridge.h:
2171         (JSC::Bindings::JavaString::operator UString):
2172         * bridge/jni/jni_jsobject.mm:
2173         (JavaJSObject::call):
2174         (JavaJSObject::eval):
2175         (JavaJSObject::getMember):
2176         (JavaJSObject::setMember):
2177         (JavaJSObject::removeMember):
2178         * bridge/jni/jsc/JavaClassJSC.cpp:
2179         (JavaClass::JavaClass):
2180         * bridge/jni/jsc/JavaStringJSC.h:
2181         (JSC::Bindings::JavaStringImpl::uString):
2182         * bridge/jni/v8/JavaStringV8.h:
2183
2184 2011-03-02  Steve Block  <steveblock@google.com>
2185
2186         Reviewed by Jeremy Orlow.
2187
2188         JavaString API should be implementable by both JSC and V8
2189         https://bugs.webkit.org/show_bug.cgi?id=55567
2190
2191         Remove JavaString's UString operator and replace it with a
2192         script-engine-independent impl() method, which returns a
2193         StringImpl and can be implemented with both JSC and V8.
2194
2195         No new tests, refactoring only.
2196
2197         * bridge/jni/JNIBridge.h:
2198         (JSC::Bindings::JavaString::impl):
2199         * bridge/jni/jni_jsobject.mm:
2200         (JavaJSObject::call):
2201         (JavaJSObject::eval):
2202         (JavaJSObject::getMember):
2203         (JavaJSObject::setMember):
2204         (JavaJSObject::removeMember):
2205         * bridge/jni/jsc/JavaClassJSC.cpp:
2206         (JavaClass::JavaClass):
2207         * bridge/jni/jsc/JavaStringJSC.h:
2208         (JSC::Bindings::JavaStringImpl::impl):
2209         * bridge/jni/v8/JavaStringV8.h:
2210         (JSC::Bindings::JavaStringImpl::impl):
2211
2212 2011-03-02  Mihai Parparita  <mihaip@chromium.org>
2213
2214         Reviewed by Dimitri Glazkov.
2215
2216         Add CRASH() for CSSSelector double frees
2217         https://bugs.webkit.org/show_bug.cgi?id=55596
2218         
2219         To help track down bug 53045, add a CRASH call when the CSSSelector
2220         destructor is invoked more than once.
2221
2222         Just a check, no new tests necessary.
2223
2224         * css/CSSSelector.h:
2225         (WebCore::CSSSelector::CSSSelector):
2226         (WebCore::CSSSelector::~CSSSelector):
2227
2228 2011-03-02  Carol Szabo  <carol.szabo@nokia.com>
2229
2230         Reviewed by David Hyatt  <hyatt@apple.com>
2231
2232         content property doesn't support quotes
2233         https://bugs.webkit.org/show_bug.cgi?id=6503
2234
2235         Added full support for quotes as defined by CSS 2.1.
2236
2237         Tests: fast/css/content/content-quotes-01.html
2238                fast/css/content/content-quotes-02.html
2239                fast/css/content/content-quotes-03.html
2240                fast/css/content/content-quotes-04.html
2241                fast/css/content/content-quotes-05.html
2242                fast/css/content/content-quotes-06.html
2243
2244         * Android.mk:
2245         * CMakeLists.txt:
2246         * GNUmakefile.am:
2247         * WebCore.gypi:
2248         * WebCore.pro:
2249         * WebCore.vcproj/WebCore.vcproj:
2250         * WebCore.xcodeproj/project.pbxproj:
2251         Added RenderQuote.cpp/h and QuotesData.cpp/h to the dependency lists
2252         * css/CSSParser.cpp:
2253         (WebCore::CSSParser::parseValue):
2254         (WebCore::CSSParser::parseQuotes):
2255         * css/CSSParser.h:
2256         Added needed stylesheet parsing support for quotes,
2257         (no-)open-quote and (no-)close-quote
2258         * css/CSSStyleSelector.cpp:
2259         (WebCore::CSSStyleSelector::applyProperty):
2260         Handled setting of the new quotes RenderStyle property and added
2261         handling of quotes for the content property.
2262         * css/html.css:
2263         (q:before):
2264         (q:after):
2265         replaced the '"' workaround with open/close-quote
2266         * rendering/RenderBlockLineLayout.cpp:
2267         (WebCore::dirtyLineBoxesForRenderer):
2268         Made RenderQuote behave like RenderCounter.
2269         Needed to ensure that the Quote text is calculated before layout,
2270         just as it is for RenderCounter.
2271         * rendering/RenderObject.h:
2272         (WebCore::RenderObject::isQuote):
2273         * rendering/RenderObjectChildList.cpp:
2274         (WebCore::RenderObjectChildList::removeChildNode):
2275         (WebCore::RenderObjectChildList::appendChildNode):
2276         (WebCore::RenderObjectChildList::insertChildNode):
2277         Handled updating of quote depth when renderers are added and removed
2278         from the tree.
2279         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
2280         Added support for Quote content.
2281         * rendering/RenderQuote.cpp: Added.
2282         (WebCore::adjustDepth):
2283         (WebCore::RenderQuote::RenderQuote):
2284         (WebCore::RenderQuote::~RenderQuote):
2285         (WebCore::RenderQuote::renderName):
2286         (WebCore::RenderQuote::placeQuote):
2287         (WebCore::LanguageData::operator<):
2288         (WebCore::defaultLanguageQuotes):
2289         (WebCore::quotesMap):
2290         (WebCore::quotesForLanguage):
2291         (WebCore::defaultQuotes):
2292         (WebCore::RenderQuote::originalText):
2293         (WebCore::RenderQuote::computePreferredLogicalWidths):
2294         (WebCore::RenderQuote::rendererSubtreeAttached):
2295         (WebCore::RenderQuote::rendererRemovedFromTree):
2296         (WebCore::RenderQuote::styleDidChange):
2297         * rendering/RenderQuote.h: Added.
2298         (WebCore::RenderQuote::isQuote):
2299         (WebCore::toRenderQuote):
2300         * rendering/RenderingAllInOne.cpp:
2301         Included RenderQuote.cpp
2302         * rendering/style/StyleAllInOne.cpp:
2303         Included QuotesData.cpp
2304         * rendering/style/ContentData.cpp:
2305         (WebCore::ContentData::dataEquivalent):
2306         Checked for quotetype identity.
2307         (WebCore::ContentData::deleteContent):
2308         Accounted for the new QUOTE_TYPE.
2309         * rendering/style/ContentData.h:
2310         (WebCore::ContentData::isQuote):
2311         (WebCore::ContentData::quote):
2312         (WebCore::ContentData::setQuote):
2313         * rendering/style/QuotesData.cpp: Added.
2314         (WebCore::QuotesData::create):
2315         (WebCore::QuotesData::operator==):
2316         (WebCore::QuotesData::~QuotesData):
2317         * rendering/style/QuotesData.h: Added.
2318         (WebCore::QuotesData::data):
2319         (WebCore::QuotesData::operator delete):
2320         (WebCore::QuotesData::QuotesData):
2321         * rendering/style/RenderStyle.cpp:
2322         (WebCore::RenderStyle::setContent):
2323         (WebCore::RenderStyle::setQuotes):
2324         * rendering/style/RenderStyle.h:
2325         (WebCore::InheritedFlags::quotes):
2326         (WebCore::InheritedFlags::setQuotes):
2327         * rendering/style/RenderStyleConstants.h:
2328         * rendering/style/StyleAllInOne.cpp:
2329         Added QuotesData.cpp to the included files list.
2330         * rendering/style/StyleRareInheritedData.cpp:
2331         (WebCore::StyleRareInheritedData::operator==):
2332         Included quotes in equality check.
2333         * rendering/style/StyleRareInheritedData.h:
2334         Added quotes
2335
2336 2011-03-02  Antti Koivisto  <antti@apple.com>
2337
2338         Reviewed by Dave Hyatt.
2339
2340         Selector usage flags should not be set by the CSS parser
2341         https://bugs.webkit.org/show_bug.cgi?id=55573
2342         
2343         Currently flags like Document::usesSiblingRules() are set directly by the CSS parser. This is wrong as 
2344         we may parse stylesheets that are not actually used for document rendering. This is especially bad when
2345         the page uses querySelectorAll(). As a result we may end up in various performance penalty boxes 
2346         triggered by complex selectors for no good reason.
2347         
2348         - Use the selector traversal in style selector constructor to figure out which flags
2349           are actually needed for the currently active style sheets.
2350         - Remove the selector flag related code from the CSS parser/grammar.
2351         - Remove the usesDescendantRules flag completely. We have descendant rules in the default
2352           style sheet, every document uses them.
2353
2354         * css/CSSGrammar.y:
2355         * css/CSSParser.cpp:
2356         (WebCore::CSSParser::updateSpecifiersWithElementName):
2357         * css/CSSStyleSelector.cpp:
2358         (WebCore::collectSiblingRulesInDefaultStyle):
2359         (WebCore::CSSStyleSelector::CSSStyleSelector):
2360         (WebCore::CSSStyleSelector::Features::Features):
2361         (WebCore::CSSStyleSelector::Features::~Features):
2362         (WebCore::CSSStyleSelector::locateCousinList):
2363         (WebCore::CSSStyleSelector::matchesSiblingRules):
2364         (WebCore::CSSStyleSelector::canShareStyleWithElement):
2365         (WebCore::CSSStyleSelector::locateSharedStyle):
2366         (WebCore::collectFeaturesFromSelector):
2367         (WebCore::collectFeaturesFromList):
2368         (WebCore::RuleSet::collectFeatures):
2369         * css/CSSStyleSelector.h:
2370         (WebCore::CSSStyleSelector::usesSiblingRules):
2371         (WebCore::CSSStyleSelector::usesFirstLineRules):
2372         (WebCore::CSSStyleSelector::usesBeforeAfterRules):
2373         (WebCore::CSSStyleSelector::usesLinkRules):
2374         * dom/Document.cpp:
2375         (WebCore::Document::Document):
2376         (WebCore::Document::recalcStyle):
2377         (WebCore::Document::createStyleSelector):
2378         * dom/Document.h:
2379         (WebCore::Document::usesSiblingRules):
2380         (WebCore::Document::setUsesSiblingRules):
2381         (WebCore::Document::usesFirstLineRules):
2382         (WebCore::Document::usesBeforeAfterRules):
2383         (WebCore::Document::setUsesBeforeAfterRules):
2384         * dom/Element.cpp:
2385         (WebCore::Element::recalcStyle):
2386
2387 2011-03-02  Brian Weinstein  <bweinstein@apple.com>
2388
2389         Fix fallout from a last minute renaming.
2390
2391         * platform/network/cf/CookieStorageCFNet.cpp:
2392         (WebCore::startObservingCookieChanges):
2393         (WebCore::stopObservingCookieChanges):
2394
2395 2011-03-01  Brian Weinstein  <bweinstein@apple.com>
2396
2397         Reviewed by Adam Roben.
2398
2399         Part of WebKit2: Need a way to send notifications to client when cookies change
2400         https://bugs.webkit.org/show_bug.cgi?id=55427
2401         <rdar://problem/9056027>
2402         
2403         Add functions on CookieStorage that allow listening for changes in cookies. When
2404         the cookies are changed, they call through to CookiesStrategy::notifyCookiesChanged.
2405
2406         No change in behavior requiring tests.
2407
2408         * platform/CookiesStrategy.h: Added.
2409         (WebCore::CookiesStrategy::~CookiesStrategy):
2410
2411         * platform/PlatformStrategies.h:
2412         (WebCore::PlatformStrategies::cookiesStrategy):
2413         (WebCore::PlatformStrategies::PlatformStrategies):
2414
2415         * platform/network/CookieStorage.h: Add new function declarations.
2416
2417         * platform/network/cf/CookieStorageCFNet.cpp:
2418         (WebCore::notifyCookiesChangedOnMainThread): Call through to CookiesStrategy::notifyCookiesChanged.
2419         (WebCore::notifyCookiesChanged): Call notifyCookiesChangedOnMainThread on the main thread.
2420         (WebCore::beginObservingCookieChanges): Set up cookie observers on the loader run loop.
2421         (WebCore::finishObservingCookieChanges): Remove our cookie observers from the loader run loop.
2422
2423         * platform/network/mac/CookieStorageMac.mm:
2424         (-[CookieStorageObjCAdapter notifyCookiesChangedOnMainThread]): Call through to CookiesStrategy::notifyCookiesChanged.
2425         (-[CookieStorageObjCAdapter cookiesChangedNotificationHandler:]): Call notifyCookiesChangedOnMainThread on 
2426             the main thread.
2427         (-[CookieStorageObjCAdapter registerForCookieChangeNotifications]): Set up the observer for cookie change notifications.
2428         (-[CookieStorageObjCAdapter unregisterForCookieChangeNotifications]): Remove the observer for cookie change notifications.
2429         (WebCore::beginObservingCookieChanges): Create our CookieStorageObjCAdapter, and call registerForCookieChangeNotifications.
2430         (WebCore::finishObservingCookieChanges): Call unregisterForCookieChangeNotifications.
2431         
2432         Add new file.
2433         * WebCore.vcproj/WebCore.vcproj:
2434         * WebCore.xcodeproj/project.pbxproj: Set role on files we need to include in WebKit to private.
2435
2436 2011-03-02  Sergey Glazunov  <serg.glazunov@gmail.com>
2437
2438         Reviewed by Dimitri Glazkov.
2439
2440         A WebKitCSSKeyframesRule object should set itself as the parent for inserted rules
2441         https://bugs.webkit.org/show_bug.cgi?id=55488
2442
2443         Test: fast/css/css-keyframe-parent.html
2444
2445         * css/WebKitCSSKeyframesRule.cpp:
2446         (WebCore::WebKitCSSKeyframesRule::append):
2447
2448 2011-03-02  Sergio Villar Senin  <svillar@igalia.com>
2449
2450         Reviewed by Martin Robinson.
2451
2452         [GTK] Add support for external protocol handlers
2453         https://bugs.webkit.org/show_bug.cgi?id=55473
2454
2455         Do not unconditionally create and replace the SoupRequester of the
2456         SoupSession if there is already one. No new tests needed as we
2457         just allow clients to create their our SoupRequesters.
2458
2459         * platform/network/soup/ResourceHandleSoup.cpp:
2460         (WebCore::ensureSessionIsInitialized):
2461
2462 2011-03-02  John Knottenbelt  <jknotten@chromium.org>
2463
2464         Reviewed by jknotten@chromium.org.
2465
2466         Fix build-breakage when GEOLOCATION not enabled.
2467         https://bugs.webkit.org/show_bug.cgi?id=55586
2468
2469         Geolocation::reset needs to be defined if ENABLE(GEOLOCATION)
2470         is not true.
2471
2472         * page/Geolocation.cpp:
2473         (WebCore::Geolocation::reset):
2474
2475 2011-03-02  Pavel Feldman  <pfeldman@chromium.org>
2476
2477         Reviewed by Yury Semikhatsky.
2478
2479         Web Inspector: remove InjectedScriptHost -> DOMAgent dependency.
2480         https://bugs.webkit.org/show_bug.cgi?id=55575
2481
2482         * bindings/js/JSInjectedScriptHostCustom.cpp:
2483         (WebCore::JSInjectedScriptHost::inspectedNode):
2484         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2485         (WebCore::V8InjectedScriptHost::inspectedNodeCallback):
2486         * inspector/ConsoleMessage.cpp:
2487         (WebCore::ConsoleMessage::addToFrontend):
2488         * inspector/InjectedScript.cpp:
2489         (WebCore::InjectedScript::evaluateOn):
2490         (WebCore::InjectedScript::wrapObject):
2491         (WebCore::InjectedScript::wrapNode):
2492         (WebCore::InjectedScript::inspectNode):
2493         (WebCore::InjectedScript::nodeAsScriptValue):
2494         * inspector/InjectedScript.h:
2495         * inspector/InjectedScriptHost.cpp:
2496         (WebCore::InjectedScriptHost::addInspectedNode):
2497         (WebCore::InjectedScriptHost::clearInspectedNodes):
2498         (WebCore::InjectedScriptHost::copyText):
2499         (WebCore::InjectedScriptHost::inspectedNode):
2500         * inspector/InjectedScriptHost.h:
2501         * inspector/InjectedScriptHost.idl:
2502         * inspector/InjectedScriptSource.js:
2503         * inspector/Inspector.idl:
2504         * inspector/InspectorDOMAgent.cpp:
2505         (WebCore::InspectorDOMAgent::discardBindings):
2506         (WebCore::InspectorDOMAgent::addInspectedNode):
2507         (WebCore::InspectorDOMAgent::resolveNode):
2508         (WebCore::InspectorDOMAgent::injectedScriptForNode):
2509         * inspector/InspectorDOMAgent.h:
2510         * inspector/InspectorRuntimeAgent.cpp:
2511         (WebCore::InspectorRuntimeAgent::evaluateOn):
2512         * inspector/InspectorRuntimeAgent.h:
2513         * inspector/front-end/ElementsTreeOutline.js:
2514         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
2515         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
2516         (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
2517         * inspector/front-end/PropertiesSidebarPane.js:
2518         (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
2519         (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
2520         (WebInspector.PropertiesSidebarPane.prototype.update.fillSection):
2521         (WebInspector.PropertiesSidebarPane.prototype.update):
2522         * inspector/front-end/RemoteObject.js:
2523         (WebInspector.RemoteObject.resolveNode):
2524         (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
2525         (WebInspector.RemoteObject.prototype.evaluate):
2526
2527 2011-01-21  John Knottenbelt  <jknotten@chromium.org>
2528
2529         Reviewed by Dmitry Titov.
2530
2531         Detach Geolocation from Frame when Page destroyed.
2532         https://bugs.webkit.org/show_bug.cgi?id=52877
2533
2534         On Page destruction, any outstanding Geolocation permission
2535         requests should be cancelled, because the Geolocation can only
2536         access the client indirectly via m_frame->page().
2537
2538         Additionally, if the Frame is reparented to another page, the
2539         Geolocation should cancel watches, single-shots and requests on
2540         the old page.
2541
2542         Page destruction is signalled by a call to the
2543         Frame::pageDestroyed() method. This calls Frame::detachFromPage,
2544         where we extend the call chain to Geolocation::detachFromPage()
2545         where we call Geolocation::reset() which detaches from the
2546         GeolocationController, cancels requests, watches and single shots,
2547         and sets the permission state back to Unknown.
2548
2549         We also now call detachFromPage when the frame reparented in
2550         Frame::transferChildFrameToNewDocument.
2551
2552         Frame::pageDestroyed() is also called by FrameLoader even though
2553         the page is not destroyed. We should still cancel permission
2554         requests, because the GeolocationClient will become inaccessible
2555         to the Geolocation object after this call.
2556
2557         Since GeolocationController is owned by Page, and all Geolocation
2558         objects will now unsubscribe from the GeolocationController on
2559         pageDetached(), we no longer need to call stopUpdating() from the
2560         GeolocationController's destructor. Instead we can simply assert
2561         that there should be no no observers. See related bug
2562         https://bugs.webkit.org/show_bug.cgi?id=52216 .
2563
2564         Introduced new method 'numberOfPendingPermissionRequests' on
2565         GeolocationClientMock to count the number of outstanding pending
2566         permission requests. This provides a reusable implementation for
2567         client-based implementations of the LayoutTestController's
2568         numberOfPendingGeolocationPermissionRequests method.
2569
2570         Tests: fast/dom/Geolocation/iframe-reparent.html
2571                fast/dom/Geolocation/page-reload-cancel-permission-requests.html
2572
2573         * page/DOMWindow.cpp:
2574         (WebCore::DOMWindow::resetGeolocationPermissions):
2575         * page/DOMWindow.h:
2576         * page/Frame.cpp:
2577         (WebCore::Frame::detachFromPage):
2578         (WebCore::Frame::pageDestroyed):
2579         (WebCore::Frame::transferChildFrameToNewDocument):
2580         * page/Frame.h:
2581         * page/Geolocation.cpp:
2582         (WebCore::Geolocation::~Geolocation):
2583         (WebCore::Geolocation::page):
2584         (WebCore::Geolocation::reset):
2585         (WebCore::Geolocation::disconnectFrame):
2586         (WebCore::Geolocation::lastPosition):
2587         (WebCore::Geolocation::requestPermission):
2588         (WebCore::Geolocation::startUpdating):
2589         (WebCore::Geolocation::stopUpdating):
2590         * page/Geolocation.h:
2591         * page/GeolocationController.cpp:
2592         (WebCore::GeolocationController::~GeolocationController):
2593         * page/Navigator.cpp:
2594         (WebCore::Navigator::resetGeolocationPermissions):
2595         * page/Navigator.h:
2596         * platform/mock/GeolocationClientMock.cpp:
2597         (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests):
2598         * platform/mock/GeolocationClientMock.h:
2599
2600 2011-03-02  Mikhail Naganov  <mnaganov@chromium.org>
2601
2602         Reviewed by Pavel Feldman.
2603
2604         Web Inspector: [Chromium] Landing detailed heap snapshots, part 4.
2605         https://bugs.webkit.org/show_bug.cgi?id=55563
2606
2607         This part adds implementations for data grids used to display
2608         different heap snapshots projections. We are almost done.
2609
2610         * English.lproj/localizedStrings.js:
2611         * WebCore.gypi:
2612         * bindings/v8/ScriptHeapSnapshot.cpp:
2613         (WebCore::ScriptHeapSnapshot::getExactRetainedSize):
2614         * bindings/v8/ScriptHeapSnapshot.h:
2615         * inspector/Inspector.idl:
2616         * inspector/InspectorProfilerAgent.cpp:
2617         (WebCore::InspectorProfilerAgent::getExactHeapSnapshotNodeRetainedSize):
2618         * inspector/InspectorProfilerAgent.h:
2619         * inspector/front-end/DetailedHeapshotGridNodes.js:
2620         (WebInspector.HeapSnapshotObjectNode):
2621         (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
2622         (WebInspector.HeapSnapshotInstanceNode):
2623         (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
2624         (WebInspector.HeapSnapshotDominatorObjectNode):
2625         (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
2626         (MixInSnapshotNodeFunctions):
2627         * inspector/front-end/DetailedHeapshotView.js:
2628         (WebInspector.HeapSnapshotContainmentDataGrid):
2629         (WebInspector.HeapSnapshotSortableDataGrid):
2630         (WebInspector.HeapSnapshotConstructorsDataGrid):
2631         (WebInspector.HeapSnapshotDiffDataGrid):
2632         (WebInspector.HeapSnapshotDominatorsDataGrid):
2633         (WebInspector.HeapSnapshotRetainingPathsList):
2634         (WebInspector.DetailedHeapshotView.profileCallback):
2635         (WebInspector.DetailedHeapshotView):
2636         * inspector/front-end/HeapSnapshot.js:
2637         (WebInspector.HeapSnapshotEdge.prototype.get isInvisible):
2638         (WebInspector.HeapSnapshotEdge.prototype.toString):
2639         (WebInspector.HeapSnapshot.prototype._init):
2640         (WebInspector.HeapSnapshot.prototype._buildAggregatesIndexes):
2641         (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
2642         (WebInspector.HeapSnapshotPathFinder.prototype._skipEdge):
2643         * inspector/front-end/Images/helpButtonGlyph.png: Added.
2644         * inspector/front-end/Panel.js:
2645         (WebInspector.Panel.prototype.reset):
2646         * inspector/front-end/Popover.js:
2647         (WebInspector.Popover):
2648         (WebInspector.Popover.prototype.show):
2649         (WebInspector.Popover.prototype.hide):
2650         (WebInspector.Popover.prototype.get visible):
2651         * inspector/front-end/ProfilesPanel.js:
2652         (WebInspector.ProfilesPanel.prototype._reset):
2653         (WebInspector.ProfilesPanel.prototype.getProfile):
2654         * inspector/front-end/heapProfiler.css:
2655         * inspector/front-end/inspector.js:
2656         (WebInspector.resetFocusElement):
2657
2658 2011-03-02  David Kilzer  <ddkilzer@apple.com>
2659
2660         <http://webkit.org/b/55534> Clean up macros in Extensions3DOpenGL.cpp
2661
2662         Reviewed by Darin Adler.
2663
2664         Change "#if GL_APPLE_vertex_array_object" macros to check that
2665         GL_APPLE_vertex_array_object is both defined and non-zero.
2666
2667         * platform/graphics/opengl/Extensions3DOpenGL.cpp:
2668         (WebCore::Extensions3DOpenGL::createVertexArrayOES):
2669         (WebCore::Extensions3DOpenGL::deleteVertexArrayOES): Remove
2670         empty #else clause.
2671         (WebCore::Extensions3DOpenGL::isVertexArrayOES):
2672         (WebCore::Extensions3DOpenGL::bindVertexArrayOES): Add early
2673         return check.  Remove #else clause that would never have
2674         compiled (since array is not a WTF::String).
2675
2676 2011-03-01  Ryosuke Niwa  <rniwa@webkit.org>
2677
2678         Reviewed by Darin Adler.
2679
2680         Assertion failure after removing a selection in keydown handler
2681         https://bugs.webkit.org/show_bug.cgi?id=51389
2682
2683         The bug was caused by textWillBeReplaced's not always updating selection, and
2684         shouldRemovePositionAfterAdoptingTextReplacement's not moving the end offset when it's
2685         at the end of replaced data.
2686
2687         Fixed the bug by always updating selection in textWillBeReplaced and fixing the condition
2688         to move the offset in shouldRemovePositionAfterAdoptingTextReplacement. Also added a call
2689         to setSelection instead of directly modifying m_selection to notify all the clients.
2690         Namely, the call to EditorClient::respondToChangedSelection is required for
2691         setting-input-value-cancel-ime-composition.html.
2692
2693         Note that we must update layout before calling setSelection because setSelection calls
2694         setFocusedNodeIfNeeded and it requires layout to be up-to-date. Without this call, tests
2695         such as fast/forms/input-appearance-maxlength.html hits an assertion in Node::isFocusable.
2696
2697         Test: editing/input/setting-input-value-cancel-ime-composition.html
2698
2699         * editing/SelectionController.cpp:
2700         (WebCore::shouldRemovePositionAfterAdoptingTextReplacement): When replacing text, the offset
2701         of the selection end must be updated even if it was at the end of the replaced text.
2702         e.g. removing "world" from "hello world] WebKit" should result in "hello ] WebKit" not
2703         "hello  WebK[it". Note we don't move the offset if no text is removed because appending
2704         "world" to "hello ]" should result in "hello ]world" not "hello world]".
2705         (WebCore::SelectionController::textWillBeReplaced): Calls setSelection to update
2706         the selection instead of modifying m_selection directly.
2707
2708 2011-03-02  Andrey Adaikin  <aandrey@google.com>
2709
2710         Reviewed by Pavel Feldman.
2711
2712         Web Inspector: highlighted line does not span horizonally in scripts panel while debugging.
2713         https://bugs.webkit.org/show_bug.cgi?id=54675
2714
2715         * inspector/front-end/TextViewer.js:
2716         (WebInspector.TextViewer.prototype._syncScroll):
2717         (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
2718         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
2719         (WebInspector.TextEditorGutterPanel):
2720         (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
2721         (WebInspector.TextEditorGutterPanel.prototype.textChanged):
2722         (WebInspector.TextEditorMainPanel):
2723         (WebInspector.TextEditorMainPanel.prototype.set readOnly):
2724         (WebInspector.TextEditorMainPanel.prototype._getSelection):
2725         (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
2726         (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified):
2727         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
2728         (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
2729         * inspector/front-end/textViewer.css:
2730         (.inner-container):
2731
2732 2011-03-02  Oleg Romashin  <romaxa@gmail.com>
2733
2734         Reviewed by Andreas Kling.
2735
2736         Fixing inspector compilation with JAVASCRIPT_DEBUGGER disabled
2737         https://bugs.webkit.org/show_bug.cgi?id=55477
2738
2739         * inspector/InspectorAgent.cpp:
2740         (WebCore::InspectorAgent::populateScriptObjects):
2741
2742 2011-03-02  Kent Tamura  <tkent@chromium.org>
2743
2744         Unreviewed, a trivial fix for r80096.
2745
2746         REGRESSION (r80096): [Chromium] fast/forms/input-number-unacceptable-style.html failure
2747         https://bugs.webkit.org/show_bug.cgi?id=55562
2748
2749         * platform/text/LocalizedNumberICU.cpp:
2750         (WebCore::parseLocalizedNumber): Check the ParsePosition after NumberFormat::parse()
2751           to reject strings with a valid number + extra letters.
2752
2753 2011-03-02  Steve Block  <steveblock@google.com>
2754
2755         Reviewed by Jeremy Orlow.
2756
2757         JObjectWrapper should be moved to its own file
2758         https://bugs.webkit.org/show_bug.cgi?id=55384
2759
2760         No new tests, refactoring only.
2761
2762         * Android.v8bindings.mk:
2763         * WebCore.gypi:
2764         * bridge/jni/v8/JNIBridgeV8.cpp:
2765         (JavaField::JavaField):
2766         * bridge/jni/v8/JNIBridgeV8.h:
2767         * bridge/jni/v8/JavaInstanceV8.cpp:
2768         (JavaInstance::JavaInstance):
2769         * bridge/jni/v8/JavaInstanceV8.h:
2770         * bridge/jni/v8/JobjectWrapper.cpp: Copied from Source/WebCore/bridge/jni/v8/JNIBridgeV8.h.
2771         (JobjectWrapper::JobjectWrapper):
2772         (JobjectWrapper::~JobjectWrapper):
2773         * bridge/jni/v8/JobjectWrapper.h: Copied from Source/WebCore/bridge/jni/v8/JNIBridgeV8.h.
2774         (JSC::Bindings::JobjectWrapper::instance):
2775         (JSC::Bindings::JobjectWrapper::setInstance):
2776         (JSC::Bindings::JobjectWrapper::ref):
2777         (JSC::Bindings::JobjectWrapper::deref):
2778
2779 2011-02-25  Andrey Kosyakov  <caseq@chromium.org>
2780
2781         Reviewed by Pavel Feldman.
2782
2783         Web Inspector: factor search logic out of inspector.js
2784         https://bugs.webkit.org/show_bug.cgi?id=54965
2785
2786         * WebCore.gypi:
2787         * WebCore.vcproj/WebCore.vcproj:
2788         * inspector/front-end/ElementsPanel.js:
2789         (WebInspector.ElementsPanel.prototype.searchCanceled):
2790         (WebInspector.ElementsPanel.prototype.switchToAndFocus):
2791         (WebInspector.ElementsPanel.prototype._updateMatchesCount):
2792         * inspector/front-end/Panel.js:
2793         (WebInspector.Panel.prototype.searchCanceled):
2794         (WebInspector.Panel.prototype.performSearch.updateMatchesCount):
2795         * inspector/front-end/ScriptsPanel.js:
2796         (WebInspector.ScriptsPanel.prototype.searchCanceled):
2797         (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
2798         (WebInspector.ScriptsPanel.prototype.performSearch):
2799         * inspector/front-end/SearchController.js: Added.
2800         (WebInspector.SearchController):
2801         (WebInspector.SearchController.prototype.updateSearchMatchesCount):
2802         (WebInspector.SearchController.prototype.updateSearchLabel):
2803         (WebInspector.SearchController.prototype.cancelSearch):
2804         (WebInspector.SearchController.prototype.handleShortcut):
2805         (WebInspector.SearchController.prototype.activePanelChanged.performPanelSearch):
2806         (WebInspector.SearchController.prototype.activePanelChanged):
2807         (WebInspector.SearchController.prototype._updateSearchMatchesCount):
2808         (WebInspector.SearchController.prototype._focusSearchField):
2809         (WebInspector.SearchController.prototype._onSearchFieldManualFocus):
2810         (WebInspector.SearchController.prototype._onKeyDown):
2811         (WebInspector.SearchController.prototype._onSearch):
2812         (WebInspector.SearchController.prototype._performSearch):
2813         * inspector/front-end/WebKit.qrc:
2814         * inspector/front-end/inspector.html:
2815         * inspector/front-end/inspector.js:
2816         (WebInspector.set currentPanel):
2817         (WebInspector.set attached):
2818         (WebInspector.doLoadedDone):
2819         (WebInspector.documentKeyDown):
2820
2821 2011-03-02  Renata Hodovan  <reni@webkit.org>
2822
2823         Reviewed by Andreas Kling.
2824
2825         FEMorphologyElement changes doesn't require relayout
2826         https://bugs.webkit.org/show_bug.cgi?id=55462
2827
2828         When the FEMorphologyElement receives an update message but the given value remains the same we don't need
2829         to relayout the filter.
2830
2831         No new tests are needed because this modification is covered by the dynamic update tests of FEMorphology.
2832
2833         * platform/graphics/filters/FEMorphology.cpp:
2834         (WebCore::FEMorphology::setMorphologyOperator):
2835         (WebCore::FEMorphology::setRadiusX):
2836         (WebCore::FEMorphology::setRadiusY):
2837         * platform/graphics/filters/FEMorphology.h:
2838         * svg/SVGFEMorphologyElement.cpp:
2839         (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):
2840         (WebCore::SVGFEMorphologyElement::svgAttributeChanged):
2841         * svg/SVGFEMorphologyElement.h:
2842
2843 2011-03-01  Kent Tamura  <tkent@chromium.org>
2844
2845         Reviewed by Dimitri Glazkov.
2846
2847         Assertion fails when a form validation bubble appears
2848         https://bugs.webkit.org/show_bug.cgi?id=55550
2849
2850         Test: fast/forms/interactive-validation-attach-assertion.html
2851
2852         * html/ValidationMessage.cpp:
2853         (WebCore::ValidationMessage::buildBubbleTree):
2854          Just remove unnecessary attach().
2855
2856 2011-03-01  Kent Tamura  <tkent@chromium.org>
2857
2858         Reviewed by Dimitri Glazkov.
2859
2860         Support localized numbers in <input type=number>
2861         https://bugs.webkit.org/show_bug.cgi?id=42484
2862
2863         This change adds support of localized numbers in <input type=number>.
2864         This affects only the UI, and not HTMLInputElement::value.
2865
2866         - Remove the keyboard input restriction feature because it is hard to
2867           retrieve characters usable for localized numbers in ICU.
2868
2869         - Separate convertFromVisibleValue() from sanitizeValue().
2870           sanitizeValue() is used for not only converting a renderer value to a
2871           DOM value.
2872
2873         - Implement LocalizedNumber functions for ICU and NSNumberFormatter.
2874           It is used only in Chromium for now.
2875
2876         Test: manual-tests/input-number-localization.html
2877
2878         * WebCore.gypi: Use LocalizedNumberICU.cpp.
2879         * WebCore.xcodeproj/project.pbxproj:
2880           Add LocalizedNumberMac.mm and remove LocalizedNumberNone.cpp.
2881         * dom/InputElement.h: Introduce convertFromVisibleValue().
2882         * html/HTMLInputElement.cpp:
2883         (WebCore::HTMLInputElement::convertFromVisibleValue):
2884         * html/HTMLInputElement.h:
2885         * html/InputType.cpp:
2886         (WebCore::InputType::convertFromVisibleValue):
2887         * html/InputType.h:
2888         * html/NumberInputType.cpp: Remove isHTMLNumberCharacter(),
2889           isNumberCharacter(), and handleBeforeTextInsertedEvent() because we
2890           remove the keyboard input restriction feature for type=number.
2891         (WebCore::NumberInputType::convertFromVisibleValue):
2892         (WebCore::NumberInputType::sanitizeValue):
2893         * html/NumberInputType.h:
2894         * manual-tests/input-number-localization.html: Add a manual test because
2895           the behavior depends on the current locale.
2896         * platform/text/LocalizedNumber.h: Remove isLocalizedNumberCharacter().
2897         * platform/text/LocalizedNumberICU.cpp:
2898           Implement LocalizedNumber functions with ICU NumberFormat.
2899         (WebCore::createFormatterForCurrentLocale):
2900         (WebCore::parseLocalizedNumber):
2901         (WebCore::formatLocalizedNumber):
2902         * platform/text/LocalizedNumberNone.cpp: Remove isLocalizedNumberCharacter().
2903         * platform/text/mac/LocalizedNumberMac.mm:
2904           Implement LocalizedNumber functions with NSNumberFormatter.
2905         (WebCore::parseLocalizedNumber):
2906         (WebCore::formatLocalizedNumber):
2907         * rendering/RenderTextControlSingleLine.cpp:
2908         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
2909         * wml/WMLInputElement.h:
2910         (WebCore::WMLInputElement::convertFromVisibleValue):
2911           Implemented as a function doing nothing.
2912
2913 2011-03-01  Yuta Kitamura  <yutak@chromium.org>
2914
2915         Reviewed by Darin Adler.
2916
2917         REGRESSION(r78383): Failure to connect on websocketstest.com
2918         https://bugs.webkit.org/show_bug.cgi?id=54811
2919
2920         After r78383, KURL::setPort() no longer appends ":port" part
2921         if that port is the default port for URL scheme. This broke
2922         SocketStreamHandleCFNet, whose code was based on an assumption
2923         that KURL::setPort() always inserts ":port" part.
2924
2925         To fix this, KURL::port() call is removed from SocketStreamHandle
2926         and the port number is calculated on-the-fly.
2927
2928         Unfortunately it is impossible to write a test; this bug only
2929         affects WebSockets connecting to the default port (port 80
2930         for ws, port 443 for wss), while we use different ports to test
2931         WebSockets in LayoutTests.
2932
2933         * platform/network/cf/SocketStreamHandle.h:
2934         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2935         (WebCore::SocketStreamHandle::SocketStreamHandle):
2936         (WebCore::SocketStreamHandle::createStreams):
2937         (WebCore::SocketStreamHandle::port):
2938
2939 2011-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2940
2941         Unreviewed, rolling out r80079.
2942         http://trac.webkit.org/changeset/80079
2943         https://bugs.webkit.org/show_bug.cgi?id=55547
2944
2945         "Broke the Win debug build?" (Requested by dcheng on #webkit).
2946
2947         * Configurations/FeatureDefines.xcconfig:
2948         * GNUmakefile.am:
2949         * features.pri:
2950
2951 2011-02-25  Adrienne Walker  <enne@google.com>
2952
2953         Reviewed by James Robinson.
2954
2955         [chromium] Abstract "pixels with a graphics context" into its own class
2956         https://bugs.webkit.org/show_bug.cgi?id=55259
2957
2958         This creates new PlatformCanvas/PlatformImage classes which wrap
2959         all of the #ifdef Skia/Cg warts from the compositor.  All classes
2960         (LayerTilerChromium, ContentLayerChromium, and ImageLayerChromium) are
2961         modified to use these abstractions.
2962
2963         Tests: LayoutTests/compositing
2964
2965         * WebCore.gypi:
2966         * platform/graphics/chromium/ContentLayerChromium.cpp:
2967         (WebCore::ContentLayerChromium::updateContentsIfDirty):
2968         (WebCore::ContentLayerChromium::resizeUploadBuffer):
2969         (WebCore::ContentLayerChromium::updateTextureIfNeeded):
2970         (WebCore::ContentLayerChromium::updateTexture):
2971         (WebCore::ContentLayerChromium::draw):
2972         * platform/graphics/chromium/ContentLayerChromium.h:
2973         * platform/graphics/chromium/ImageLayerChromium.cpp:
2974         (WebCore::ImageLayerChromium::updateContentsIfDirty):
2975         (WebCore::ImageLayerChromium::updateTextureIfNeeded):
2976         * platform/graphics/chromium/ImageLayerChromium.h:
2977         * platform/graphics/chromium/LayerTilerChromium.cpp:
2978         (WebCore::LayerTilerChromium::contentRectToTileIndices):
2979         (WebCore::LayerTilerChromium::update):
2980         (WebCore::LayerTilerChromium::updateFromPixels):
2981         * platform/graphics/chromium/LayerTilerChromium.h:
2982         * platform/graphics/chromium/PlatformCanvas.cpp: Added.
2983         (WebCore::PlatformCanvas::PlatformCanvas):
2984         (WebCore::PlatformCanvas::~PlatformCanvas):
2985         (WebCore::PlatformCanvas::resize):
2986         (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
2987         (WebCore::PlatformCanvas::AutoLocker::~AutoLocker):
2988         (WebCore::PlatformCanvas::Painter::Painter):
2989         (WebCore::PlatformCanvas::Painter::~Painter):
2990         * platform/graphics/chromium/PlatformCanvas.h: Added.
2991         (WebCore::PlatformCanvas::AutoLocker::pixels):
2992         (WebCore::PlatformCanvas::Painter::context):
2993         (WebCore::PlatformCanvas::size):
2994         * platform/graphics/chromium/PlatformImage.cpp: Copied from Source/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp.
2995         (WebCore::PlatformImage::PlatformImage):
2996         (WebCore::PlatformImage::updateFromImage):
2997         * platform/graphics/chromium/PlatformImage.h: Added.
2998         (WebCore::PlatformImage::pixels):
2999         (WebCore::PlatformImage::size):
3000
3001 2011-03-01  Daniel Cheng  <dcheng@chromium.org>
3002
3003         Reviewed by David Levin.
3004
3005         Add feature define for data transfer items
3006         https://bugs.webkit.org/show_bug.cgi?id=55510
3007
3008         * Configurations/FeatureDefines.xcconfig:
3009         * GNUmakefile.am:
3010         * features.pri:
3011
3012 2011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
3013
3014         Unreviewed. Roll out r80068 and r80073 due to breaking WebKit2 Qt port.
3015
3016         * dom/ViewportArguments.cpp:
3017         (WebCore::computeViewportAttributes):
3018         (WebCore::numericPrefix):
3019         (WebCore::findSizeValue):
3020         (WebCore::setViewportFeature):
3021         (WebCore::viewportErrorMessageTemplate):
3022         (WebCore::viewportErrorMessageLevel):
3023         * dom/ViewportArguments.h:
3024
3025 2011-03-01  Jeremy Orlow  <jorlow@chromium.org>
3026
3027         Reviewed by James Robinson.
3028
3029         IDBKeyRange.bound() should not use the optional options object
3030         https://bugs.webkit.org/show_bug.cgi?id=55419
3031
3032         http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#range-concept
3033
3034         Added some code to existing tests to cover these cases.
3035
3036         * storage/IDBKeyRange.cpp:
3037         (WebCore::IDBKeyRange::bound):
3038         * storage/IDBKeyRange.h:
3039         * storage/IDBKeyRange.idl:
3040
3041 2011-03-01  Dan Bernstein  <mitz@apple.com>
3042
3043         Build fix.
3044
3045         * dom/DocumentMarkerController.cpp:
3046         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
3047
3048 2011-03-01  Kent Tamura  <tkent@chromium.org>
3049
3050         Unreviewed. Apply sort-Xcode-project-file.
3051
3052         * WebCore.xcodeproj/project.pbxproj:
3053
3054 2011-03-01  Jeremy Orlow  <jorlow@chromium.org>
3055
3056         Reviewed by James Robinson.
3057
3058         V8 code generator doesn't properly support a single SerializedScriptValue attribute
3059         https://bugs.webkit.org/show_bug.cgi?id=55530
3060
3061         This is tested by the bindings tests changes.
3062
3063         * bindings/scripts/CodeGeneratorV8.pm:
3064         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp: Added.
3065         (WebDOMTestSerializedScriptValueInterface::WebDOMTestSerializedScriptValueInterfacePrivate::WebDOMTestSerializedScriptValueInterfacePrivate):
3066         (WebDOMTestSerializedScriptValueInterface::WebDOMTestSerializedScriptValueInterface):
3067         (WebDOMTestSerializedScriptValueInterface::operator=):
3068         (WebDOMTestSerializedScriptValueInterface::impl):
3069         (WebDOMTestSerializedScriptValueInterface::~WebDOMTestSerializedScriptValueInterface):
3070         (WebDOMTestSerializedScriptValueInterface::value):
3071         (toWebCore):
3072         (toWebKit):
3073         * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h: Added.
3074         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Added.
3075         (WebKit::kit):
3076         (webkit_dom_test_serialized_script_value_interface_get_value):
3077         (WebKit::core):
3078         (webkit_dom_test_serialized_script_value_interface_finalize):
3079         (webkit_dom_test_serialized_script_value_interface_set_property):
3080         (webkit_dom_test_serialized_script_value_interface_get_property):
3081         (webkit_dom_test_serialized_script_value_interface_constructed):
3082         (webkit_dom_test_serialized_script_value_interface_class_init):
3083         (webkit_dom_test_serialized_script_value_interface_init):
3084         (WebKit::wrapTestSerializedScriptValueInterface):
3085         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: Added.
3086         * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h: Added.
3087         * bindings/scripts/test/JS/JSTestInterface.cpp:
3088         (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
3089         (WebCore::JSTestInterface::JSTestInterface):
3090         * bindings/scripts/test/JS/JSTestInterface.h:
3091         * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
3092         (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
3093         (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
3094         (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
3095         * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
3096         * bindings/scripts/test/JS/JSTestObj.cpp:
3097         (WebCore::JSTestObjConstructor::JSTestObjConstructor):
3098         (WebCore::JSTestObj::JSTestObj):
3099         (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
3100         (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
3101         (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
3102         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
3103         (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
3104         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
3105         (WebCore::jsTestObjPrototypeFunctionIdbKey):
3106         (WebCore::jsTestObjPrototypeFunctionOptionsObject):
3107         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
3108         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
3109         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
3110         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
3111         (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
3112         (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
3113         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
3114         (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
3115         (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
3116         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
3117         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
3118         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
3119         (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
3120         (WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):
3121         * bindings/scripts/test/JS/JSTestObj.h:
3122         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Added.
3123         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
3124         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor):
3125         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot):
3126         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertyDescriptor):
3127         (WebCore::JSTestSerializedScriptValueInterfacePrototype::self):
3128         (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
3129         (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
3130         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
3131         (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
3132         (WebCore::jsTestSerializedScriptValueInterfaceValue):
3133         (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
3134         (WebCore::JSTestSerializedScriptValueInterface::getConstructor):
3135         (WebCore::toJS):
3136         (WebCore::toTestSerializedScriptValueInterface):
3137         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: Copied from Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h.
3138         (WebCore::JSTestSerializedScriptValueInterface::createStructure):
3139         (WebCore::JSTestSerializedScriptValueInterface::impl):
3140         (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
3141         (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
3142         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h: Added.
3143         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm: Added.
3144         (-[DOMTestSerializedScriptValueInterface dealloc]):
3145         (-[DOMTestSerializedScriptValueInterface finalize]):
3146         (-[DOMTestSerializedScriptValueInterface value]):
3147         (core):
3148         (kit):
3149         * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h: Added.
3150         * bindings/scripts/test/TestSerializedScriptValueInterface.idl: Added.
3151         * bindings/scripts/test/V8/V8TestInterface.cpp:
3152         (WebCore::ConfigureV8TestInterfaceTemplate):
3153         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: Copied from Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp.
3154         (WebCore::TestSerializedScriptValueInterfaceInternal::V8_USE):
3155         (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
3156         (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
3157         (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
3158         (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
3159         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
3160         (WebCore::V8TestSerializedScriptValueInterface::derefObject):
3161         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Added.
3162         (WebCore::V8TestSerializedScriptValueInterface::toNative):
3163         (WebCore::V8TestSerializedScriptValueInterface::wrap):
3164         (WebCore::toV8):
3165
3166 2011-03-01  Oliver Hunt  <oliver@apple.com>
3167
3168         Reviewed by Joseph Pecoraro.
3169
3170         Misaligned memory access in CloneDeserializer on all ARM arch.
3171         https://bugs.webkit.org/show_bug.cgi?id=48742
3172
3173         Push platforms that need aligned memory access down the
3174         endian independent serialization and deserialization
3175         paths.
3176
3177         * bindings/js/SerializedScriptValue.cpp:
3178
3179 2011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
3180
3181         Reviewed by Kenneth Rohde Christiansen.
3182
3183         Viewport Warning/Error Messages Are Now Inaccurate
3184         https://bugs.webkit.org/show_bug.cgi?id=53707
3185
3186         Correct and improve the error messages for viewport
3187         parsing. Clarify the difference between incorrect
3188         keys, values, and when to use the device-width or
3189         device-height constants.
3190
3191         * dom/ViewportArguments.cpp:
3192         (WebCore::computeViewportAttributes): suggest using keywords if fixed input matches device width or height.
3193         (WebCore::numericPrefix):
3194         (WebCore::findSizeValue): remove incorrect warnings about fixed numbers because we don't know the device width or height.
3195         (WebCore::setViewportFeature): report a warning for an unrecognized key.
3196         (WebCore::viewportErrorMessageTemplate): added template for unrecognized key.
3197         (WebCore::viewportErrorMessageLevel):
3198         * dom/ViewportArguments.h:
3199
3200 2011-03-01  Ryosuke Niwa  <rniwa@webkit.org>
3201
3202         Reviewed by Darin Adler.
3203
3204         WebKit does not merge text decorations in the typing style and the selected element properly
3205         https://bugs.webkit.org/show_bug.cgi?id=55349
3206
3207         The bug was caused by EditingStyle::mergeTypingStyle's not properly merging text decoration property.
3208         Fixed the bug by extracting a function from ApplyStyleCommand::pushDownInlineStyleAroundNode and
3209         calling it in pushDownInlineStyleAroundNode and in mergeTypingStyle.
3210
3211         Test: editing/execCommand/merge-text-decoration-with-typing-style.html
3212
3213         * editing/ApplyStyleCommand.cpp:
3214         (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Takes EditingStyle*;
3215         calls mergeInlineStyleOfElement.
3216         (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls applyInlineStyleToPushDown.
3217         (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
3218         * editing/ApplyStyleCommand.h:
3219         * editing/EditingStyle.cpp:
3220         (WebCore::EditingStyle::mergeTypingStyle): Added; calls mergeStyle.
3221         (WebCore::EditingStyle::mergeInlineStyleOfElement): Ditto.
3222         (WebCore::EditingStyle::mergeStyle): Extracted from applyInlineStyleToPushDown.
3223         * editing/EditingStyle.h:
3224
3225 2011-03-01  Levi Weintraub  <leviw@chromium.org>
3226
3227         Reviewed by Ryosuke Niwa.
3228
3229         Stop instantiating legacy editing Positions in VisiblePosition
3230         https://bugs.webkit.org/show_bug.cgi?id=52919
3231
3232         Changing VisiblePosition completely away from legacy positions.
3233
3234         No new tests since this is functionaly equivalent.
3235
3236         * WebCore.exp.in: Removing the legacy VisiblePosition constructor and
3237         adding the PositionIsOffsetInAnchor symbol. If we must create VisiblePositions
3238         outside of WebCore, they should be parent anchored.
3239         * accessibility/AXObjectCache.cpp:
3240         (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
3241         * accessibility/AccessibilityObject.cpp:
3242         (WebCore::startOfStyleRange):
3243         (WebCore::endOfStyleRange):
3244         * accessibility/AccessibilityRenderObject.cpp:
3245         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
3246         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3247         (objectAndOffsetUnignored):
3248         * dom/Position.cpp:
3249         (WebCore::Position::document): Added this inline function to avoid the necessity
3250         of calling anchorNode to assure a document from a Position.
3251         (WebCore::Position::upstream): Fixed to correctly respect PositionIsAfterAnchor
3252         (WebCore::Position::downstream): ditto
3253         * dom/Range.cpp:
3254         (WebCore::Range::editingStartPosition):
3255         * editing/Editor.cpp:
3256         (WebCore::Editor::canDeleteRange):
3257         * editing/ReplaceSelectionCommand.cpp:
3258         (WebCore::ReplaceSelectionCommand::doApply):
3259         * editing/SelectionController.cpp:
3260         (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
3261         (WebCore::SelectionController::setSelectedRange):
3262         * editing/TextIterator.cpp:
3263         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
3264         * editing/TypingCommand.cpp:
3265         (WebCore::TypingCommand::deleteKeyPressed):
3266         * editing/VisiblePosition.cpp:
3267         (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
3268         (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
3269         (WebCore::VisiblePosition::canonicalPosition):
3270         (WebCore::VisiblePosition::characterAfter):
3271         (WebCore::VisiblePosition::localCaretRect):
3272         (WebCore::makeRange):
3273         (WebCore::startVisiblePosition):
3274         (WebCore::endVisiblePosition):
3275         (WebCore::setStart):
3276         (WebCore::setEnd):
3277         (WebCore::isFirstVisiblePositionInNode):
3278         (WebCore::isLastVisiblePositionInNode):
3279         * editing/VisiblePosition.h:
3280         (WebCore::VisiblePosition::VisiblePosition):
3281         * editing/htmlediting.cpp:
3282         (WebCore::firstInSpecialElement):
3283         (WebCore::lastInSpecialElement):
3284         (WebCore::visiblePositionBeforeNode):
3285         (WebCore::visiblePositionAfterNode):
3286         * editing/visible_units.cpp:
3287         (WebCore::startPositionForLine):
3288         (WebCore::endPositionForLine):
3289         (WebCore::previousLinePosition):
3290         (WebCore::nextLinePosition):
3291         (WebCore::startOfParagraph):
3292         (WebCore::endOfParagraph):
3293         (WebCore::endOfBlock):
3294         (WebCore::startOfDocument):
3295         (WebCore::endOfDocument):
3296         (WebCore::logicalStartPositionForLine):
3297         (WebCore::logicalEndPositionForLine):
3298         * page/DOMSelection.cpp:
3299         (WebCore::DOMSelection::collapse):
3300         (WebCore::DOMSelection::setBaseAndExtent):
3301         (WebCore::DOMSelection::setPosition):
3302         (WebCore::DOMSelection::extend):
3303         * page/EventHandler.cpp:
3304         (WebCore::EventHandler::handleMousePressEventSingleClick):
3305         * rendering/RenderObject.cpp:
3306         (WebCore::RenderObject::createVisiblePosition):
3307         * rendering/RenderTextControl.cpp:
3308         (WebCore::RenderTextControl::visiblePositionForIndex):
3309         * svg/SVGTextContentElement.cpp:
3310         (WebCore::SVGTextContentElement::selectSubString):
3311
3312 2011-03-01  Jeremy Orlow  <jorlow@chromium.org>
3313
3314        Reviewed by Steve Block.
3315
3316        When an IDBTransaction is aborted, all requests that have not yet fired should fire an ABORT_ERR
3317        https://bugs.webkit.org/show_bug.cgi?id=54785
3318
3319        This patch adds in a lot of sanity checks/ASSERTs to make sure we're doing
3320        the right thing and continue to do the right thing. It also modifies EventQueue
3321        so that we can cancel an event. To do this efficiently, the vector is now a
3322        ListHashSet.
3323
3324        Cancelling the event is harder/messier, but the most deterministic thing to do.
3325        To the user, the work isn't done until we fire the onsuccess/onerror handler.
3326        So the event (which does fire that) needs to be cancelable.
3327
3328        transaction-abort.html tests this.
3329
3330        * dom/EventQueue.cpp:
3331        (WebCore::EventQueue::enqueueEvent):
3332        (WebCore::EventQueue::cancelEvent):
3333        (WebCore::EventQueue::pendingEventTimerFired):
3334        (WebCore::EventQueue::dispatchEvent):
3335        * dom/EventQueue.h:
3336        * dom/ExceptionCode.cpp:
3337        * storage/IDBCursor.cpp:
3338        (WebCore::IDBCursor::update):
3339        (WebCore::IDBCursor::deleteFunction):
3340        * storage/IDBDatabaseBackendImpl.cpp:
3341        (WebCore::IDBDatabaseBackendImpl::close):
3342        * storage/IDBDatabaseException.h:
3343        * storage/IDBIndex.cpp:
3344        (WebCore::IDBIndex::openCursor):
3345        (WebCore::IDBIndex::openKeyCursor):
3346        (WebCore::IDBIndex::get):
3347        (WebCore::IDBIndex::getKey):
3348        * storage/IDBObjectStore.cpp:
3349        (WebCore::IDBObjectStore::get):
3350        (WebCore::IDBObjectStore::add):
3351        (WebCore::IDBObjectStore::put):
3352        (WebCore::IDBObjectStore::deleteFunction):
3353        (WebCore::IDBObjectStore::clear):
3354        (WebCore::IDBObjectStore::openCursor):
3355        * storage/IDBRequest.cpp:
3356        (WebCore::IDBRequest::IDBRequest):
3357        (WebCore::IDBRequest::~IDBRequest):
3358        (WebCore::IDBRequest::readyState):
3359        (WebCore::IDBRequest::markEarlyDeath):
3360        (WebCore::IDBRequest::source):
3361        (WebCore::IDBRequest::abort):
3362        (WebCore::IDBRequest::onSuccess):
3363        (WebCore::IDBRequest::dispatchEvent):
3364        (WebCore::IDBRequest::enqueueEvent):
3365        * storage/IDBRequest.h:
3366        * storage/IDBTransaction.cpp:
3367        (WebCore::IDBTransaction::registerRequest):
3368        (WebCore::IDBTransaction::unregisterRequest):
3369        (WebCore::IDBTransaction::onAbort):
3370        * storage/IDBTransaction.h:
3371
3372 2011-03-01  Jeremy Orlow  <jorlow@chromium.org>
3373
3374         Reviewed by Mihai Parparita.
3375
3376         EventQueue needs to be ref counted
3377         https://bugs.webkit.org/show_bug.cgi?id=55512
3378
3379         EventQueue needs to be ref counted because it's possible for its instance
3380         to be deleted while it's dispatching events. This is the reason why
3381         https://bugs.webkit.org/show_bug.cgi?id=54785 had to be reverted.
3382
3383         No change of behavior, so no tests.
3384
3385         * dom/Document.h:
3386         * dom/EventQueue.cpp:
3387         (WebCore::EventQueue::create):
3388         * dom/EventQueue.h:
3389
3390 2011-03-01  Helder Correia  <helder@sencha.com>
3391
3392         Reviewed by Simon Fraser.
3393
3394         No shadow when stroking a path with a gradient
3395         https://bugs.webkit.org/show_bug.cgi?id=55436
3396
3397         This happens in CG and is related to bug 52509, this time to be fixed
3398         in GraphicsContext::strokePath(). The gradient needs to be drawn
3399         clipped to the stroke on a CGLayer first, then the layer drawn on the
3400         GraphicsContext.
3401
3402         Tests: fast/canvas/canvas-strokePath-gradient-shadow.html
3403                svg/css/path-gradient-stroke-shadow.svg
3404
3405         * platform/graphics/cg/GraphicsContextCG.cpp:
3406         (WebCore::GraphicsContext::strokePath):
3407
3408 2011-03-01  David Hyatt  <hyatt@apple.com>
3409
3410         Reviewed by Dan Bernstein.
3411
3412         Fix Font::spaceWidth() to be a float instead of an int.
3413
3414         * platform/graphics/Font.h:
3415         (WebCore::Font::spaceWidth):
3416
3417 2011-02-28  Steve Block  <steveblock@google.com>
3418
3419         Reviewed by Jeremy Orlow.
3420
3421         Chromium gypi file should include Java bridge files from WebCore/bridge
3422         https://bugs.webkit.org/show_bug.cgi?id=55387
3423
3424         No new tests, no code changes.
3425
3426         * WebCore.gyp/WebCore.gyp:
3427         * WebCore.gypi:
3428
3429 2011-03-01  James Simonsen  <simonjam@chromium.org>
3430
3431         Reviewed by Tony Gentilcore.
3432
3433         [Web Timing] Handle the case where no responseEnd time is available.
3434         https://bugs.webkit.org/show_bug.cgi?id=55444
3435
3436         * loader/MainResourceLoader.cpp:
3437         (WebCore::MainResourceLoader::MainResourceLoader): Initialize to 0.
3438         (WebCore::MainResourceLoader::didFinishLoading): Fall back to current time if no other time is available.
3439
3440 2011-03-01  Patrick Gansterer  <paroga@webkit.org>
3441
3442         Unreviewed, adding missing change for r80034.
3443
3444         Add a handler class for Win32 HANDLE
3445         https://bugs.webkit.org/show_bug.cgi?id=55334
3446
3447         * platform/win/Win32Handle.h: Added missing WTF_MAKE_NONCOPYABLE macro.
3448
3449 2011-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
3450
3451         Unreviewed, rolling out r80037.
3452         http://trac.webkit.org/changeset/80037
3453         https://bugs.webkit.org/show_bug.cgi?id=55508
3454
3455         broke compile on SL (Requested by tonyg-cr on #webkit).
3456
3457         * Android.mk:
3458         * CMakeLists.txt:
3459         * GNUmakefile.am:
3460         * WebCore.gypi:
3461         * WebCore.pro:
3462         * WebCore.vcproj/WebCore.vcproj:
3463         * WebCore.xcodeproj/project.pbxproj:
3464         * css/CSSParser.cpp:
3465         (WebCore::CSSParser::parseValue):
3466         * css/CSSParser.h:
3467         * css/CSSStyleSelector.cpp:
3468         (WebCore::CSSStyleSelector::applyProperty):
3469         * css/html.css:
3470         (q:before):
3471         (q:after):
3472         * rendering/RenderBlockLineLayout.cpp:
3473         (WebCore::dirtyLineBoxesForRenderer):
3474         * rendering/RenderObject.h:
3475         * rendering/RenderObjectChildList.cpp:
3476         (WebCore::RenderObjectChildList::removeChildNode):
3477         (WebCore::RenderObjectChildList::appendChildNode):
3478         (WebCore::RenderObjectChildList::insertChildNode):
3479         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
3480         * rendering/RenderQuote.cpp: Removed.
3481         * rendering/RenderQuote.h: Removed.
3482         * rendering/RenderingAllInOne.cpp:
3483         * rendering/style/ContentData.cpp:
3484         (WebCore::ContentData::dataEquivalent):
3485         (WebCore::ContentData::deleteContent):
3486         * rendering/style/ContentData.h:
3487         * rendering/style/QuotesData.cpp: Removed.
3488