6034a74b547c4bc5071a2e38685442ba423ea1c8
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-05-18  Kenneth Russell  <kbr@google.com>
2
3         Reviewed by James Robinson.
4
5         [chromium] Disable blending in compositor for WebGL layers with alpha=false
6         https://bugs.webkit.org/show_bug.cgi?id=61091
7
8         Test: compositing/webgl/webgl-no-alpha.html
9
10         * platform/graphics/chromium/CanvasLayerChromium.cpp:
11         (WebCore::CanvasLayerChromium::CanvasLayerChromium):
12         (WebCore::CanvasLayerChromium::pushPropertiesTo):
13         * platform/graphics/chromium/CanvasLayerChromium.h:
14         * platform/graphics/chromium/WebGLLayerChromium.cpp:
15         (WebCore::WebGLLayerChromium::setContext):
16         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
17         (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl):
18         (WebCore::CCCanvasLayerImpl::draw):
19         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
20         (WebCore::CCCanvasLayerImpl::setHasAlpha):
21
22 2011-05-18  Jeremy Noble  <jer.noble@apple.com>
23
24         Reviewed by Darin Adler.
25
26         Poster is not shown in Safari for video element with no playable source elements.
27         https://bugs.webkit.org/show_bug.cgi?id=61109
28
29         Test: media/video-src-invalid-poster.html
30
31         In the case where no video sources are playable, update the display state and 
32         renderer, allowing the poster image to display.
33
34         * html/HTMLMediaElement.cpp:
35         (WebCore::HTMLMediaElement::waitForSourceChange): 
36
37 2011-05-19  Andrew Wilson  <atwilson@chromium.org>
38
39         Reviewed by Darin Adler.
40
41         MessagePortArray cloning code needs to verify source before copying.
42         https://bugs.webkit.org/show_bug.cgi?id=61130
43
44         * bindings/js/JSMessagePortCustom.cpp:
45         (WebCore::fillMessagePortArray):
46         Changed code to not pre-allocate the destination array.
47         * bindings/v8/custom/V8MessagePortCustom.cpp:
48         (WebCore::getMessagePortArray):
49         Changed code to not pre-allocate the destination array.
50
51 2011-05-19  Sheriff Bot  <webkit.review.bot@gmail.com>
52
53         Unreviewed, rolling out r86869, r86873, r86875, and r86877.
54         http://trac.webkit.org/changeset/86869
55         http://trac.webkit.org/changeset/86873
56         http://trac.webkit.org/changeset/86875
57         http://trac.webkit.org/changeset/86877
58         https://bugs.webkit.org/show_bug.cgi?id=61139
59
60         broke builds and debug DRT (Requested by rniwa on #webkit).
61
62         * DerivedSources.make:
63         * WebCore.exp.in:
64         * WebCore.gyp/WebCore.gyp:
65         * WebCore.gypi:
66         * WebCore.xcodeproj/project.pbxproj:
67         * testing/Internals.cpp: Removed.
68         * testing/Internals.h: Removed.
69         * testing/Internals.idl: Removed.
70         * testing/js/WebCoreTestSupport.cpp: Removed.
71         * testing/js/WebCoreTestSupport.h: Removed.
72         * testing/v8/WebCoreTestSupport.cpp: Removed.
73         * testing/v8/WebCoreTestSupport.h: Removed.
74
75 2011-05-19  Dimitri Glazkov  <dglazkov@chromium.org>
76
77         One more fix after r86869.
78
79         * WebCore.exp.in: Made __ZN7WebCore12JSDOMWrapperD2Ev only export for debug builds.
80
81 2011-05-19  Anders Carlsson  <andersca@apple.com>
82
83         Add two more symbols needed by the window.internals library.
84
85         * WebCore.exp.in:
86
87 2011-05-19  Dimitri Glazkov  <dglazkov@chromium.org>
88
89         Fix Leopard build after r86869.
90
91         * WebCore.exp.in: Moved now-always-used exported symbols out of the conditional guard.
92
93 2011-05-19  Robert Hogan  <robert@webkit.org>
94
95         Reviewed by Andreas Kling.
96
97         [Qt] Fix plugins/windowless_plugin_paint_test.html
98         https://bugs.webkit.org/show_bug.cgi?id=60992
99
100         Call gdk_init_check before gdk_display_get_default().
101         If we don't do this, gdk_display_get_default() will hang
102         the next time it's called.
103
104         * plugins/qt/PluginViewQt.cpp:
105         (WebCore::getPluginDisplay):
106
107 2011-05-18  Dimitri Glazkov  <dglazkov@chromium.org>
108
109         Reviewed by Darin Adler.
110
111         Add build logistics and plumbing for window.internals object.
112         https://bugs.webkit.org/show_bug.cgi?id=60313
113
114         Test: fast/harness/internals-object.html
115
116         * DerivedSources.make: Added support for generating from Internals.idl.
117         * WebCore.gyp/WebCore.gyp: Added new webcore_test_support library.
118         * WebCore.gypi: Ditto.
119         * WebCore.xcodeproj/project.pbxproj: Added WebCoreTestSupport library.
120         * testing/Internals.cpp: Added.
121         * testing/Internals.h: Added.
122         * testing/Internals.idl: Added.
123         * testing/js/WebCoreTestSupport.cpp: Added.
124         * testing/js/WebCoreTestSupport.h: Added.
125         * testing/v8/WebCoreTestSupport.cpp: Added.
126         * testing/v8/WebCoreTestSupport.h: Added.
127
128 2011-05-19  Dimitri Glazkov  <dglazkov@chromium.org>
129
130         Accept XCode's decisions to keep modifying WebCore.xcodeproj.
131
132         * WebCore.xcodeproj/project.pbxproj: Opened in XCode then closed.
133
134 2011-05-19  Andrew Wason  <rectalogic@rectalogic.com>
135
136         Reviewed by Darin Adler.
137
138         Fix GraphicsContext3DQt.cpp compile error
139         https://bugs.webkit.org/show_bug.cgi?id=61128
140
141         * platform/graphics/qt/GraphicsContext3DQt.cpp:
142         (WebCore::GraphicsContext3D::GraphicsContext3D):
143          clear() m_internal OwnPtr.
144
145 2011-05-19  Tonis Tiigi  <tonistiigi@gmail.com>
146
147         Reviewed by Pavel Feldman.
148
149         Web Inspector: Resizing columns in the network panel is weird
150         https://bugs.webkit.org/show_bug.cgi?id=55238
151
152         Makes network panel column resizing more usable by adding "first only" and "last only"
153         resizing methods to WebInspector.DataGrid. Current behavior is named "nearest" and
154         remains default. Network panels datagrid is set to use method "last".
155
156         * inspector/front-end/DataGrid.js:
157         (WebInspector.DataGrid.prototype.get resizeMethod):
158         (WebInspector.DataGrid.prototype.set resizeMethod):
159         (WebInspector.DataGrid.prototype._resizerDragging):
160         * inspector/front-end/NetworkPanel.js:
161         (WebInspector.NetworkPanel.prototype._createTable):
162
163 2011-05-19  Ryosuke Niwa  <rniwa@webkit.org>
164
165         Reviewed by Darin Adler.
166
167         JoinTextNodesCommand is never used
168         https://bugs.webkit.org/show_bug.cgi?id=61089
169
170         Deleted JoinTextNodesCommand because it's never used.
171
172         * CMakeLists.txt:
173         * GNUmakefile.list.am:
174         * WebCore.gypi:
175         * WebCore.pro:
176         * WebCore.vcproj/WebCore.vcproj:
177         * WebCore.xcodeproj/project.pbxproj:
178         * editing/CompositeEditCommand.cpp:
179         * editing/CompositeEditCommand.h:
180         * editing/EditingAllInOne.cpp:
181         * editing/JoinTextNodesCommand.cpp: Removed.
182         * editing/JoinTextNodesCommand.h: Removed.
183
184 2011-05-19  Ryosuke Niwa  <rniwa@webkit.org>
185
186         Reviewed by Darin Adler.
187
188         REGRESSION (r83322): Many crashes in Mail.app in WebCore::Node::nodeIndex
189         https://bugs.webkit.org/show_bug.cgi?id=61012
190
191         The crash was caused by ReplaceSelectionCommand's inserting content into a middle of the paragraph
192         being moved when the insertion position's container node is the node to split to. Fixed the crash
193         by not changing the insertion position in such a case.
194
195         Unfortunately, this fix caused markup to bloat in some tests but we'll take this regression since
196         it's much better than crashing.
197
198         Test: editing/pasteboard/paste-after-inline-style-element.html
199
200         * editing/ReplaceSelectionCommand.cpp:
201         (WebCore::ReplaceSelectionCommand::doApply):
202
203 2011-05-19  Brady Eidson  <beidson@apple.com>
204
205         Try to fix SUPPORT_AUTOCORRECTION_PANEL build.
206
207         * editing/SpellingCorrectionController.cpp:
208         (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
209         (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):
210
211 2011-05-19  Darin Adler  <darin@apple.com>
212
213         Try to fix SUPPORT_AUTOCORRECTION_PANEL build.
214
215         * editing/SpellingCorrectionController.cpp:
216         (WebCore::markersHaveIdenticalDescription): Call description() function.
217
218 2011-05-19  Andrey Adaikin  <aandrey@google.com>
219
220         Reviewed by Pavel Feldman.
221
222         Web Inspector: switch to Scripts panel is too slow
223         https://bugs.webkit.org/show_bug.cgi?id=61030
224
225         - It is very expensive to listen to the DOM mutation events, thus we remove the listeners whenever we do any internal
226         DOM manipulations (such as expand/collapse line rows) and set the listeners back when we are finished.
227         - Also, when we switch to the Scripts panel that have a non-zero scrollTop offset, we would do the rendering work twice.
228
229         * inspector/front-end/SourceFrame.js:
230         (WebInspector.SourceFrame.prototype.show):
231         * inspector/front-end/TextViewer.js:
232         (WebInspector.TextEditorMainPanel):
233         (WebInspector.TextEditorMainPanel.prototype.beginDomUpdates):
234         (WebInspector.TextEditorMainPanel.prototype.endDomUpdates):
235         (WebInspector.TextEditorMainPanel.prototype._enableDOMNodeRemovedListener):
236         (WebInspector.TextEditorMainChunk):
237         (WebInspector.TextEditorMainChunk.prototype.set expanded):
238         (WebInspector.TextEditorMainChunk.prototype._createRow):
239
240 2011-05-19  Pavel Feldman  <pfeldman@google.com>
241
242         Not reviewed: inspector protocol tests fixed.
243
244         * inspector/InjectedScriptSource.js:
245
246 2011-05-19  David Grogan  <dgrogan@chromium.org>
247
248         Reviewed by David Levin.
249
250         Make EventQueue post a Task to the task queue for each asynchronous event
251         https://bugs.webkit.org/show_bug.cgi?id=60790
252
253         Currently EventQueue queues up events to be fired asynchronously and
254         fires each of them when a single DOMTimer goes off.  In the words of
255         dimich, "Having 2 queues will sooner or later cause problems with
256         ordering of tasks, termination, suspension and other things that all
257         require some control on how queues operate."
258
259         No new tests; this is just a refactoring to avoid potential future
260         problems.
261
262         * dom/EventQueue.cpp:
263         (WebCore::EventQueue::EventQueue):
264         (WebCore::EventQueue::EventDispatcherTask::create):
265         (WebCore::EventQueue::EventDispatcherTask::dispatchEvent):
266         (WebCore::EventQueue::EventDispatcherTask::performTask):
267         (WebCore::EventQueue::EventDispatcherTask::cancel):
268         (WebCore::EventQueue::EventDispatcherTask::EventDispatcherTask):
269         (WebCore::EventQueue::removeEvent):
270         (WebCore::EventQueue::enqueueEvent):
271         (WebCore::EventQueue::enqueueOrDispatchScrollEvent):
272         (WebCore::EventQueue::cancelEvent):
273         (WebCore::EventQueue::cancelQueuedEvents):
274         * dom/EventQueue.h:
275
276 2011-05-18  Yury Semikhatsky  <yurys@chromium.org>
277
278         Reviewed by Pavel Feldman.
279
280         InjectedScriptSource.js - "Don't be eval()."
281         https://bugs.webkit.org/show_bug.cgi?id=60800
282
283         Thanks to Adam Barth for providing JSC implementation!
284
285         InjectedScriptHost.evaluate is used to perform script evaluations for
286         inspector needs. This method is not affected by CSP and should fix inspector
287         on pages with CSP restrictions.
288
289         Test: inspector/console/console-eval-blocked.html
290
291         * bindings/js/JSInjectedScriptHostCustom.cpp:
292         (WebCore::JSInjectedScriptHost::evaluate):
293         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
294         (WebCore::V8InjectedScriptHost::evaluateCallback):
295         (WebCore::V8InjectedScriptHost::inspectedNodeCallback):
296         * inspector/InjectedScriptHost.idl:
297         * inspector/InjectedScriptSource.js:
298         (.):
299
300 2011-05-19  Pavel Feldman  <pfeldman@google.com>
301
302         Reviewed by Yury Semikhatsky.
303
304         Web Inspector: expose object class name as a part of RemoteObject mirror.
305         https://bugs.webkit.org/show_bug.cgi?id=61067
306
307         * inspector/InjectedScriptSource.js:
308         * inspector/Inspector.json:
309
310 2011-05-19  Pavel Feldman  <pfeldman@google.com>
311
312         Reviewed by Yury Semikhatsky.
313
314         Web Inspector: make "this" a part of callFrame, not scope in the protocol.
315         https://bugs.webkit.org/show_bug.cgi?id=61057
316
317         * inspector/InjectedScriptSource.js:
318         * inspector/Inspector.json:
319         * inspector/front-end/ScopeChainSidebarPane.js:
320         (WebInspector.ScopeChainSidebarPane.prototype.update):
321
322 2011-05-19  Kent Tamura  <tkent@chromium.org>
323
324         Reviewed by Hajime Morita.
325
326         tooLong validity should not be true for a value set by a script
327         https://bugs.webkit.org/show_bug.cgi?id=60948
328
329         The specification has been updated so that tooLong should be true only
330         for user-edit values.
331         
332         Introduce m_wasModifiedByUser flag to HTMLInputElement and
333         HTMLTextAreaElemnt. It is set to true when a renderer updates the
334         value, and is cleared when the value is updated by others.
335
336         * html/HTMLInputElement.cpp:
337         (WebCore::HTMLInputElement::HTMLInputElement):
338           Initialize m_wasModifiedByUser.
339         (WebCore::HTMLInputElement::tooLong):
340           Skip the check if m_wasModifiedByUser is false.
341         (WebCore::HTMLInputElement::updateType): Clear m_wasModifiedByUser.
342         (WebCore::HTMLInputElement::copyNonAttributeProperties):
343         (WebCore::HTMLInputElement::setValue): If sendChange is true,
344           m_wasModifiedByUser should be true because sendChange is set in a case
345           of form auto-fill.  We assume a value set by form auto-fill is a kind
346           of user-edit.
347         (WebCore::HTMLInputElement::setValueFromRenderer):
348           m_wasModifiedByUser should be true for the update by a renderer.
349         * html/HTMLInputElement.h: Declare m_wasModifiedByUser.
350         * html/HTMLTextAreaElement.cpp:
351         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
352           Initialize m_wasModifiedByUser.
353         (WebCore::HTMLTextAreaElement::updateValue):
354           m_wasModifiedByUser should be true for the update by a renderer.
355         (WebCore::HTMLTextAreaElement::setValueCommon): Clear m_wasModifiedByUser.
356         (WebCore::HTMLTextAreaElement::tooLong):
357           Skip the check if m_wasModifiedByUser is false.
358         * html/HTMLTextAreaElement.h: Declare m_wasModifiedByUser.
359
360 2011-05-19  David Barr  <davidbarr@chromium.org>
361
362         Reviewed by Simon Fraser.
363
364         CSS3: We fail 'border radius sum of radii' test
365         https://bugs.webkit.org/show_bug.cgi?id=38788
366
367         Ignore border-radius properties with negative values.
368
369         Test: fast/css/border-radius-non-negative.html
370
371         * WebCore.xcodeproj/project.pbxproj:
372         * css/CSSParser.cpp:
373         (WebCore::CSSParser::parseValue):
374         (WebCore::CSSParser::parseBorderRadius):
375
376 2011-05-19  Yuta Kitamura  <yutak@chromium.org>
377
378         Reviewed by Kent Tamura.
379
380         WebSocket: Use ScriptContext::Task to hold pending events of ThreadableWebSocketChannelClientWrapper
381         https://bugs.webkit.org/show_bug.cgi?id=61034
382
383         Refactoring only. No new tests.
384
385         * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
386         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
387         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
388         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
389         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
390         (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
391         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
392         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
393         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
394         (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
395         * websockets/ThreadableWebSocketChannelClientWrapper.h:
396         Remove m_pendingConnected, m_pendingMessages and m_pendingClosed, and use ScriptContext::Task
397         to hold these pending events.
398
399 2011-05-19  Emil A Eklund  <eae@chromium.org>
400
401         Reviewed by Alexey Proskuryakov.
402
403         REGRESSION (r80808): Multiple <select> - Selection reset to first element from multiple selected ones
404         https://bugs.webkit.org/show_bug.cgi?id=60986
405
406         * html/HTMLSelectElement.cpp:
407         (WebCore::HTMLSelectElement::setMultiple):
408         Don't restore selection if the multiple attribute hasn't changed.
409
410 2011-05-18  Fumitoshi Ukai  <ukai@chromium.org>
411
412         Reviewed by Alexey Proskuryakov.
413
414         http/tests/websocket/tests/workers/worker-handshake-challenge-randomness.html crashed once on Windows XP Debug (Tests)
415         https://bugs.webkit.org/show_bug.cgi?id=57048
416
417         * platform/network/cf/SocketStreamHandleCFNet.cpp:
418         (WebCore::SocketStreamHandle::platformClose): use loaderRunLoop to schedule streams on platform WIN
419
420 2011-05-18  MORITA Hajime  <morrita@google.com>
421
422         Unreviewed attempt to fix clang build.
423
424         * rendering/InlineTextBox.h:
425
426 2011-05-18  Nat Duca  <nduca@chromium.org>
427
428         Reviewed by James Robinson.
429
430         [chromium] Add histograms for paint times
431         https://bugs.webkit.org/show_bug.cgi?id=61010
432
433         * platform/graphics/chromium/ContentLayerChromium.cpp:
434         (WebCore::ContentLayerPainter::paint):
435
436 2011-05-18  Adrienne Walker  <enne@google.com>
437
438         Reviewed by James Robinson.
439
440         [chromium] Fix incorrect size when clipping image layer upload rects
441         https://bugs.webkit.org/show_bug.cgi?id=61105
442
443         The clipped destination and source rects should have the same size.
444
445         * platform/graphics/chromium/ImageLayerChromium.cpp:
446         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
447
448 2011-05-17  MORITA Hajime  <morrita@google.com>
449
450         Reviewed by Tony Chang.
451
452         [Refactoring] Member variables of DocumentMarker should be encapsulated.
453         https://bugs.webkit.org/show_bug.cgi?id=56814
454
455         - Moved DocumentMarker's member variables to private and added getters for them.
456         - Added DocumentMarker setters and constructors, which contain assertions against m_type values
457           because description and activeMatch are used with specific type of MarkerType.
458         - Moved chromium's WebKit::WebFrameImpl::addMarker() to DocumentMarkerController::addTextMatchMarker()
459           because it accesses DocumentMarker internals.
460         - Moved a version of DMC::addMarker() to private and add alternatives that hide
461           internals of DocumentMarker. (The internal will be renewed by upcoming change.)
462         
463         * dom/DocumentMarker.h:
464         (WebCore::DocumentMarker::type):
465         (WebCore::DocumentMarker::startOffset):
466         (WebCore::DocumentMarker::endOffset):
467         (WebCore::DocumentMarker::description):
468         (WebCore::DocumentMarker::hasDescription):
469         (WebCore::DocumentMarker::activeMatch):
470         (WebCore::DocumentMarker::clearDescription):
471         (WebCore::DocumentMarker::setStartOffset):
472         (WebCore::DocumentMarker::setEndOffset):
473         (WebCore::DocumentMarker::operator==):
474         (WebCore::DocumentMarker::DocumentMarker):
475         (WebCore::DocumentMarker::shiftOffsets):
476         (WebCore::DocumentMarker::setActiveMatch):
477         * dom/DocumentMarkerController.cpp:
478         (WebCore::DocumentMarkerController::addMarker):
479         (WebCore::DocumentMarkerController::addTextMatchMarker):
480         (WebCore::DocumentMarkerController::copyMarkers):
481         (WebCore::DocumentMarkerController::removeMarkers):
482         (WebCore::DocumentMarkerController::markerContainingPoint):
483         (WebCore::DocumentMarkerController::markersInRange):
484         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
485         (WebCore::DocumentMarkerController::removeMarkersFromList):
486         (WebCore::DocumentMarkerController::repaintMarkers):
487         (WebCore::DocumentMarkerController::shiftMarkers):
488         (WebCore::DocumentMarkerController::setMarkersActive):
489         (WebCore::DocumentMarkerController::hasMarkers):
490         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
491         (WebCore::DocumentMarkerController::showMarkers):
492         * dom/DocumentMarkerController.h:
493         * editing/CompositeEditCommand.cpp:
494         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
495         * editing/DeleteSelectionCommand.cpp:
496         (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
497         * editing/Editor.cpp:
498         (WebCore::Editor::selectionStartHasMarkerFor):
499         * editing/SpellingCorrectionController.cpp:
500         (WebCore::SpellingCorrectionController::respondToChangedSelection):
501         * editing/SpellingCorrectionController.h:
502         (WebCore::SpellingCorrectionController::shouldStartTimerFor):
503         * rendering/HitTestResult.cpp:
504         (WebCore::HitTestResult::spellingToolTip):
505         (WebCore::HitTestResult::replacedString):
506         * rendering/InlineTextBox.cpp:
507         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
508         (WebCore::InlineTextBox::paintTextMatchMarker):
509         (WebCore::InlineTextBox::computeRectForReplacementMarker):
510         (WebCore::InlineTextBox::paintDocumentMarkers):
511         * rendering/svg/SVGInlineFlowBox.cpp:
512         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
513
514 2011-05-18  Oliver Hunt  <oliver@apple.com>
515
516         Reviewed by Geoffrey Garen.
517
518         +[WebScriptObject throwException:] doesn't work when invoked from obj-c field access
519         https://bugs.webkit.org/show_bug.cgi?id=61100
520
521         The objc bindings were written to assume exceptions would
522         come from obj-c style exceptions, rather than throwException:
523         This code simply calls the global ObjcInstance mechanism for
524         transferring the reported exception.
525
526         * bridge/objc/objc_instance.h:
527         * bridge/objc/objc_runtime.mm:
528         (JSC::Bindings::ObjcField::valueFromInstance):
529         (JSC::Bindings::ObjcField::setValueToInstance):
530
531 2011-05-16  Adrienne Walker  <enne@google.com>
532
533         Reviewed by James Robinson.
534
535         [chromium] Robustly handle mapTexSubImage2D returning NULL
536         https://bugs.webkit.org/show_bug.cgi?id=60934
537
538         Also, lazily create the temp buffer so that both the map and non-map
539         cases can use it.
540
541         * platform/graphics/chromium/LayerTextureSubImage.cpp:
542         (WebCore::LayerTextureSubImage::setSubImageSize):
543         (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
544         (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
545
546 2011-05-18  Emil A Eklund  <eae@chromium.org>
547
548         Reviewed by Darin Adler.
549
550         Change RenderTextControl::hitInnerTextElement to use IntPoint
551         https://bugs.webkit.org/show_bug.cgi?id=61003
552
553         Covered by existing tests.
554
555         * rendering/RenderTextControl.cpp:
556         (WebCore::RenderTextControl::hitInnerTextElement):
557         * rendering/RenderTextControl.h:
558         * rendering/RenderTextControlMultiLine.cpp:
559         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
560         * rendering/RenderTextControlSingleLine.cpp:
561         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
562
563 2011-05-18  Chris Fleizach  <cfleizach@apple.com>
564
565         Reviewed by Maciej Stachowiak.
566
567         WK2: VoiceOver cannot move focus into a web area programmatically
568         https://bugs.webkit.org/show_bug.cgi?id=60661
569
570         Accessibility code relies on the ability to bring focus to the containing widget view.
571         In WK2, that message needs to be propagated to the UI process.
572
573         * page/ChromeClient.h:
574         (WebCore::ChromeClient::makeFirstResponder):
575         * page/mac/ChromeMac.mm:
576         (WebCore::Chrome::focusNSView):
577         * platform/mac/WidgetMac.mm:
578         (WebCore::Widget::setFocus):
579
580 2011-05-18  Alok Priyadarshi  <alokp@chromium.org> and Adrienne Walker  <enne@google.com>
581
582         Reviewed by James Robinson.
583
584         [chromium] Split canvas from LayerTilerChromium
585         https://bugs.webkit.org/show_bug.cgi?id=60719
586
587         LayerTilerChromium now just does tiling. It delegates the task of painting and updating textures to LayerTextureUpdater.
588         Also abstracted LayerTextureSubImage to upload texture pixels.
589
590         * WebCore.gypi:
591         * platform/chromium/TraceEvent.h:
592         * platform/graphics/chromium/ContentLayerChromium.cpp:
593         (WebCore::ContentLayerChromium::create):
594         (WebCore::ContentLayerChromium::ContentLayerChromium):
595         (WebCore::ContentLayerChromium::~ContentLayerChromium):
596         (WebCore::ContentLayerChromium::paintContentsIfDirty):
597         (WebCore::ContentLayerChromium::cleanupResources):
598         (WebCore::ContentLayerChromium::setLayerRenderer):
599         (WebCore::ContentLayerChromium::createTextureUpdater):
600         (WebCore::ContentLayerChromium::drawsContent):
601         (WebCore::ContentLayerChromium::createTilerIfNeeded):
602         (WebCore::ContentLayerChromium::updateCompositorResources):
603         * platform/graphics/chromium/ContentLayerChromium.h:
604         * platform/graphics/chromium/ImageLayerChromium.cpp:
605         (WebCore::ImageLayerTextureUpdater::ImageLayerTextureUpdater):
606         (WebCore::ImageLayerTextureUpdater::~ImageLayerTextureUpdater):
607         (WebCore::ImageLayerTextureUpdater::orientation):
608         (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
609         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
610         (WebCore::ImageLayerTextureUpdater::imageRect):
611         (WebCore::ImageLayerChromium::paintContentsIfDirty):
612         (WebCore::ImageLayerChromium::updateCompositorResources):
613         (WebCore::ImageLayerChromium::createTextureUpdater):
614         * platform/graphics/chromium/ImageLayerChromium.h:
615         * platform/graphics/chromium/LayerPainterChromium.h: Added.
616         * platform/graphics/chromium/LayerRendererChromium.cpp:
617         (WebCore::LayerRendererChromium::create):
618         (WebCore::LayerRendererChromium::LayerRendererChromium):
619         (WebCore::LayerRendererChromium::updateRootLayerContents):
620         (WebCore::LayerRendererChromium::drawRootLayer):
621         (WebCore::LayerRendererChromium::updateAndDrawLayers):
622         (WebCore::LayerRendererChromium::updateLayers):
623         * platform/graphics/chromium/LayerRendererChromium.h:
624         * platform/graphics/chromium/LayerTextureSubImage.cpp: Added.
625         (WebCore::LayerTextureSubImage::LayerTextureSubImage):
626         (WebCore::LayerTextureSubImage::~LayerTextureSubImage):
627         (WebCore::LayerTextureSubImage::setSubImageSize):
628         (WebCore::LayerTextureSubImage::upload):
629         (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
630         (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
631         * platform/graphics/chromium/LayerTextureSubImage.h: Copied from Source/WebCore/platform/chromium/TraceEvent.h.
632         * platform/graphics/chromium/LayerTextureUpdater.h: Copied from Source/WebCore/platform/chromium/TraceEvent.h.
633         (WebCore::LayerTextureUpdater::LayerTextureUpdater):
634         (WebCore::LayerTextureUpdater::~LayerTextureUpdater):
635         (WebCore::LayerTextureUpdater::context):
636         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Added.
637         (WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
638         (WebCore::LayerTextureUpdaterCanvas::paintContents):
639         (WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
640         (WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
641         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
642         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Added.
643         (WebCore::LayerTextureUpdaterCanvas::~LayerTextureUpdaterCanvas):
644         (WebCore::LayerTextureUpdaterCanvas::contentRect):
645         (WebCore::LayerTextureUpdaterBitmap::~LayerTextureUpdaterBitmap):
646         (WebCore::LayerTextureUpdaterBitmap::orientation):
647         * platform/graphics/chromium/LayerTilerChromium.cpp:
648         (WebCore::LayerTilerChromium::create):
649         (WebCore::LayerTilerChromium::LayerTilerChromium):
650         (WebCore::LayerTilerChromium::setTileSize):
651         (WebCore::LayerTilerChromium::prepareToUpdate):
652         (WebCore::LayerTilerChromium::updateRect):
653         (WebCore::LayerTilerChromium::draw):
654         * platform/graphics/chromium/LayerTilerChromium.h:
655         (WebCore::LayerTilerChromium::Tile::Tile):
656         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
657         (WebCore::CCHeadsUpDisplay::draw):
658
659 2011-05-18  Mark Pilgrim  <pilgrim@chromium.org>
660
661         Reviewed by Tony Chang.
662
663         IndexedDB put() should fail adding to object store that uses
664         out-of-line keys and has no key generator and the key parameter
665         was not provided
666         https://bugs.webkit.org/show_bug.cgi?id=58609
667
668         Out-of-line keys means that objectStore->m_keyPath is null in ::put(),
669         no key generator means that objectStore->autoIncrement() is false, and
670         key parameter was not provided means that prpKey will be a null pointer.
671         The combination of these 3 should throw a DATA_ERR.
672
673         Test: storage/indexeddb/mozilla/key-requirements-put-no-key.html
674
675         * storage/IDBObjectStoreBackendImpl.cpp:
676         (WebCore::IDBObjectStoreBackendImpl::put):
677
678 2011-05-18  Chris Rogers  <crogers@google.com>
679
680         Reviewed by James Robinson.
681
682         EqualPowerPanner is not using the correct azimuth range for stereo panning
683         https://bugs.webkit.org/show_bug.cgi?id=61085
684
685         No new tests since audio API is not yet implemented.
686
687         * platform/audio/EqualPowerPanner.cpp:
688         (WebCore::EqualPowerPanner::pan):
689
690 2011-05-18  Yi Shen  <yi.4.shen@nokia.com>
691
692         Reviewed by Andreas Kling.
693
694         [Qt] Enterkey to go to Newline does not work in the text area(in HTML form)
695         https://bugs.webkit.org/show_bug.cgi?id=33179
696
697         Fill the missing key text for the EnterKey event.
698
699         Tests: fast/events/onsearch-enter.html
700
701         * platform/qt/PlatformKeyboardEventQt.cpp:
702         (WebCore::keyTextForKeyEvent):
703
704 2011-05-17  Timothy Hatcher  <timothy@apple.com>
705
706         Update the the context menu to reflect the system search provider on Mac.
707
708         <rdar://problem/9198419>
709
710         Reviewed by Sam Weinig.
711
712         * English.lproj/Localizable.strings: Updated.
713         * Source/WebCore/WebCore.exp.in: Added _wkCopyDefaultSearchProviderDisplayName.
714         * platform/DefaultLocalizationStrategy.cpp:
715         (WebCore::DefaultLocalizationStrategy::contextMenuItemTagSearchWeb): Use wkCopyDefaultSearchProviderDisplayName to
716         create the string.
717         * platform/mac/WebCoreSystemInterface.h: Added wkCopyDefaultSearchProviderDisplayName.
718         * platform/mac/WebCoreSystemInterface.mm: Ditto.
719
720 2011-05-18  Rob Buis  <rbuis@rim.com>
721
722         Reviewed by Nikolas Zimmermann.
723
724         Marker test from ietestcenter fails
725         https://bugs.webkit.org/show_bug.cgi?id=60721
726
727         Change <marker> renderer creation behaviour to always create the renderer. This fixes
728         the problem that no marker is rendered when display=none is set on the <marker>. The
729         specification states that display=none should have no influence on <marker> usage:
730         "The ‘display’ property does not apply to the ‘marker’ element; thus, ..., and ‘marker’
731         elements are available for referencing even when the ‘display’ property on the ‘marker’
732         element or any of its ancestors is set to none."
733
734         Tests: svg/W3C-SVG-1.1-SE/painting-marker-07-f.svg
735                svg/custom/painting-marker-07-f-inherit.svg
736
737         * svg/SVGMarkerElement.h:
738         (WebCore::SVGMarkerElement::rendererIsNeeded):
739
740 2011-05-18  Alexis Menard  <alexis.menard@openbossa.org>, Simon Hausmann  <simon.hausmann@nokia.com>
741
742         Reviewed by Eric Carlson.
743
744         MediaElements fails to load the data in some cases.
745         https://bugs.webkit.org/show_bug.cgi?id=60760
746
747         WebKitWebSourceGStreamer is the interface between WebKit and GStreamer
748         that uses the ResourceHandle API to request data and pass it down. For
749         our builds it is absolutely essential that we have a NetworkingContext
750         available there, in order to get access to the QNetworkAccessManager.
751         No access means we basically cannot load the video. The WebSource gains
752         access to the NetworkingContext through a WebCore::Frame pointer it has.
753
754         MediaPlayerPrivateGStreamer is responsible for propagating a pointer of
755         the WebCore::Frame to the WebKitWebSource in
756         mediaPlayerPrivateSourceChangedCallback. In there we used the MediaPlayer's
757         frameView() accessor to access the frame. However the frameView() member
758         is only set through the render tree's RenderVideo, which is rather unreliable
759         given that some sites create "fake" video tags initially that only become
760         visible later (or never).
761
762         A more reliable way is to simply use the document of the MediaPlayerClient,
763         which is provided at constructor time.
764
765         Test: http/tests/media/media-can-load-when-hidden.html
766
767         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
768         (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
769
770 2011-05-18  Adrienne Walker  <enne@google.com>
771
772         Reviewed by James Robinson.
773
774         [chromium] Check HUD texture reserve status before using texture
775         https://bugs.webkit.org/show_bug.cgi?id=61082
776
777         This only changes behavior behind a flag, so shouldn't impact any tests.
778
779         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
780         (WebCore::CCHeadsUpDisplay::draw):
781
782 2011-05-18  Oliver Hunt  <oliver@apple.com>
783
784         Reviewed by Sam Weinig.
785
786         JSGlobalObject and some others do GC allocation during initialization, which can cause heap corruption
787         https://bugs.webkit.org/show_bug.cgi?id=61090
788
789         Rather than having Constructor objects create their structure
790         as part of initialisation, we now pass their expected structure
791         in as an argument.  This required fixing the few custom Constructors
792         and the code generator.
793
794         * bindings/js/JSAudioConstructor.cpp:
795         (WebCore::JSAudioConstructor::JSAudioConstructor):
796         * bindings/js/JSAudioConstructor.h:
797         * bindings/js/JSDOMGlobalObject.h:
798         (WebCore::getDOMConstructor):
799           Pass the Constructor objects structure in as an argument
800         * bindings/js/JSImageConstructor.cpp:
801         (WebCore::JSImageConstructor::JSImageConstructor):
802         * bindings/js/JSImageConstructor.h:
803         * bindings/js/JSOptionConstructor.cpp:
804         (WebCore::JSOptionConstructor::JSOptionConstructor):
805         * bindings/js/JSOptionConstructor.h:
806         * bindings/scripts/CodeGeneratorJS.pm:
807
808 2011-05-18  Abhishek Arya  <inferno@chromium.org>
809
810         Reviewed by Beth Dakin.
811
812         Remove removeChild on table caption since destroy call
813         already does that.
814         https://bugs.webkit.org/show_bug.cgi?id=61083
815
816         Test: fast/table/table-captions-child-visible-crash.html
817
818         * rendering/RenderTable.cpp:
819         (WebCore::RenderTable::recalcCaption):
820
821 2011-05-18  Evan Martin  <evan@chromium.org>
822
823         Reviewed by Tony Chang.
824
825         [chromium] make action_derivedsourcesallinone.py quiet
826         https://bugs.webkit.org/show_bug.cgi?id=61081
827
828         In gyp, it's the responsibility of the build system to print what actions are doing;
829         for example, the compile command is generally silent, while the build system prints
830         "compiling".
831
832         Make this program behave like a compiler: silent on success.
833
834         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
835         delete a print statement.
836
837 2011-05-18  David Kilzer  <ddkilzer@apple.com>
838
839         <http://webkit.org/b/61078> Use toHTTPPipeliningPriority() in initializeMaximumHTTPConnectionCountPerHost()
840
841         Reviewed by Joseph Pecoraro.
842
843         * platform/network/cf/ResourceRequestCFNet.cpp:
844         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Use
845         toHTTPPipeliningPriority() to convert arguments passed to
846         wkSetHTTPPipeliningMaximumPriority() and
847         wkSetHTTPPipeliningMinimumFastLanePriority().
848
849 2011-05-18  Erik Arvidsson  <arv@chromium.org>
850
851         Reviewed by Ojan Vafai.
852
853         event.clientX/clientY is 0/0 in a click generated through a label
854         https://bugs.webkit.org/show_bug.cgi?id=56606
855
856         This copies the coordinates from the underlying event to the simulated mouse event if the underlying event
857         is a mouse event.
858
859         This makes us match Firefox and IE.
860
861         Test: fast/events/simulated-click-coords.html
862
863         * dom/MouseEvent.cpp:
864         (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
865
866 2011-05-18  Nikolas Zimmermann  <nzimmermann@rim.com>
867
868         Not reviewed. Sorted XCode project file.
869
870         * WebCore.xcodeproj/project.pbxproj:
871
872 2011-05-18  Alexander Pavlov  <apavlov@chromium.org>
873
874         Reviewed by Pavel Feldman.
875
876         Web Inspector: Non-color CSS property values can get a color-picker
877         https://bugs.webkit.org/show_bug.cgi?id=61056
878
879         * inspector/front-end/CSSKeywordCompletions.js:
880         (WebInspector.CSSKeywordCompletions.forProperty):
881         (WebInspector.CSSKeywordCompletions.isColorAwareProperty):
882         * inspector/front-end/StylesSidebarPane.js:
883         (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
884
885 2011-05-18  Pratik Solanki  <psolanki@apple.com>
886
887         Reviewed by Dan Bernstein.
888
889         Don't use DEFINE_STATIC_LOCAL with an unsigned
890         https://bugs.webkit.org/show_bug.cgi?id=61026
891
892         * storage/StorageTracker.cpp:
893         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase): DEFINE_STATIC_LOCAL is meant
894         for objects, not unsigned ints. We can just use static here.
895
896 2011-05-18  Rob Buis  <rbuis@rim.com>
897
898         Reviewed by Nikolas Zimmermann.
899
900         NULL deref when SVG elements have table styles 
901         https://bugs.webkit.org/show_bug.cgi?id=45561
902
903         Restrict computed CSS values for SVG display property to block, inline or none.
904
905         Tests: svg/custom/display-table-caption-foreignObject.svg
906                svg/custom/display-table-caption-inherit-foreignObject.xhtml
907                svg/custom/display-table-caption-inherit-text.xhtml
908                svg/custom/display-table-caption-text.svg
909
910         * css/CSSStyleSelector.cpp:
911         (WebCore::SVGDisplayPropertyGuard::SVGDisplayPropertyGuard):
912         (WebCore::SVGDisplayPropertyGuard::~SVGDisplayPropertyGuard):
913         (WebCore::isAcceptableForSVGElement):
914         (WebCore::CSSStyleSelector::applyProperty):
915
916 2011-05-18  Pavel Feldman  <pfeldman@google.com>
917
918         Reviewed by Yury Semikhatsky.
919
920         Web Inspector: [REGRESSION] Completion while on a breakpoint is not working.
921         https://bugs.webkit.org/show_bug.cgi?id=60811
922
923         Test: inspector/debugger/debugger-completions-on-call-frame.html
924
925         * inspector/InjectedScriptSource.js:
926         * inspector/front-end/ConsoleView.js:
927         (WebInspector.ConsoleView.prototype.completions.else.evaluated):
928         * inspector/front-end/DebuggerPresentationModel.js:
929         (WebInspector.PresenationCallFrame.prototype.get variables):
930         * inspector/front-end/ScriptsPanel.js:
931         (WebInspector.ScriptsPanel.prototype.selectedCallFrameVariables):
932
933 2011-05-18  Nikolas Zimmermann  <nzimmermann@rim.com>
934
935         Reviewed by Rob Buis.
936
937         All animated SVG enum properties are now ints
938         https://bugs.webkit.org/show_bug.cgi?id=10749
939
940         DECLARE/DEFINE_ANIMATED_ENUMERATION created fooBaseVal()/setFooBaseVal() methods that take int parameters, and stored all enum types as integers.
941         Modify the SVG DOM API to store real enums, and get rid of any int<->enum conversions. It's now impossible to change any enum values to undefined
942         types, which is the root of several filter security bugs in the past, that were fixed by adding workarounds.
943         (Usual workaround: svgAttributeChanged(): if fooAttr has been changed from SVG DOM, and if it's an enum, check whether the enum is in range, or fix it up.)
944
945         Using a type-safe internal representation for these enum values we can get rid of ugly int<->enum conversions.
946         A lot of parseMappedAttribute() functions duplicated the code for parsing enum values (eg. userSpaceOnUse/objectBoundingBox unit values, in pattern/filter/mask/etc..)
947         Add dozens of new SVGPropertyTraits<EnumType> specializations for all enums we expose to JS, and offer static fromString/toString conversion methods in single places.
948         Use the new SVGPropertyTraits everywhere in svg/.
949
950         This also fixes SVG DOM <-> XML DOM synchronization for SVGAnimatedEnumeration types.
951         Example: <clipPath clipPathUnits="objectBoundingBox">
952         myClipPath.clipPathUnits.baseVal = SVGUnitTypes.SVG_UNIT_TYPE_USERSPACEONUSE;
953         alert(myClipPath.getAttribute('clipPathUnits')); <- without this patch it says "1", now it says "userSpaceOnUse" as expected, and as other browsers do.
954         We're now properly converting the enum values to strings.
955
956         Add testcases for all SVGAnimatedEnumeration objects used in the SVG DOM API. Found several small bugs:
957         - SVGFEConvolveMatrix 'edgeMode' SVG DOM <-> XML DOM synchronization was not working, because of a typo: s/operatorAttr/edgeModeAttr
958         - SVGFEConvolveMatrix was missing an synchronizeProperty() implementation, disabling SVG <-> XML DOM synchronization completly.
959
960         Tests: svg/dom/SVGAnimatedEnumeration-SVGClipPathElement.html
961                svg/dom/SVGAnimatedEnumeration-SVGComponentTransferFunctionElement.html
962                svg/dom/SVGAnimatedEnumeration-SVGFEBlendElement.html
963                svg/dom/SVGAnimatedEnumeration-SVGFEColorMatrixElement.html
964                svg/dom/SVGAnimatedEnumeration-SVGFECompositeElement.html
965                svg/dom/SVGAnimatedEnumeration-SVGFEConvolveMatrixElement.html
966                svg/dom/SVGAnimatedEnumeration-SVGFEDisplacementMapElement.html
967                svg/dom/SVGAnimatedEnumeration-SVGFEMorphologyElement.html
968                svg/dom/SVGAnimatedEnumeration-SVGFETurbulenceElement.html
969                svg/dom/SVGAnimatedEnumeration-SVGFilterElement.html
970                svg/dom/SVGAnimatedEnumeration-SVGGradientElement.html
971                svg/dom/SVGAnimatedEnumeration-SVGMarkerElement.html
972                svg/dom/SVGAnimatedEnumeration-SVGMaskElement.html
973                svg/dom/SVGAnimatedEnumeration-SVGPatternElement.html
974                svg/dom/SVGAnimatedEnumeration-SVGTextContentElement.html
975                svg/dom/SVGAnimatedEnumeration-SVGTextPathElement.html
976
977         Fixes existing svg/dynamic-update/SVGTextContentElement-svgdom-lengthAdjust-prop.html where I found the bug initially.
978
979         * GNUmakefile.list.am: Add svg/properties/SVGAnimatedEnumerationPropertyTearOff.h to build.
980         * WebCore.gypi: Ditto.
981         * WebCore.pro: Ditto.
982         * WebCore.vcproj/WebCore.vcproj: Ditto.
983         * WebCore.xcodeproj/project.pbxproj: Ditto.
984         * bindings/scripts/CodeGeneratorV8.pm: Add V8 magic, to avoid ambigious conversion warning in toV8(PassRefPtr<SVGAnimatedEnumeration>).
985         * platform/graphics/GraphicsTypes.h: Cleanup GradientSpreadMethod, as the SVG dependency is gone.
986         * platform/graphics/filters/FEBlend.cpp:
987         (WebCore::FEBlend::apply): Turn early-returns (introduce in security patches a while ago) into ASSERTs, as the underlying bug has been fixed.
988         * platform/graphics/filters/FEDisplacementMap.cpp:
989         (WebCore::FEDisplacementMap::apply): Ditto.
990         * rendering/svg/RenderSVGResourceClipper.h: Remove toUnitType() usage, the clipPathUnits() provided by SVGClipPathElement have the correct enum type now.
991         (WebCore::RenderSVGResourceClipper::clipPathUnits):
992         * rendering/svg/RenderSVGResourceFilter.h: Remove toUnitType() usage, the filterUnits()/primitiveUnits() provided by SVGFilterElement have the correct enum type now.
993         (WebCore::RenderSVGResourceFilter::filterUnits):
994         (WebCore::RenderSVGResourceFilter::primitiveUnits):
995         * rendering/svg/RenderSVGResourceGradient.cpp: Add helper method platformSpreadMethodFromSVGType() converting from SVGGradientElement::SVGSpreadMethodType to GradientSpreadMethod (platform).
996         (WebCore::RenderSVGResourceGradient::applyResource):
997         * rendering/svg/RenderSVGResourceGradient.h: Ditto.
998         * rendering/svg/RenderSVGResourceLinearGradient.cpp:
999         (WebCore::RenderSVGResourceLinearGradient::buildGradient): Use platformSpreadMethodFromSVGType().
1000         * rendering/svg/RenderSVGResourceMarker.h: Remove toUnitType() usage, the markerUnits() provided by SVGMarkerElement have the correct enum type now.
1001         (WebCore::RenderSVGResourceMarker::markerUnits):
1002         * rendering/svg/RenderSVGResourceMasker.h: Remove toUnitType() usage, the maskUnits()/maskContentUnits() provided by SVGMaskElement have the correct enum type now.
1003         (WebCore::RenderSVGResourceMasker::maskUnits):
1004         (WebCore::RenderSVGResourceMasker::maskContentUnits):
1005         * rendering/svg/RenderSVGResourceRadialGradient.cpp:
1006         (WebCore::RenderSVGResourceRadialGradient::buildGradient): Use platformSpreadMethodFromSVGType().
1007         * rendering/svg/SVGRenderTreeAsText.cpp:
1008         (WebCore::operator<<): Use SVGPropertyTraits<SomeSVGEnumType>::toString() to convert from enum to string, remove code duplication.
1009         (WebCore::writeCommonGradientProperties):
1010         * rendering/svg/SVGTextChunkBuilder.cpp:
1011         (WebCore::SVGTextChunkBuilder::addTextChunk): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1012         * rendering/svg/SVGTextLayoutEngine.cpp:
1013         (WebCore::SVGTextLayoutEngine::parentDefinesTextLength): Ditto.
1014         (WebCore::SVGTextLayoutEngine::beginTextPathLayout): Ditto.
1015         * svg/GradientAttributes.h: Change spread method type from platform GradientSpreadMethod to SVGSpreadMethodType.
1016         (WebCore::GradientAttributes::GradientAttributes):
1017         (WebCore::GradientAttributes::spreadMethod):
1018         (WebCore::GradientAttributes::setSpreadMethod):
1019         * svg/SVGAnimatedBoolean.idl: Enable potential exception raising on baseVal setting for the primitive types.
1020         * svg/SVGAnimatedEnumeration.h: Switch from generic SVGAnimatedStaticPropertyTearOff<int> to new SVGAnimatedEnumerationPropertyTearOff<EnumType>.
1021         * svg/SVGAnimatedEnumeration.idl: Enable potential exception raising on baseVal setting for the primitive types.
1022                                           Only SVGAnimatedEnumeration makes use of this if the assigned value is out of range.
1023         * svg/SVGAnimatedInteger.idl: Ditto.
1024         * svg/SVGAnimatedNumber.idl: Ditto.
1025         * svg/SVGAnimatedString.idl: Ditto.
1026         * svg/SVGClipPathElement.cpp:
1027         (WebCore::SVGClipPathElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
1028         * svg/SVGClipPathElement.h:
1029         * svg/SVGComponentTransferFunctionElement.cpp:
1030         (WebCore::SVGComponentTransferFunctionElement::SVGComponentTransferFunctionElement): Initialize type to identity, not unknown, as per spec.
1031         (WebCore::SVGComponentTransferFunctionElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
1032         (WebCore::SVGComponentTransferFunctionElement::transferFunction): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1033         * svg/SVGComponentTransferFunctionElement.h: Remove svgAttributeChanged() method, that verified the enum value is not out of range.
1034                                                      It's not possible anymore for these values to go out of range.
1035         * svg/SVGFEBlendElement.cpp:
1036         (WebCore::SVGFEBlendElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<BlendModeType>::fromString(attr->value()).
1037         (WebCore::SVGFEBlendElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1038         (WebCore::SVGFEBlendElement::build): Ditto.
1039         * svg/SVGFEBlendElement.h: Add SVGPropertyTraits<BlendModeType> specializations.
1040         * svg/SVGFEColorMatrixElement.cpp:
1041         (WebCore::SVGFEColorMatrixElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<ColorMatrixType>::fromString(attr->value()).
1042         (WebCore::SVGFEColorMatrixElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now..
1043         (WebCore::SVGFEColorMatrixElement::build): Ditto.
1044         * svg/SVGFEColorMatrixElement.h: Add SVGPropertyTraits<ColorMatrixType> specializations.
1045         * svg/SVGFECompositeElement.cpp:
1046         (WebCore::SVGFECompositeElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<CompositeOperationType>::fromString(attr->value()).
1047         (WebCore::SVGFECompositeElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1048         (WebCore::SVGFECompositeElement::build): Ditto.
1049         * svg/SVGFECompositeElement.h: Add SVGPropertyTraits<CompositeOperationType> specializations.
1050         * svg/SVGFEConvolveMatrixElement.cpp: Fix typo, edgeMode needs to be associated with SVGNames::edgeModeAttr, not SVGNames::operatorAttr.
1051         (WebCore::SVGFEConvolveMatrixElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EdgeModeType>::fromString(attr->value()).
1052         (WebCore::SVGFEConvolveMatrixElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1053         (WebCore::SVGFEConvolveMatrixElement::synchronizeProperty): Add missing synchronizeProperty() implementation, otherwhise SVG DOM <-> XML DOM is not in sync.
1054         (WebCore::SVGFEConvolveMatrixElement::build): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1055         * svg/SVGFEConvolveMatrixElement.h: Add SVGPropertyTraits<EdgeModeType> specializations.
1056         * svg/SVGFEDisplacementMapElement.cpp:
1057         (WebCore::SVGFEDisplacementMapElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<ChannelSelectorType>::fromString(attr->value()).
1058         (WebCore::SVGFEDisplacementMapElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1059         (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged): Remove range validation for enum types, they are always in range now.
1060         (WebCore::SVGFEDisplacementMapElement::build): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1061         * svg/SVGFEDisplacementMapElement.h: Add SVGPropertyTraits<ChannelSelectorType> specializations.
1062         * svg/SVGFEMorphologyElement.cpp:
1063         (WebCore::SVGFEMorphologyElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<MorphologyOperatorType>::fromString(attr->value()).
1064         (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1065         (WebCore::SVGFEMorphologyElement::build): Ditto.
1066         * svg/SVGFEMorphologyElement.h: Add SVGPropertyTraits<MorphologyOperatorType> specializations.
1067         * svg/SVGFETurbulenceElement.cpp:
1068         (WebCore::SVGFETurbulenceElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGStitchOptions/TurbulenceType>::fromString(attr->value()).
1069         (WebCore::SVGFETurbulenceElement::setFilterEffectAttribute): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1070         (WebCore::SVGFETurbulenceElement::build): Ditto.
1071         * svg/SVGFETurbulenceElement.h: Add SVGPropertyTraits<SVGStitchOptions/TurbulenceType> specializations.
1072         * svg/SVGFilterElement.cpp:
1073         (WebCore::SVGFilterElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGUnitType>::fromString(attr->value()).
1074         * svg/SVGFilterElement.h:
1075         * svg/SVGGradientElement.cpp:
1076         (WebCore::SVGGradientElement::SVGGradientElement): Missing spread method default initialization: set it to 'pad' as per spec.
1077         (WebCore::SVGGradientElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGUnitType/SVGSpreadMethodType>::fromString(attr->value()).
1078         * svg/SVGGradientElement.h: Add SVGPropertyTraits<SVGSpreadMethodType> specializations.
1079         * svg/SVGLinearGradientElement.cpp:
1080         (WebCore::SVGLinearGradientElement::collectGradientAttributes): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1081         * svg/SVGMarkerElement.cpp:
1082         (WebCore::SVGMarkerElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
1083         (WebCore::SVGMarkerElement::synchronizeOrientType): Add a custom synchronization method, that handles orientType/orientAngle -> orientAttr synchronization, which is special
1084                                                             as it depends on to other SVG DOM objects (SVGAnimatedAngle and SVGAnimatedEnumeration). All covered by new tests.
1085         (WebCore::SVGMarkerElement::orientTypeAnimated): Custom tear off creation method, which would usually be generated by the DECLARE_ANIMATED_... macros.
1086         * svg/SVGMarkerElement.h: Add SVGPropertyTraits<SVGMarkerUnitsType/SVGMarkerOrientType> specializations.
1087         (WebCore::SVGMarkerElement::orientType): Add custom property handling for the 'orientType' SVGAnimatedEnumeration object, as it has special demands, based on 'orientAngle'.
1088         (WebCore::SVGMarkerElement::orientTypeBaseValue): Ditto.
1089         (WebCore::SVGMarkerElement::setOrientTypeBaseValue): Ditto.
1090         * svg/SVGMaskElement.cpp:
1091         (WebCore::SVGMaskElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
1092         * svg/SVGMaskElement.h:
1093         * svg/SVGPatternElement.cpp:
1094         (WebCore::SVGPatternElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<EnumType>::fromString(attr->value()).
1095         * svg/SVGPatternElement.h:
1096         * svg/SVGRadialGradientElement.cpp:
1097         (WebCore::SVGRadialGradientElement::collectGradientAttributes): Remove int->enum casting for SVGAnimatedEnumeration types, they are enums now.
1098         * svg/SVGTextContentElement.cpp:
1099         (WebCore::SVGTextContentElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGLengthAdjustType>::fromString(attr->value()).
1100         * svg/SVGTextContentElement.h: Add SVGPropertyTraits<SVGLengthAdjustType> specializations.
1101         * svg/SVGTextPathElement.cpp:
1102         (WebCore::SVGTextPathElement::parseMappedAttribute): Convert attribute parsing to use SVGPropertyTraits<SVGTextPathMethodType/SVGTextPathSpacingType>::fromString(attr->value()).
1103         * svg/SVGTextPathElement.h: Add SVGPropertyTraits<SVGTextPathMethodType/SVGTextPathSpacingType> specializations.
1104         * svg/SVGUnitTypes.h: Add SVGPropertyTraits<SVGUnitType> specializations.
1105         * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: Added. SVGAnimatedEnumerationPropertyTearOff inherits from SVGAnimatedStaticPropertyTearOff<int>.
1106                                                                   SVGAnimatedEnumeration remains a typedef to SVGAnimatedStaticPropertyTearOff<int>, to have a common base
1107                                                                   class for all enum types. This special tear off object, overrides setBaseVal, to verify the incoming int
1108                                                                   is within the enum range, otherwhise raise an SVG DOM exception. This makes it impossible to make any of
1109                                                                   the enums go out of range anymore (which lead to security bugs in the past).
1110         (WebCore::SVGAnimatedEnumerationPropertyTearOff::setBaseVal):
1111         (WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
1112         (WebCore::SVGAnimatedEnumerationPropertyTearOff::SVGAnimatedEnumerationPropertyTearOff):
1113         * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
1114         (WebCore::SVGAnimatedStaticPropertyTearOff::setBaseVal): Made this method virtual, to SVGAnimatedEnumerationPropertyTearOff can override the default behaviour. Also added an ExceptionCode param.
1115         (WebCore::SVGAnimatedStaticPropertyTearOff::~SVGAnimatedStaticPropertyTearOff):
1116
1117 2011-05-18  Kinuko Yasuda  <kinuko@chromium.org>
1118
1119         Reviewed by David Levin.
1120
1121         Expose webkitStorageInfo.requestQuota() for Quota API if QUOTA flag is enabled
1122         https://bugs.webkit.org/show_bug.cgi?id=59681
1123
1124         Test: storage/storageinfo-request-quota.html
1125
1126         * CMakeLists.txt:
1127         * CodeGenerators.pri:
1128         * DerivedSources.cpp:
1129         * DerivedSources.make:
1130         * GNUmakefile.am:
1131         * GNUmakefile.list.am:
1132         * WebCore.gypi:
1133         * WebCore.vcproj/WebCore.vcproj:
1134         * WebCore.xcodeproj/project.pbxproj:
1135         * storage/StorageInfo.idl: Added requestQuota().
1136         * storage/StorageInfoQuotaCallback.idl: Added.
1137
1138 2011-05-18  Renata Hodovan  <reni@webkit.org>
1139
1140         Reviewed by Nikolas Zimmermann.
1141
1142         Apply the ParallelJobs support to FEGaussianBlur
1143         https://bugs.webkit.org/show_bug.cgi?id=61049
1144
1145         The Gaussian blur filter of SVG can consume lots of resources if it is
1146         applied to a large area. The computation can be distributed to multiple
1147         cores if the architecture supports.
1148         The average performance progression is about 15% on dual-core machines.
1149
1150         Developed in cooperation with Gabor Loki and Zoltan Herczeg.
1151
1152
1153         * platform/graphics/filters/FEGaussianBlur.cpp:
1154         (WebCore::FEGaussianBlur::platformApplyWorker):
1155         (WebCore::FEGaussianBlur::platformApply):
1156         * platform/graphics/filters/FEGaussianBlur.h:
1157
1158 2011-05-18  Pavel Feldman  <pfeldman@google.com>
1159
1160         Reviewed by Yury Semikhatsky.
1161
1162         Web Inspector: make parentId for frame optional.
1163         https://bugs.webkit.org/show_bug.cgi?id=61032
1164
1165         * inspector/Inspector.json:
1166         * inspector/InspectorPageAgent.cpp:
1167         (WebCore::InspectorPageAgent::buildObjectForFrame):
1168         * inspector/front-end/ResourceTreeModel.js:
1169         (WebInspector.ResourceTreeModel.prototype._addFrame):
1170
1171 2011-05-18  Gabor Loki  <loki@webkit.org>
1172
1173         Reviewed by Nikolas Zimmermann.
1174
1175         Apply the ParallelJobs support to FELighting
1176         https://bugs.webkit.org/show_bug.cgi?id=61048
1177
1178         The lighting filter of SVG can consume lots of resources if it is
1179         applied to a large area. The computation can be distributed to multiple
1180         cores if the architecture supports.
1181         The average performance progression is 10-20% on dual-core machines.
1182
1183         Developed in cooperation with Zoltan Herczeg.
1184
1185         * platform/graphics/filters/FELighting.cpp:
1186         (WebCore::FELighting::platformApplyGenericPaint):
1187         (WebCore::FELighting::platformApplyGenericWorker):
1188         (WebCore::FELighting::platformApplyGeneric):
1189         * platform/graphics/filters/FELighting.h:
1190         * platform/graphics/filters/arm/FELightingNEON.cpp:
1191         (WebCore::FELighting::platformApplyNeonWorker):
1192         * platform/graphics/filters/arm/FELightingNEON.h:
1193         (WebCore::FELighting::platformApplyNeon):
1194
1195 2011-05-18  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1196
1197         Reviewed by Andreas Kling.
1198
1199         [Qt] Fix tst_QWebFrame::getSetStaticProperty() autotest
1200         https://bugs.webkit.org/show_bug.cgi?id=60984
1201
1202         The code for converting objects to QVariantMap was causing exception,
1203         that was "leaking" to the next evaluation. One situation was reading
1204         the property 'localStorage' when we do not have a proper security
1205         origin, which throws a SECURITY_ERR.
1206
1207         Now, we will simply not include on the QVariantMap those properties,
1208         and make sure that we clean the exception if necessary.
1209
1210         * bridge/qt/qt_runtime.cpp:
1211         (JSC::Bindings::convertValueToQVariantMap):
1212         Extracted function that performs conversion from JSObject to a QVariantMap. This
1213         functions makes sure that exception is clean after its execution.
1214
1215         (JSC::Bindings::convertValueToQVariant):
1216         Use the previous function. Add a comment explaining the choice of distance value.
1217
1218 2011-05-18  Ilya Tikhonovsky  <loislo@chromium.org>
1219
1220         Reviewed by Yury Semikhatsky.
1221
1222         Web Inspector: scripts panel file selector element doesn't track keyboard events 
1223         https://bugs.webkit.org/show_bug.cgi?id=61047
1224
1225         * inspector/front-end/ScriptsPanel.js:
1226         (WebInspector.ScriptsPanel):
1227
1228 2011-05-16  Pavel Podivilov  <podivilov@chromium.org>
1229
1230         Reviewed by Yury Semikhatsky.
1231
1232         Web Inspector: refactoring: ScriptDebugListener::didParseSource has too many parameters.
1233         https://bugs.webkit.org/show_bug.cgi?id=60900
1234
1235         * bindings/js/ScriptDebugServer.cpp:
1236         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1237         * bindings/v8/ScriptDebugServer.cpp:
1238         (WebCore::ScriptDebugServer::dispatchDidParseSource):
1239         * inspector/InspectorDebuggerAgent.cpp:
1240         (WebCore::InspectorDebuggerAgent::getScriptSource):
1241         (WebCore::InspectorDebuggerAgent::didParseSource):
1242         * inspector/InspectorDebuggerAgent.h:
1243         * inspector/ScriptDebugListener.h:
1244         (WebCore::ScriptDebugListener::Script::Script):
1245
1246 2011-05-18  Alexander Pavlov  <apavlov@chromium.org>
1247
1248         Reviewed by Pavel Feldman.
1249
1250         Web Inspector: model-based CSS editing does not update @import-ed stylesheet resources
1251         https://bugs.webkit.org/show_bug.cgi?id=60966
1252
1253         Imported stylesheets didn't use to be returned by InspectorCSSAgent.
1254
1255         * inspector/InspectorCSSAgent.cpp:
1256         (WebCore::InspectorCSSAgent::getAllStyleSheets):
1257         (WebCore::InspectorCSSAgent::collectStyleSheets):
1258         * inspector/InspectorCSSAgent.h:
1259
1260 2011-05-18  Pavel Feldman  <pfeldman@google.com>
1261
1262         Reviewed by Yury Semikhatsky.
1263
1264         Web Inspector: make "Id" suffixes use consistent case.
1265         https://bugs.webkit.org/show_bug.cgi?id=61028
1266
1267         * inspector/InjectedScriptSource.js:
1268         * inspector/Inspector.json:
1269         * inspector/InspectorConsoleAgent.cpp:
1270         (WebCore::InspectorConsoleAgent::addMessageToConsole):
1271         * inspector/InspectorConsoleAgent.h:
1272         * inspector/InspectorConsoleInstrumentation.h:
1273         (WebCore::InspectorInstrumentation::addMessageToConsole):
1274         * inspector/InspectorDebuggerAgent.cpp:
1275         (WebCore::parseLocation):
1276         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1277         (WebCore::InspectorDebuggerAgent::editScriptSource):
1278         (WebCore::InspectorDebuggerAgent::getScriptSource):
1279         (WebCore::InspectorDebuggerAgent::didParseSource):
1280         * inspector/InspectorDebuggerAgent.h:
1281         * inspector/InspectorInstrumentation.cpp:
1282         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
1283         * inspector/InspectorInstrumentation.h:
1284         * inspector/InspectorResourceAgent.cpp:
1285         (WebCore::buildObjectForResourceResponse):
1286         * inspector/ScriptDebugListener.h:
1287         * inspector/front-end/DebuggerModel.js:
1288         (WebInspector.DebuggerModel.prototype.scriptForSourceID):
1289         (WebInspector.DebuggerModel.prototype.queryScripts):
1290         (WebInspector.DebuggerModel.prototype.editScriptSource):
1291         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
1292         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
1293         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
1294         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
1295         * inspector/front-end/DebuggerPresentationModel.js:
1296         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource):
1297         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
1298         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
1299         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
1300         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
1301         (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
1302         (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
1303         (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
1304         (WebInspector.PresenationCallFrame):
1305         * inspector/front-end/NetworkManager.js:
1306         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
1307         * inspector/front-end/Script.js:
1308         (WebInspector.Script):
1309         (WebInspector.Script.prototype.requestSource):
1310         (WebInspector.Script.prototype.editSource):
1311         * inspector/front-end/SourceFile.js:
1312         (WebInspector.SourceFile.prototype.forceLoadContent):
1313         (WebInspector.SourceFile.prototype._concatenateScriptsContent):
1314         (WebInspector.SourceMapping.prototype._sourceLocationToScriptLocation):
1315         (WebInspector):
1316
1317 2011-05-18  Sheriff Bot  <webkit.review.bot@gmail.com>
1318
1319         Unreviewed, rolling out r86747.
1320         http://trac.webkit.org/changeset/86747
1321         https://bugs.webkit.org/show_bug.cgi?id=61039
1322
1323         Breaks JSC debugger tests. (Requested by pfeldman on #webkit).
1324
1325         * inspector/InjectedScriptSource.js:
1326         ():
1327         * inspector/Inspector.json:
1328         * inspector/InspectorConsoleAgent.cpp:
1329         (WebCore::InspectorConsoleAgent::addMessageToConsole):
1330         * inspector/InspectorConsoleAgent.h:
1331         * inspector/InspectorConsoleInstrumentation.h:
1332         (WebCore::InspectorInstrumentation::addMessageToConsole):
1333         * inspector/InspectorDebuggerAgent.cpp:
1334         (WebCore::parseLocation):
1335         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1336         (WebCore::InspectorDebuggerAgent::editScriptSource):
1337         (WebCore::InspectorDebuggerAgent::getScriptSource):
1338         (WebCore::InspectorDebuggerAgent::didParseSource):
1339         * inspector/InspectorDebuggerAgent.h:
1340         * inspector/InspectorInstrumentation.cpp:
1341         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
1342         * inspector/InspectorInstrumentation.h:
1343         * inspector/InspectorResourceAgent.cpp:
1344         (WebCore::buildObjectForResourceResponse):
1345         * inspector/ScriptDebugListener.h:
1346         * inspector/front-end/DebuggerModel.js:
1347         (WebInspector.DebuggerModel.prototype.scriptForSourceID):
1348         (WebInspector.DebuggerModel.prototype.queryScripts):
1349         (WebInspector.DebuggerModel.prototype.editScriptSource):
1350         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
1351         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
1352         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
1353         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
1354         * inspector/front-end/DebuggerPresentationModel.js:
1355         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource):
1356         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
1357         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
1358         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
1359         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
1360         (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
1361         (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
1362         (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
1363         (WebInspector.PresenationCallFrame):
1364         * inspector/front-end/NetworkManager.js:
1365         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
1366         * inspector/front-end/Script.js:
1367         (WebInspector.Script):
1368         (WebInspector.Script.prototype.requestSource):
1369         (WebInspector.Script.prototype.editSource):
1370         * inspector/front-end/SourceFile.js:
1371         (WebInspector.SourceFile.prototype.forceLoadContent):
1372         (WebInspector.SourceFile.prototype._concatenateScriptsContent):
1373         (WebInspector.SourceMapping.prototype._sourceLocationToScriptLocation):
1374         (WebInspector):
1375
1376 2011-05-18  Abhishek Arya  <inferno@chromium.org>
1377
1378         Reviewed by Dirk Schulze.
1379
1380         When SMIL element is getting removed, make sure to remove it
1381         from target's animation elements list.
1382         https://bugs.webkit.org/show_bug.cgi?id=60980
1383
1384         Test: svg/animations/smil-element-not-removed-crash.html
1385
1386         * svg/animation/SVGSMILElement.cpp:
1387         (WebCore::SVGSMILElement::~SVGSMILElement):
1388
1389 2011-05-18  Pavel Feldman  <pfeldman@google.com>
1390
1391         Reviewed by Yury Semikhatsky.
1392
1393         Web Inspector: make "Id" suffixes use consistent case.
1394         https://bugs.webkit.org/show_bug.cgi?id=61028
1395
1396         * inspector/InjectedScriptSource.js:
1397         * inspector/Inspector.json:
1398         * inspector/InspectorConsoleAgent.cpp:
1399         (WebCore::InspectorConsoleAgent::addMessageToConsole):
1400         * inspector/InspectorConsoleAgent.h:
1401         * inspector/InspectorConsoleInstrumentation.h:
1402         (WebCore::InspectorInstrumentation::addMessageToConsole):
1403         * inspector/InspectorDebuggerAgent.cpp:
1404         (WebCore::parseLocation):
1405         (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
1406         (WebCore::InspectorDebuggerAgent::editScriptSource):
1407         (WebCore::InspectorDebuggerAgent::getScriptSource):
1408         (WebCore::InspectorDebuggerAgent::didParseSource):
1409         * inspector/InspectorDebuggerAgent.h:
1410         * inspector/InspectorInstrumentation.cpp:
1411         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
1412         * inspector/InspectorInstrumentation.h:
1413         * inspector/InspectorResourceAgent.cpp:
1414         (WebCore::buildObjectForResourceResponse):
1415         * inspector/ScriptDebugListener.h:
1416         * inspector/front-end/DebuggerModel.js:
1417         (WebInspector.DebuggerModel.prototype.scriptForSourceID):
1418         (WebInspector.DebuggerModel.prototype.queryScripts):
1419         (WebInspector.DebuggerModel.prototype.editScriptSource):
1420         (WebInspector.DebuggerModel.prototype._didEditScriptSource):
1421         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
1422         (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
1423         (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
1424         * inspector/front-end/DebuggerPresentationModel.js:
1425         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource):
1426         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
1427         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
1428         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
1429         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
1430         (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
1431         (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
1432         (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
1433         (WebInspector.PresenationCallFrame):
1434         * inspector/front-end/NetworkManager.js:
1435         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
1436         * inspector/front-end/Script.js:
1437         (WebInspector.Script):
1438         (WebInspector.Script.prototype.requestSource):
1439         (WebInspector.Script.prototype.editSource):
1440         * inspector/front-end/SourceFile.js:
1441         (WebInspector.SourceFile.prototype.forceLoadContent):
1442         (WebInspector.SourceFile.prototype._concatenateScriptsContent):
1443         (WebInspector.SourceMapping.prototype._sourceLocationToScriptLocation):
1444         (WebInspector):
1445
1446 2011-05-18  Pavel Feldman  <pfeldman@google.com>
1447
1448         Reviewed by Yury Semikhatsky.
1449
1450         Web Inspector: do not reveal line -1 when navigating to anchor without line specified.
1451         https://bugs.webkit.org/show_bug.cgi?id=60971
1452
1453         * inspector/front-end/ResourcesPanel.js:
1454         (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
1455         * inspector/front-end/ScriptsPanel.js:
1456         (WebInspector.ScriptsPanel.prototype.showAnchorLocation.):
1457         (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
1458         * inspector/front-end/inspector.js:
1459         (WebInspector._showAnchorLocation):
1460
1461 2011-05-18  Kent Tamura  <tkent@chromium.org>
1462
1463         Reviewed by Hajime Morita.
1464
1465         valueMissing validity for <select> is lame when selecting a value by a key operation
1466         https://bugs.webkit.org/show_bug.cgi?id=61021
1467
1468         We missed updating validity in case that SelectElement::defaultEventHandler
1469         update selections.  So, SelectElement::setSelectedIndex() updates validity.
1470
1471         * dom/SelectElement.cpp:
1472         (WebCore::SelectElement::setSelectedIndex): Call SelectElement::updateValidity().
1473         * html/HTMLSelectElement.cpp:
1474         (WebCore::HTMLSelectElement::setSelectedIndex):
1475           Remove unnecessary setNeedsValidityCheck() call.
1476           SelectElement::setSlectedIndex() calls it.
1477         (WebCore::HTMLSelectElement::setSelectedIndexByUser): ditto.
1478
1479 2011-05-17  Mikhail Naganov  <mnaganov@chromium.org>
1480
1481         Reviewed by Pavel Feldman.
1482
1483         Web Inspector: [Chromium] Enable detailed heap snapshots by default.
1484         https://bugs.webkit.org/show_bug.cgi?id=60286
1485
1486         * inspector/front-end/ProfilesPanel.js:
1487
1488 2011-05-17  Mikhail Naganov  <mnaganov@chromium.org>
1489
1490         Reviewed by Pavel Feldman.
1491
1492         Web Inspector: [Chromium] Make retaining paths list of the Detailed
1493         heap snapshots view resizable.
1494         https://bugs.webkit.org/show_bug.cgi?id=60960
1495
1496         * inspector/front-end/DetailedHeapshotView.js:
1497         (WebInspector.DetailedHeapshotView.prototype.resize):
1498         (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
1499         (WebInspector.DetailedHeapshotView.prototype._retainersHeaderDragging):
1500         (WebInspector.DetailedHeapshotView.prototype._endRetainersHeaderDragging):
1501         (WebInspector.DetailedHeapshotView.prototype._updateRetainmentViewHeight):
1502         * inspector/front-end/heapProfiler.css:
1503
1504 2011-05-16  Jeremy Noble  <jer.noble@apple.com>
1505
1506         Reviewed by Darin Adler.
1507
1508         Disable keyboard input (with exceptions) in full-screen mode.
1509         https://bugs.webkit.org/show_bug.cgi?id=60943
1510
1511         Tests: fullscreen/full-screen-keyboard-disabled.html
1512                fullscreen/full-screen-keyboard-enabled.html
1513
1514         * page/EventHandler.cpp:
1515         (WebCore::EventHandler::isKeyEventAllowedInFullScreen): Added.  Implements the 
1516             list of allowed keyboard events in the proposed API.
1517         (WebCore::EventHandler::keyEvent): Discard events which are not allowed in
1518             full-screen mode.
1519         * page/EventHandler.h:
1520
1521 2011-05-17  Nikolas Zimmermann  <nzimmermann@rim.com>
1522
1523         Reviewed by Dirk Schulze.
1524
1525         Refactor TextRun creation
1526         https://bugs.webkit.org/show_bug.cgi?id=60255
1527
1528         Add constructTextRun() methods to RenderBlock/InlineTextBox and use it in various places in rendering/.
1529         The long-term goal is to remove the ugly eight parameters catch-it-all TextRun constructor, and
1530         replace it with explicit setters/getters. To avoid expanding dozens of callsites, when removing
1531         the catch-it-all constructor, these helper functions are introduced, which hide the details of
1532         creating a TextRun.
1533
1534         Furthermore it will be used to remove the platform layering violation, that TextRun stores
1535         RenderObject pointers for the sake of SVG Fonts support, see bug 60254.
1536
1537         No change in functionaliy, no new tests.
1538
1539         * rendering/EllipsisBox.cpp:
1540         (WebCore::EllipsisBox::paint):
1541         (WebCore::EllipsisBox::selectionRect):
1542         (WebCore::EllipsisBox::paintSelection):
1543         * rendering/InlineTextBox.cpp:
1544         (WebCore::InlineTextBox::selectionRect):
1545         (WebCore::InlineTextBox::paint):
1546         (WebCore::InlineTextBox::paintSelection):
1547         (WebCore::InlineTextBox::paintCompositionBackground):
1548         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1549         (WebCore::InlineTextBox::paintTextMatchMarker):
1550         (WebCore::InlineTextBox::computeRectForReplacementMarker):
1551         (WebCore::InlineTextBox::offsetForPosition):
1552         (WebCore::InlineTextBox::positionForOffset):
1553         (WebCore::InlineTextBox::constructTextRun):
1554         * rendering/InlineTextBox.h:
1555         * rendering/RenderBlock.cpp:
1556         (WebCore::RenderBlock::constructTextRunAllowTrailingExpansion):
1557         * rendering/RenderBlock.h:
1558         * rendering/RenderEmbeddedObject.cpp:
1559         (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
1560         * rendering/RenderFileUploadControl.cpp:
1561         (WebCore::RenderFileUploadControl::paintObject):
1562         (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
1563         * rendering/RenderImage.cpp:
1564         (WebCore::RenderImage::setImageSizeForAltText):
1565         (WebCore::RenderImage::paintReplaced):
1566         * rendering/RenderListBox.cpp:
1567         (WebCore::RenderListBox::updateFromElement):
1568         * rendering/RenderTextControl.cpp:
1569         (WebCore::RenderTextControl::getAvgCharWidth):
1570
1571 2011-05-17  Jeremy Noble  <jer.noble@apple.com>
1572
1573         Reviewed by Darin Adler.
1574
1575         Removing a full-screen element or ancestor from the DOM should trigger exiting full-screen mode.
1576         https://bugs.webkit.org/show_bug.cgi?id=60997
1577
1578         Tests: fullscreen/full-screen-remove-ancestor.html
1579                fullscreen/full-screen-remove-children.html
1580                fullscreen/full-screen-remove.html
1581
1582         * dom/Document.cpp:
1583         (WebCore::Document::fullScreenChangeDelayTimerFired): If the target node was removed from the document
1584             make sure to message the documentElement() as well.
1585         (WebCore::Document::fullScreenElementRemoved): Cancel full screen mode.
1586
1587 2011-05-17  Yuta Kitamura  <yutak@chromium.org>
1588
1589         Reviewed by Kent Tamura.
1590
1591         WebSocket: Add CLOSING state
1592         https://bugs.webkit.org/show_bug.cgi?id=60878
1593
1594         No new tests are added because there is no change in functionality.
1595
1596         * platform/network/SocketStreamHandleBase.h:
1597         * websockets/WebSocket.h:
1598         * websockets/WebSocket.idl:
1599
1600 2011-05-16  MORITA Hajime  <morrita@google.com>
1601
1602         Reviewed by Dimitri Glazkov.
1603
1604         [Refactoring] ShadowContentElement should be part of dom/
1605         https://bugs.webkit.org/show_bug.cgi?id=59117
1606
1607         - Moved html/shadow/ShadowContentElement.h to dom/ShadowContentElement.h
1608         - Pulled ShadowContentElement up to a subclass of StyledElement, from HTMLDivElement
1609         - Added ShadowContentElement.cpp
1610         - Extracted ShadowContentSelector.{cpp,h} from ShadowRoot.{cpp,h}
1611         
1612         No new tests, no behavior change.
1613
1614         * CMakeLists.txt:
1615         * GNUmakefile.list.am:
1616         * WebCore.gypi:
1617         * WebCore.pro:
1618         * WebCore.vcproj/WebCore.vcproj:
1619         * WebCore.xcodeproj/project.pbxproj:
1620         * dom/DOMAllInOne.cpp: Added new ShadowContentSelector.cpp and ShadowContentElement.cpp.
1621         * dom/Node.h: 
1622         (WebCore::Node::forceReattach): Moved from static local function to share between classes.
1623         * dom/ShadowContentElement.cpp: Copied from Source/WebCore/html/shadow/ShadowContentElement.h.
1624         (WebCore::ShadowContentElement::attach):
1625         * dom/ShadowContentElement.h: Copied from Source/WebCore/html/shadow/ShadowContentElement.h.
1626         (WebCore::ShadowContentElement::ShadowContentElement):
1627         (WebCore::ShadowContentElement::isShadowBoundary):
1628         (WebCore::ShadowContentElement::rendererIsNeeded):
1629         (WebCore::ShadowContentElement::createRenderer):
1630         * dom/ShadowContentSelector.cpp: Copied from Source/WebCore/html/shadow/ShadowContentElement.h.
1631         (WebCore::ShadowContentSelector::ShadowContentSelector):
1632         (WebCore::ShadowContentSelector::~ShadowContentSelector):
1633         (WebCore::ShadowContentSelector::attachChildrenFor):
1634         * dom/ShadowContentSelector.h: Renamed from Source/WebCore/html/shadow/ShadowContentElement.h.
1635         (WebCore::ShadowContentSelector::shadowRoot):
1636         (WebCore::ShadowContentSelector::activeElement):
1637         (WebCore::ShadowContentSelector::currentInstance):
1638         * dom/ShadowRoot.cpp:
1639         (WebCore::ShadowRoot::recalcStyle):
1640         * html/HTMLDetailsElement.cpp:
1641         (WebCore::DetailsContentElement::DetailsContentElement):
1642         (WebCore::DetailsSummaryElement::DetailsSummaryElement):
1643         * html/HTMLSummaryElement.cpp:
1644         (WebCore::SummaryContentElement::SummaryContentElement):
1645
1646 2011-05-17  Cris Neckar  <cdn@chromium.org>
1647
1648         Reviewed by Adam Barth.
1649
1650         Clear the image from ImageLoader rather than clearing the ImageLoader in HTMLObjectElement::renderFallbackContent.
1651         https://bugs.webkit.org/show_bug.cgi?id=61005
1652
1653         Test: http/tests/loading/nested_bad_objects.php
1654
1655         * html/HTMLObjectElement.cpp:
1656         (WebCore::HTMLObjectElement::renderFallbackContent):
1657
1658 2011-05-17  Chris Rogers  <crogers@google.com>
1659
1660         Reviewed by Kenneth Russell.
1661
1662         Make sure that AudioNode gets re-enabled after having been disconnected and re-connected.
1663         https://bugs.webkit.org/show_bug.cgi?id=60995
1664
1665         No new tests since audio API is not yet implemented.
1666
1667         * webaudio/AudioNode.cpp:
1668         (WebCore::AudioNode::ref):
1669
1670 2011-05-17  Brady Eidson  <beidson@apple.com>
1671
1672         Reviewed by Darin Adler.
1673
1674         <rdar://problem/9366728> and https://webkit.org/b/60796
1675         Crash when code inside a ResourceLoadDelegate method calls [WebView stopLoading:]
1676
1677         Break up ResourceLoader::didCancel() into willCancel() and didCancel(), and making them pure virtual.
1678         This change has the following benefits:
1679           - Managing ResourceLoader state can be in the base class; Subclasses no longer need to protect
1680             themselves, check these variables as often, or ASSERT them.
1681           - ResourceLoader subclasses no longer have to call the base class ::didCancel
1682           - ResourceLoader::cancel becomes more capable of handling reentrancy with the design that the 
1683             cancellation is completed inside the last call.
1684
1685         No new tests - No change in behavior for previous tests, and new test would require API usage outside
1686         the scope of DumpRenderTree.
1687
1688         * loader/ResourceLoader.cpp:
1689         (WebCore::ResourceLoader::ResourceLoader):
1690         (WebCore::ResourceLoader::cancel): Moved from ResourceLoader::didCancel, and does all of that same work
1691           except it interposes calls to "willCancel" and "didCancel" as required to maintain the same behavior.
1692         * loader/ResourceLoader.h: Added pure virtual didCancel() and willCancel().
1693
1694         Split-up into willCancel() and didCancel(), based on when the base class didCancel() used to be called:
1695         * loader/MainResourceLoader.cpp:
1696         (WebCore::MainResourceLoader::willCancel):
1697         (WebCore::MainResourceLoader::didCancel):
1698         * loader/MainResourceLoader.h:
1699
1700         Split-up into willCancel() and didCancel(), based on when the "reached terminal state" flag used to be checked:
1701         * loader/NetscapePlugInStreamLoader.cpp:
1702         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse): Call the entry point cancel() instead of the old didCancel()
1703         (WebCore::NetscapePlugInStreamLoader::willCancel):
1704         (WebCore::NetscapePlugInStreamLoader::didCancel):
1705         * loader/NetscapePlugInStreamLoader.h:
1706
1707         Split-up into willCancel() and didCancel(), based on when the "reached terminal state" flag used to be checked:
1708         * loader/SubresourceLoader.cpp:
1709         (WebCore::SubresourceLoader::willCancel):
1710         (WebCore::SubresourceLoader::didCancel):
1711         * loader/SubresourceLoader.h:
1712
1713 2011-05-17  Nat Duca  <nduca@chromium.org>
1714
1715         Reviewed by James Robinson.
1716
1717         [chromium] Always set layerRenderer, even on non-drawn-layers
1718         https://bugs.webkit.org/show_bug.cgi?id=60977
1719
1720         This is a defensive fixe for crbug.com/82799, in which
1721         a RenderLayer could not prepare itself because its owning layerImpl
1722         had no associated layerRenderer. The underlying issue is that we
1723         sometimes put renderSurfaces onto the list that won't actually render.
1724         For now, the priority is to reduce fragility so that invisible layers
1725         dont lead to crashers. We do this by being more agressive about 
1726         binding CCLayerImpls to the LayerRenderer, doing it all the time rather
1727         than only when we think it will get rendered.
1728
1729         * platform/graphics/chromium/LayerRendererChromium.cpp:
1730         (WebCore::LayerRendererChromium::paintLayerContents):
1731
1732 2011-05-17  Anders Carlsson  <andersca@apple.com>
1733
1734         Fix the clang build.
1735
1736         * rendering/RenderText.h:
1737         (WebCore::RenderText::nodeAtPoint):
1738         nodeAtPoint should take a const IntPoint reference.
1739
1740 2011-05-17  Erik Arvidsson  <arv@chromium.org>
1741
1742         Reviewed by Ryosuke Niwa.
1743
1744         document.activeElement doesn't point to the focused frame
1745         https://bugs.webkit.org/show_bug.cgi?id=49509
1746
1747         This makes us match IE and Firefox and there is an ongoing WHATWG discussion to make the spec match this.
1748
1749         Test: fast/dom/HTMLDocument/active-element-frames.html
1750
1751         * html/HTMLDocument.cpp:
1752         (WebCore::HTMLDocument::activeElement): Walk up the frame tree from the focusedFrame to find the active frame if any.
1753
1754 2011-05-17  Emil A Eklund  <eae@chromium.org>
1755
1756         Reviewed by Eric Seidel.
1757
1758         Change nodeAtPoint to take IntPoint instead of int x, int y
1759         https://bugs.webkit.org/show_bug.cgi?id=60663
1760
1761         Change nodeAtPoint to take a single const IntPoint& instead of a pair of
1762         ints for the location.
1763
1764         Covered by existing tests.
1765
1766         * platform/graphics/FloatPoint.h:
1767         (WebCore::flooredIntPoint):
1768         * rendering/EllipsisBox.cpp:
1769         (WebCore::EllipsisBox::nodeAtPoint):
1770         * rendering/EllipsisBox.h:
1771         * rendering/InlineBox.cpp:
1772         (WebCore::InlineBox::nodeAtPoint):
1773         * rendering/InlineBox.h:
1774         * rendering/InlineFlowBox.cpp:
1775         (WebCore::InlineFlowBox::nodeAtPoint):
1776         * rendering/InlineFlowBox.h:
1777         * rendering/InlineTextBox.cpp:
1778         (WebCore::InlineTextBox::nodeAtPoint):
1779         * rendering/InlineTextBox.h:
1780         * rendering/RenderBlock.cpp:
1781         (WebCore::RenderBlock::nodeAtPoint):
1782         (WebCore::RenderBlock::hitTestContents):
1783         * rendering/RenderBlock.h:
1784         * rendering/RenderBox.cpp:
1785         (WebCore::RenderBox::nodeAtPoint):
1786         * rendering/RenderBox.h:
1787         * rendering/RenderFrameSet.cpp:
1788         (WebCore::RenderFrameSet::nodeAtPoint):
1789         * rendering/RenderFrameSet.h:
1790         * rendering/RenderImage.cpp:
1791         (WebCore::RenderImage::nodeAtPoint):
1792         * rendering/RenderImage.h:
1793         * rendering/RenderInline.cpp:
1794         (WebCore::RenderInline::nodeAtPoint):
1795         * rendering/RenderInline.h:
1796         * rendering/RenderLineBoxList.cpp:
1797         (WebCore::RenderLineBoxList::hitTest):
1798         * rendering/RenderListBox.cpp:
1799         (WebCore::RenderListBox::nodeAtPoint):
1800         * rendering/RenderListBox.h:
1801         * rendering/RenderObject.cpp:
1802         (WebCore::RenderObject::hitTest):
1803         (WebCore::RenderObject::nodeAtPoint):
1804         * rendering/RenderObject.h:
1805         * rendering/RenderTable.cpp:
1806         (WebCore::RenderTable::nodeAtPoint):
1807         * rendering/RenderTable.h:
1808         * rendering/RenderTableRow.cpp:
1809         (WebCore::RenderTableRow::nodeAtPoint):
1810         * rendering/RenderTableRow.h:
1811         * rendering/RenderTableSection.cpp:
1812         (WebCore::RenderTableSection::nodeAtPoint):
1813         * rendering/RenderTableSection.h:
1814         * rendering/RenderText.h:
1815         (WebCore::RenderText::nodeAtPoint):
1816         * rendering/RenderTextControlMultiLine.cpp:
1817         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
1818         * rendering/RenderTextControlMultiLine.h:
1819         * rendering/RenderTextControlSingleLine.cpp:
1820         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
1821         * rendering/RenderTextControlSingleLine.h:
1822         * rendering/RenderWidget.cpp:
1823         (WebCore::RenderWidget::nodeAtPoint):
1824         * rendering/RenderWidget.h:
1825         * rendering/RootInlineBox.cpp:
1826         (WebCore::RootInlineBox::nodeAtPoint):
1827         * rendering/RootInlineBox.h:
1828         * rendering/svg/RenderSVGForeignObject.cpp:
1829         (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
1830         (WebCore::RenderSVGForeignObject::nodeAtPoint):
1831         * rendering/svg/RenderSVGForeignObject.h:
1832         * rendering/svg/RenderSVGModelObject.cpp:
1833         (WebCore::RenderSVGModelObject::nodeAtPoint):
1834         * rendering/svg/RenderSVGModelObject.h:
1835         * rendering/svg/RenderSVGRoot.cpp:
1836         (WebCore::RenderSVGRoot::nodeAtPoint):
1837         * rendering/svg/RenderSVGRoot.h:
1838         * rendering/svg/RenderSVGText.cpp:
1839         (WebCore::RenderSVGText::nodeAtFloatPoint):
1840         (WebCore::RenderSVGText::nodeAtPoint):
1841         * rendering/svg/RenderSVGText.h:
1842
1843 2011-05-17  Andrew Wilson  <atwilson@chromium.org>
1844
1845         Unreviewed, rolling out r86647.
1846         http://trac.webkit.org/changeset/86647
1847         https://bugs.webkit.org/show_bug.cgi?id=56814
1848
1849         Broke tests downstream in Chromium
1850
1851         * dom/DocumentMarker.h:
1852         (WebCore::DocumentMarker::operator==):
1853         (WebCore::DocumentMarker::operator!=):
1854         * dom/DocumentMarkerController.cpp:
1855         (WebCore::DocumentMarkerController::addMarker):
1856         (WebCore::DocumentMarkerController::copyMarkers):
1857         (WebCore::DocumentMarkerController::removeMarkers):
1858         (WebCore::DocumentMarkerController::markerContainingPoint):
1859         (WebCore::DocumentMarkerController::markersInRange):
1860         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
1861         (WebCore::DocumentMarkerController::removeMarkersFromList):
1862         (WebCore::DocumentMarkerController::repaintMarkers):
1863         (WebCore::DocumentMarkerController::shiftMarkers):
1864         (WebCore::DocumentMarkerController::setMarkersActive):
1865         (WebCore::DocumentMarkerController::hasMarkers):
1866         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
1867         (WebCore::DocumentMarkerController::showMarkers):
1868         * dom/DocumentMarkerController.h:
1869         * editing/CompositeEditCommand.cpp:
1870         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
1871         * editing/DeleteSelectionCommand.cpp:
1872         (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
1873         * editing/Editor.cpp:
1874         (WebCore::Editor::selectionStartHasMarkerFor):
1875         * editing/SpellingCorrectionController.cpp:
1876         (WebCore::SpellingCorrectionController::respondToChangedSelection):
1877         * editing/SpellingCorrectionController.h:
1878         (WebCore::SpellingCorrectionController::shouldStartTimerFor):
1879         * rendering/HitTestResult.cpp:
1880         (WebCore::HitTestResult::spellingToolTip):
1881         (WebCore::HitTestResult::replacedString):
1882         * rendering/InlineTextBox.cpp:
1883         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
1884         (WebCore::InlineTextBox::paintTextMatchMarker):
1885         (WebCore::InlineTextBox::computeRectForReplacementMarker):
1886         (WebCore::InlineTextBox::paintDocumentMarkers):
1887         * rendering/svg/SVGInlineFlowBox.cpp:
1888         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
1889
1890 2011-05-17  Andrew Wilson  <atwilson@chromium.org>
1891
1892         Unreviewed, rolling out r86656.
1893         http://trac.webkit.org/changeset/86656
1894
1895         Broke tests downstream in Chromium
1896
1897         * editing/SpellingCorrectionController.cpp:
1898         (WebCore::markersHaveIdenticalDescription):
1899         (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
1900         (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):
1901
1902 2011-05-17  Yufeng Shen  <miletus@chromium.org>
1903
1904         Reviewed by Darin Fisher.
1905
1906         Make WebKit expose extra touch information
1907         https://bugs.webkit.org/show_bug.cgi?id=59030
1908
1909         * dom/Document.cpp:
1910         (WebCore::Document::createTouch):
1911         * dom/Document.h:
1912         * dom/Document.idl:
1913         * dom/Touch.cpp:
1914         (WebCore::Touch::Touch):
1915         * dom/Touch.h:
1916         (WebCore::Touch::create):
1917         (WebCore::Touch::webkitRadiusX):
1918         (WebCore::Touch::webkitRadiusY):
1919         (WebCore::Touch::webkitRotationAngle):
1920         * dom/Touch.idl:
1921         * page/EventHandler.cpp:
1922         (WebCore::EventHandler::handleTouchEvent):
1923         * platform/PlatformTouchPoint.h:
1924         (WebCore::PlatformTouchPoint::radiusX):
1925         (WebCore::PlatformTouchPoint::radiusY):
1926         (WebCore::PlatformTouchPoint::rotationAngle):
1927
1928 2011-05-17  Eric Seidel  <eric@webkit.org>
1929
1930         Reviewed by Ryosuke Niwa.
1931
1932         Add a LineLayoutState object to hold global state during line layout
1933         https://bugs.webkit.org/show_bug.cgi?id=60113
1934
1935         Like LayoutState for layout(), LineLayoutState keeps track of global information
1936         during an entire linebox tree layout pass (aka layoutInlineChildren).
1937
1938         For now it just holds isFullLayout and the logicalRepaintTop/Bottom.
1939         It's possible we should hold the useRepaintBounds bool as well as
1940         the startLine and endLine RootInlineBox pointers.
1941
1942         No change in behavior, thus no tests.
1943
1944         * rendering/RenderBlock.cpp:
1945         (WebCore::RenderBlock::layoutBlock):
1946         * rendering/RenderBlock.h:
1947         * rendering/RenderBlockLineLayout.cpp:
1948         (WebCore::LineLayoutState::LineLayoutState):
1949         (WebCore::LineLayoutState::markForFullLayout):
1950         (WebCore::LineLayoutState::isFullLayout):
1951         (WebCore::LineLayoutState::setRepaintRange):
1952         (WebCore::LineLayoutState::updateRepaintRangeFromBox):
1953         (WebCore::LineLayoutState::startLine):
1954         (WebCore::LineLayoutState::endLine):
1955         (WebCore::deleteLineRange):
1956         (WebCore::RenderBlock::layoutRunsAndFloats):
1957         (WebCore::RenderBlock::layoutInlineChildren):
1958         (WebCore::RenderBlock::checkFloatsInCleanLine):
1959         (WebCore::RenderBlock::determineStartPosition):
1960         (WebCore::RenderBlock::determineEndPosition):
1961         (WebCore::RenderBlock::matchedEndLine):
1962
1963 2011-05-17  Andreas Kling  <kling@webkit.org>
1964
1965         Reviewed by Kenneth Rohde Christiansen.
1966
1967         Area element doesn't update region when dynamically altered.
1968         https://bugs.webkit.org/show_bug.cgi?id=54636
1969
1970         Recompute the clickable region after the "shape" or "coords" attribute
1971         of an area element is changed.
1972
1973         Test: fast/images/imagemap-dynamic-area-updates.html
1974
1975         * html/HTMLAreaElement.cpp:
1976         (WebCore::HTMLAreaElement::parseMappedAttribute):
1977         (WebCore::HTMLAreaElement::invalidateCachedRegion):
1978         * html/HTMLAreaElement.h:
1979
1980 2011-05-09  Luiz Agostini  <luiz.agostini@openbossa.org>
1981
1982         Reviewed by Kenneth Rohde Christiansen.
1983
1984         [Qt] Redirection of HTTP POST (3xx) incorrectly includes original POST data
1985         https://bugs.webkit.org/show_bug.cgi?id=60440
1986
1987         Makes sure that the HTTP headers Content-type and Content-length are not included in
1988         the requests that do not have any content.
1989
1990         Tests: http/tests/navigation/post-301-response.html
1991                http/tests/navigation/post-302-response.html
1992                http/tests/navigation/post-303-response.html
1993                http/tests/navigation/post-307-response.html
1994
1995         * platform/network/qt/QNetworkReplyHandler.cpp:
1996         (WebCore::QNetworkReplyHandler::sendNetworkRequest):
1997
1998 2011-05-17  Andreas Kling  <kling@webkit.org>
1999
2000         Reviewed by Benjamin Poulain.
2001
2002         [Qt] GraphicsLayerQtImpl: Remove an unused variable.
2003
2004         * platform/graphics/qt/GraphicsLayerQt.cpp:
2005         (WebCore::GraphicsLayerQtImpl::paint):
2006
2007 2011-05-17  Pavel Feldman  <pfeldman@google.com>
2008
2009         Reviewed by Yury Semikhatsky.
2010
2011         Web Inspector: navigating from elements panel does not show source view.
2012         https://bugs.webkit.org/show_bug.cgi?id=60970
2013
2014         * inspector/front-end/TextViewer.js:
2015         (WebInspector.TextViewer.prototype.highlightLine):
2016         (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
2017
2018 2011-05-17  Sam Magnuson  <smagnuson@netflix.com>
2019
2020         Reviewed by Kenneth Rohde Christiansen.
2021
2022         [Qt] Node that have both an opacity and a transform animation on them seem not to fire.
2023         https://bugs.webkit.org/show_bug.cgi?id=40841
2024
2025         Test: compositing/animation/busy-indicator.html
2026
2027         * platform/graphics/qt/GraphicsLayerQt.cpp:
2028         (WebCore::GraphicsLayerQtImpl::recache):
2029         (WebCore::GraphicsLayerQtImpl::flushChanges):
2030         (WebCore::GraphicsLayerQt::setContentsToImage):
2031         (WebCore::TransformAnimationQt::getAnimatedProperty):
2032         (WebCore::OpacityAnimationQt::getAnimatedProperty):
2033         (WebCore::GraphicsLayerQt::addAnimation):
2034
2035 2011-05-17  Grace Kloba  <klobag@chromium.org>
2036
2037         Reviewed by Kenneth Russell.
2038
2039         GraphicsContext3DSkia needs to honor the platform Sk_x_SHIFT value instead of assuming BGRA color
2040         https://bugs.webkit.org/show_bug.cgi?id=60965
2041
2042         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
2043         (WebCore::GraphicsContext3D::getImageData):
2044
2045 2011-05-17  Alexander Pavlov  <apavlov@chromium.org>
2046
2047         Reviewed by Yury Semikhatsky.
2048
2049         Web Inspector: Enter/Tab after editing a CSS property does not invoke editor on next field
2050         https://bugs.webkit.org/show_bug.cgi?id=60962
2051
2052         * inspector/front-end/ElementsPanel.js:
2053         (WebInspector.ElementsPanel.prototype.updateStyles):
2054
2055 2011-05-17  Sheriff Bot  <webkit.review.bot@gmail.com>
2056
2057         Unreviewed, rolling out r86660.
2058         http://trac.webkit.org/changeset/86660
2059         https://bugs.webkit.org/show_bug.cgi?id=60958
2060
2061         broke search in console panel (Requested by podivilov on
2062         #webkit).
2063
2064         * inspector/front-end/ConsoleView.js:
2065         (WebInspector.ConsoleView.prototype.show):
2066         (WebInspector.ConsoleView.prototype.afterShow):
2067         (WebInspector.ConsoleView.prototype.hide):
2068         (WebInspector.ConsoleView.prototype.addMessage):
2069         (WebInspector.ConsoleView.prototype.clearMessages):
2070         * inspector/front-end/DebuggerPresentationModel.js:
2071         (WebInspector.DebuggerPresentationModel):
2072         * inspector/front-end/Drawer.js:
2073         (WebInspector.Drawer.prototype.set visibleView):
2074         (WebInspector.Drawer.prototype.show.animationFinished):
2075         (WebInspector.Drawer.prototype.show):
2076         * inspector/front-end/Panel.js:
2077         (WebInspector.Panel):
2078         * inspector/front-end/ResourceTreeModel.js:
2079         (WebInspector.ResourceTreeModel):
2080         * inspector/front-end/inspector.html:
2081         * inspector/front-end/inspector.js:
2082         (WebInspector._createPanels):
2083
2084 2011-05-17  Alexis Menard  <alexis.menard@openbossa.org>
2085
2086         Unreviewed warning fix introduced by r86377.
2087
2088         * rendering/RenderFieldset.cpp:
2089         (WebCore::RenderFieldset::paintMask):
2090
2091 2011-05-17  Yuta Kitamura  <yutak@chromium.org>
2092
2093         Reviewed by Kent Tamura.
2094
2095         WebSocket: Uninline methods in ThreadableWebSocketChannelClientWrapper
2096         https://bugs.webkit.org/show_bug.cgi?id=60945
2097
2098         Add ThreadableWebSocketChannelClientWrapper.cpp. Uninline methods in this class and
2099         move these definitions into .cpp in order to allow further modifications in this class.
2100
2101         No new tests, as this is just refactoring.
2102
2103         * CMakeLists.txt:
2104         * GNUmakefile.list.am:
2105         * WebCore.gypi:
2106         * WebCore.pro:
2107         * WebCore.vcproj/WebCore.vcproj:
2108         * WebCore.xcodeproj/project.pbxproj:
2109         * websockets/ThreadableWebSocketChannelClientWrapper.cpp: Added.
2110         (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
2111         (WebCore::ThreadableWebSocketChannelClientWrapper::create):
2112         (WebCore::ThreadableWebSocketChannelClientWrapper::clearSyncMethodDone):
2113         (WebCore::ThreadableWebSocketChannelClientWrapper::setSyncMethodDone):
2114         (WebCore::ThreadableWebSocketChannelClientWrapper::syncMethodDone):
2115         (WebCore::ThreadableWebSocketChannelClientWrapper::sent):
2116         (WebCore::ThreadableWebSocketChannelClientWrapper::setSent):
2117         (WebCore::ThreadableWebSocketChannelClientWrapper::bufferedAmount):
2118         (WebCore::ThreadableWebSocketChannelClientWrapper::setBufferedAmount):
2119         (WebCore::ThreadableWebSocketChannelClientWrapper::clearClient):
2120         (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
2121         (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
2122         (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
2123         (WebCore::ThreadableWebSocketChannelClientWrapper::suspend):
2124         (WebCore::ThreadableWebSocketChannelClientWrapper::resume):
2125         (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingEvents):
2126         * websockets/ThreadableWebSocketChannelClientWrapper.h:
2127
2128 2011-05-17  Andreas Kling  <andreas.kling@nokia.com>
2129
2130         Reviewed by Kenneth Rohde Christiansen.
2131
2132         [Qt] Support shadowed text in fast font path.
2133         https://bugs.webkit.org/show_bug.cgi?id=60462
2134
2135         * platform/graphics/Font.cpp:
2136         (WebCore::Font::drawText): Remove complex path shortcut for shadowed text.
2137
2138         * platform/graphics/qt/FontQt.cpp:
2139         (WebCore::Font::drawGlyphs): Paint shadows for simple text.
2140
2141 2011-05-17  Andreas Kling  <kling@webkit.org>
2142
2143         Reviewed by Kenneth Rohde Christiansen.
2144
2145         [Qt] Construct GraphicsLayerQtImpl::State with correct values.
2146         https://bugs.webkit.org/show_bug.cgi?id=60902
2147
2148         The GraphicsLayerQtImpl initial state should match the initial values
2149         of the corresponding GraphicsLayer flags.
2150
2151         * platform/graphics/qt/GraphicsLayerQt.cpp:
2152         (WebCore::GraphicsLayerQtImpl::State::State):
2153
2154 2011-05-12  Hans Wennborg  <hans@chromium.org>
2155
2156         Reviewed by Steve Block.
2157
2158         IndexedDB: Index population should ignore records without key for index
2159         https://bugs.webkit.org/show_bug.cgi?id=60697
2160
2161         When populating a new index, records which do not have a key on the
2162         index's key path should be ignored.
2163
2164         * storage/IDBObjectStoreBackendImpl.cpp:
2165
2166 2011-05-17  Young Han Lee  <joybro@company100.net>
2167
2168         Reviewed by Csaba Osztrogonác.
2169
2170         [Texmap][Qt] Enable strict PassOwnPtr for Qt with texmap enabled.
2171         https://bugs.webkit.org/show_bug.cgi?id=60947
2172
2173         No new tests. Build fix.
2174
2175         * platform/graphics/qt/TextureMapperQt.cpp:
2176         (WebCore::TextureMapper::create):
2177         * platform/graphics/qt/TextureMapperQt.h:
2178         (WebCore::TextureMapperQt::create):
2179         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
2180         (WebCore::GraphicsLayer::create):
2181
2182 2011-05-17  Alexander Pavlov  <apavlov@chromium.org>
2183
2184         Reviewed by Yury Semikhatsky.
2185
2186         Web Inspector: Increment/decrement of very big CSS numeric values results in invalid CSS
2187         https://bugs.webkit.org/show_bug.cgi?id=60890
2188
2189         * inspector/front-end/MetricsSidebarPane.js:
2190         (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
2191         * inspector/front-end/StylesSidebarPane.js:
2192         (WebInspector.StylesSidebarPane.alteredFloatNumber):
2193         (WebInspector.StylePropertyTreeElement.prototype):
2194
2195 2011-05-17  Pavel Podivilov  <podivilov@chromium.org>
2196
2197         Reviewed by Yury Semikhatsky.
2198
2199         Web Inspector: merge ConsoleView into ConsolePanel.
2200         https://bugs.webkit.org/show_bug.cgi?id=54670
2201
2202         Console view in drawer looks exactly the same as console panel. Merging ConsoleView and ConsolePanel together
2203         will allow us to reuse panel's functionality (e.g. resizable sidebar) even when console is docked.
2204
2205         * inspector/front-end/ConsoleView.js:
2206         (WebInspector.ConsolePanel.prototype.get toolbarItemLabel):
2207         (WebInspector.ConsolePanel.prototype.show):
2208         (WebInspector.ConsolePanel.prototype.hide):
2209         (WebInspector.ConsolePanel.prototype.showInDrawer):
2210         (WebInspector.ConsolePanel.prototype.afterShowInDrawer):
2211         (WebInspector.ConsolePanel.prototype.hideInDrawer):
2212         (WebInspector.ConsolePanel.prototype.addMessage):
2213         (WebInspector.ConsolePanel.prototype.clearMessages):
2214         * inspector/front-end/DebuggerPresentationModel.js:
2215         (WebInspector.DebuggerPresentationModel):
2216         * inspector/front-end/Drawer.js:
2217         (WebInspector.Drawer.prototype.set visibleView):
2218         (WebInspector.Drawer.prototype.show.animationFinished):
2219         (WebInspector.Drawer.prototype.show):
2220         * inspector/front-end/Panel.js:
2221         (WebInspector.Panel):
2222         * inspector/front-end/ResourceTreeModel.js:
2223         (WebInspector.ResourceTreeModel):
2224         * inspector/front-end/inspector.html:
2225         * inspector/front-end/inspector.js:
2226         (WebInspector._createPanels):
2227
2228 2011-05-16  Yuta Kitamura  <yutak@chromium.org>
2229
2230         Reviewed by Kent Tamura.
2231
2232         WebSocket: WebSocketHandshake prints a carriage return to console
2233         https://bugs.webkit.org/show_bug.cgi?id=60880
2234
2235         * websockets/WebSocketHandshake.cpp:
2236         (WebCore::WebSocketHandshake::readStatusLine):
2237         WebSocketHandshake should not print a carriage return to console. To fix this,
2238         we first check whether the status line ends with CRLF. After that,
2239         we can print the first (lineLength - 2) characters of the status line
2240         which do not contain a carriage return.
2241
2242 2011-05-16  MORITA Hajime  <morrita@google.com>
2243
2244         Unreviewed build fix for r86647, which broke SUPPORT_AUTOCORRECTION_PANEL.
2245
2246         * editing/SpellingCorrectionController.cpp:
2247         (WebCore::markersHaveIdenticalDescription):
2248         (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
2249         (WebCore::SpellingCorrectionController::processMarkersOnTextToBeReplacedByResult):
2250
2251 2011-05-16  Kent Tamura  <tkent@chromium.org>
2252
2253         Fix Leopard build.
2254
2255         * html/HTMLInputElement.cpp:
2256         (WebCore::HTMLInputElement::stepUpFromRenderer): Use double instead of int.
2257
2258 2011-05-16  James Robinson  <jamesr@chromium.org>
2259
2260         Reviewed by Kenneth Russell.
2261
2262         [chromium] Decouple LayerChromium/CCLayerImpl trees
2263         https://bugs.webkit.org/show_bug.cgi?id=58830
2264
2265         Makes the CCLayerImpl tree self-hosting and provides an explicit step
2266         to synchronize the LayerChromium tree to the CCLayerImpl tree.
2267         Tested by compositing/ layout tests and by unit tests in WebKit/chromium.
2268
2269         * WebCore.gypi:
2270         * platform/graphics/chromium/CanvasLayerChromium.cpp:
2271         (WebCore::CanvasLayerChromium::createCCLayerImpl):
2272         * platform/graphics/chromium/LayerChromium.cpp:
2273         (WebCore::LayerChromium::LayerChromium):
2274         (WebCore::LayerChromium::~LayerChromium):
2275         (WebCore::LayerChromium::cleanupResources):
2276         (WebCore::LayerChromium::dumpLayer):
2277         (WebCore::LayerChromium::dumpLayerProperties):
2278         (WebCore::LayerChromium::createCCLayerImpl):
2279         (WebCore::LayerChromium::ccLayerImpl):
2280         * platform/graphics/chromium/LayerChromium.h:
2281         (WebCore::LayerChromium::id):
2282         (WebCore::LayerChromium::setCCLayerImpl):
2283         * platform/graphics/chromium/LayerRendererChromium.cpp:
2284         (WebCore::LayerRendererChromium::updateAndDrawLayers):
2285         (WebCore::LayerRendererChromium::updateLayers):
2286         (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
2287         (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
2288         * platform/graphics/chromium/LayerRendererChromium.h:
2289         * platform/graphics/chromium/PluginLayerChromium.cpp:
2290         (WebCore::PluginLayerChromium::createCCLayerImpl):
2291         * platform/graphics/chromium/TreeSynchronizer.cpp: Added.
2292         (WebCore::TreeSynchronizer::addCCLayerImplsToMapRecursive):
2293         (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
2294         (WebCore::TreeSynchronizer::synchronizeTrees):
2295         * platform/graphics/chromium/TreeSynchronizer.h:
2296         * platform/graphics/chromium/VideoLayerChromium.cpp:
2297         (WebCore::VideoLayerChromium::createCCLayerImpl):
2298         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
2299         (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl):
2300         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
2301         (WebCore::CCCanvasLayerImpl::create):
2302         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2303         (WebCore::CCLayerImpl::CCLayerImpl):
2304         (WebCore::CCLayerImpl::addChild):
2305         (WebCore::CCLayerImpl::removeFromParent):
2306         (WebCore::CCLayerImpl::removeAllChildren):
2307         (WebCore::CCLayerImpl::clearChildList):
2308         (WebCore::CCLayerImpl::descendantsDrawsContent):
2309         (WebCore::CCLayerImpl::drawsContent):
2310         (WebCore::CCLayerImpl::updateCompositorResources):
2311         * platform/graphics/chromium/cc/CCLayerImpl.h:
2312         (WebCore::CCLayerImpl::create):
2313         (WebCore::CCLayerImpl::parent):
2314         (WebCore::CCLayerImpl::children):
2315         (WebCore::CCLayerImpl::setMaskLayer):
2316         (WebCore::CCLayerImpl::maskLayer):
2317         (WebCore::CCLayerImpl::setReplicaLayer):
2318         (WebCore::CCLayerImpl::replicaLayer):
2319         (WebCore::CCLayerImpl::id):
2320         (WebCore::CCLayerImpl::owner):
2321         (WebCore::CCLayerImpl::setParent):
2322         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
2323         (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
2324         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
2325         (WebCore::CCPluginLayerImpl::create):
2326         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
2327         (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
2328         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
2329         (WebCore::CCVideoLayerImpl::create):
2330
2331 2011-05-16  Naoki Takano  <takano.naoki@gmail.com>
2332
2333         Reviewed by Kent Tamura.
2334
2335         HTML5 Number Spinbox displays a 0 in situations where a 0 is not between the min and max.
2336         https://bugs.webkit.org/show_bug.cgi?id=60871
2337
2338         Test: fast/forms/input-stepup-stepdown-from-renderer.html
2339
2340         In number input type, if the value is not a number, including empty, the currect valued is assumed 0.
2341         But we have to handle it separately from the case when the value is actuall "0".
2342
2343         * html/HTMLInputElement.cpp:
2344         (WebCore::HTMLInputElement::stepUpFromRenderer): Added cliping for default value.
2345
2346 2011-05-16  Adam Barth  <abarth@webkit.org>
2347
2348         Reviewed by Eric Seidel.
2349
2350         Remove bogus ASSERT in Document::setCompatibilityMode
2351         https://bugs.webkit.org/show_bug.cgi?id=60935
2352
2353         The ASSERT is invalid when the parser is in the initial state and the
2354         document is non-empty, which is strange but not impossible.
2355
2356         Test: fast/parser/append-child-followed-by-document-write.html
2357
2358         * dom/Document.cpp:
2359         (WebCore::Document::setCompatibilityMode):
2360
2361 2011-05-16  MORITA Hajime  <morrita@google.com>
2362
2363         Reviewed by Tony Chang.
2364
2365         [Refactoring] Member variables of DocumentMarker should be encapsulated.        
2366         https://bugs.webkit.org/show_bug.cgi?id=56814
2367
2368         - Moved DocumentMarker's member variables to private and added getters for them.
2369         - Added DocumentMarker setters and constructors, which contain assertions against m_type values
2370           because description and activeMatch are used with specific type of MarkerType.
2371         - Moved chromium's WebKit::WebFrameImpl::addMarker() to DocumentMarkerController because
2372           it accesses DocumentMarker internals.
2373         - Moved a version of DMC::addMarker() to private and add alternatives that hide
2374           internals of DocumentMarker. (The internal will be renewed by upcoming change.)
2375         
2376         * dom/DocumentMarker.h:
2377         (WebCore::DocumentMarker::type):
2378         (WebCore::DocumentMarker::startOffset):
2379         (WebCore::DocumentMarker::endOffset):
2380         (WebCore::DocumentMarker::description):
2381         (WebCore::DocumentMarker::hasDescription):
2382         (WebCore::DocumentMarker::activeMatch):
2383         (WebCore::DocumentMarker::clearDescription):
2384         (WebCore::DocumentMarker::setStartOffset):
2385         (WebCore::DocumentMarker::setEndOffset):
2386         (WebCore::DocumentMarker::operator==):
2387         (WebCore::DocumentMarker::DocumentMarker):
2388         (WebCore::DocumentMarker::shiftOffsets):
2389         (WebCore::DocumentMarker::setActiveMatch):
2390         * dom/DocumentMarkerController.cpp:
2391         (WebCore::DocumentMarkerController::addMarker):
2392         (WebCore::DocumentMarkerController::addTextMatchMarker):
2393         (WebCore::DocumentMarkerController::copyMarkers):
2394         (WebCore::DocumentMarkerController::removeMarkers):
2395         (WebCore::DocumentMarkerController::markerContainingPoint):
2396         (WebCore::DocumentMarkerController::markersInRange):
2397         (WebCore::DocumentMarkerController::renderedRectsForMarkers):
2398         (WebCore::DocumentMarkerController::removeMarkersFromList):
2399         (WebCore::DocumentMarkerController::repaintMarkers):
2400         (WebCore::DocumentMarkerController::shiftMarkers):
2401         (WebCore::DocumentMarkerController::setMarkersActive):
2402         (WebCore::DocumentMarkerController::hasMarkers):
2403         (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
2404         (WebCore::DocumentMarkerController::showMarkers):
2405         * dom/DocumentMarkerController.h:
2406         * editing/CompositeEditCommand.cpp:
2407         (WebCore::CompositeEditCommand::replaceTextInNodePreservingMarkers):
2408         * editing/DeleteSelectionCommand.cpp:
2409         (WebCore::DeleteSelectionCommand::originalStringForAutocorrectionAtBeginningOfSelection):
2410         * editing/Editor.cpp:
2411         (WebCore::Editor::selectionStartHasMarkerFor):
2412         * editing/SpellingCorrectionController.cpp:
2413         (WebCore::SpellingCorrectionController::respondToChangedSelection):
2414         * editing/SpellingCorrectionController.h:
2415         (WebCore::SpellingCorrectionController::shouldStartTimerFor):
2416         * rendering/HitTestResult.cpp:
2417         (WebCore::HitTestResult::spellingToolTip):
2418         (WebCore::HitTestResult::replacedString):
2419         * rendering/InlineTextBox.cpp:
2420         (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
2421         (WebCore::InlineTextBox::paintTextMatchMarker):
2422         (WebCore::InlineTextBox::computeRectForReplacementMarker):
2423         (WebCore::InlineTextBox::paintDocumentMarkers):
2424         * rendering/svg/SVGInlineFlowBox.cpp:
2425         (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
2426
2427 2011-05-16  Martin Robinson  <mrobinson@igalia.com>
2428
2429         Fix the Cairo build for older versions of GTK+.
2430
2431         * platform/gtk/GtkWidgetBackingStoreX11.cpp: Include GtkVersioning.h to
2432         satisfy older versions of GTK+ 2.x.
2433
2434 2011-05-16  Ian Henderson  <ianh@apple.com>
2435
2436         Reviewed by Joseph Pecoraro.
2437
2438         Page::goToItem doesn't work while loading is deferred
2439         https://bugs.webkit.org/show_bug.cgi?id=60412
2440
2441         If goToItem is called while loading is deferred, save the arguments
2442         and try again later instead of doing nothing.
2443
2444         Test: loader/navigation-while-deferring-loads.html
2445
2446         * loader/FrameLoader.cpp:
2447         (WebCore::FrameLoader::setDefersLoading):
2448         Pipe the "defersLoading" state into HistoryController.
2449         * loader/HistoryController.cpp:
2450         (WebCore::HistoryController::HistoryController):
2451         (WebCore::HistoryController::goToItem):
2452         Save the HistoryItem and FrameLoadType if loading is deferred.
2453         (WebCore::HistoryController::setDefersLoading):
2454         If we have a saved HistoryItem after resuming, try going to it.
2455         * loader/HistoryController.h:
2456         * page/Page.cpp:
2457         (WebCore::Page::goToItem):
2458         No longer bail early if loading is deferred, since HistoryController
2459         now handles this case.
2460
2461 2011-05-16  Andrew Wilson  <atwilson@chromium.org>
2462
2463         Unreviewed, rolling out r86625.
2464         http://trac.webkit.org/changeset/86625
2465         https://bugs.webkit.org/show_bug.cgi?id=60719
2466
2467         Caused failed assertion on Chromium gpu canary bots
2468
2469         * WebCore.gypi:
2470         * platform/chromium/TraceEvent.h:
2471         * platform/graphics/chromium/ContentLayerChromium.cpp:
2472         (WebCore::ContentLayerChromium::create):
2473         (WebCore::ContentLayerChromium::ContentLayerChromium):
2474         (WebCore::ContentLayerChromium::~ContentLayerChromium):
2475         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2476         (WebCore::ContentLayerChromium::setLayerRenderer):
2477         (WebCore::ContentLayerChromium::createTilerIfNeeded):
2478         (WebCore::ContentLayerChromium::updateCompositorResources):
2479         * platform/graphics/chromium/ContentLayerChromium.h:
2480         (WebCore::ContentLayerChromium::drawsContent):
2481         * platform/graphics/chromium/ImageLayerChromium.cpp:
2482         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2483         (WebCore::ImageLayerChromium::updateCompositorResources):
2484         * platform/graphics/chromium/ImageLayerChromium.h:
2485         * platform/graphics/chromium/LayerPainterChromium.h: Removed.
2486         * platform/graphics/chromium/LayerRendererChromium.cpp:
2487         (WebCore::LayerRendererChromium::create):
2488         (WebCore::LayerRendererChromium::LayerRendererChromium):
2489         (WebCore::LayerRendererChromium::updateRootLayerContents):
2490         (WebCore::LayerRendererChromium::drawRootLayer):
2491         (WebCore::LayerRendererChromium::updateAndDrawLayers):
2492         (WebCore::LayerRendererChromium::updateLayers):
2493         * platform/graphics/chromium/LayerRendererChromium.h:
2494         * platform/graphics/chromium/LayerTextureSubImage.cpp: Removed.
2495         * platform/graphics/chromium/LayerTextureSubImage.h: Removed.
2496         * platform/graphics/chromium/LayerTextureUpdater.h: Removed.
2497         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Removed.
2498         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Removed.
2499         * platform/graphics/chromium/LayerTilerChromium.cpp:
2500         (WebCore::LayerTilerChromium::create):
2501         (WebCore::LayerTilerChromium::LayerTilerChromium):
2502         (WebCore::LayerTilerChromium::setLayerRenderer):
2503         (WebCore::LayerTilerChromium::setTileSize):
2504         (WebCore::LayerTilerChromium::update):
2505         (WebCore::LayerTilerChromium::uploadCanvas):
2506         (WebCore::LayerTilerChromium::updateFromPixels):
2507         (WebCore::LayerTilerChromium::draw):
2508         * platform/graphics/chromium/LayerTilerChromium.h:
2509         (WebCore::LayerTilerChromium::Tile::Tile):
2510         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2511         (WebCore::CCHeadsUpDisplay::draw):
2512
2513 2011-05-16  Antti Koivisto  <antti@apple.com>
2514
2515         Reviewed by Dave Kilzer.
2516
2517         https://bugs.webkit.org/show_bug.cgi?id=60927
2518         fastCheckSelector() does not inline correctly in all cases
2519
2520         Use anonymous namespace instead of static qualifier to get internal linkage.
2521         Use functions as template arguments instead of classes.
2522
2523         * css/CSSStyleSelector.cpp:
2524         (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
2525
2526 2011-05-16  Chris Rogers  <crogers@google.com>
2527
2528         Unreviewed build fix.
2529
2530         Just return "nullptr" to fix compile errors
2531         https://bugs.webkit.org/show_bug.cgi?id=60932
2532
2533         * platform/audio/mac/AudioBusMac.mm:
2534         (WebCore::AudioBus::loadPlatformResource):
2535         * platform/audio/mac/AudioFileReaderMac.cpp:
2536         (WebCore::AudioFileReader::createBus):
2537
2538 2011-05-16  Emil A Eklund  <eae@chromium.org>
2539
2540         Reviewed by Eric Seidel.
2541
2542         Replace docTop/Right/Bottom/Left/Width/Height with documentRect
2543         https://bugs.webkit.org/show_bug.cgi?id=60743
2544
2545         Change RenderView::documentRect to compute rect once rather than four times.
2546         Replace all uses of docTop/Right/Bottom/Left/Width/Height with documentRect to
2547         simplify the code and reduce complexity.
2548
2549         Covered by existing tests.
2550
2551         * WebCore.exp.in:
2552         * page/FrameView.cpp:
2553         (WebCore::FrameView::adjustViewSize):
2554         (WebCore::FrameView::forceLayoutForPagination):
2555         * page/PrintContext.cpp:
2556         (WebCore::PrintContext::computePageRects):
2557         * rendering/RenderBox.cpp:
2558         (WebCore::RenderBox::paintRootBoxFillLayers):
2559         * rendering/RenderLayerCompositor.cpp:
2560         (WebCore::RenderLayerCompositor::updateRootLayerPosition):
2561         * rendering/RenderView.cpp:
2562         (WebCore::RenderView::documentRect):
2563         * rendering/RenderView.h:
2564
2565 2011-05-16  Tony Chang  <tony@chromium.org>
2566
2567         Reviewed by Adam Barth.
2568
2569         [chromium] shard V8DerivedSources into 19 files
2570         https://bugs.webkit.org/show_bug.cgi?id=60926
2571
2572         This reduces the clobber build time by 4s on my machine.  It helps
2573         by making the slowest to compile V8DerivedSources faster (and thus
2574         more parallelizable).  With 8 files, the 3 slowest are 23s, 18s and
2575         10s.  With 19 files, the 3 slowest are 16s, 10s, and 10s.
2576
2577         * WebCore.gyp/WebCore.gyp:
2578         * storage/IDBObjectStore.h: Fix a missing include that was working
2579           because a different .cpp file before it was including the header.
2580
2581 2011-05-16  Chris Rogers  <crogers@google.com>
2582
2583         Unreviewed build fix.
2584
2585         Fix web audio enabled mac port compile errors
2586         https://bugs.webkit.org/show_bug.cgi?id=60930
2587
2588         * platform/audio/mac/AudioBusMac.mm:
2589         (WebCore::AudioBus::loadPlatformResource):
2590         * platform/audio/mac/AudioFileReaderMac.cpp:
2591         (WebCore::AudioFileReader::createBus):
2592
2593 2011-05-16  Eric Seidel  <eric@webkit.org>
2594
2595         Reviewed by Adam Barth.
2596
2597         Document why RenderBlockLineLayout has its own deleteLineBoxTree implementation
2598         https://bugs.webkit.org/show_bug.cgi?id=60925
2599
2600         I suspect this difference is really just papering over other bugs
2601         but now that I finally understand the difference, I should at least
2602         document it for others.
2603
2604         * rendering/RenderBlockLineLayout.cpp:
2605         (WebCore::deleteLineRange):
2606         (WebCore::RenderBlock::determineStartPosition):
2607
2608 2011-05-16  Alok Priyadarshi  <alokp@chromium.org>
2609
2610         Reviewed by James Robinson.
2611
2612         [chromium] Split canvas from LayerTilerChromium
2613         https://bugs.webkit.org/show_bug.cgi?id=60719
2614
2615         LayerTilerChromium now just does tiling. It delegates the task of painting and updating textures to LayerTextureUpdater.
2616         Also abstracted LayerTextureSubImage to upload texture pixels.
2617
2618         * WebCore.gypi:
2619         * platform/chromium/TraceEvent.h:
2620         * platform/graphics/chromium/ContentLayerChromium.cpp:
2621         (WebCore::ContentLayerChromium::create):
2622         (WebCore::ContentLayerChromium::ContentLayerChromium):
2623         (WebCore::ContentLayerChromium::~ContentLayerChromium):
2624         (WebCore::ContentLayerChromium::paintContentsIfDirty):
2625         (WebCore::ContentLayerChromium::cleanupResources):
2626         (WebCore::ContentLayerChromium::setLayerRenderer):
2627         (WebCore::ContentLayerChromium::createTextureUpdater):
2628         (WebCore::ContentLayerChromium::drawsContent):
2629         (WebCore::ContentLayerChromium::createTilerIfNeeded):
2630         (WebCore::ContentLayerChromium::updateCompositorResources):
2631         * platform/graphics/chromium/ContentLayerChromium.h:
2632         * platform/graphics/chromium/ImageLayerChromium.cpp:
2633         (WebCore::ImageLayerTextureUpdater::ImageLayerTextureUpdater):
2634         (WebCore::ImageLayerTextureUpdater::~ImageLayerTextureUpdater):
2635         (WebCore::ImageLayerTextureUpdater::orientation):
2636         (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
2637         (WebCore::ImageLayerTextureUpdater::updateTextureRect):
2638         (WebCore::ImageLayerTextureUpdater::imageRect):
2639         (WebCore::ImageLayerChromium::paintContentsIfDirty):
2640         (WebCore::ImageLayerChromium::updateCompositorResources):
2641         (WebCore::ImageLayerChromium::createTextureUpdater):
2642         * platform/graphics/chromium/ImageLayerChromium.h:
2643         * platform/graphics/chromium/LayerPainterChromium.h: Added.
2644         * platform/graphics/chromium/LayerRendererChromium.cpp:
2645         (WebCore::LayerRendererChromium::create):
2646         (WebCore::LayerRendererChromium::LayerRendererChromium):
2647         (WebCore::LayerRendererChromium::updateRootLayerContents):
2648         (WebCore::LayerRendererChromium::drawRootLayer):
2649         (WebCore::LayerRendererChromium::updateAndDrawLayers):
2650         (WebCore::LayerRendererChromium::updateLayers):
2651         * platform/graphics/chromium/LayerRendererChromium.h:
2652         * platform/graphics/chromium/LayerTextureSubImage.cpp: Added.
2653         (WebCore::LayerTextureSubImage::LayerTextureSubImage):
2654         (WebCore::LayerTextureSubImage::~LayerTextureSubImage):
2655         (WebCore::LayerTextureSubImage::setSubImageSize):
2656         (WebCore::LayerTextureSubImage::upload):
2657         (WebCore::LayerTextureSubImage::uploadWithTexSubImage):
2658         (WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):
2659         * platform/graphics/chromium/LayerTextureSubImage.h: Added.
2660         * platform/graphics/chromium/LayerTextureUpdater.h: Added.
2661         (WebCore::LayerTextureUpdater::LayerTextureUpdater):
2662         (WebCore::LayerTextureUpdater::~LayerTextureUpdater):
2663         (WebCore::LayerTextureUpdater::context):
2664         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Added.
2665         (WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
2666         (WebCore::LayerTextureUpdaterCanvas::paintContents):
2667         (WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
2668         (WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
2669         (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
2670         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Added.
2671         (WebCore::LayerTextureUpdaterCanvas::~LayerTextureUpdaterCanvas):
2672         (WebCore::LayerTextureUpdaterCanvas::contentRect):
2673         (WebCore::LayerTextureUpdaterBitmap::~LayerTextureUpdaterBitmap):
2674         (WebCore::LayerTextureUpdaterBitmap::orientation):
2675         * platform/graphics/chromium/LayerTilerChromium.cpp:
2676         (WebCore::LayerTilerChromium::create):
2677         (WebCore::LayerTilerChromium::LayerTilerChromium):
2678         (WebCore::LayerTilerChromium::setTileSize):
2679         (WebCore::LayerTilerChromium::prepareToUpdate):
2680         (WebCore::LayerTilerChromium::updateRect):
2681         (WebCore::LayerTilerChromium::draw):
2682         * platform/graphics/chromium/LayerTilerChromium.h:
2683         (WebCore::LayerTilerChromium::Tile::Tile):
2684         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
2685         (WebCore::CCHeadsUpDisplay::draw):
2686
2687 2011-05-16  Andrew Wilson  <atwilson@chromium.org>
2688
2689         Unreviewed prospective build fix/workaround for chromium ARM compiler error.
2690
2691         * platform/graphics/GraphicsLayer.cpp:
2692         (WebCore::GraphicsLayer::animationNameForTransition):
2693
2694 2011-05-16  Martin Robinson  <mrobinson@igalia.com>
2695
2696         Reviewed by Anders Carlsson.
2697
2698         [GTK] [WebKit2] Provide a fast version of the backing store for X11
2699         https://bugs.webkit.org/show_bug.cgi?id=60912
2700
2701         No new tests. This will be covered by WebKit2 pixel tests.
2702
2703         * GNUmakefile.list.am: Added new GtkWidgetBackingStore source and header files.
2704         * platform/gtk/GtkWidgetBackingStore.h: Added.
2705         * platform/gtk/GtkWidgetBackingStoreCairo.cpp: Added this implementation of the backing
2706         store that uses Cairo and has the same performance characteristics as the WebKit2 implementaiton.
2707         * platform/gtk/GtkWidgetBackingStoreX11.cpp: Added this implementation of the backing
2708         store that uses X11 directly and has better performance than the Cairo version.
2709
2710 2011-05-16  Chris Rogers  <crogers@google.com>
2711
2712         Reviewed by senorblanco@chromium.org.
2713
2714         Add DynamicsCompressorNode implementation
2715         https://bugs.webkit.org/show_bug.cgi?id=60682
2716
2717         No new tests since audio API is not yet implemented.
2718
2719         * DerivedSources.make:
2720         * WebCore.gypi:
2721         * WebCore.xcodeproj/project.pbxproj:
2722         * platform/audio/DynamicsCompressor.cpp: Added.
2723         (WebCore::DynamicsCompressor::DynamicsCompressor):
2724         (WebCore::DynamicsCompressor::initializeParameters):
2725         (WebCore::DynamicsCompressor::parameterValue):
2726         (WebCore::DynamicsCompressor::setEmphasisStageParameters):
2727         (WebCore::DynamicsCompressor::setEmphasisParameters):
2728         (WebCore::DynamicsCompressor::process):
2729         (WebCore::DynamicsCompressor::reset):
2730         * platform/audio/DynamicsCompressor.h: Added.
2731         (WebCore::DynamicsCompressor::isStereo):
2732         (WebCore::DynamicsCompressor::sampleRate):
2733         (WebCore::DynamicsCompressor::nyquist):
2734         * platform/audio/DynamicsCompressorKernel.cpp: Added.
2735         (WebCore::saturate):
2736         (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
2737         (WebCore::DynamicsCompressorKernel::setPreDelayTime):
2738         (WebCore::DynamicsCompressorKernel::process):
2739         (WebCore::DynamicsCompressorKernel::reset):
2740         * platform/audio/DynamicsCompressorKernel.h: Added.
2741         (WebCore::DynamicsCompressorKernel::latencyFrames):
2742         (WebCore::DynamicsCompressorKernel::sampleRate):
2743         * platform/audio/ZeroPole.cpp: Added.
2744         (WebCore::ZeroPole::process):
2745         * platform/audio/ZeroPole.h: Added.
2746         (WebCore::ZeroPole::ZeroPole):
2747         (WebCore::ZeroPole::reset):
2748         (WebCore::ZeroPole::setZero):
2749         (WebCore::ZeroPole::setPole):
2750         (WebCore::ZeroPole::zero):
2751         (WebCore::ZeroPole::pole):
2752         * webaudio/AudioContext.cpp:
2753         (WebCore::AudioContext::createDynamicsCompressor):
2754         * webaudio/AudioContext.h:
2755         * webaudio/AudioContext.idl:
2756         * webaudio/AudioNode.h:
2757         * webaudio/DynamicsCompressorNode.cpp: Added.
2758         (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
2759         (WebCore::DynamicsCompressorNode::~DynamicsCompressorNode):
2760         (WebCore::DynamicsCompressorNode::process):
2761         (WebCore::DynamicsCompressorNode::reset):
2762         (WebCore::DynamicsCompressorNode::initialize):
2763         (WebCore::DynamicsCompressorNode::uninitialize):
2764         * webaudio/DynamicsCompressorNode.h: Added.
2765         (WebCore::DynamicsCompressorNode::create):
2766         * webaudio/DynamicsCompressorNode.idl: Added.
2767
2768 2011-05-16  Yuzo Fujishima  <yuzo@google.com>
2769
2770         Reviewed by Antti Koivisto.
2771
2772         Fix for Bug 43704 - Web font is printed as blank if it is not cached
2773         https://bugs.webkit.org/show_bug.cgi?id=43704
2774
2775         In setting printing, we should not validate resources already cached
2776         for the document. If we do, web fonts used for screen are revalidated
2777         and possiby reloaded. Then the fonts can be shown as blank on print.
2778         This patch won't save the case where screen and print use different web
2779         fonts. Nonetheless, this is an improvement.
2780
2781         No new tests because there seems to be no good way to test print images.
2782
2783         * editing/Editor.cpp:
2784         (WebCore::Editor::paste): Use ResourceCacheValidationSuppressor instead of explicitly allowing/disallowing stale resources.
2785         * loader/cache/CachedResourceLoader.h:
2786         (WebCore::ResourceCacheValidationSuppressor::ResourceCacheValidationSuppressor): RAII class for allowing/disallowing stale resources.
2787         (WebCore::ResourceCacheValidationSuppressor::~ResourceCacheValidationSuppressor):
2788         * page/DragController.cpp:
2789         (WebCore::DragController::concludeEditDrag): Use ResourceCacheValidationSuppressor instead of explicitly allowing/disallowing stale resources.
2790         * page/Frame.cpp:
2791         (WebCore::Frame::setPrinting): Use ResourceCacheValidationSuppressor to allow stale resources in printing.
2792
2793 2011-05-16  Dan Bernstein  <mitz@apple.com>
2794
2795         Reviewed by Darin Adler.
2796
2797         <rdar://problem/9446653> REGRESSION (r84750): Moving by word stops at apostrophe mid-word
2798         https://bugs.webkit.org/show_bug.cgi?id=60915
2799
2800         CFStringTokenizer’s kCFStringTokenizerUnitWord considers “Here’s” as two separate tokens.
2801         Switching to CFStringTokenizer in r84750 was an attempt to address an issue with Japanese word
2802         boundaries for searches with WebFindOptionsAtWordStarts, but it turned out to be insufficient,
2803         and in r86387 the Japanese word issue was addressed independently of text boundaries, so just
2804         revert r84750.
2805
2806         * platform/text/mac/TextBoundaries.mm:
2807         (WebCore::findNextWordFromIndex):
2808
2809 2011-05-16  David Kilzer  <ddkilzer@apple.com>
2810
2811         <http://webkit.org/b/60913> C++ exceptions should not be enabled when building with llvm-gcc-4.2
2812         <rdar://problem/9446430>
2813
2814         Reviewed by Mark Rowe.
2815
2816         * Configurations/Base.xcconfig: Fixed typo.
2817
2818 2011-05-16  Jon Lee  <jonlee@apple.com>
2819
2820         Fix for broken regression tests. Adding null pointer check
2821
2822         * page/FrameView.cpp:
2823         (WebCore::FrameView::didAddHorizontalScrollbar):
2824         (WebCore::FrameView::willRemoveHorizontalScrollbar):
2825
2826 2011-05-16  Adrienne Walker  <enne@google.com>
2827
2828         Reviewed by James Robinson.
2829
2830         [chromium] Remove unused member variables from LayerRendererChromium
2831         https://bugs.webkit.org/show_bug.cgi?id=60899
2832
2833         These should have been removed when tiling was enabled for root
2834         layers.
2835
2836         * platform/graphics/chromium/LayerRendererChromium.h:
2837
2838 2011-05-16  Andrew Wilson  <atwilson@chromium.org>
2839
2840         Unreviewed, rolling out r86589.
2841         http://trac.webkit.org/changeset/86589
2842         https://bugs.webkit.org/show_bug.cgi?id=54670
2843
2844         Broke chromium inspector tests.
2845
2846         * inspector/front-end/ConsoleView.js:
2847         (WebInspector.ConsoleView.prototype.show):
2848         (WebInspector.ConsoleView.prototype.afterShow):
2849         (WebInspector.ConsoleView.prototype.hide):
2850         (WebInspector.ConsoleView.prototype.addMessage):
2851         (WebInspector.ConsoleView.prototype.clearMessages):
2852         * inspector/front-end/DebuggerPresentationModel.js:
2853         (WebInspector.DebuggerPresentationModel):
2854         * inspector/front-end/Drawer.js:
2855         (WebInspector.Drawer.prototype.set visibleView):
2856         (WebInspector.Drawer.prototype.show.animationFinished):
2857         (WebInspector.Drawer.prototype.show):
2858         * inspector/front-end/Panel.js:
2859         (WebInspector.Panel):
2860         * inspector/front-end/ResourceTreeModel.js:
2861         (WebInspector.ResourceTreeModel):
2862         * inspector/front-end/inspector.html:
2863         * inspector/front-end/inspector.js:
2864         (WebInspector._createPanels):
2865
2866 2011-05-16  Brian Weinstein  <bweinstein@apple.com>
2867
2868         Reviewed by Enrica Casucci.
2869
2870         REGRESSION (r86542): Dropping URL onto Desktop creates broken Internet Shortcut file.
2871         
2872         r86477 fixed this bug by using latin1 as the CString's encoding instead of ascii, but r86542
2873         undid this change.
2874         
2875         Change it back to latin1 to fix the bug.
2876
2877         * platform/win/ClipboardWin.cpp:
2878         (WebCore::ClipboardWin::writeURL):
2879
2880 2011-05-16  Jeremy Noble  <jer.noble@apple.com>
2881
2882         Unreviewed; build fix for non-SnowLeopard builds.
2883
2884         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Wrap definition 
2885             of layerIsDescendentOf in a #if check.
2886
2887 2011-05-16  Pavel Podivilov  <podivilov@chromium.org>
2888
2889         Reviewed by Yury Semikhatsky.
2890
2891         Web Inspector: merge ConsoleView into ConsolePanel.
2892         https://bugs.webkit.org/show_bug.cgi?id=54670
2893
2894         Console view in drawer looks exactly the same as console panel. Merging ConsoleView and ConsolePanel together
2895         will allow us to reuse panel's functionality (e.g. resizable sidebar) even when console is docked.
2896
2897         * inspector/front-end/ConsoleView.js:
2898         (WebInspector.ConsolePanel.prototype.get toolbarItemLabel):
2899         (WebInspector.ConsolePanel.prototype.show):
2900         (WebInspector.ConsolePanel.prototype.hide):
2901         (WebInspector.ConsolePanel.prototype.showInDrawer):
2902         (WebInspector.ConsolePanel.prototype.afterShowInDrawer):
2903         (WebInspector.ConsolePanel.prototype.hideInDrawer):
2904         (WebInspector.ConsolePanel.prototype.addMessage):
2905         (WebInspector.ConsolePanel.prototype.clearMessages):
2906         * inspector/front-end/DebuggerPresentationModel.js:
2907         (WebInspector.DebuggerPresentationModel):
2908         * inspector/front-end/Drawer.js:
2909         (WebInspector.Drawer.prototype.set visibleView):
2910         (WebInspector.Drawer.prototype.show.animationFinished):
2911         (WebInspector.Drawer.prototype.show):
2912         * inspector/front-end/Panel.js:
2913         (WebInspector.Panel):
2914         * inspector/front-end/ResourceTreeModel.js:
2915         (WebInspector.ResourceTreeModel):
2916         * inspector/front-end/inspector.html:
2917         * inspector/front-end/inspector.js:
2918         (WebInspector._createPanels):
2919
2920 2011-05-13  Jer Noble  <jer.noble@apple.com>
2921
2922         Reviewed by Simon Fraser.
2923
2924         Video is blank, controller is misplaced on trailers.apple.com movie in fullscreen (with two screens)
2925         https://bugs.webkit.org/show_bug.cgi?id=60826
2926
2927         Listen for a WebKitLayerHostChanged notification and, if the affected layer is an
2928         ancestor layer of the qtMovieLayer, tear down the layer and recreate it the
2929         next time setVisible(true) is called.
2930
2931         * dom/Document.cpp:
2932         (WebCore::Document::webkitDidEnterFullScreenForElement):  Call setFullScreenRootLayer(0) 
2933             before disabling animation on the full screen renderer.
2934         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2935         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2936         (WebCore::MediaPlayerPrivateQTKit::createQTMovie): Register an observer for the new 
2937             WebKitLayerHostChanged notification.
2938         (WebCore::layerIsDescendentOf): Added.
2939         (WebCore::MediaPlayerPrivateQTKit::layerHostChanged): Added.  If the changed
2940             layer is an ancestor of the movie layer, tear down rendering and re-
2941             create the next time setVisible(true) is called.
2942         (-[WebCoreMovieObserver layerHostChanged:]):  Added ObjC listener wrapper.
2943
2944 2011-05-16  Adam Barth  <abarth@webkit.org>
2945
2946         Reviewed by Darin Adler.
2947
2948         Remove disable-javascript-urls CSP directive
2949         https://bugs.webkit.org/show_bug.cgi?id=60874
2950
2951         After talking this out with various folks in the CSP working group, we
2952         decided that this syntax isn't the right way to approach this issue.
2953         If we want to address the use case of enabling JavaScript URLs
2954         separately from inline script, we'll probably just make
2955
2956           script-src javascript:
2957
2958         work that way.
2959
2960         * page/ContentSecurityPolicy.cpp:
2961         (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
2962         (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
2963         (WebCore::ContentSecurityPolicy::addDirective):
2964         * page/ContentSecurityPolicy.h:
2965
2966 2011-05-16  Jon Lee  <jonlee@apple.com>
2967
2968        Reviewed by Simon Fraser.
2969
2970        Can't horizontally scroll iframes and overflow because wheel events are always accepted
2971        https://bugs.webkit.org/show_bug.cgi?id=60779
2972
2973        * dom/Document.cpp:
2974        (WebCore::Document::Document): Initialize wheel event handler count
2975        (WebCore::Document::didAddWheelEventHandler): Increment count, and tell the main frame
2976        to recalculate the total number of wheel event handlers in all of its frames' documents
2977        (WebCore::Document::didRemoveWheelEventHandler): Reverse of previous method
2978        * dom/Document.h:
2979        (WebCore::Document::wheelEventHandlerCount): Access the count
2980        * dom/Node.cpp:
2981        (WebCore::tryAddEventListener): If the event listener is a mouse wheel event, then
2982        tell the document to increment its count
2983        (WebCore::tryRemoveEventListener): Reverse of previous method
2984
2985        * page/ChromeClient.h: Two new methods:
2986          numWheelEventHandlersChanged: WebProcess tells UIProcess to update its cached
2987            count of total wheel event handlers, which in this case only include horizontal
2988            scrollbars and mouse wheel JS handlers
2989          shouldRubberBandInDirection: allow the UIProcess to provide some control over
2990            whether rubber banding is allowed when scrolling in a particular direction
2991        * loader/EmptyClients.h:
2992        (WebCore::EmptyChromeClient::numWheelEventHandlersChanged): Default empty impl
2993        (WebCore::EmptyChromeClient::shouldRubberBandInDirection): Default empty impl
2994        * page/EventHandler.cpp:
2995        (WebCore::EventHandler::handleWheelEvent): Remove a redundant pointer check
2996        * page/Frame.cpp:
2997        (WebCore::Frame::setDocument): When the frame's document changes, calculate that
2998        document's total wheel event handlers, and notify the UIProcess
2999        (WebCore::Frame::notifyChromeClientWheelEventHandlerCountChanged): Performs a crawl
3000        of the frame tree to aggregate the count
3001        * page/Frame.h:
3002
3003        * platform/ScrollableArea.h: Virtualize didAddHorizontalScrollbar and
3004        willRemoveHorizontalScrollbar for overriding in RenderLayer and FrameView
3005        (WebCore::ScrollableArea::isHorizontalScrollerPinnedToMinimumPosition): Returns true if there is
3006        no scrollbar or the scroller position is in the minimum scroll position.
3007        (WebCore::ScrollableArea::isHorizontalScrollerPinnedToMaximumPosition): Converse of the above.
3008        (WebCore::ScrollableArea::shouldRubberBandInDirection): Default impl
3009        * page/FrameView.cpp:
3010        (WebCore::FrameView::didAddHorizontalScrollbar): Updates the frame's document's count
3011        (WebCore::FrameView::willRemoveHorizontalScrollbar): Updates the frame's document's
3012        count
3013        (WebCore::FrameView::shouldRubberBandInDirection): Connective glue
3014        * page/FrameView.h: Adding overriding methods from ScrollableArea
3015        * rendering/RenderLayer.cpp: Similar functionality to FrameView
3016        (WebCore::RenderLayer::didAddHorizontalScrollbar):
3017        (WebCore::RenderLayer::willRemoveHorizontalScrollbar):
3018        * rendering/RenderLayer.h:
3019        
3020        * platform/mac/ScrollAnimatorMac.h: Fix typo of "momentum"
3021        * platform/mac/ScrollAnimatorMac.mm:
3022        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac): Fix typo of "momentum"
3023        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent): Fix typo of "coalesced"
3024        (WebCore::ScrollAnimatorMac::beginScrollGesture): Fix typo of "coalesced"
3025        (WebCore::ScrollAnimatorMac::snapRubberBand): Fix typo of "momentum"
3026        
3027        (WebCore::ScrollAnimatorMac::handleWheelEvent): New logic for determining whether
3028        to allow rubber-banding based on the area's scroll position and the wheel event.
3029        Could prevent accepting the wheel event. Also, fix typo of "momentum"
3030        (WebCore::isScrollingLeftAndShouldNotRubberBand): Inline helper function for logic
3031        (WebCore::isScrollingRightAndShouldNotRubberBand): Inline helper function for logic
3032
3033 2011-05-16  Leandro Gracia Gil  <leandrogracia@chromium.org>
3034
3035         Reviewed by Tony Gentilcore.
3036
3037         Media Stream API: add local stream requests.
3038         https://bugs.webkit.org/show_bug.cgi?id=60177
3039
3040         Add the code and messages for requesting the generation of local streams and getting the reply back.
3041
3042         Tests for the Media Stream API will be provided by the bug 56587.
3043         One test is re-enabled with this patch.
3044
3045         Test: fast/dom/MediaStream/argument-types.html
3046
3047         * GNUmakefile.list.am:
3048         * WebCore.gypi:
3049         * WebCore.pro:
3050         * WebCore.vcproj/WebCore.vcproj:
3051         * WebCore.xcodeproj/project.pbxproj:
3052         * page/CallbackTask.h: Added.
3053         (WebCore::CallbackTask1::create):
3054         (WebCore::CallbackTask1::performTask):
3055         (WebCore::CallbackTask1::Scheduler::scheduleCallback):
3056         (WebCore::CallbackTask1::CallbackTask1):
3057         * page/MediaStreamClient.h:
3058         * page/MediaStreamController.cpp:
3059         (WebCore::MediaStreamController::isClientAvailable):
3060         (WebCore::MediaStreamController::unregisterFrameController):
3061         (WebCore::MediaStreamController::registerRequest):
3062         (WebCore::MediaStreamController::registerStream):
3063         (WebCore::MediaStreamController::generateStream):
3064         (WebCore::MediaStreamController::streamGenerated):
3065         (WebCore::MediaStreamController::streamGenerationFailed):
3066         * page/MediaStreamController.h:
3067         * page/MediaStreamFrameController.cpp:
3068         (WebCore::MediaStreamFrameController::GenerateStreamRequest::GenerateStreamRequest):
3069         (WebCore::MediaStreamFrameController::GenerateStreamRequest::~GenerateStreamRequest):
3070         (WebCore::MediaStreamFrameController::GenerateStreamRequest::isGenerateStreamRequest):
3071         (WebCore::MediaStreamFrameController::GenerateStreamRequest::abort):
3072         (WebCore::MediaStreamFrameController::GenerateStreamRequest::successCallback):
3073         (WebCore::MediaStreamFrameController::GenerateStreamRequest::errorCallback):
3074         (WebCore::::unregisterAll):
3075         (WebCore::::detachEmbedder):
3076         (WebCore::MediaStreamFrameController::MediaStreamFrameController):
3077         (WebCore::MediaStreamFrameController::pageController):
3078         (WebCore::MediaStreamFrameController::unregister):
3079         (WebCore::MediaStreamFrameController::enterDetachedState):
3080         (WebCore::MediaStreamFrameController::isClientAvailable):
3081         (WebCore::MediaStreamFrameController::disconnectFrame):
3082         (WebCore::MediaStreamFrameController::parseGenerateStreamOptions):
3083         (WebCore::MediaStreamFrameController::generateStream):
3084         (WebCore::MediaStreamFrameController::streamGenerated):
3085         (WebCore::MediaStreamFrameController::streamGenerationFailed):
3086         * page/MediaStreamFrameController.h:
3087         (WebCore::MediaStreamFrameController::ClientBase::ClientBase):
3088         (WebCore::MediaStreamFrameController::ClientBase::~ClientBase):
3089         (WebCore::MediaStreamFrameController::ClientBase::mediaStreamFrameController):
3090         (WebCore::MediaStreamFrameController::ClientBase::clientId):
3091         (WebCore::MediaStreamFrameController::ClientBase::isStream):
3092         (WebCore::MediaStreamFrameController::ClientBase::isGeneratedStream):
3093         (WebCore::MediaStreamFrameController::ClientBase::detachEmbedder):
3094         (WebCore::MediaStreamFrameController::ClientBase::associateFrameController):
3095         (WebCore::MediaStreamFrameController::ClientBase::unregisterClient):
3096         (WebCore::MediaStreamFrameController::StreamClient::StreamClient):
3097         (WebCore::MediaStreamFrameController::StreamClient::~StreamClient):
3098         (WebCore::MediaStreamFrameController::StreamClient::isStream):
3099         (WebCore::MediaStreamFrameController::StreamClient::unregister):
3100         (WebCore::MediaStreamFrameController::IdGenerator::IdGenerator):
3101         (WebCore::MediaStreamFrameController::IdGenerator::getNextId):
3102         (WebCore::MediaStreamFrameController::ClientMapBase::ClientMapBase):
3103         * page/Navigator.cpp:
3104         (WebCore::Navigator::webkitGetUserMedia):
3105         * page/NavigatorUserMediaErrorCallback.h:
3106
3107 2011-05-16  Pavel Podivilov  <podivilov@chromium.org>
3108
3109         Reviewed by Yury Semikhatsky.
3110
3111         Web Inspector: debuggerWasEnabled notification should not be send to front-end on navigation.
3112         https://bugs.webkit.org/show_bug.cgi?id=60888
3113
3114         * inspector/InspectorController.cpp:
3115         (WebCore::InspectorController::disableDebugger):
3116         * inspector/InspectorDebuggerAgent.cpp:
3117         (WebCore::InspectorDebuggerAgent::enable):
3118         (WebCore::InspectorDebuggerAgent::disable):
3119         (WebCore::InspectorDebuggerAgent::restore):
3120         (WebCore::InspectorDebuggerAgent::clearFrontend):
3121         * inspector/InspectorDebuggerAgent.h:
3122
3123 2011-05-16  Yury Semikhatsky  <yurys@chromium.org>
3124
3125         Unreviewed. Windows build fix.
3126
3127         * inspector/InspectorConsoleInstrumentation.h:
3128         (WebCore::InspectorInstrumentation::consoleMarkTimeline):
3129
3130 2011-05-16  Yury Semikhatsky  <yurys@chromium.org>
3131
3132         Unreviewed. Build fix.
3133
3134         * inspector/InspectorInstrumentation.h:
3135         (WebCore::InspectorInstrumentation::willStartWorkerContext):
3136
3137 2011-05-11  Yury Semikhatsky  <yurys@chromium.org>
3138
3139         Reviewed by Pavel Feldman.
3140
3141         Web Inspector: use InstrumentingAgents to access agents from InspectorInstrumentation
3142         https://bugs.webkit.org/show_bug.cgi?id=60624
3143
3144         InspectorInstrumentation retrieves inspector agents from corresponding InstrumentingAgents
3145         instance. Each agent notifies InstrumentingAgents whenever it wants to receive notifications
3146         about changes in WebCore.
3147
3148         * inspector/InspectorAgent.cpp:
3149         (WebCore::InspectorAgent::InspectorAgent):
3150         (WebCore::InspectorAgent::inspectedPageDestroyed):
3151         * inspector/InspectorAgent.h:
3152         * inspector/InspectorConsoleInstrumentation.h:
3153         (WebCore::InspectorInstrumentation::addMessageToConsole):
3154         (WebCore::InspectorInstrumentation::consoleCount):
3155         (WebCore::InspectorInstrumentation::startConsoleTiming):
3156         (WebCore::InspectorInstrumentation::stopConsoleTiming):
3157         (WebCore::InspectorInstrumentation::consoleMarkTimeline):
3158         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
3159         (WebCore::InspectorInstrumentation::addProfile):
3160         (WebCore::InspectorInstrumentation::profilerEnabled):
3161         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileName):
3162         * inspector/InspectorController.cpp:
3163         (WebCore::InspectorController::InspectorController):
3164         (WebCore::InspectorController::inspectedPageDestroyed):
3165         (WebCore::InspectorController::didClearWindowObjectInWorld):
3166         (WebCore::InspectorController::inspectedPage):
3167         * inspector/InspectorController.h:
3168         * inspector/InspectorDatabaseInstrumentation.h: FAST_RETURN_IF_NO_FRONTENDS macros
3169         is used for early return in common case when inspector is not opened. In this
3170         case inspector instrumentation costs one additional check of a static field.
3171         (WebCore::InspectorInstrumentation::didOpenDatabase):
3172         * inspector/InspectorInstrumentation.cpp:
3173         (WebCore::InspectorInstrumentation::instrumentingAgents):
3174         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
3175         (WebCore::InspectorInstrumentation::inspectedPageDestroyedImpl):
3176         (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
3177         (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
3178         (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
3179         (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
3180         (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
3181         (WebCore::InspectorInstrumentation::didModifyDOMAttrImpl):
3182         (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
3183         (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
3184         (WebCore::InspectorInstrumentation::handleMousePressImpl):
3185         (WebCore::InspectorInstrumentation::characterDataModifiedImpl):
3186         (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
3187         (WebCore::InspectorInstrumentation::didScheduleResourceRequestImpl):
3188         (WebCore::InspectorInstrumentation::didInstallTimerImpl):
3189         (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
3190         (WebCore::InspectorInstrumentation::willCallFunctionImpl):
3191         (WebCore::InspectorInstrumentation::willChangeXHRReadyStateImpl):
3192         (WebCore::InspectorInstrumentation::willDispatchEventImpl):
3193         (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
3194         (WebCore::InspectorInstrumentation::willEvaluateScriptImpl):
3195         (WebCore::InspectorInstrumentation::willFireTimerImpl):
3196         (WebCore::InspectorInstrumentation::willLayoutImpl):
3197         (WebCore::InspectorInstrumentation::willLoadXHRImpl):
3198         (WebCore::InspectorInstrumentation::willPaintImpl):
3199         (WebCore::InspectorInstrumentation::willRecalculateStyleImpl):
3200         (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
3201         (WebCore::InspectorInstrumentation::willSendRequestImpl):
3202         (WebCore::InspectorInstrumentation::continueAfterPingLoaderImpl):
3203         (WebCore::InspectorInstrumentation::markResourceAsCachedImpl):
3204         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
3205         (WebCore::InspectorInstrumentation::willReceiveResourceDataImpl):
3206         (WebCore::InspectorInstrumentation::willReceiveResourceResponseImpl):
3207         (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
3208         (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
3209         (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
3210         (WebCore::InspectorInstrumentation::didFailLoadingImpl):
3211         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
3212         (WebCore::InspectorInstrumentation::scriptImportedImpl):
3213         (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
3214         (WebCore::InspectorInstrumentation::loadEventFiredImpl):
3215         (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
3216         (WebCore::InspectorInstrumentation::didCommitLoadImpl):
3217         (WebCore::InspectorInstrumentation::willWriteHTMLImpl):
3218         (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
3219         (WebCore::InspectorInstrumentation::consoleCountImpl):
3220         (WebCore::InspectorInstrumentation::startConsoleTimingImpl):
3221         (WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
3222         (WebCore::InspectorInstrumentation::consoleMarkTimelineImpl):
3223         (WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
3224         (WebCore::InspectorInstrumentation::addProfileImpl):
3225         (WebCore::InspectorInstrumentation::getCurrentUserInitiatedProfileNameImpl):
3226         (WebCore::InspectorInstrumentation::profilerEnabledImpl):
3227         (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
3228         (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
3229         (WebCore::InspectorInstrumentation::didStartWorkerContextImpl):
3230         (WebCore::InspectorInstrumentation::didCreateWorkerImpl):
3231         (WebCore::InspectorInstrumentation::didDestroyWorkerImpl):
3232         (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
3233         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
3234         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
3235         (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
3236         (WebCore::InspectorInstrumentation::networkStateChangedImpl):
3237         (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
3238         (WebCore::InspectorInstrumentation::hasFrontend):
3239         (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
3240         (WebCore::InspectorInstrumentation::cancelPauseOnNativeEvent):
3241         (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
3242         * inspector/InspectorInstrumentation.h:
3243         (WebCore::InspectorInstrumentation::bindInstrumentingAgents):
3244         (WebCore::InspectorInstrumentation::unbindInstrumentingAgents):
3245         (WebCore::InspectorInstrumentation::didClearWindowObjectInWorld):
3246         (WebCore::InspectorInstrumentation::inspectedPageDestroyed):
3247         (WebCore::InspectorInstrumentation::willInsertDOMNode):
3248         (WebCore::InspectorInstrumentation::didInsertDOMNode):
3249         (WebCore::InspectorInstrumentation::willRemoveDOMNode):
3250         (WebCore::InspectorInstrumentation::willModifyDOMAttr):
3251         (WebCore::InspectorInstrumentation::didModifyDOMAttr):
3252         (WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
3253         (WebCore::InspectorInstrumentation::mouseDidMoveOverElement):
3254         (WebCore::InspectorInstrumentation::handleMousePress):
3255         (WebCore::InspectorInstrumentation::characterDataModified):
3256         (WebCore::InspectorInstrumentation::willSendXMLHttpRequest):
3257         (WebCore::InspectorInstrumentation::didScheduleResourceRequest):
3258         (WebCore::InspectorInstrumentation::didInstallTimer):
3259         (WebCore::InspectorInstrumentation::didRemoveTimer):
3260         (WebCore::InspectorInstrumentation::willCallFunction):
3261         (WebCore::InspectorInstrumentation::willChangeXHRReadyState):
3262         (WebCore::InspectorInstrumentation::willDispatchEvent):
3263         (WebCore::InspectorInstrumentation::willDispatchEventOnWindow):
3264         (WebCore::InspectorInstrumentation::willEvaluateScript):
3265         (WebCore::InspectorInstrumentation::willFireTimer):
3266         (WebCore::InspectorInstrumentation::willLayout):
3267         (WebCore::InspectorInstrumentation::willLoadXHR):
3268         (WebCore::InspectorInstrumentation::willPaint):
3269         (WebCore::InspectorInstrumentation::willRecalculateStyle):
3270         (WebCore::InspectorInstrumentation::applyUserAgentOverride):
3271         (WebCore::InspectorInstrumentation::willSendRequest):
3272         (WebCore::InspectorInstrumentation::continueAfterPingLoader):
3273         (WebCore::InspectorInstrumentation::markResourceAsCached):
3274         (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCache):
3275         (WebCore::InspectorInstrumentation::willReceiveResourceData):
3276         (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
3277         (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
3278         (WebCore::InspectorInstrumentation::continueWithPolicyDownload):
3279         (WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
3280         (WebCore::InspectorInstrumentation::didReceiveContentLength):
3281         (WebCore::InspectorInstrumentation::didFinishLoading):
3282         (WebCore::InspectorInstrumentation::didFailLoading):
3283         (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequest):
3284         (WebCore::InspectorInstrumentation::scriptImported):
3285         (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
3286         (WebCore::InspectorInstrumentation::loadEventFired):
3287         (WebCore::InspectorInstrumentation::frameDetachedFromParent):
3288         (WebCore::InspectorInstrumentation::didCommitLoad):
3289         (WebCore::InspectorInstrumentation::willWriteHTML):
3290         (WebCore::InspectorInstrumentation::didUseDOMStorage):
3291         (WebCore::InspectorInstrumentation::willStartWorkerContext):
3292         (WebCore::InspectorInstrumentation::didStartWorkerContext):
3293         (WebCore::InspectorInstrumentation::didCreateWorker):
3294         (WebCore::InspectorInstrumentation::didDestroyWorker):
3295         (WebCore::InspectorInstrumentation::didCreateWebSocket):
3296         (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
3297         (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
3298         (WebCore::InspectorInstrumentation::didCloseWebSocket):
3299         (WebCore::InspectorInstrumentation::networkStateChanged):
3300         (WebCore::InspectorInstrumentation::updateApplicationCacheStatus):
3301         (WebCore::InspectorInstrumentation::hasFrontend):
3302         (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
3303         (WebCore::InspectorInstrumentation::instrumentingAgentsForPage):
3304         (WebCore::InspectorInstrumentation::instrumentingAgentsForFrame):
3305         (WebCore::InspectorInstrumentation::instrumentingAgentsWithFrontendForFrame):
3306         (WebCore::InspectorInstrumentation::instrumentingAgentsWithFrontendForPage):
3307         (WebCore::InspectorInstrumentation::instrumentingAgentsWithFrontendForContext):
3308         (WebCore::InspectorInstrumentation::instrumentingAgentsWithFrontendForDocument):
3309
3310 2011-05-16  Vsevolod Vlasov  <vsevik@chromium.org>
3311
3312         Reviewed by Pavel Feldman.
3313
3314         Web Inspector: Move Resources Panel search to backend
3315         https://bugs.webkit.org/show_bug.cgi?id=59596
3316
3317         * inspector/Inspector.json:
3318         * inspector/InspectorPageAgent.cpp:
3319         (WebCore::decodeMainResource):
3320         (WebCore::InspectorPageAgent::resourceContent):
3321         (WebCore::cachedResourcesForFrame):
3322         (WebCore::InspectorPageAgent::getCookies):
3323         (WebCore::InspectorPageAgent::deleteCookie):
3324         (WebCore::createSearchRegexSource):
3325         (WebCore::countRegularExpressionMatches):
3326         (WebCore::buildObjectForSearchMatch):
3327         (WebCore::InspectorPageAgent::searchInResources):
3328         (WebCore::InspectorPageAgent::domContentEventFired):
3329         (WebCore::InspectorPageAgent::loadEventFired):
3330         (WebCore::InspectorPageAgent::frameNavigated):
3331         (WebCore::InspectorPageAgent::frameDetached):
3332         (WebCore::InspectorPageAgent::buildObjectForFrameTree):
3333         * inspector/InspectorPageAgent.h:
3334         * inspector/front-end/ResourcesPanel.js:
3335         (WebInspector.ResourcesPanel.prototype._showResourceView):
3336         (WebInspector.ResourcesPanel.prototype.performSearch.searchInEditedResource):
3337         (WebInspector.ResourcesPanel.prototype.performSearch.callback):
3338         (WebInspector.ResourcesPanel.prototype.performSearch):
3339         (WebInspector.ResourcesPanel.prototype._ensureViewSearchPerformed):
3340         (WebInspector.ResourcesPanel.prototype._showSearchResult.callback):
3341         (WebInspector.ResourcesPanel.prototype._showSearchResult):
3342         (WebInspector.ResourcesPanel.prototype._resetSearchResults):
3343         (WebInspector.ResourcesPanel.prototype.searchCanceled):
3344         (WebInspector.ResourcesPanel.prototype.jumpToNextSearchResult):
3345         (WebInspector.ResourcesPanel.prototype.jumpToPreviousSearchResult):
3346         (WebInspector.FrameTreeElement.prototype.resourceByURL):
3347         (WebInspector.FrameResourceTreeElement.prototype._resetSearchResults):
3348         (WebInspector.FrameResourceTreeElement.prototype.get searchMatchesCount):
3349         (WebInspector.FrameResourceTreeElement.prototype.searchMatchesFound):
3350         (WebInspector.ResourcesSearchController):
3351         (WebInspector.ResourcesSearchController.prototype.nextSearchResult):
3352         (WebInspector.ResourcesSearchController.prototype.previousSearchResult):
3353         (WebInspector.ResourcesSearchController.prototype._searchResult):
3354         (WebInspector.SearchResultsTreeElementsTraverser):
3355         (WebInspector.SearchResultsTreeElementsTraverser.prototype.first):
3356         (WebInspector.SearchResultsTreeElementsTraverser.prototype.last):
3357         (WebInspector.SearchResultsTreeElementsTraverser.prototype.next):
3358         (WebInspector.SearchResultsTreeElementsTraverser.prototype.previous):
3359         (WebInspector.SearchResultsTreeElementsTraverser.prototype._traverseNext):
3360         (WebInspector.SearchResultsTreeElementsTraverser.prototype._elementHasSearchResults):
3361         (WebInspector.SearchResultsTreeElementsTraverser.prototype._traversePrevious):
3362         (WebInspector.SearchResultsTreeElementsTraverser.prototype._lastTreeElement):
3363         * inspector/front-end/SourceFrame.js:
3364         (WebInspector.SourceFrame.createSearchRegex):
3365         (WebInspector.SourceFrame.prototype.performSearch.doFindSearchMatches):
3366         (WebInspector.SourceFrame.prototype.performSearch):
3367         (WebInspector.SourceFrame.prototype.hasSearchResults):
3368         (WebInspector.SourceFrame.prototype.jumpToFirstSearchResult):
3369         (WebInspector.SourceFrame.prototype.jumpToLastSearchResult):
3370         (WebInspector.SourceFrame.prototype.jumpToNextSearchResult):
3371         (WebInspector.SourceFrame.prototype.jumpToPreviousSearchResult):
3372         (WebInspector.SourceFrame.prototype.jumpToSearchResult):
3373         (WebInspector.SourceFrame.prototype._collectRegexMatches):
3374         * inspector/front-end/utilities.js:
3375         ():
3376
3377 2011-05-16  Andreas Kling  <kling@webkit.org>
3378
3379         Reviewed by Darin Adler.
3380
3381         CSS: Fast path for 'px' lengths should be case-insensitive.
3382         https://bugs.webkit.org/show_bug.cgi?id=60703
3383
3384         No new tests, this is an optimization that avoids creating
3385         a full CSSParser to parse the value.
3386
3387         * css/CSSParser.cpp:
3388         (WebCore::parseSimpleLengthValue):
3389
3390 2011-05-16  Naiem Shaik  <naiem.shaik@gmail.com>
3391
3392         Reviewed by Adam Barth.
3393
3394         This is for fixing build break in webgl due to https://bugs.webkit.org/show_bug.cgi?id=59861
3395         The bug raised for fixing this is https://bugs.webkit.org/show_bug.cgi?id=60867
3396
3397         No new tests. This does not change any functionality.
3398
3399         * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
3400         (WebCore::GraphicsContext3D::create):
3401         * platform/graphics/gtk/GraphicsContext3DInternal.cpp:
3402         (WebCore::GraphicsContext3DInternal::create):
3403         * platform/graphics/gtk/GraphicsContext3DInternal.h:
3404
3405 2011-05-16  Pavel Feldman  <pfeldman@chromium.org>
3406
3407         Reviewed by Yury Semikhatsky.
3408
3409         Web Inspector: parse edited attributes by means of InspectorDOMAgent.
3410         https://bugs.webkit.org/show_bug.cgi?id=60807
3411
3412         This change moves attribute parsing from the front-end to the backend. 
3413
3414         * inspector/InspectorDOMAgent.cpp:
3415         (WebCore::InspectorDOMAgent::setAttribute):
3416         * inspector/front-end/DOMAgent.js:
3417         (WebInspector.DOMNode.prototype.setAttribute):
3418         * inspector/front-end/ElementsTreeOutline.js:
3419         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded):
3420         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
3421
3422 2011-05-16  Nikolas Zimmermann  <nzimmermann@rim.com>
3423
3424         Not reviewed.
3425
3426         Switch from Vector<UChar> to StringBuilder in dom/
3427         https://bugs.webkit.org/show_bug.cgi?id=57843
3428
3429         Incorporate comment from Darin/Andreas.
3430
3431         * dom/DatasetDOMStringMap.cpp:
3432         (WebCore::convertAttributeNameToPropertyName): Use 'character' local, instead of charaters[i].
3433         (WebCore::convertPropertyNameToAttributeName): Ditto.
3434
3435 2011-05-16  Alexander Pavlov  <apavlov@chromium.org>
3436
3437         Reviewed by Pavel Feldman.
3438
3439         Web Inspector: Fix SourceJavaScriptTokenizer keyword parsing
3440         https://bugs.webkit.org/show_bug.cgi?id=60773
3441
3442         * inspector/front-end/SourceJavaScriptTokenizer.js:
3443         (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
3444         * inspector/front-end/SourceJavaScriptTokenizer.re2js:
3445
3446 2011-05-16  Nikolas Zimmermann  <nzimmermann@rim.com>
3447
3448         Reviewed by Darin Adler.
3449
3450         Switch from Vector<UChar> to StringBuilder in dom/
3451         https://bugs.webkit.org/show_bug.cgi?id=57843
3452
3453         * dom/DatasetDOMStringMap.cpp:
3454         (WebCore::convertAttributeNameToPropertyName):
3455         (WebCore::convertPropertyNameToAttributeName):
3456         * dom/Range.cpp:
3457         (WebCore::Range::toString):
3458         * dom/ScriptElement.cpp:
3459         (WebCore::ScriptElement::scriptContent):
3460
3461 2011-05-05  Pavel Podivilov  <podivilov@chromium.org>
3462
3463         Reviewed by Pavel Feldman.
3464
3465         Web Inspector: move double click handling from TextEditor to SourceFrame.
3466         https://bugs.webkit.org/show_bug.cgi?id=60271
3467
3468         It is SourceFrame's responsibility to check if content is editable and
3469         to configure TextEditor component (e.g. set editable range) when user
3470         tries to initiate editing.
3471
3472         * inspector/front-end/ResourceView.js:
3473         (WebInspector.ResourceSourceFrame.prototype.doubleClick):
3474         (WebInspector.RevisionSourceFrame.prototype.doubleClick):
3475         * inspector/front-end/SourceFrame.js:
3476         (WebInspector.SourceFrame.prototype.beforeTextChanged):
3477         (WebInspector.SourceFrame.prototype.afterTextChanged):
3478         (WebInspector.SourceFrame.prototype.doubleClick):
3479         (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
3480         (WebInspector.SourceFrame.prototype.commitEditing):
3481         (WebInspector.SourceFrame.prototype.cancelEditing):
3482         (WebInspector.SourceFrame.prototype._setReadOnly):
3483         * inspector/front-end/TextViewer.js:
3484         (WebInspector.TextViewer.prototype.set readOnly):
3485         (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
3486         (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
3487         (WebInspector.TextViewer.prototype._doubleClick):
3488         (WebInspector.TextViewer.prototype._commitEditing):
3489         (WebInspector.TextViewer.prototype._cancelEditing):
3490         (WebInspector.TextViewerDelegate.prototype.doubleClick):
3491         (WebInspector.TextViewerDelegate.prototype.beforeTextChanged):
3492         (WebInspector.TextViewerDelegate.prototype.afterTextChanged):
3493
3494 2011-05-15  Robert Hogan  <robert@webkit.org>
3495
3496         Reviewed by Yury Semikhatsky.
3497
3498         [Qt] Fix crash in inspector/console/console-long-eval-crash.html
3499         https://bugs.webkit.org/show_bug.cgi?id=60858
3500
3501         The client may be gone when sendMessageToBackend() is called.
3502
3503         * inspector/InspectorFrontendHost.cpp:
3504         (WebCore::InspectorFrontendHost::sendMessageToBackend):
3505
3506 2011-05-16  Nikolas Zimmermann  <nzimmermann@rim.com>
3507
3508         Reviewed by Dirk Schulze.
3509
3510         Replace direct StringConcatenate usage, by using operator+ (again)
3511         https://bugs.webkit.org/show_bug.cgi?id=60700
3512
3513         Remove makeString() usage everywhere, instead directly use operator+.
3514
3515         * accessibility/AccessibilityObject.cpp:
3516         (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):
3517         * bindings/js/JSDOMWindowBase.cpp:
3518         * bindings/js/ScriptDebugServer.cpp:
3519         (WebCore::ScriptDebugServer::setBreakpoint):
3520         * bindings/v8/V8Proxy.cpp:
3521         (WebCore::V8Proxy::reportUnsafeAccessTo):
3522         * css/CSSMutableStyleDeclaration.cpp:
3523         (WebCore::CSSMutableStyleDeclaration::borderSpacingValue):
3524         * dom/ExceptionBase.cpp:
3525         (WebCore::ExceptionBase::ExceptionBase):
3526         * dom/XMLDocumentParser.cpp:
3527         (WebCore::XMLDocumentParser::handleError):
3528         * html/FTPDirectoryDocument.cpp:
3529         (WebCore::processFileDateString):
3530         * inspector/CodeGeneratorInspector.pm:
3531         * inspector/InspectorConsoleAgent.cpp:
3532         (WebCore::InspectorConsoleAgent::count):
3533         (WebCore::InspectorConsoleAgent::didReceiveResponse):
3534         * inspector/InspectorDOMAgent.cpp:
3535         * inspector/InspectorDOMDebuggerAgent.cpp:
3536         (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
3537         * inspector/InspectorDebuggerAgent.cpp:
3538         (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
3539         (WebCore::InspectorDebuggerAgent::setBreakpoint):
3540         * loader/FrameLoader.cpp:
3541         (WebCore::FrameLoader::checkIfDisplayInsecureContent):
3542         (WebCore::FrameLoader::checkIfRunInsecureContent):
3543         (WebCore::FrameLoader::shouldAllowNavigation):
3544         * loader/archive/cf/LegacyWebArchive.cpp:
3545         (WebCore::LegacyWebArchive::createFromSelection):
3546         * loader/cache/CachedResourceLoader.cpp:
3547         (WebCore::CachedResourceLoader::printAccessDeniedMessage):
3548         * page/ContentSecurityPolicy.cpp:
3549         (WebCore::CSPDirective::CSPDirective):
3550         (WebCore::ContentSecurityPolicy::checkSourceAndReportViolation):
3551         * page/DOMWindow.cpp:
3552         (WebCore::DOMWindow::postMessageTimerFired):
3553         (WebCore::DOMWindow::crossDomainAccessErrorMessage):
3554         * page/PageSerializer.cpp:
3555         (WebCore::SerializerMarkupAccumulator::SerializerMarkupAccumulator):
3556         (WebCore::SerializerMarkupAccumulator::appendElement):
3557         (WebCore::PageSerializer::urlForBlankFrame):
3558         * page/PrintContext.cpp:
3559         (WebCore::PrintContext::pageProperty):
3560         (WebCore::PrintContext::pageSizeAndMarginsInPixels):
3561         * platform/efl/PlatformKeyboardEventEfl.cpp:
3562         (WebCore::createKeyMap):
3563         (WebCore::createWindowsKeyMap):
3564         * platform/efl/RenderThemeEfl.cpp:
3565         (WebCore::RenderThemeEfl::formatMediaControlsCurrentTime):
3566         * platform/graphics/GraphicsLayer.cpp:
3567         (WebCore::GraphicsLayer::animationNameForTransition):
3568         * platform/graphics/brew/ImageBrew.cpp:
3569         (WebCore::Image::loadPlatformResource):
3570         * platform/graphics/ca/GraphicsLayerCA.cpp:
3571         (WebCore::animationIdentifier):
3572         * platform/graphics/cg/ImageBufferCG.cpp:
3573         (WebCore::CGImageToDataURL):
3574         * platform/graphics/gtk/ImageBufferGtk.cpp:
3575         (WebCore::ImageBuffer::toDataURL):
3576         * platform/graphics/haiku/ImageBufferHaiku.cpp:
3577         (WebCore::ImageBuffer::toDataURL):
3578         * platform/graphics/qt/ImageBufferQt.cpp:
3579         (WebCore::ImageBuffer::toDataURL):
3580         * platform/graphics/skia/ImageBufferSkia.cpp:
3581         (WebCore::ImageToDataURL):
3582         * platform/network/CredentialStorage.cpp:
3583         (WebCore::originStringFromURL):
3584         * platform/network/cf/SocketStreamHandleCFNet.cpp:
3585         (WebCore::SocketStreamHandle::reportErrorToClient):
3586         * platform/sql/SQLiteDatabase.cpp:
3587         (WebCore::SQLiteDatabase::setSynchronous):
3588         * platform/text/wince/TextCodecWinCE.cpp:
3589         (WebCore::LanguageManager::LanguageManager):
3590         * platform/win/ClipboardUtilitiesWin.cpp:
3591         * platform/win/ClipboardWin.cpp:
3592         (WebCore::ClipboardWin::writeURL):
3593         * platform/win/FileSystemWin.cpp:
3594         (WebCore::listDirectory):
3595         * platform/win/LanguageWin.cpp:
3596         (WebCore::platformDefaultLanguage):
3597         * platform/win/PathWalker.cpp:
3598         (WebCore::PathWalker::PathWalker):
3599         * platform/win/SystemInfo.cpp:
3600         (WebCore::osVersionForUAString):
3601         (WebCore::windowsVersionForUAString):
3602         * plugins/PluginStream.cpp:
3603         (WebCore::PluginStream::startStream):
3604         * svg/SVGAngle.cpp:
3605         (WebCore::SVGAngle::valueAsString):
3606         * svg/SVGLength.cpp:
3607         (WebCore::SVGLength::valueAsString):
3608         * svg/SVGPaint.cpp:
3609         (WebCore::SVGPaint::cssText):
3610         * svg/SVGPointList.cpp:
3611         (WebCore::SVGPointList::valueAsString):
3612         * svg/SVGPreserveAspectRatio.cpp:
3613         (WebCore::SVGPreserveAspectRatio::valueAsString):
3614         * svg/SVGTransform.cpp:
3615         (WebCore::SVGTransform::valueAsString):
3616         * svg/SVGTransformList.cpp:
3617         * svg/SVGUseElement.cpp:
3618         (WebCore::dumpInstanceTree):
3619         * websockets/WebSocket.cpp:
3620         (WebCore::WebSocket::connect):
3621         * websockets/WebSocketChannel.cpp:
3622         (WebCore::WebSocketChannel::didFail):
3623         (WebCore::WebSocketChannel::appendToBuffer):
3624         * websockets/WebSocketHandshake.cpp:
3625         (WebCore::WebSocketHandshake::readServerHandshake):
3626
3627 2011-05-12  Yury Semikhatsky  <yurys@chromium.org>
3628
3629         Reviewed by Pavel Feldman.
3630
3631         Web Inspector: inspector console should be searchable
3632         https://bugs.webkit.org/show_bug.cgi?id=60711
3633
3634         Search now works for Console panel. It shows number of matching console entries
3635         and allows to jump to the next matching console entry. Also the matches count
3636         is dynamically updated when new messages are added to the console.
3637
3638         ResourceTreeModel and DebuggerPresentationModel now listen to console events instead
3639         of being called directly from ConsoleView.
3640
3641         * inspector/front-end/ConsolePanel.js:
3642         (WebInspector.ConsolePanel):
3643         (WebInspector.ConsolePanel.prototype.show):
3644         (WebInspector.ConsolePanel.prototype.hide):
3645         (WebInspector.ConsolePanel.prototype.searchCanceled):
3646         (WebInspector.ConsolePanel.prototype.performSearch):
3647         (WebInspector.ConsolePanel.prototype.jumpToNextSearchResult):
3648         (WebInspector.ConsolePanel.prototype.jumpToPreviousSearchResult):
3649         (WebInspector.ConsolePanel.prototype._clearCurrentSearchResultHighlight):
3650         (WebInspector.ConsolePanel.prototype._jumpToSearchResult):
3651         (WebInspector.ConsolePanel.prototype._consoleMessageAdded):
3652         (WebInspector.ConsolePanel.prototype._consoleCleared):
3653         * inspector/front-end/ConsoleView.js:
3654         (WebInspector.ConsoleView.prototype.addMessage):
3655         (WebInspector.ConsoleView.prototype.clearMessages):
3656         (WebInspector.ConsoleMessage.prototype.clearHighlight):
3657         (WebInspector.ConsoleMessage.prototype.highlightSearchResults):
3658         (WebInspector.ConsoleMessage.prototype.matchesRegex):
3659         (WebInspector.ConsoleMessage.prototype.toMessageElement):
3660         (WebInspector.ConsoleCommand.prototype.clearHighlight):
3661         (WebInspector.ConsoleCommand.prototype.highlightSearchResults):
3662         (WebInspector.ConsoleCommand.prototype.matchesRegex):
3663         (WebInspector.ConsoleCommand.prototype.toMessageElement):
3664         (WebInspector.ConsoleCommand.prototype._formatCommand):
3665         * inspector/front-end/DebuggerPresentationModel.js:
3666         (WebInspector.DebuggerPresentationModel):
3667         (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
3668         (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
3669         (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
3670         * inspector/front-end/ResourceTreeModel.js:
3671         (WebInspector.ResourceTreeModel):
3672         (WebInspector.ResourceTreeModel.prototype._consoleMessageAdded):
3673         * inspector/front-end/ScriptsPanel.js:
3674         (WebInspector.ScriptsPanel):
3675         (WebInspector.ScriptsPanel.prototype._consoleMessagesCleared):
3676         * inspector/front-end/utilities.js:
3677         ():
3678
3679 2011-05-16  Adam Barth  <abarth@webkit.org>
3680
3681         [Qt] QtPlatformPlugin create methods should use PassOwnPtr
3682         https://bugs.webkit.org/show_bug.cgi?id=60873
3683
3684         * plugins/qt/PluginViewQt.cpp:
3685         (WebCore::PluginView::platformStart):
3686
3687 2011-05-15  Adam Barth  <abarth@webkit.org>
3688
3689         Attempt to fix Qt build.  (Strict PassOwnPtr fix.)
3690
3691         * platform/graphics/qt/GraphicsLayerQt.cpp:
3692         (WebCore::GraphicsLayerQt::GraphicsLayerQt):
3693         (WebCore::GraphicsLayer::create):
3694
3695 2011-05-15  Adam Barth  <abarth@webkit.org>
3696
3697         Attempt to fix Qt build.  (Strict PassOwnPtr fix.)
3698
3699         * platform/text/qt/TextCodecQt.cpp:
3700         (WebCore::newTextCodecQt):
3701
3702 2011-05-15  Adam Barth  <abarth@webkit.org>
3703
3704         Attempt to fix Qt build.  (Strict PassOwnPtr fix.)
3705
3706         * platform/network/qt/QNetworkReplyHandler.cpp:
3707         (WebCore::QNetworkReplyWrapper::release):
3708         (WebCore::QNetworkReplyWrapper::receiveMetaData):
3709         (WebCore::QNetworkReplyWrapper::receiveSniffedMIMEType):
3710         (WebCore::QNetworkReplyHandler::release):
3711         (WebCore::QNetworkReplyHandler::finish):
3712         (WebCore::QNetworkReplyHandler::redirect):
3713         (WebCore::QNetworkReplyHandler::start):
3714
3715 2011-05-15  Adam Barth  <abarth@webkit.org>
3716
3717         Attempt to fix Qt build.  (Strict PassOwnPtr fix.)
3718
3719         * dom/XMLDocumentParserQt.cpp:
3720         (WebCore::XMLDocumentParser::doEnd):
3721
3722 2011-05-15  Kenichi Ishibashi  <bashi@chromium.org>
3723
3724         Reviewed by Kent Tamura.
3725
3726         <output>, <meter> and <progress> elements with display:block can be focused if you try to tab to it
3727         https://bugs.webkit.org/show_bug.cgi?id=60602
3728
3729         HTMLFormControlElement::isFocusable() returns true when the element is
3730         visible as a block element.  However, for output, meter, and progress
3731         elements, the function should not return true unless they have
3732         tabindex attributes.  Override supportsFocus() of these elements to
3733         apply the result of Node::supportsFocus() because it takes care of
3734         whether the element has tabindex or not.
3735
3736         Test: fast/forms/focus-with-display-block.html
3737
3738         * html/HTMLFormControlElement.h: Made supportsFocus() protected.
3739         * html/HTMLMeterElement.cpp:
3740         (WebCore::HTMLMeterElement::supportsFocus): Added.
3741         * html/HTMLMeterElement.h:
3742         * html/HTMLOutputElement.cpp:
3743         (WebCore::HTMLOutputElement::supportsFocus): Added.
3744         * html/HTMLOutputElement.h:
3745         * html/HTMLProgressElement.cpp:
3746         (WebCore::HTMLProgressElement::supportsFocus): Added.
3747         * html/HTMLProgressElement.h:
3748
3749 2011-05-15  Jon Lee  <jonlee@apple.com>
3750
3751         Reviewed by Dan Bernstein.
3752
3753         Missing migration from Editor::TextCheckingOptions to TextCheckingType in SpellingCorrectionController.cpp
3754         https://bugs.webkit.org/show_bug.cgi?id=60870
3755
3756         * editing/SpellingCorrectionController.cpp:
3757         (WebCore::SpellingCorrectionController::correctionPanelTimerFired): Migrating to using TextCheckingType
3758
3759 2011-05-15  Geoffrey Garen  <ggaren@apple.com>
3760
3761         Reviewed by Gavin Barraclough.
3762
3763         https://bugs.webkit.org/show_bug.cgi?id=59699
3764         Global object is recreated on teardown, for no good reason
3765         
3766         (Another partial fix for <rdar://problem/9417875> REGRESSION: SunSpider
3767         ~7% slower in browser than on command line (was 17%))
3768         
3769         I'm basically rolling out http://trac.webkit.org/changeset/49786 because
3770
3771         (a) it created this performance problem
3772         
3773         and
3774         
3775         (b) a more complete fix, which obsoletes http://trac.webkit.org/changeset/49786,
3776         was committed in http://trac.webkit.org/changeset/53439.
3777         
3778         Tested with the file attached to https://bugs.webkit.org/show_bug.cgi?id=29832.
3779
3780         * page/Frame.cpp:
3781         (WebCore::Frame::~Frame): Don't create a new window every time we destroy
3782         a frame.
3783
3784 2011-05-12  MORITA Hajime  <morrita@google.com>
3785
3786         ShadowContentElement should affect the order of renderer children
3787         https://bugs.webkit.org/show_bug.cgi?id=59157
3788
3789         Introduced ShadowContentSelector to collect and forward content
3790         children for each ShadowContentElement. ShadowRoot collects child
3791         nodes of its host (we call these children "content children"), and
3792         the descendant ShadowContentElement pulls that these content
3793         children and put it under its child during
3794         ShadowContentElement::attach().
3795         
3796         Content children no longer create its renderer during its normal
3797         attach() phase (called "light" phase). And they create it during
3798         attach() as a content children instead (called "forwarded phase").
3799         These phases are detected by NodeRendererFactory and represented
3800         as NodeRendererFactory::AttachPhase value AttachContentLight and
3801         AttachContentForwarded.
3802         
3803         Tests: fast/html/details-add-details-child-1.html
3804                fast/html/details-add-details-child-2.html
3805                fast/html/details-nested-1.html
3806                fast/html/details-nested-2.html
3807
3808         * dom/Element.cpp:
3809         (WebCore::Element::attach):
3810         (WebCore::Element::childrenChanged):
3811         * dom/Node.cpp:
3812         (WebCore::NodeRendererFactory::NodeRendererFactory):
3813         (WebCore::NodeRendererFactory::shouldCreateRenderer):
3814         (WebCore::NodeRendererFactory::nextRenderer):
3815         (WebCore::NodeRendererFactory::createRendererIfNeeded):
3816         * dom/ShadowRoot.cpp:
3817         (WebCore::forceReattach):
3818         (WebCore::ShadowContentSelector::shadowRoot):
3819         (WebCore::ShadowContentSelector::activeElement):
3820         (WebCore::ShadowContentSelector::currentInstance):
3821         (WebCore::ShadowContentSelector::ShadowContentSelector):
3822         (WebCore::ShadowContentSelector::~ShadowContentSelector):
3823         (WebCore::ShadowContentSelector::attachChildrenFor):
3824         (WebCore::ShadowContentElement::attach):
3825         (WebCore::ShadowRoot::recalcStyle):
3826         (WebCore::ShadowRoot::activeContentContainer):
3827         (WebCore::ShadowRoot::hostChildrenChanged):
3828         (WebCore::ShadowRoot::attach):
3829         * dom/ShadowRoot.h:
3830         * html/shadow/ShadowContentElement.h:
3831         (WebCore::ShadowContentElement::rendererIsNeeded):
3832         * rendering/RenderDetails.cpp:
3833         * rendering/RenderDetails.h:
3834
3835 2011-05-13  MORITA Hajime  <morrita@google.com>
3836
3837         Reviewed by Ryosuke Niwa.
3838
3839         Refactoring: Editor::TextCheckingOptions should be replaced with TextCheckingType
3840         https://bugs.webkit.org/show_bug.cgi?id=57088
3841
3842         Removed Editor::TextCheckingOptions and replaced it with TextCheckingTypeMask
3843         No new tests, no behavior change.
3844
3845         * editing/Editor.cpp:
3846         (WebCore::Editor::replaceSelectionWithFragment):
3847         (WebCore::Editor::markMisspellingsAfterTypingToWord):
3848         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
3849         (WebCore::Editor::markMisspellingsAndBadGrammar):
3850         (WebCore::Editor::resolveTextCheckingTypeMask):
3851         * editing/Editor.h:
3852         * platform/text/TextChecking.h: Added TextCheckingTypeShowCorrectionPanel
3853
3854 2011-05-15  Ilya Tikhonovsky  <loislo@chromium.org>
3855
3856         Reviewed by Yury Semikhatsky.
3857
3858         Web Inspector: chromium renderer crash at eval in console.
3859
3860         https://bugs.webkit.org/show_bug.cgi?id=60616
3861         Renderer of inspected page is crashing when modal dialog
3862         has been opened via console eval and page is reloaded.
3863
3864         Test: inspector/console/console-long-eval-crash.html
3865
3866         * inspector/CodeGeneratorInspector.pm:
3867         * inspector/InspectorController.cpp:
3868         (WebCore::InspectorController::connectFrontend):
3869         (WebCore::InspectorController::dispatchMessageFromFrontend):
3870         * inspector/InspectorController.h:
3871
3872 2011-05-15  Eric Carlson  <eric.carlson@apple.com>
3873
3874         Reviewed by Maciej Stachowiak.
3875
3876         Use new AVAssetReferenceRestrictions to prevent cross site media references
3877         https://bugs.webkit.org/show_bug.cgi?id=60791
3878         <rdar://problem/9374202>
3879
3880         Test: http/tests/media/video-cross-site.html
3881
3882         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
3883         (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Set restriction
3884             to prevent cross-domain references from being followed.
3885
3886 2011-05-15  Arno Renevier  <arno@renevier.net>
3887
3888         Reviewed by Darin Adler.
3889
3890         remove unecessary includes from Source/WebCore/html/HTMLFrameElementBase.cpp
3891         https://bugs.webkit.org/show_bug.cgi?id=60775
3892
3893         No new tests. This change only impacts compilation.
3894
3895         * html/HTMLFrameElementBase.cpp:
3896
3897 2011-05-14  Malcolm MacLeod  <malcolm.macleod@tshwanedje.com>
3898
3899         Reviewed by Kevin Ollivier.
3900
3901         [wx] Fix strokeArc and fillRoundedRect drawing, and add clipPath support.
3902         
3903         https://bugs.webkit.org/show_bug.cgi?id=60847
3904
3905         * platform/graphics/wx/GraphicsContextWx.cpp:
3906         (WebCore::GraphicsContext::strokeArc):
3907         (WebCore::GraphicsContext::clipConvexPolygon):
3908         (WebCore::GraphicsContext::fillRoundedRect):
3909         (WebCore::GraphicsContext::drawFocusRing):
3910         (WebCore::GraphicsContext::clipOut):
3911         (WebCore::GraphicsContext::clipPath):
3912         (WebCore::GraphicsContext::clip):
3913         (WebCore::GraphicsContext::addInnerRoundedRectClip):
3914
3915 2011-05-14  Eric Carlson  <eric.carlson@apple.com>
3916
3917         Reviewed by Dan Bernstein.
3918
3919         HTTP video-on-demand streams frequently have live stream UI
3920         https://bugs.webkit.org/show_bug.cgi?id=60849
3921         <rdar://problem/9440502>
3922
3923         No new tests, we don't currently have tests for http live streams. Changes verified manually.
3924
3925         * html/HTMLMediaElement.cpp:
3926         (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): Reset the media controls so
3927             a duration change which identifies a format will be picked up.
3928         (WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged): New, reset media controls
3929             so they can be reconfigured for the media file characteristics.
3930         * html/HTMLMediaElement.h:
3931
3932         * platform/graphics/MediaPlayer.cpp:
3933         (WebCore::MediaPlayer::characteristicChanged): New, pass through to the element.
3934         * platform/graphics/MediaPlayer.h:
3935         (WebCore::MediaPlayerClient::mediaPlayerCharacteristicChanged):
3936
3937         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3938         (WebCore::MediaPlayerPrivateAVFoundation::setHasVideo): Call characteristicChanged when
3939             setting changes.
3940         (WebCore::MediaPlayerPrivateAVFoundation::setHasAudio): Ditto.
3941         (WebCore::MediaPlayerPrivateAVFoundation::setHasClosedCaptions): Ditto.
3942         (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Move the duration
3943             change notification logic to invalidateCachedDuration.
3944         (WebCore::MediaPlayerPrivateAVFoundation::invalidateCachedDuration): New, invalidate
3945             the cached duration and notify the element when it changes.
3946         (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Call invalidateCachedDuration
3947             for the DurationChanged notification.
3948         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Define DurationChanged.
3949
3950         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
3951         (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Don't check asset or
3952             item duration until they have been loaded.
3953         (WebCore::itemKVOProperties): Listen for duration change.
3954         (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Deal with
3955             duration change notification.
3956
3957 2011-05-14  Abhishek Arya  <inferno@chromium.org>
3958
3959         Reviewed by Dan Bernstein.
3960
3961         As per spec, only allow one font family name in a font face rule.
3962         Other things like initial value, inherited value or multiple names
3963         are discarded.
3964         https://bugs.webkit.org/show_bug.cgi?id=60837
3965
3966         Test: fast/css/invalid-font-family-in-font-face-crash.html
3967
3968         * css/CSSParser.cpp:
3969         (WebCore::CSSParser::createFontFaceRule):
3970
3971 2011-05-13  Oliver Hunt  <oliver@apple.com>
3972
3973         Reviewed by Geoffrey Garen.
3974
3975         Make GC validation more aggressive
3976         https://bugs.webkit.org/show_bug.cgi?id=60802
3977
3978         This makes GC_VALIDATION much more aggressive in webcore,
3979         adding logic to every visitChildren method to ensure that
3980         the structure still has correct flags.
3981
3982         Additionally every function generated for the dom bindings
3983         makes use of the new GC_VALIDATION object assertions to further
3984         ensure that the object appears to be sensible.
3985
3986         * bindings/js/JSAttrCustom.cpp:
3987         (WebCore::JSAttr::visitChildren):
3988         * bindings/js/JSAudioContextCustom.cpp:
3989         (WebCore::JSAudioContext::visitChildren):
3990         * bindings/js/JSCSSRuleCustom.cpp:
3991         (WebCore::JSCSSRule::visitChildren):
3992         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3993         (WebCore::JSCSSStyleDeclaration::visitChildren):
3994         * bindings/js/JSCanvasRenderingContextCustom.cpp:
3995         (WebCore::JSCanvasRenderingContext::visitChildren):
3996         * bindings/js/JSDOMGlobalObject.cpp:
3997         (WebCore::JSDOMGlobalObject::visitChildren):
3998         (WebCore::JSDOMGlobalObject::setInjectedScript):
3999         * bindings/js/JSDOMWindowCustom.cpp:
4000         (WebCore::JSDOMWindow::visitChildren):
4001         * bindings/js/JSDOMWindowShell.cpp:
4002         (WebCore::JSDOMWindowShell::visitChildren):
4003         * bindings/js/JSEventListener.cpp:
4004         (WebCore::JSEventListener::JSEventListener):
4005         * bindings/js/JSEventListener.h:
4006         (WebCore::JSEventListener::jsFunction):
4007         * bindings/js/JSJavaScriptAudioNodeCustom.cpp: