Page Scale Factor broken when navigating history on pages with child frames
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-10-26  Fady Samuel  <fsamuel@chromium.org>
2
3         Page Scale Factor broken when navigating history on pages with child frames
4         https://bugs.webkit.org/show_bug.cgi?id=70459
5
6         Reviewed by Darin Fisher.
7
8         With frameScaleFactor now always returning 1.0 for subframes and pageScaleFactor for the mainFrame,
9         and there being only a single pageScaleFactor, history for scaling is broken. Scaling history is
10         saved on a per frame basis but restored, overriding the per-page pageScaleFactor multiple times.
11         As a result, sometimes pages that have subframes end up getting a scale factor of 1.0 instead
12         of the correct scale factor that was assigned to the main frame.
13
14         No new tests because I don't know how to test this.
15
16         * loader/HistoryController.cpp:
17         (WebCore::HistoryController::restoreScrollPositionAndViewState):
18
19 2011-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
20
21         Unreviewed, rolling out r98429.
22         http://trac.webkit.org/changeset/98429
23         https://bugs.webkit.org/show_bug.cgi?id=70881
24
25         "webkit_gpu_tests fail in Chromium" (Requested by yurys on
26         #webkit).
27
28         * platform/graphics/chromium/LayerRendererChromium.cpp:
29         (WebCore::LayerRendererChromium::initialize):
30         * platform/graphics/chromium/WebGLLayerChromium.cpp:
31         (WebCore::WebGLLayerChromium::layerRendererContext):
32         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
33         (WebCore::CCHeadsUpDisplay::enabled):
34         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
35         (WebCore::CCLayerTreeHost::initialize):
36         (WebCore::CCLayerTreeHost::context):
37         (WebCore::CCLayerTreeHost::setNeedsAnimate):
38         (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
39         (WebCore::CCLayerTreeHost::setNeedsRedraw):
40         (WebCore::CCLayerTreeHost::composite):
41         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
42         (WebCore::CCSettings::CCSettings):
43         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
44         (WebCore::CCThreadProxy::setThread):
45         * platform/graphics/chromium/cc/CCThreadProxy.h:
46
47 2011-10-26  Ben Wells  <benwells@chromium.org>
48
49         Canvas drawImage with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
50         https://bugs.webkit.org/show_bug.cgi?id=66920
51
52         Reviewed by James Robinson.
53
54         Test: fast/canvas/canvas-composite-image.html
55
56         Use the same method as fills to handle composited drawImage calls that will affect the whole
57         canvas. To do this code used when doing fills has been factored into seperate functions and
58         used by drawImage. Some functions used to do these types of operations have also been renamed.
59
60         * html/canvas/CanvasRenderingContext2D.cpp:
61         (WebCore::isFullCanvasCompositeMode):
62         (WebCore::CanvasRenderingContext2D::fill):
63         (WebCore::CanvasRenderingContext2D::fillRect):
64         (WebCore::CanvasRenderingContext2D::drawImage):
65         (WebCore::CanvasRenderingContext2D::calculateCompositingBufferRect):
66         (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
67         (WebCore::CanvasRenderingContext2D::compositeBuffer):
68         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
69         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
70         * html/canvas/CanvasRenderingContext2D.h:
71
72 2011-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
73
74         Unreviewed, rolling out r98379.
75         http://trac.webkit.org/changeset/98379
76         https://bugs.webkit.org/show_bug.cgi?id=70875
77
78         Did not pass on JSC ports (Requested by abarth on #webkit).
79
80         * bindings/scripts/CodeGeneratorJS.pm:
81         (GenerateHeader):
82         (GenerateImplementation):
83         * bindings/scripts/CodeGeneratorV8.pm:
84         (GenerateHeader):
85         (GenerateArgumentsCountCheck):
86         (GenerateImplementation):
87         * html/canvas/CanvasRenderingContext2D.idl:
88         * page/DOMWindow.idl:
89
90 2011-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
91
92         Unreviewed, rolling out r98346.
93         http://trac.webkit.org/changeset/98346
94         https://bugs.webkit.org/show_bug.cgi?id=70874
95
96         Breaks JSC-based bots. (Requested by pfeldman on #webkit).
97
98         * inspector/front-end/ScriptsPanel.js:
99         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
100
101 2011-10-25  Nat Duca  <nduca@chromium.org>
102
103         [chromium] Enable threaded compositing via CCThreadProxy::hasThread only
104         https://bugs.webkit.org/show_bug.cgi?id=70838
105
106         Reviewed by James Robinson.
107
108         * platform/graphics/chromium/LayerRendererChromium.cpp:
109         (WebCore::LayerRendererChromium::initialize):
110         * platform/graphics/chromium/WebGLLayerChromium.cpp:
111         (WebCore::WebGLLayerChromium::layerRendererContext):
112         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
113         (WebCore::CCHeadsUpDisplay::enabled):
114         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
115         (WebCore::CCLayerTreeHost::initialize):
116         (WebCore::CCLayerTreeHost::context):
117         (WebCore::CCLayerTreeHost::setNeedsAnimate):
118         (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
119         (WebCore::CCLayerTreeHost::setNeedsRedraw):
120         (WebCore::CCLayerTreeHost::composite):
121         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
122         (WebCore::CCSettings::CCSettings):
123         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
124         (WebCore::CCThreadProxy::hasThread):
125         * platform/graphics/chromium/cc/CCThreadProxy.h:
126
127 2011-10-25  Xiaomei Ji  <xji@chromium.org>
128
129         --webkit-visual-word does not work in multi-line
130         https://bugs.webkit.org/show_bug.cgi?id=61344
131
132         Reviewed by Ryosuke Niwa.
133
134         Get next or previous root inline box (which is not in the same
135         render object as the current root inline box) by traversing DOM node.
136
137         Test: editing/selection/move-by-word-visually-inline-block-positioned-element.html
138
139         * editing/visible_units.cpp:
140         (WebCore::previousRootInlineBox):
141         (WebCore::nextRootInlineBox):
142         (WebCore::leftInlineBox):
143         (WebCore::rightInlineBox):
144
145 2011-10-25  Adam Barth  <abarth@webkit.org>
146
147         JSEventTarget.cpp has a bunch of unnessary includes
148         https://bugs.webkit.org/show_bug.cgi?id=70865
149
150         Reviewed by Eric Seidel.
151
152         In the process of removing these includes, I noticed we had a bunch of
153         non-autogenerated code in this file, which I've now autogenerated.
154
155         * bindings/js/JSEventTarget.cpp:
156         (WebCore::toEventTarget):
157             - One subtly here is the outter static_cast, which is caused by an
158               inheritance infelicity in JavaScriptAudioNode, which I've noted
159               with a FIXME.  In any case, the extra static_cast shouldn't cause
160               any trouble.
161         * webaudio/JavaScriptAudioNode.h:
162
163 2011-10-25  Adam Barth  <abarth@webkit.org>
164
165         V8DOMWrapper.cpp has unneeded header includes
166         https://bugs.webkit.org/show_bug.cgi?id=70863
167
168         Reviewed by Eric Seidel.
169
170         * bindings/v8/V8DOMWrapper.cpp:
171
172 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
173
174         Resetting baseline for test bindings
175
176         Unreviewed preemptive build fix
177
178         No new tests.
179
180         * bindings/scripts/test/JS/JSTestObj.cpp:
181         * bindings/scripts/test/JS/JSTestObj.h:
182
183 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
184
185         Remove deletePropertyVirtual
186         https://bugs.webkit.org/show_bug.cgi?id=70738
187
188         Reviewed by Geoffrey Garen.
189
190         No new tests.
191
192         Removed all declarations and definitions of deletePropertyVirtual.
193         Also replaced all call sites to deletePropertyVirtual with a 
194         corresponding lookup in the MethodTable.
195
196         * WebCore.exp.in:
197         * bindings/js/JSDOMStringMapCustom.cpp:
198         (WebCore::JSDOMStringMap::deleteProperty):
199         * bindings/js/JSDOMWindowCustom.cpp:
200         (WebCore::JSDOMWindow::deleteProperty):
201         * bindings/js/JSDOMWindowShell.cpp:
202         (WebCore::JSDOMWindowShell::deleteProperty):
203         * bindings/js/JSDOMWindowShell.h:
204         * bindings/js/JSHistoryCustom.cpp:
205         (WebCore::JSHistory::deleteProperty):
206         * bindings/js/JSLocationCustom.cpp:
207         (WebCore::JSLocation::deleteProperty):
208         * bindings/js/JSStorageCustom.cpp:
209         (WebCore::JSStorage::deleteProperty):
210         * bindings/js/ScriptObject.cpp:
211         (WebCore::ScriptGlobalObject::remove):
212         * bindings/objc/WebScriptObject.mm:
213         (-[WebScriptObject removeWebScriptKey:]):
214         * bindings/scripts/CodeGeneratorJS.pm:
215         (GenerateHeader):
216         * bridge/NP_jsobject.cpp:
217         (_NPN_RemoveProperty):
218         * bridge/jni/jni_jsobject.mm:
219         (JavaJSObject::removeMember):
220         * bridge/objc/objc_runtime.h:
221         * bridge/objc/objc_runtime.mm:
222         * bridge/runtime_array.cpp:
223         * bridge/runtime_array.h:
224         * bridge/runtime_object.cpp:
225         * bridge/runtime_object.h:
226
227 2011-10-25  Chris Fleizach  <cfleizach@apple.com>
228
229         AX: WebKit does not expose HTML label for slider elements
230         https://bugs.webkit.org/show_bug.cgi?id=70856
231
232         Reviewed by Darin Adler.
233
234         Test: platform/mac/accessibility/slider-allows-title-ui-element.html
235
236         * accessibility/AccessibilitySlider.h:
237         (WebCore::AccessibilitySlider::isControl):
238         * accessibility/mac/WebAccessibilityObjectWrapper.mm:
239         (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
240
241 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
242
243         Remove putVirtual
244         https://bugs.webkit.org/show_bug.cgi?id=70740
245
246         Reviewed by Geoffrey Garen.
247
248         No new tests.
249
250         Removed all declarations and definitions of putVirtual.
251         Also replaced all call sites to putVirtual with a 
252         corresponding lookup in the MethodTable.
253
254         * WebCore.exp.in:
255         * bindings/js/JSDOMWindowCustom.cpp:
256         * bindings/js/JSDOMWindowShell.cpp:
257         (WebCore::JSDOMWindowShell::put):
258         * bindings/js/JSDOMWindowShell.h:
259         * bindings/js/JSPluginElementFunctions.cpp:
260         (WebCore::runtimeObjectCustomPut):
261         * bindings/js/SerializedScriptValue.cpp:
262         (WebCore::CloneDeserializer::putProperty):
263         * bindings/objc/WebScriptObject.mm:
264         (-[WebScriptObject setValue:forKey:]):
265         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
266         * bindings/scripts/CodeGeneratorJS.pm:
267         (GenerateHeader):
268         (GenerateImplementation):
269         * bridge/NP_jsobject.cpp:
270         (_NPN_SetProperty):
271         * bridge/jni/jni_jsobject.mm:
272         (JavaJSObject::setMember):
273         (JavaJSObject::setSlot):
274         * bridge/objc/objc_runtime.h:
275         * bridge/objc/objc_runtime.mm:
276         * bridge/qt/qt_runtime.cpp:
277         (JSC::Bindings::convertQVariantToValue):
278         * bridge/runtime_array.cpp:
279         * bridge/runtime_array.h:
280         * bridge/runtime_object.cpp:
281         * bridge/runtime_object.h:
282         * bridge/testqtbindings.cpp:
283         (main):
284
285 2011-10-25  Adam Barth  <abarth@webkit.org>
286
287         EventTargetFactory.in is not sorted
288         https://bugs.webkit.org/show_bug.cgi?id=70855
289
290         Reviewed by Eric Seidel.
291
292         This patch sorts the file.  I was not able to measure a performance
293         difference using the microbenchmark included with this patch.
294
295         * dom/EventTargetFactory.in:
296
297 2011-10-25  Adam Barth  <abarth@webkit.org>
298
299         Attempt to fix the Windows build.  Windows mashes all these files into
300         one, which doesn't respect the compilation unit rules of C++.
301
302         * bindings/js/JSEventCustom.cpp:
303         * bindings/js/JSEventTarget.cpp:
304
305 2011-10-25  Ryosuke Niwa  <rniwa@webkit.org>
306
307         Moving to the start of line should not place the caret outside of the table
308         https://bugs.webkit.org/show_bug.cgi?id=70757
309
310         Reviewed by Chang Shu.
311
312         The bug was caused by positionAvoidingFirstPositionInTable. Get rid of the function.
313
314         Test: editing/selection/table-lineboundary.html
315
316         * editing/visible_units.cpp:
317         (WebCore::startPositionForLine):
318
319 2011-10-25  Beth Dakin  <bdakin@apple.com>
320
321         https://bugs.webkit.org/show_bug.cgi?id=70852
322         Setting up a HiDPI base-level GraphicsContext should be more straightforward for 
323         WebKit2
324
325         Reviewed by Dan Bernstein.
326
327         This patch removes the old cg-only GraphicsContext::setBaseCTM() api, and adds 
328         platform-independent GraphicsContext::applyDeviceScaleFactor().
329         * WebCore.exp.in:
330         * platform/graphics/GraphicsContext.cpp:
331         (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
332         (WebCore::GraphicsContext::applyDeviceScaleFactor):
333         * platform/graphics/GraphicsContext.h:
334         * platform/graphics/cg/GraphicsContextCG.cpp:
335         (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
336
337         Since this patch removes GraphicsContext::setBaseCTM(), this code has been 
338         reverted to do what it used to do before that was added; it just calls into 
339         WebCoreSystemInterface directly.
340         * platform/graphics/cg/ImageCG.cpp:
341         (WebCore::Image::drawPattern):
342
343 2011-10-25  Anders Carlsson  <andersca@apple.com>
344
345         Plug-ins have to use JavaScript to find out the current device scale factor
346         https://bugs.webkit.org/show_bug.cgi?id=67225
347
348         Reviewed by Darin Adler.
349
350         Test: platform/mac-wk2/plugins/contents-scale-factor.html
351
352         Add NPNVcontentsScaleFactor, as per https://wiki.mozilla.org/NPAPI:ContentsScaleFactor.
353
354         * plugins/npapi.h:
355
356 2011-10-25  Adam Klein  <adamk@chromium.org>
357
358         Forward declare MutationObserverEntry as a struct to fix clang build
359         https://bugs.webkit.org/show_bug.cgi?id=70853
360
361         Reviewed by Ryosuke Niwa.
362
363         Node.h forward declared MutationObserverEntry as a class, and clang
364         complains if the two declarations don't match.
365
366         * dom/Node.h:
367
368 2011-10-25  Dan Bernstein  <mitz@apple.com>
369
370         Caret can be positioned or repainted incorrectly in flipped-blocks multi-column blocks
371         https://bugs.webkit.org/show_bug.cgi?id=70851
372
373         Reviewed by Dave Hyatt.
374
375         * manual-tests/caret-in-columns-flipped.html: Added.
376         * rendering/RenderBlock.cpp:
377         (WebCore::RenderBlock::adjustForColumns): Removed flipped-blocks writing mode considerations
378         from this function, since not all callers were expecting it to account for flippedness. This makes
379         it similar to adjustRectForColumns() in not adjusting for flippedness.
380         * rendering/RenderBox.cpp:
381         (WebCore::RenderBox::offsetFromContainer): In the columns case, account for flipped-blocks modes
382         by first mapping the point and the offset to non-flipped, non-columns space, then adjusting for
383         columns, then flipping.
384
385 2011-10-25  Michal Mocny  <mmocny@google.com>
386
387         LayerRendererChromium::setVisible called needlessly without a visibility change
388         https://bugs.webkit.org/show_bug.cgi?id=70766
389
390         Reviewed by Kenneth Russell.
391
392         Check that visibility has actually changed before calling LayerRendererChromium::setVisible
393
394         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
395         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
396         (WebCore::CCLayerTreeHostImpl::setVisible):
397         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
398
399 2011-10-25  Anders Carlsson  <andersca@apple.com>
400
401         REGRESSION(97821): HistoryController::itemsAreClones crashes a lot
402         https://bugs.webkit.org/show_bug.cgi?id=70827
403         <rdar://problem/10342925>
404
405         Reviewed by Adam Barth.
406
407         Check that m_currentItem is non-null before passing it to itemsAreClones. While I wasn't
408         able to make a test case that would reproduce this crash, we do check m_currentItem for null
409         everywhere else, and the crash log indicates that this would fix the crash.
410
411         * loader/HistoryController.cpp:
412         (WebCore::HistoryController::recursiveUpdateForCommit):
413
414 2011-10-25  Adam Barth  <abarth@webkit.org>
415
416         EventTarget.h shouldn't need to know about every feature and ifdef
417         https://bugs.webkit.org/show_bug.cgi?id=70659
418
419         Reviewed by Darin Adler.
420
421         This patch follows the approach of Event.h and introduces an
422         interfaceName virtual function that returns the name of the DOM
423         interface for the concrete type of the object.  This function lets us
424         remove a large number of fake dynamic casts.
425
426         * CMakeLists.txt:
427         * CodeGenerators.pri:
428         * DerivedSources.make:
429         * GNUmakefile.am:
430         * WebCore.gyp/WebCore.gyp:
431         * WebCore.gyp/scripts/action_makenames.py:
432             - Teach action_makenames how to handle the new "in" file.
433         * WebCore.gypi:
434         * WebCore.vcproj/WebCore.vcproj:
435         * WebCore.xcodeproj/project.pbxproj:
436         * bindings/js/JSEventTarget.cpp:
437         (WebCore::toJS):
438             - Use the new autogenerated macro to remove a large amount of
439               feature-specific code.
440         * bindings/js/WorkerScriptController.cpp:
441         (WebCore::WorkerScriptController::initScript):
442         * bindings/objc/DOM.mm:
443         (kit):
444             - The SVGElementInstance branch was never taken previously because
445               SVGElementInstance::toNode returns a non-NULL value. This code
446               was introduced in http://trac.webkit.org/changeset/42618 and
447               doesn't appear to have ever worked as the author intended.
448         * bindings/v8/V8DOMWrapper.cpp:
449         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
450             - Use the new autogenerated macro to remove a large amount of
451               feature-specific code.
452         * dom/EventNames.cpp:
453         (WebCore::EventNames::EventNames):
454         * dom/EventNames.h:
455         * dom/EventTarget.cpp:
456         * dom/EventTarget.h:
457         * dom/EventTargetFactory.in: Added.
458             - Add a new "in" file that lists all the EventTargets.
459         * dom/LocalMediaStream.cpp:
460         (WebCore::LocalMediaStream::interfaceName):
461         * dom/LocalMediaStream.h:
462         * dom/MediaStream.cpp:
463         (WebCore::MediaStream::interfaceName):
464         * dom/MediaStream.h:
465         * dom/MessagePort.cpp:
466         (WebCore::MessagePort::interfaceName):
467         * dom/MessagePort.h:
468         * dom/Node.cpp:
469         (WebCore::Node::toNode):
470         (WebCore::Node::interfaceName):
471         * dom/Node.h:
472         * dom/make_event_factory.pl:
473             - Generalize make_event_factory.pl to be able to generate
474               interfaces for different namespaces.
475         * fileapi/FileReader.cpp:
476         (WebCore::FileReader::interfaceName):
477         * fileapi/FileReader.h:
478         * fileapi/FileWriter.cpp:
479         (WebCore::FileWriter::interfaceName):
480         * fileapi/FileWriter.h:
481         * loader/appcache/DOMApplicationCache.cpp:
482         (WebCore::DOMApplicationCache::interfaceName):
483         * loader/appcache/DOMApplicationCache.h:
484         * notifications/Notification.cpp:
485         (WebCore::Notification::interfaceName):
486         * notifications/Notification.h:
487         (WebCore::Notification::scriptExecutionContext):
488         * p2p/PeerConnection.cpp:
489         (WebCore::PeerConnection::interfaceName):
490         * p2p/PeerConnection.h:
491         * page/DOMWindow.cpp:
492         (WebCore::DOMWindow::interfaceName):
493         (WebCore::DOMWindow::toDOMWindow):
494         * page/DOMWindow.h:
495         * page/EventSource.cpp:
496         (WebCore::EventSource::interfaceName):
497         * page/EventSource.h:
498         * storage/IDBDatabase.cpp:
499         (WebCore::IDBDatabase::interfaceName):
500         * storage/IDBDatabase.h:
501         * storage/IDBRequest.cpp:
502         (WebCore::IDBRequest::interfaceName):
503         * storage/IDBRequest.h:
504         * storage/IDBTransaction.cpp:
505         (WebCore::IDBTransaction::interfaceName):
506         * storage/IDBTransaction.h:
507         * storage/IDBVersionChangeRequest.cpp:
508         (WebCore::IDBVersionChangeRequest::interfaceName):
509         * storage/IDBVersionChangeRequest.h:
510         * svg/SVGElementInstance.cpp:
511         (WebCore::SVGElementInstance::interfaceName):
512         * svg/SVGElementInstance.h:
513         (WebCore::SVGElementInstance::toNode):
514         * webaudio/AudioContext.cpp:
515         (WebCore::AudioContext::interfaceName):
516         (WebCore::AudioContext::scriptExecutionContext):
517         * webaudio/AudioContext.h:
518         * webaudio/JavaScriptAudioNode.cpp:
519         (WebCore::JavaScriptAudioNode::interfaceName):
520         * webaudio/JavaScriptAudioNode.h:
521         * websockets/WebSocket.cpp:
522         (WebCore::WebSocket::interfaceName):
523         * websockets/WebSocket.h:
524         * workers/DedicatedWorkerContext.cpp:
525         (WebCore::DedicatedWorkerContext::interfaceName):
526         * workers/DedicatedWorkerContext.h:
527         * workers/DefaultSharedWorkerRepository.cpp:
528         (WebCore::SharedWorkerConnectTask::performTask):
529         * workers/SharedWorker.cpp:
530         (WebCore::SharedWorker::interfaceName):
531         * workers/SharedWorker.h:
532         * workers/SharedWorkerContext.cpp:
533         (WebCore::SharedWorkerContext::interfaceName):
534         * workers/SharedWorkerContext.h:
535         * workers/Worker.cpp:
536         (WebCore::Worker::interfaceName):
537         * workers/Worker.h:
538         * xml/XMLHttpRequest.cpp:
539         (WebCore::XMLHttpRequest::interfaceName):
540         * xml/XMLHttpRequest.h:
541         * xml/XMLHttpRequestUpload.cpp:
542         (WebCore::XMLHttpRequestUpload::interfaceName):
543         * xml/XMLHttpRequestUpload.h:
544
545 2011-10-25  Pavel Podivilov  <podivilov@chromium.org>
546
547         Fix several minor problems in idls.
548         https://bugs.webkit.org/show_bug.cgi?id=70811
549
550         Reviewed by Adam Barth.
551
552         This patch does not have any effect on generated bindings.
553
554         * dom/DataTransferItems.idl:
555         * page/History.idl:
556         * storage/IDBIndex.idl:
557         * xml/XMLHttpRequest.idl:
558
559 2011-10-25  Nate Chapin  <japhet@chromium.org>
560
561         Make DocumentThreadableLoader a CachedResourceClient.
562         This will allow us to cache ThreadableLoaderClients as
563         appropriate in a later patch.
564         https://bugs.webkit.org/show_bug.cgi?id=61225
565
566         Reviewed by Antti Koivisto.
567
568         No new tests, no functionality change intended.
569
570         * WebCore.gypi:
571         * loader/DocumentThreadableLoader.cpp:
572         (WebCore::DocumentThreadableLoader::notifyFinished): CachedResourceClients don't send separate callbacks
573             for didFail() and didFinishLoading(), so we need to differentiate here.
574         (WebCore::DocumentThreadableLoader::loadRequest): Call CachedResourceLoader::requestRawResource()
575             instead of ResourceLoadScheduler::scheduleSubresourceLoad().
576         * loader/DocumentThreadableLoader.h:
577         * loader/cache/CachedRawResource.cpp:
578         (WebCore::CachedRawResource::data): Handle the complexity of some ThreadableLoaderClients setting
579             DoNotBufferData in ResoureLoaderOptions. If the DataBufferingPolicy is BufferData, then the
580             'data' input parameter will contain all data received so far, and we need to determine the
581             incremental data to forward to the clients. If the policy is DoNotBufferData, 'data' is just
582             the incremental data.
583         * loader/cache/CachedRawResource.h:
584         * loader/cache/CachedResource.cpp:
585         * loader/cache/CachedResource.h:
586         (WebCore::CachedResource::preloadResult):
587         (WebCore::CachedResource::didSendData):
588         (WebCore::CachedResource::didDownloadData):
589         (WebCore::CachedResource::setLoadFinishTime):
590         (WebCore::CachedResource::loadFinishTime):
591         * loader/cache/CachedResourceClient.h: Add several new callbacks needed by DocumentThreadableLoader.
592         * loader/cache/CachedResourceRequest.cpp:
593         (WebCore::CachedResourceRequest::didReceiveResponse): CachedResource::setResponse() can now cancel
594             the request, so protect appropriately.
595         * loader/cache/CachedResourceRequest.h:
596         * loader/chromium/CachedRawResourceChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
597         * loader/chromium/CachedResourceRequestChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
598         * loader/chromium/DocumentThreadableLoaderChromium.cpp:
599         * platform/network/BlobResourceHandle.cpp:
600         (WebCore::BlobResourceHandle::notifyResponse): Protect before setting response, since it might kill us.
601
602 2011-10-25  Pavel Podivilov  <podivilov@chromium.org>
603
604         Get rid of optional parameters in the middle in IDLs.
605         https://bugs.webkit.org/show_bug.cgi?id=70816
606
607         Reviewed by Adam Barth.
608
609         Optional parameters in the middle are prohibited by WebIDL spec.
610
611         * bindings/scripts/CodeGeneratorJS.pm:
612         (GenerateHeader):
613         (GenerateImplementation):
614         * bindings/scripts/CodeGeneratorV8.pm:
615         (GenerateHeader):
616         (GenerateArgumentsCountCheck):
617         (GenerateImplementation):
618         * html/canvas/CanvasRenderingContext2D.idl:
619         * page/DOMWindow.idl:
620
621 2011-10-25  Chris Evans  <cevans@google.com>
622
623         Manage the CSS property array length correctly
624         https://bugs.webkit.org/show_bug.cgi?id=70783
625
626         Reviewed by Adam Barth.
627
628         * css/CSSParser.cpp:
629         (WebCore::CSSParser::addProperty): don't allow max length to get out of sync with the buffer.
630
631 2011-10-25  Tony Chang  <tony@chromium.org>
632
633         avoid unnecessary layouts of flex items during the flex pass
634         https://bugs.webkit.org/show_bug.cgi?id=70557
635
636         Reviewed by Ojan Vafai.
637
638         If the preferred size of a flex item is provided, we don't need to
639         layout the flex item when computing the preferred size.  This allows
640         us to only call layout on each flex item once in the common case.
641
642         No new tests, covered by existing tests.
643
644         * rendering/RenderFlexibleBox.cpp:
645         (WebCore::RenderFlexibleBox::flowAwareLogicalWidthLengthForChild):
646         (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
647         (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
648         (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
649         * rendering/RenderFlexibleBox.h:
650
651 2011-10-25  Fady Samuel  <fsamuel@chromium.org>
652
653         Crash in WebCore::RenderTableSection::addChild due to assert failure
654         https://bugs.webkit.org/show_bug.cgi?id=70678
655
656         Reviewed by David Hyatt.
657
658         Tests: fast/table/table-anonymous-cell-bug.html
659                fast/table/table-anonymous-row-bug.html
660                fast/table/table-anonymous-section-bug.html
661
662         If the child being added is not a Section/Row/Cell, and the previous sibling is not anonymous, 
663         we need to create a new anonymous Section/Row/Cell respectively, instead of failing an
664         assert.
665
666         * rendering/RenderTable.cpp:
667         (WebCore::RenderTable::addChild):
668         * rendering/RenderTableRow.cpp:
669         (WebCore::RenderTableRow::addChild):
670         * rendering/RenderTableSection.cpp:
671         (WebCore::RenderTableSection::addChild):
672
673 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
674
675         Add getOwnPropertySlot to MethodTable
676         https://bugs.webkit.org/show_bug.cgi?id=69807
677
678         Reviewed by Oliver Hunt.
679
680         No new tests.
681
682         * bridge/runtime_method.h: Changed getOwnPropertySlot to be protected so 
683         subclasses can reference it in their MethodTables.
684
685 2011-10-25  Simon Fraser  <simon.fraser@apple.com>
686
687         REGRESSION (r88580): Cursor fails to change to pointer on embedded Google maps popups
688         https://bugs.webkit.org/show_bug.cgi?id=62797
689
690         Reviewed by Chris Marrin.
691         
692         When hit testing through transformed layers, RenderLayer would simply use
693         the composited bounds of the layer as the localHitTestRect for hit testing sublayers.
694         However, this broke hit testing on pages that have a composited, non-transformed layer
695         which falls outside the bounds of its parent, composited-transformed layer, like Google
696         Maps.
697         
698         Fix by mapping the hitTestRect through transforms. However this is tricky, because
699         mapping a rect into the coordinate system of a layer can result in invalid rectangles
700         when point projection results in a negative w component. Fix TransformationMatrix::projectPoint()
701         to detect this case and replace X and Y with large values, and add boundsOfProjectedQuad(), which 
702         maps rectangles with possibly-infinite location or bounds into rects which are representable
703         in an IntRect.
704
705         Tests: transforms/3d/hit-testing/composited-hit-test.html
706                transforms/3d/hit-testing/rotated-hit-test-with-child.html
707                transforms/3d/hit-testing/rotated-hit-test2.html
708
709         * platform/graphics/transforms/TransformationMatrix.cpp:
710         (WebCore::TransformationMatrix::projectPoint):
711         (WebCore::TransformationMatrix::projectQuad):
712         (WebCore::clampEdgeValue):
713         (WebCore::TransformationMatrix::boundsOfProjectedQuad):
714         * platform/graphics/transforms/TransformationMatrix.h:
715         * rendering/HitTestingTransformState.cpp:
716         (WebCore::HitTestingTransformState::boundsOfMappedQuad):
717         * rendering/HitTestingTransformState.h:
718         * rendering/RenderLayer.cpp:
719         (WebCore::RenderLayer::hitTestLayer):
720
721 2011-10-25  Adrienne Walker  <enne@google.com>
722
723         [chromium] Batch up texture uploads so that they can be updated incrementally
724         https://bugs.webkit.org/show_bug.cgi?id=70454
725
726         Reviewed by James Robinson.
727
728         Because texture uploads can sometimes take more than a frame to
729         complete, collect all the uploads that need to occur in a
730         CCTextureUpdater so that we can easily incrementally upload some of
731         them, interleaving input and drawing so that the compositor thread
732         continues to appear responsive during a commit.
733
734         This change doesn't actually interleave the commits, it just pushes
735         the infrastructure for doing so up to the CCProxy level so that a
736         future scheduler can make this decision.
737
738         VideoLayerChromium is the only layer type to not use this system. It
739         needs to be converted to use a texture updater first and it is less of
740         a priority than the tiled layers.
741
742         * WebCore.gypi:
743         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
744         (WebCore::Canvas2DLayerChromium::updateCompositorResources):
745         * platform/graphics/chromium/Canvas2DLayerChromium.h:
746         * platform/graphics/chromium/LayerChromium.h:
747         (WebCore::LayerChromium::updateCompositorResources):
748         * platform/graphics/chromium/TiledLayerChromium.cpp:
749         (WebCore::TiledLayerChromium::updateCompositorResources):
750         * platform/graphics/chromium/TiledLayerChromium.h:
751         * platform/graphics/chromium/VideoLayerChromium.cpp:
752         (WebCore::VideoLayerChromium::updateCompositorResources):
753         * platform/graphics/chromium/VideoLayerChromium.h:
754         * platform/graphics/chromium/WebGLLayerChromium.cpp:
755         (WebCore::WebGLLayerChromium::updateCompositorResources):
756         * platform/graphics/chromium/WebGLLayerChromium.h:
757         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
758         (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
759         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
760         (WebCore::CCLayerTreeHost::updateCompositorResources):
761         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
762         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
763         (WebCore::CCSingleThreadProxy::setNeedsCommit):
764         (WebCore::CCSingleThreadProxy::doCommit):
765         (WebCore::CCSingleThreadProxy::commitIfNeeded):
766         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
767         * platform/graphics/chromium/cc/CCTextureUpdater.cpp: Added.
768         (WebCore::CCTextureUpdater::CCTextureUpdater):
769         (WebCore::CCTextureUpdater::~CCTextureUpdater):
770         (WebCore::CCTextureUpdater::append):
771         (WebCore::CCTextureUpdater::update):
772         (WebCore::CCTextureUpdater::clear):
773         * platform/graphics/chromium/cc/CCTextureUpdater.h: Added.
774         (WebCore::CCTextureUpdater::allocator):
775         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
776         (WebCore::CCThreadProxy::commitOnImplThread):
777
778 2011-10-24  Jer Noble  <jer.noble@apple.com>
779
780         compositing/video tests time out on Lion
781         https://bugs.webkit.org/show_bug.cgi?id=70448
782
783         Reviewed by Simon Fraser.
784
785         AVFoundation will not begin loading or decoding media until a consumer for that media is present.
786         For video-only media, this means that an AVPlayerLayer must be created and attached to the 
787         AVPlayer before the load state will ever reach "canPlayThrough". Once the metadata for a media
788         is loaded, create a AVPlayerLayer if the media has a video track.
789
790         * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
791         (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
792
793 2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
794
795         Merge endOfLine with logicalEndOfLine and startOfLine with logicalStartOfLine
796         https://bugs.webkit.org/show_bug.cgi?id=70755
797
798         Reviewed by Chang Shu.
799
800         Merged endOfLine with logicalEndOfLine, and startOfLine with logicalStartOfLine
801         to reduce the code duplication.
802
803         * editing/visible_units.cpp:
804         (WebCore::startPositionForLine):
805         (WebCore::startOfLine):
806         (WebCore::logicalStartOfLine):
807         (WebCore::endPositionForLine):
808         (WebCore::inSameLogicalLine):
809         (WebCore::endOfLine):
810         (WebCore::logicalEndOfLine):
811         * editing/visible_units.h:
812
813 2011-10-25  Arko Saha  <arko@motorola.com>
814
815         Microdata: itemtype attribute should be space-separated list to allow multiple types.
816         https://bugs.webkit.org/show_bug.cgi?id=70501
817
818         Reviewed by Ryosuke Niwa.
819
820         Tests: fast/dom/MicroData/getitems-multiple-itemtypes.html
821                fast/dom/MicroData/itemtype-add-remove-tokens.html
822                fast/dom/MicroData/itemtype-attribute-test.html
823
824         * dom/MicroDataItemList.cpp:
825         (WebCore::MicroDataItemList::nodeMatches):
826         * html/DOMSettableTokenList.h:
827         (WebCore::DOMSettableTokenList::tokens):
828         * html/HTMLElement.cpp:
829         (WebCore::HTMLElement::parseMappedAttribute):
830         (WebCore::HTMLElement::setItemValueText):
831         (WebCore::HTMLElement::itemType):
832         (WebCore::HTMLElement::setItemType):
833         * html/HTMLElement.h:
834         * html/HTMLElement.idl:
835
836 2011-10-25  Dan Bernstein  <mitz@apple.com>
837
838         <rdar://problem/10337033> DOMRangeOfString:relativeTo:options has problems with -webkit-user-select: none
839
840         Reviewed by Adam Roben.
841
842         Test: added to TestWebKitAPI/Tests/mac/DOMRangeOfString.mm
843
844         * page/Page.cpp:
845         (WebCore::Page::rangeOfString): This function was incorrectly adding the StartInSelection option to
846         the initial search.
847
848 2011-10-25  Yury Semikhatsky  <yurys@chromium.org>
849
850         Web Inspector: redesign workers sidebar pane
851         https://bugs.webkit.org/show_bug.cgi?id=70815
852
853         Changed workers sidebar pane design.
854
855         Now there is a link to worker inspector for each dedicated worker created
856         by inspected page. The sidebar display a link to a page with list of all
857         shared workers if there one is supported by the WebKit port. Also there
858         is a checkbox that allows pause all new workers on first statements.
859
860         Reviewed by Pavel Feldman.
861
862         * inspector/front-end/Settings.js:
863         * inspector/front-end/StylesSidebarPane.js:
864         (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
865         * inspector/front-end/WorkerManager.js:
866         (WebInspector.WorkerManager.prototype.openWorkerInspector):
867         (WebInspector.WorkerManager.prototype._workerInspectorClosing):
868         * inspector/front-end/WorkersSidebarPane.js:
869         (WebInspector.WorkerListSidebarPane):
870         (WebInspector.WorkerListSidebarPane.prototype._workerRemoved):
871         (WebInspector.WorkerListSidebarPane.prototype._workersCleared):
872         (WebInspector.WorkerListSidebarPane.prototype._addWorker):
873         (WebInspector.WorkerListSidebarPane.prototype._workerItemClicked):
874         (WebInspector.WorkerListSidebarPane.prototype._autoattachToWorkersClicked):
875         (WebInspector.WorkerListSidebarPane.prototype._createSharedWorkersLink.link.onclick):
876         (WebInspector.WorkerListSidebarPane.prototype._createSharedWorkersLink):
877         * inspector/front-end/elementsPanel.css:
878         * inspector/front-end/inspectorCommon.css:
879         (.sidebar-separator):
880         (.sidebar-label):
881         * inspector/front-end/scriptsPanel.css:
882         (.dedicated-worker-item):
883         (#shared-workers-list):
884         (#pause-workers-checkbox > input):
885
886 2011-10-25  Nico Weber  <thakis@chromium.org>
887
888         [chromium/mac] Fix an ODR violation.
889         https://bugs.webkit.org/show_bug.cgi?id=70753
890
891         Reviewed by Anders Carlsson.
892
893         Both ScrollAnimatorNone and ScrollAnimatorMac define ScrollAnimator::create() on OS X.
894         Remove the unused one.
895
896         * WebCore.gyp/WebCore.gyp:
897
898 2011-10-25  Vsevolod Vlasov  <vsevik@chromium.org>
899
900         Web Inspector: Debugger fails when there is an invalid watch expression.
901         https://bugs.webkit.org/show_bug.cgi?id=70718
902
903         Reviewed by Pavel Feldman.
904
905         Test: inspector/debugger/watch-expressions-panel-switch.html
906
907         * inspector/front-end/ScriptsPanel.js:
908         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
909
910 2011-10-24  Pavel Podivilov  <podivilov@chromium.org>
911
912         Web Inspector: fix empty line handling in source maps.
913         https://bugs.webkit.org/show_bug.cgi?id=70726
914
915         Reviewed by Yury Semikhatsky.
916
917         * inspector/front-end/CompilerSourceMapping.js:
918         (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
919
920 2011-10-25  Justin Schuh  <jschuh@chromium.org>
921
922         Check for empty string in parseArcFlag
923         https://bugs.webkit.org/show_bug.cgi?id=70763
924
925         Reviewed by Dirk Schulze.
926
927         Test: svg/path-invalid.html
928
929         * svg/SVGParserUtilities.cpp:
930         (WebCore::parseArcFlag):
931
932 2011-10-24  Pavel Podivilov  <podivilov@chromium.org>
933
934         Web Inspector: keep old source mapping when new one could not be loaded.
935         https://bugs.webkit.org/show_bug.cgi?id=70729
936
937         Reviewed by Yury Semikhatsky.
938
939         * inspector/front-end/RawSourceCode.js:
940         (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
941         (WebInspector.RawSourceCode.prototype._updateSourceMapping):
942         (WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):
943
944 2011-10-25  Sachin Puranik  <sachin.puranik@motorola.com>
945
946         Double number step=.5 should be considered valid in <input type="number" step=".5">
947         https://bugs.webkit.org/show_bug.cgi?id=70320
948
949         Reviewed by Kent Tamura.
950
951         Test: fast/forms/input-step-as-double.html
952
953         * html/parser/HTMLParserIdioms.cpp:
954         (WebCore::parseToDoubleForNumberType): Changed the function to consider
955         step as valid even if it starts with "."
956
957 2011-10-25  Alexander Pavlov  <apavlov@chromium.org>
958
959         Web Inspector: [Chromium] Audits panel context menu for links not working properly
960         https://bugs.webkit.org/show_bug.cgi?id=70813
961
962         Reviewed by Pavel Feldman.
963
964         * inspector/front-end/AuditResultView.js:
965         (WebInspector.AuditResultView):
966         (WebInspector.AuditResultView.prototype._contextMenuEventFired):
967
968 2011-10-25  Vsevolod Vlasov  <vsevik@chromium.org>
969
970         Web Inspector: Resources panel: display the current search match index in the toolbar.
971         https://bugs.webkit.org/show_bug.cgi?id=66050
972
973         Reviewed by Pavel Feldman.
974
975         Test: http/tests/inspector/search/resources-search-match-index.html
976
977         * inspector/front-end/ResourcesPanel.js:
978         (WebInspector.ResourcesPanel.prototype.performSearch.callback):
979         (WebInspector.ResourcesPanel.prototype.performSearch):
980         (WebInspector.ResourcesPanel.prototype._showSearchResult.callback):
981         (WebInspector.ResourcesPanel.prototype._showSearchResult):
982         (WebInspector.BaseStorageTreeElement.prototype.get searchMatchesCount):
983         (WebInspector.ResourcesSearchController):
984         (WebInspector.ResourcesSearchController.prototype.nextSearchResult):
985         (WebInspector.ResourcesSearchController.prototype.previousSearchResult):
986         (WebInspector.ResourcesSearchController.prototype._searchResult):
987         (WebInspector.SearchResultsTreeElementsTraverser.prototype.next):
988         (WebInspector.SearchResultsTreeElementsTraverser.prototype.previous):
989         (WebInspector.SearchResultsTreeElementsTraverser.prototype.matchIndex):
990         (WebInspector.SearchResultsTreeElementsTraverser.prototype._elementSearchMatchesCount):
991         (WebInspector.SearchResultsTreeElementsTraverser.prototype._traverseNext):
992         (WebInspector.SearchResultsTreeElementsTraverser.prototype._traversePrevious):
993         * inspector/front-end/treeoutline.js:
994
995 2011-10-25  Andrey Kosyakov  <caseq@chromium.org>
996
997         Web Inspector: JS exception in JavaScriptSourceFrame.onShowPopover/showObjectPopover()
998         https://bugs.webkit.org/show_bug.cgi?id=70812
999
1000         Reviewed by Pavel Feldman.
1001
1002         Check if highlighted element is present while displaying object popover.
1003
1004         * inspector/front-end/JavaScriptSourceFrame.js:
1005         (WebInspector.JavaScriptSourceFrame.prototype.onShowPopover.showObjectPopover):
1006         (WebInspector.JavaScriptSourceFrame.prototype.onShowPopover):
1007
1008 2011-10-21  Nat Duca  <nduca@chromium.org>
1009
1010         [chromium] Route Console::time and Console::timeEnd to trace_event
1011         https://bugs.webkit.org/show_bug.cgi?id=70620
1012
1013         Reviewed by Pavel Feldman.
1014
1015         * page/Console.cpp:
1016         (WebCore::Console::time):
1017         (WebCore::Console::timeEnd):
1018
1019 2011-10-21  Andrey Kosyakov  <caseq@chromium.org>
1020
1021         Web Inspector: [Extensions API] allow extensions to specify script to be injected on reload
1022         https://bugs.webkit.org/show_bug.cgi?id=70600
1023
1024         Reviewed by Pavel Feldman.
1025
1026         - change webInspector.inspectedPage.reload() to accept multiple options in an object
1027         - add an ability to inject a script upon a page reload
1028         - return script id in addScriptToEvaluateOnLoad()
1029         - provide removeScriptToEvaluateOnLoad()
1030         - store scripts to evaluate on load in inspector state cookie
1031
1032         Test: inspector/extensions/extensions-reload.html
1033
1034         * inspector/Inspector.json:
1035         * inspector/InspectorPageAgent.cpp:
1036         (WebCore::InspectorPageAgent::InspectorPageAgent):
1037         (WebCore::InspectorPageAgent::restore):
1038         (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
1039         (WebCore::InspectorPageAgent::removeScriptToEvaluateOnLoad):
1040         (WebCore::InspectorPageAgent::removeAllScriptsToEvaluateOnLoad):
1041         (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
1042         (WebCore::InspectorPageAgent::frameNavigated):
1043         * inspector/InspectorPageAgent.h:
1044         * inspector/front-end/ExtensionAPI.js:
1045         (injectedExtensionAPI.InspectedWindow.prototype.reload):
1046         * inspector/front-end/ExtensionServer.js:
1047         (WebInspector.ExtensionServer.prototype._onReload):
1048         * inspector/front-end/WorkersSidebarPane.js:
1049         (WebInspector.WorkersSidebarPane.prototype.setInstrumentation.callback):
1050         (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
1051
1052 2011-10-24  Pavel Feldman  <pfeldman@google.com>
1053
1054         Web Inspector: print expired message count before remaining messages.
1055         https://bugs.webkit.org/show_bug.cgi?id=70736
1056
1057         Reviewed by Yury Semikhatsky.
1058
1059         * inspector/Inspector-0.1.json:
1060         * inspector/Inspector.json:
1061         * inspector/InspectorConsoleAgent.cpp:
1062         (WebCore::InspectorConsoleAgent::enable):
1063         (WebCore::InspectorConsoleAgent::restore):
1064         * inspector/InspectorConsoleAgent.h:
1065         * inspector/front-end/ConsoleModel.js:
1066
1067 2011-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1068
1069         Unreviewed, rolling out r98309.
1070         http://trac.webkit.org/changeset/98309
1071         https://bugs.webkit.org/show_bug.cgi?id=70801
1072
1073         Test fails on mac (Requested by benwells on #webkit).
1074
1075         * html/canvas/CanvasRenderingContext2D.cpp:
1076         (WebCore::CanvasRenderingContext2D::fill):
1077         (WebCore::CanvasRenderingContext2D::fillRect):
1078         (WebCore::CanvasRenderingContext2D::drawImage):
1079         (WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyElsewhere):
1080         (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
1081         * html/canvas/CanvasRenderingContext2D.h:
1082
1083 2011-10-24  Geoffrey Garen  <ggaren@apple.com>
1084
1085         Chromium build fix: #include window.h for HANDLE.
1086
1087         * platform/graphics/opentype/OpenTypeUtilities.h:
1088
1089 2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
1090
1091         Include ThreadSafeRefCounted.h since the class declared in this header file
1092         inherits from ThreadSafeRefCounted.
1093
1094         * storage/IDBIndexBackendInterface.h:
1095
1096 2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
1097
1098         Fix a typo.
1099
1100         * bindings/v8/JavaScriptCallFrame.h:
1101
1102 2011-10-24  Geoffrey Garen  <ggaren@apple.com>
1103
1104         Removed SharedUChar and tightened language around its previous uses
1105         https://bugs.webkit.org/show_bug.cgi?id=70698
1106
1107         Reviewed by David Levin.
1108
1109         - Renamed "threadSafeCopy" and "crossThreadCopy" to "isolatedCopy" because
1110         the former names gave the dangerous misimpression that the resulting object
1111         was thread-safe, which is not true.
1112         
1113         - Updated a bunch of files for header dependency changes, now that
1114         CrossThreadRefCounted is gone.
1115
1116         * ForwardingHeaders/wtf/CrossThreadRefCounted.h: Removed.
1117         * WebCore.exp.in:
1118         * bindings/js/ScriptHeapSnapshot.h:
1119         * bindings/v8/SerializedScriptValue.cpp:
1120         (WebCore::SerializedScriptValue::release):
1121         (WebCore::SerializedScriptValue::SerializedScriptValue):
1122         * css/CSSPropertySourceData.h:
1123         * css/CSSValue.h:
1124         * css/StyleMedia.h:
1125         * css/WebKitCSSMatrix.h:
1126         * dom/QualifiedName.h:
1127         * fileapi/LocalFileSystem.h:
1128         (WebCore::LocalFileSystem::SystemBasePath::operator String):
1129         * history/CachedFrame.h:
1130         * history/CachedPage.h:
1131         * history/HistoryItem.h:
1132         * html/canvas/CanvasStyle.h:
1133         * inspector/InspectorResourceAgent.h:
1134         * loader/FormState.h:
1135         * loader/TextResourceDecoder.h:
1136         * loader/WorkerThreadableLoader.cpp:
1137         (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
1138         * loader/icon/IconDatabase.cpp:
1139         (WebCore::IconDatabase::open):
1140         (WebCore::IconDatabase::synchronousIconForPageURL):
1141         (WebCore::IconDatabase::synchronousIconURLForPageURL):
1142         (WebCore::IconDatabase::retainIconForPageURL):
1143         (WebCore::IconDatabase::releaseIconForPageURL):
1144         (WebCore::IconDatabase::setIconDataForIconURL):
1145         (WebCore::IconDatabase::setIconURLForPageURL):
1146         (WebCore::IconDatabase::databasePath):
1147         (WebCore::IconDatabase::defaultDatabaseFilename):
1148         (WebCore::ImportedIconURLForPageURLWorkItem::ImportedIconURLForPageURLWorkItem):
1149         (WebCore::ImportedIconDataForPageURLWorkItem::ImportedIconDataForPageURLWorkItem):
1150         * page/ContentSecurityPolicy.h:
1151         * page/Coordinates.h:
1152         (WebCore::Coordinates::isolatedCopy):
1153         * page/Geoposition.h:
1154         (WebCore::Geoposition::isolatedCopy):
1155         * page/SecurityOrigin.cpp:
1156         (WebCore::SecurityOrigin::SecurityOrigin):
1157         (WebCore::SecurityOrigin::isolatedCopy):
1158         * page/SecurityOrigin.h:
1159         * page/animation/AnimationBase.h:
1160         * platform/CrossThreadCopier.cpp:
1161         (WebCore::::copy):
1162         * platform/FileChooser.h:
1163         * platform/KURL.cpp:
1164         (WebCore::KURL::copy):
1165         * platform/cf/SchedulePair.h:
1166         * platform/network/BlobData.cpp:
1167         (WebCore::BlobDataItem::detachFromCurrentThread):
1168         (WebCore::BlobData::detachFromCurrentThread):
1169         * platform/network/HTTPHeaderMap.cpp:
1170         (WebCore::HTTPHeaderMap::copyData):
1171         * platform/network/MIMEHeader.h:
1172         * platform/network/ResourceErrorBase.cpp:
1173         (WebCore::ResourceErrorBase::copy):
1174         * platform/network/ResourceLoadInfo.h:
1175         * platform/network/ResourceRequestBase.cpp:
1176         (WebCore::ResourceRequestBase::copyData):
1177         * platform/network/ResourceResponseBase.cpp:
1178         (WebCore::ResourceResponseBase::copyData):
1179         * platform/sql/SQLValue.cpp:
1180         (WebCore::SQLValue::SQLValue):
1181         (WebCore::SQLValue::string):
1182         * rendering/style/QuotesData.h:
1183         * storage/AbstractDatabase.cpp:
1184         (WebCore::updateGuidVersionMap):
1185         (WebCore::AbstractDatabase::AbstractDatabase):
1186         (WebCore::AbstractDatabase::performOpenAndVerify):
1187         (WebCore::AbstractDatabase::stringIdentifier):
1188         (WebCore::AbstractDatabase::displayName):
1189         (WebCore::AbstractDatabase::fileName):
1190         (WebCore::AbstractDatabase::setExpectedVersion):
1191         (WebCore::AbstractDatabase::getCachedVersion):
1192         * storage/ChangeVersionWrapper.cpp:
1193         (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
1194         * storage/Database.cpp:
1195         (WebCore::Database::Database):
1196         (WebCore::Database::tableNames):
1197         * storage/DatabaseDetails.h:
1198         * storage/DatabaseTracker.cpp:
1199         (WebCore::DatabaseTracker::setDatabaseDirectoryPath):
1200         (WebCore::DatabaseTracker::databaseDirectoryPath):
1201         (WebCore::DatabaseTracker::trackerDatabasePath):
1202         (WebCore::DatabaseTracker::canEstablishDatabase):
1203         (WebCore::DatabaseTracker::originPath):
1204         (WebCore::DatabaseTracker::fullPathForDatabase):
1205         (WebCore::DatabaseTracker::populateOrigins):
1206         (WebCore::DatabaseTracker::databaseNamesForOrigin):
1207         (WebCore::DatabaseTracker::addOpenDatabase):
1208         (WebCore::DatabaseTracker::setQuota):
1209         (WebCore::DatabaseTracker::recordCreatingDatabase):
1210         (WebCore::DatabaseTracker::recordDeletingDatabase):
1211         (WebCore::DatabaseTracker::recordDeletingOrigin):
1212         (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
1213         * storage/OriginQuotaManager.cpp:
1214         (WebCore::OriginQuotaManager::trackOrigin):
1215         (WebCore::OriginQuotaManager::addDatabase):
1216         * storage/SQLError.h:
1217         (WebCore::SQLError::message):
1218         (WebCore::SQLError::SQLError):
1219         * storage/SQLResultSetRowList.h:
1220         * storage/SQLStatement.cpp:
1221         (WebCore::SQLStatement::SQLStatement):
1222         * storage/StorageAreaSync.cpp:
1223         (WebCore::StorageAreaSync::StorageAreaSync):
1224         (WebCore::StorageAreaSync::syncTimerFired):
1225         * storage/StorageAreaSync.h:
1226         * storage/StorageMap.cpp:
1227         (WebCore::StorageMap::importItem):
1228         * storage/StorageNamespaceImpl.cpp:
1229         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
1230         * storage/StorageSyncManager.cpp:
1231         (WebCore::StorageSyncManager::StorageSyncManager):
1232         * storage/StorageTracker.cpp:
1233         (WebCore::StorageTracker::StorageTracker):
1234         (WebCore::StorageTracker::syncImportOriginIdentifiers):
1235         (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
1236         (WebCore::StorageTracker::setOriginDetails):
1237         (WebCore::StorageTracker::willDeleteAllOrigins):
1238         * svg/SVGPathSeg.h:
1239         * workers/DefaultSharedWorkerRepository.cpp:
1240         (WebCore::SharedWorkerProxy::url):
1241         (WebCore::SharedWorkerProxy::name):
1242         (WebCore::SharedWorkerProxy::SharedWorkerProxy):
1243         (WebCore::DefaultSharedWorkerRepository::getProxy):
1244         * workers/SharedWorkerThread.cpp:
1245         (WebCore::SharedWorkerThread::SharedWorkerThread):
1246         * workers/WorkerMessagingProxy.cpp:
1247         (WebCore::WorkerExceptionTask::WorkerExceptionTask):
1248         (WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask):
1249         * workers/WorkerRunLoop.cpp:
1250         (WebCore::WorkerRunLoop::postTaskForMode):
1251         (WebCore::WorkerRunLoop::Task::Task):
1252         * workers/WorkerThread.cpp:
1253         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
1254
1255 2011-10-24  Adam Barth  <abarth@webkit.org>
1256
1257         Remove empty directory.
1258
1259         * p2p: Removed.
1260
1261 2011-10-24  Shawn Singh  <shawnsingh@chromium.org>
1262
1263         [chromium] Refactor painting/updating/drawing code.
1264         https://bugs.webkit.org/show_bug.cgi?id=70057
1265
1266         Reviewed by James Robinson.
1267
1268         This refactoring separates the "early exits" from the actual loop
1269         that draws layers. As part of this, it was also appropriate to
1270         clean up the way that masks and replicas are dealt with when
1271         painting and updating. The purpose of all this is to make things
1272         easier to test, and for a scissoring optimization that needs to
1273         know exatly what gets drawn. Existing layout tests were able to
1274         verify the refactoring did not change behavior.
1275
1276         * platform/graphics/chromium/LayerRendererChromium.cpp:
1277         (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
1278         (WebCore::LayerRendererChromium::drawLayersInternal):
1279         (WebCore::LayerRendererChromium::drawLayer):
1280         * platform/graphics/chromium/LayerRendererChromium.h:
1281         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1282         (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
1283         (WebCore::CCLayerTreeHost::paintLayerContents):
1284         (WebCore::CCLayerTreeHost::updateCompositorResources):
1285         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1286         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
1287         (WebCore::layerShouldBeAppended):
1288         (WebCore::calculateDrawTransformsAndVisibilityInternal):
1289         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
1290         (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
1291
1292 2011-10-24  Luke Macpherson   <macpherson@chromium.org>
1293
1294         REGRESSION(80893): HTML5 spec takes 2s longer to load due to time spent in CSSStyleSelector
1295         https://bugs.webkit.org/show_bug.cgi?id=68944
1296
1297         Reviewed by Antti Koivisto.
1298
1299         No new tests / Covered by existing tests.
1300
1301         Removes all virtual dispatch from CSSStyleApplyProperty by converting to use static function pointers for dispatch.
1302         Uses class templates instead of function templates to allow default parameters and also to share parameter declarations across static functions.
1303         All constructor parameters become template parameters. This improves the level of compiler optimization that can be achieved.
1304         Overall this achieved a ~2% overall speedup on run-safari PerformanceTests/Parser/html5-full-render.html,
1305         and profiling showed a reduction in the time spent inside CSSStyleSelector::applyProperty().
1306
1307         * css/CSSStyleApplyProperty.cpp:
1308         (WebCore::ApplyPropertyExpanding::applyInheritValue):
1309         (WebCore::ApplyPropertyExpanding::applyInitialValue):
1310         (WebCore::ApplyPropertyExpanding::applyValue):
1311         (WebCore::ApplyPropertyExpanding::createHandler):
1312         (WebCore::ApplyPropertyDefaultBase::setValue):
1313         (WebCore::ApplyPropertyDefaultBase::value):
1314         (WebCore::ApplyPropertyDefaultBase::initial):
1315         (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
1316         (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
1317         (WebCore::ApplyPropertyDefaultBase::applyValue):
1318         (WebCore::ApplyPropertyDefaultBase::createHandler):
1319         (WebCore::ApplyPropertyDefault::setValue):
1320         (WebCore::ApplyPropertyDefault::applyValue):
1321         (WebCore::ApplyPropertyDefault::createHandler):
1322         (WebCore::ApplyPropertyStyleImage::applyValue):
1323         (WebCore::ApplyPropertyStyleImage::createHandler):
1324         (WebCore::ApplyPropertyAuto::setValue):
1325         (WebCore::ApplyPropertyAuto::value):
1326         (WebCore::ApplyPropertyAuto::hasAuto):
1327         (WebCore::ApplyPropertyAuto::setAuto):
1328         (WebCore::ApplyPropertyAuto::applyInheritValue):
1329         (WebCore::ApplyPropertyAuto::applyInitialValue):
1330         (WebCore::ApplyPropertyAuto::applyValue):
1331         (WebCore::ApplyPropertyAuto::createHandler):
1332         (WebCore::defaultInitialColor):
1333         (WebCore::ApplyPropertyColor::applyInheritValue):
1334         (WebCore::ApplyPropertyColor::applyInitialValue):
1335         (WebCore::ApplyPropertyColor::applyValue):
1336         (WebCore::ApplyPropertyColor::createHandler):
1337         (WebCore::ApplyPropertyDirection::applyValue):
1338         (WebCore::ApplyPropertyDirection::createHandler):
1339         (WebCore::ApplyPropertyLength::setValue):
1340         (WebCore::ApplyPropertyLength::applyValue):
1341         (WebCore::ApplyPropertyLength::createHandler):
1342         (WebCore::ApplyPropertyString::setValue):
1343         (WebCore::ApplyPropertyString::applyValue):
1344         (WebCore::ApplyPropertyString::createHandler):
1345         (WebCore::ApplyPropertyBorderRadius::setValue):
1346         (WebCore::ApplyPropertyBorderRadius::applyValue):
1347         (WebCore::ApplyPropertyBorderRadius::createHandler):
1348         (WebCore::ApplyPropertyFillLayer::applyInheritValue):
1349         (WebCore::ApplyPropertyFillLayer::applyInitialValue):
1350         (WebCore::ApplyPropertyFillLayer::applyValue):
1351         (WebCore::ApplyPropertyFillLayer::createHandler):
1352         (WebCore::ApplyPropertyComputeLength::setValue):
1353         (WebCore::ApplyPropertyComputeLength::applyValue):
1354         (WebCore::ApplyPropertyComputeLength::createHandler):
1355         (WebCore::ApplyPropertyFont::applyInheritValue):
1356         (WebCore::ApplyPropertyFont::applyInitialValue):
1357         (WebCore::ApplyPropertyFont::applyValue):
1358         (WebCore::ApplyPropertyFont::createHandler):
1359         (WebCore::ApplyPropertyFontWeight::applyValue):
1360         (WebCore::ApplyPropertyFontWeight::createHandler):
1361         (WebCore::ApplyPropertyCounter::emptyFunction):
1362         (WebCore::ApplyPropertyCounter::applyValue):
1363         (WebCore::ApplyPropertyCounter::createHandler):
1364         (WebCore::ApplyPropertyCursor::applyInheritValue):
1365         (WebCore::ApplyPropertyCursor::applyInitialValue):
1366         (WebCore::ApplyPropertyCursor::applyValue):
1367         (WebCore::ApplyPropertyCursor::createHandler):
1368         (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
1369         (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
1370         (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
1371         (WebCore::ApplyPropertyTextEmphasisStyle::createHandler):
1372         (WebCore::ApplyPropertyAnimation::setValue):
1373         (WebCore::ApplyPropertyAnimation::value):
1374         (WebCore::ApplyPropertyAnimation::test):
1375         (WebCore::ApplyPropertyAnimation::clear):
1376         (WebCore::ApplyPropertyAnimation::initial):
1377         (WebCore::ApplyPropertyAnimation::map):
1378         (WebCore::ApplyPropertyAnimation::accessAnimations):
1379         (WebCore::ApplyPropertyAnimation::animations):
1380         (WebCore::ApplyPropertyAnimation::applyInheritValue):
1381         (WebCore::ApplyPropertyAnimation::applyInitialValue):
1382         (WebCore::ApplyPropertyAnimation::applyValue):
1383         (WebCore::ApplyPropertyAnimation::createHandler):
1384         (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
1385         (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
1386         (WebCore::ApplyPropertyOutlineStyle::applyValue):
1387         (WebCore::ApplyPropertyOutlineStyle::createHandler):
1388         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
1389         * css/CSSStyleApplyProperty.h:
1390         (WebCore::PropertyHandler::PropertyHandler):
1391         (WebCore::PropertyHandler::applyInheritValue):
1392         (WebCore::PropertyHandler::applyInitialValue):
1393         (WebCore::PropertyHandler::applyValue):
1394         (WebCore::PropertyHandler::isValid):
1395         (WebCore::PropertyHandler::inheritFunction):
1396         (WebCore::PropertyHandler::initialFunction):
1397         (WebCore::PropertyHandler::applyFunction):
1398         (WebCore::CSSStyleApplyProperty::propertyHandler):
1399         (WebCore::CSSStyleApplyProperty::setPropertyHandler):
1400         * css/CSSStyleSelector.cpp:
1401         (WebCore::CSSStyleSelector::applyProperty):
1402         * rendering/style/RenderStyle.h:
1403         (WebCore::InheritedFlags::invalidColor):
1404
1405 2011-10-24  Ben Wells  <benwells@chromium.org>
1406
1407         Canvas drawImage with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
1408         https://bugs.webkit.org/show_bug.cgi?id=66920
1409
1410         Reviewed by James Robinson.
1411
1412         Test: fast/canvas/canvas-composite-image.html
1413
1414         Use the same method as fills to handle composited drawImage calls that will affect the whole
1415         canvas. To do this code used when doing fills has been factored into seperate functions and
1416         used by drawImage. Some functions used to do these types of operations have also been renamed.
1417
1418         * html/canvas/CanvasRenderingContext2D.cpp:
1419         (WebCore::isFullCanvasCompositeMode):
1420         (WebCore::CanvasRenderingContext2D::fill):
1421         (WebCore::CanvasRenderingContext2D::fillRect):
1422         (WebCore::CanvasRenderingContext2D::drawImage):
1423         (WebCore::CanvasRenderingContext2D::calculateCompositingBufferRect):
1424         (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
1425         (WebCore::CanvasRenderingContext2D::compositeBuffer):
1426         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
1427         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
1428         * html/canvas/CanvasRenderingContext2D.h:
1429
1430 2011-10-24  Sheriff Bot  <webkit.review.bot@gmail.com>
1431
1432         Unreviewed, rolling out r98294 and r98306.
1433         http://trac.webkit.org/changeset/98294
1434         http://trac.webkit.org/changeset/98306
1435         https://bugs.webkit.org/show_bug.cgi?id=70790
1436
1437         the first patch broke chromium-mac and the second gclient
1438         (Requested by jchaffraix on #webkit).
1439
1440         * WebCore.gyp/WebCore.gyp:
1441
1442 2011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
1443
1444         Build fix after r98300.
1445
1446         * WebCore.gypi:
1447         * WebCore.pro:
1448
1449 2011-10-24  Anders Carlsson  <andersca@apple.com>
1450
1451         It should be possible for Widget subclasses to control whether transforms affect the frame rect
1452         https://bugs.webkit.org/show_bug.cgi?id=70787
1453
1454         Reviewed by Sam Weinig.
1455
1456         Currently RenderWidget sets the frame rect of it's hosted widget to the bounding box of the transformed
1457         content box rect (unless the Widget is a frame view). It should be possible for Widget subclasses to override
1458         this behavior and have the frame rect set to the absolute content box without any transforms applied.
1459
1460         * platform/Widget.h:
1461         (WebCore::Widget::transformsAffectFrameRect):
1462         Add new member function.
1463
1464         * rendering/RenderWidget.cpp:
1465         (WebCore::RenderWidget::updateWidgetGeometry):
1466         Move shared code from setWidget and updateWidgetPosition out into a new function. If transformsAffectFrameRect returns 
1467         false, just set the frame rect to the absolute content box.
1468
1469         (WebCore::RenderWidget::setWidget):
1470         (WebCore::RenderWidget::updateWidgetPosition):
1471         Call updateWidgetGeometry.
1472
1473         * rendering/RenderWidget.h:
1474
1475 2011-10-24  Arko Saha  <arko@motorola.com>
1476
1477         Microdata: Add itemprop, itemref, itemvalue attributes.
1478         https://bugs.webkit.org/show_bug.cgi?id=69839
1479
1480         Reviewed by Ryosuke Niwa.
1481
1482         Tests: fast/dom/MicroData/itemprop-add-remove-tokens.html
1483                fast/dom/MicroData/itemprop-for-an-element-must-be-correct.html
1484                fast/dom/MicroData/itemprop-must-be-read-only.html
1485                fast/dom/MicroData/itemprop-reflected-by-itemProp-property.html
1486                fast/dom/MicroData/itemref-add-remove-tokens.html
1487                fast/dom/MicroData/itemref-attribute-reflected-by-itemRef-property.html
1488                fast/dom/MicroData/itemref-for-an-element-must-be-correct.html
1489                fast/dom/MicroData/itemref-must-be-read-only.html
1490                fast/dom/MicroData/itemvalue-reflects-data-attr-on-object-element.html
1491                fast/dom/MicroData/itemvalue-reflects-href-attr.html
1492                fast/dom/MicroData/itemvalue-reflects-src-attribute-on-img-element.html
1493                fast/dom/MicroData/itemvalue-reflects-the-content-attr-on-meta-element.html
1494                fast/dom/MicroData/itemvalue-reflects-the-src-attr.html
1495                fast/dom/MicroData/itemvalue-returns-element-itself.html
1496                fast/dom/MicroData/itemvalue-returns-null.html
1497                fast/dom/MicroData/itemvalue-throws-excpetion-onsetting-001.html
1498                fast/dom/MicroData/itemvalue-throws-excpetion-onsetting-002.html
1499
1500         * CMakeLists.txt:
1501         * GNUmakefile.list.am:
1502         * WebCore.gypi:
1503         * WebCore.pro:
1504         * WebCore.vcproj/WebCore.vcproj:
1505         * bindings/js/JSHTMLElementCustom.cpp:
1506         (WebCore::toJS):
1507         (WebCore::JSHTMLElement::itemValue):
1508         (WebCore::JSHTMLElement::setItemValue):
1509         * bindings/v8/custom/V8HTMLElementCustom.cpp:
1510         (WebCore::toV8Object):
1511         (WebCore::V8HTMLElement::itemValueAccessorGetter):
1512         (WebCore::V8HTMLElement::itemValueAccessorSetter):
1513         * dom/MicroDataItemList.cpp:
1514         * html/HTMLAnchorElement.cpp:
1515         (WebCore::HTMLAnchorElement::itemValueText):
1516         (WebCore::HTMLAnchorElement::setItemValueText):
1517         * html/HTMLAnchorElement.h:
1518         * html/HTMLAreaElement.cpp:
1519         (WebCore::HTMLAreaElement::itemValueText):
1520         (WebCore::HTMLAreaElement::setItemValueText):
1521         * html/HTMLAreaElement.h:
1522         * html/HTMLAttributeNames.in:
1523         * html/HTMLElement.cpp:
1524         (WebCore::HTMLElement::parseMappedAttribute):
1525         (WebCore::HTMLElement::itemProp): Returns element's itemprop content attribute.
1526         (WebCore::HTMLElement::setItemProp): Sets itemprop value on changing elemet's
1527         itemprop attribute.
1528         (WebCore::HTMLElement::itemRef): Returns element's itemref content attribute.
1529         (WebCore::HTMLElement::setItemRef): Sets itemref value on changing elemet's
1530         itemref attribute.
1531         (WebCore::HTMLElement::setItemValue): Sets element's itemvalue. If the element has no
1532         itemprop attribute or if element has an itemscope attribute, it throws INVALID_ACCESS_ERR
1533         exception.
1534         (WebCore::HTMLElement::itemValue): Returns the elements itemvalue.
1535
1536         If the element has no itemprop attribute it returns null.
1537         If the element has an itemscope attribute, it returns the element itself.
1538         If the element is a meta element: It acts as it would if it was reflecting the element's
1539         content content attribute.
1540         If the element is an audio, embed, iframe, img, source, track, or video element: It acts
1541         as it would if it was reflecting the element's src content attribute.
1542         If the element is an a, area, or link element: It act as it would if it was reflecting the
1543         href content attribute.
1544         If the element is an object element: It acts as  it would if it was reflecting the element's
1545         data content attribute.
1546
1547         (WebCore::HTMLElement::itemValueText):
1548         (WebCore::HTMLElement::setItemValueText):
1549         * html/HTMLElement.h:
1550         * html/HTMLElement.idl:
1551         * html/HTMLEmbedElement.cpp:
1552         (WebCore::HTMLEmbedElement::itemValueText):
1553         (WebCore::HTMLEmbedElement::setItemValueText):
1554         * html/HTMLEmbedElement.h:
1555         * html/HTMLIFrameElement.cpp:
1556         (WebCore::HTMLIFrameElement::itemValueText):
1557         (WebCore::HTMLIFrameElement::setItemValueText):
1558         * html/HTMLIFrameElement.h:
1559         * html/HTMLImageElement.cpp:
1560         (WebCore::HTMLImageElement::itemValueText):
1561         (WebCore::HTMLImageElement::setItemValueText):
1562         * html/HTMLImageElement.h:
1563         * html/HTMLLinkElement.cpp:
1564         (WebCore::HTMLLinkElement::itemValueText):
1565         (WebCore::HTMLLinkElement::setItemValueText):
1566         * html/HTMLLinkElement.h:
1567         * html/HTMLMediaElement.cpp:
1568         (WebCore::HTMLMediaElement::itemValueText):
1569         (WebCore::HTMLMediaElement::setItemValueText):
1570         * html/HTMLMediaElement.h:
1571         * html/HTMLMetaElement.cpp:
1572         (WebCore::HTMLMetaElement::itemValueText):
1573         (WebCore::HTMLMetaElement::setItemValueText):
1574         * html/HTMLMetaElement.h:
1575         * html/HTMLObjectElement.cpp:
1576         (WebCore::HTMLObjectElement::itemValueText):
1577         (WebCore::HTMLObjectElement::setItemValueText):
1578         * html/HTMLObjectElement.h:
1579         * html/HTMLSourceElement.cpp:
1580         (WebCore::HTMLSourceElement::itemValueText):
1581         (WebCore::HTMLSourceElement::setItemValueText):
1582         * html/HTMLSourceElement.h:
1583         * html/HTMLTrackElement.cpp:
1584         (WebCore::HTMLTrackElement::itemValueText):
1585         (WebCore::HTMLTrackElement::setItemValueText):
1586         * html/HTMLTrackElement.h:
1587         * html/MicroDataItemValue.cpp: Added.
1588         (WebCore::MicroDataItemValue::MicroDataItemValue):
1589         (WebCore::MicroDataItemValue::createFromString):
1590         (WebCore::MicroDataItemValue::createFromNode):
1591         * html/MicroDataItemValue.h: Added.
1592         (WebCore::MicroDataItemValue::isNode):
1593         (WebCore::MicroDataItemValue::getNode):
1594         (WebCore::MicroDataItemValue::getString):
1595
1596 2011-10-24  Joseph Pecoraro  <joepeck@webkit.org>
1597
1598         Remove unused instance variable
1599         https://bugs.webkit.org/show_bug.cgi?id=70750
1600
1601         Reviewed by Dimitri Glazkov.
1602
1603         * rendering/RenderTextControl.h:
1604
1605 2011-10-24  Nico Weber  <thakis@chromium.org>
1606
1607         [chromium/mac] Fix an ODR violation.
1608         https://bugs.webkit.org/show_bug.cgi?id=70753
1609
1610         Reviewed by Anders Carlsson.
1611
1612         Both ScrollAnimatorNone and ScrollAnimatorMac define ScrollAnimator::create() on OS X.
1613         Remove the unused one.
1614
1615         * WebCore.gyp/WebCore.gyp:
1616
1617 2011-10-24  Tim Horton  <timothy_horton@apple.com>
1618
1619         feColorMatrix doesn't use the correct default "matrix" type when no type attribute is specified
1620         https://bugs.webkit.org/show_bug.cgi?id=70035
1621         <rdar://problem/10280177>
1622
1623         Reviewed by Nikolas Zimmermann.
1624
1625         Make feColorMatrix's type attribute be "matrix" by default.
1626
1627         Test: svg/filters/feColorMatrix-default-type.svg
1628
1629         * svg/SVGFEColorMatrixElement.cpp:
1630         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
1631
1632 2011-10-24  Joshua Bell  <jsbell@chromium.org>
1633
1634         Unbreak binding generation tests
1635         https://bugs.webkit.org/show_bug.cgi?id=70768
1636
1637         Reviewed by Darin Adler.
1638
1639         Update the expected output of V8 binding tests to match
1640         results c/o https://bugs.webkit.org/show_bug.cgi?id=70065
1641
1642         * bindings/scripts/test/V8/V8TestObj.cpp:
1643         (WebCore::TestObjInternal::idbKeyCallback):
1644
1645 2011-10-21  Nat Duca  <nduca@chromium.org>
1646
1647         [chromium] Add isTraceEventEnabled to PlatformSupport.
1648         https://bugs.webkit.org/show_bug.cgi?id=70618
1649
1650         Reviewed by Darin Fisher.
1651
1652         * platform/chromium/PlatformSupport.h:
1653
1654 2011-10-24  Mihnea Ovidenie  <mihnea@adobe.com>
1655
1656         Use StringBuilder in CSSRuleList::rulesText()/CSSSelectorList::selectorsText()
1657         https://bugs.webkit.org/show_bug.cgi?id=70746
1658
1659         Reviewed by Tony Chang.
1660
1661         Covered by existing tests.
1662
1663         * css/CSSRuleList.cpp:
1664         (WebCore::CSSRuleList::rulesText):
1665         * css/CSSSelectorList.cpp:
1666         (WebCore::CSSSelectorList::selectorsText):
1667         * css/WebKitCSSKeyframesRule.cpp:
1668         (WebCore::WebKitCSSKeyframesRule::cssText): Use CSSRuleList::rulesText() method instead of explicit loop.
1669
1670 2011-10-24  Michael Saboff  <msaboff@apple.com>
1671
1672         WebKit doesn't build with recent changes to libdispatch
1673         https://bugs.webkit.org/show_bug.cgi?id=70737
1674
1675         Added initialization for new WebKitSystemInterface function 
1676         CreateVMPressureDispatchOnMainQueue.  Changed MemoryPressureHandler::install
1677         to use new function.
1678
1679         Reviewed by Geoffrey Garen.
1680
1681         No new tests.  Moved functionality to WebKitSystemInterface.
1682
1683         * WebCore.exp.in:
1684         * platform/mac/MemoryPressureHandlerMac.mm:
1685         (WebCore::MemoryPressureHandler::install):
1686         * platform/mac/WebCoreSystemInterface.h:
1687         * platform/mac/WebCoreSystemInterface.mm:
1688
1689 2011-10-24  Joshua Bell  <jsbell@chromium.org>
1690
1691         IndexedDB: Throw DATA_ERR on invalid keys, remove null key support
1692         https://bugs.webkit.org/show_bug.cgi?id=70065
1693
1694         Reviewed by Tony Chang.
1695
1696         Part 1 of a two-sided commit. Renames IDBKey::NullType to
1697         IDBKey::InvalidType. JS binding yields this type rather
1698         than throwing immediately so the correct exception type can
1699         be raised. Checks for invalid keys added to front-end classes.
1700
1701         * bindings/js/JSIDBKeyCustom.cpp:
1702         (WebCore::toJS):
1703         * bindings/scripts/CodeGeneratorV8.pm:
1704         (TypeCanFailConversion):
1705         * bindings/v8/IDBBindingUtilities.cpp:
1706         (WebCore::createIDBKeyFromValue):
1707         * bindings/v8/custom/V8IDBKeyCustom.cpp:
1708         (WebCore::toV8):
1709         * storage/IDBCursor.cpp:
1710         (WebCore::IDBCursor::continueFunction):
1711         * storage/IDBFactory.cpp:
1712         (WebCore::IDBFactory::cmp):
1713         * storage/IDBIndex.cpp:
1714         (WebCore::IDBIndex::get):
1715         (WebCore::IDBIndex::getKey):
1716         * storage/IDBKey.cpp:
1717         (WebCore::IDBKey::IDBKey):
1718         (WebCore::IDBKey::compare):
1719         * storage/IDBKey.h:
1720         (WebCore::IDBKey::createInvalid):
1721         * storage/IDBKeyRange.cpp:
1722         (WebCore::IDBKeyRange::only):
1723         (WebCore::IDBKeyRange::lowerBound):
1724         (WebCore::IDBKeyRange::upperBound):
1725         (WebCore::IDBKeyRange::bound):
1726         * storage/IDBKeyRange.h:
1727         (WebCore::IDBKeyRange::lowerBound):
1728         (WebCore::IDBKeyRange::upperBound):
1729         (WebCore::IDBKeyRange::bound):
1730         * storage/IDBKeyRange.idl:
1731         * storage/IDBLevelDBCoding.cpp:
1732         (WebCore::IDBLevelDBCoding::encodeIDBKey):
1733         (WebCore::IDBLevelDBCoding::decodeIDBKey):
1734         * storage/IDBObjectStore.cpp:
1735         (WebCore::IDBObjectStore::get):
1736         (WebCore::IDBObjectStore::add):
1737         (WebCore::IDBObjectStore::put):
1738         (WebCore::IDBObjectStore::deleteFunction):
1739         * storage/IDBObjectStoreBackendImpl.cpp:
1740         (WebCore::IDBObjectStoreBackendImpl::put):
1741         (WebCore::IDBObjectStoreBackendImpl::putInternal):
1742         (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
1743         * storage/IDBSQLiteBackingStore.cpp:
1744         (WebCore::whereSyntaxForKey):
1745         (WebCore::bindKeyToQuery):
1746         (WebCore::lowerCursorWhereFragment):
1747         (WebCore::upperCursorWhereFragment):
1748         (WebCore::bindKeyToQueryWithNulls):
1749         (WebCore::keyFromQuery):
1750
1751 2011-10-24  Alok Priyadarshi  <alokp@chromium.org>
1752
1753         [chromium] Make accelerated drawing work with threaded compositing
1754         https://bugs.webkit.org/show_bug.cgi?id=70656
1755
1756         Reviewed by James Robinson.
1757
1758         Make sure that the compositor context is not used outside LayerTextureUpdater::updateTextureRect().
1759         Created a FrameBuffer class that wraps skia gpu canvas and manages GL resources.
1760
1761         * platform/graphics/chromium/ContentLayerChromium.cpp:
1762         (WebCore::ContentLayerChromium::createTextureUpdater):
1763         * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
1764         (WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
1765         (WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
1766         (WebCore::FrameBuffer::FrameBuffer::initialize):
1767         (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
1768         (WebCore::LayerTextureUpdaterSkPicture::~LayerTextureUpdaterSkPicture):
1769         (WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
1770         (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
1771         * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
1772         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
1773         (WebCore::CCLayerTreeHost::initialize):
1774
1775 2011-10-24  Adam Klein  <adamk@chromium.org>
1776
1777         Optimize Node::isInShadowTree to execute in constant-time
1778         https://bugs.webkit.org/show_bug.cgi?id=67686
1779
1780         Reviewed by Dimitri Glazkov.
1781
1782         No expected change in behavior, so no new tests.
1783
1784         * dom/Node.cpp:
1785         (WebCore::Node::isInShadowTree):
1786
1787 2011-10-24  Nat Duca  <nduca@chromium.org>
1788
1789         [chromium] Expose WebThread::postDelayedTask to CCThread
1790         https://bugs.webkit.org/show_bug.cgi?id=70712
1791
1792         Reviewed by James Robinson.
1793
1794         * platform/graphics/chromium/cc/CCThread.h:
1795
1796 2011-10-24  Levi Weintraub  <leviw@chromium.org>
1797
1798         <svg> fails to use explicit width and height inside <html> inside IFRAME
1799         https://bugs.webkit.org/show_bug.cgi?id=64823
1800
1801         Reviewed by Nikolas Zimmermann.
1802
1803         Checking that embedded SVG is in an SVG document before negotiating size
1804         with the host document.
1805
1806         Test: svg/as-object/svg-embedded-in-html-in-iframe.html
1807
1808         * rendering/svg/RenderSVGRoot.cpp:
1809         (WebCore::isEmbeddedThroughFrameContainingSVGDocument):
1810         (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
1811         (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
1812
1813 2011-10-24  Rafael Weinstein  <rafaelw@chromium.org>
1814
1815         Node::registeredMutationObserversOfType should be prefixed by "get"
1816         https://bugs.webkit.org/show_bug.cgi?id=70359
1817
1818         Reviewed by Ojan Vafai.
1819
1820         This change renames Node::registeredMutationObserversOfType to
1821         Node::getRegisteredMutationObserversOfType per the WebKit style guide.
1822
1823         No tests needed as the change is only method renaming.
1824
1825         * dom/CharacterData.cpp:
1826         (WebCore::CharacterData::dispatchModifiedEvent):
1827         * dom/ChildListMutationScope.cpp:
1828         (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
1829         * dom/Element.cpp:
1830         (WebCore::enqueueAttributesMutationRecord):
1831         * dom/Node.cpp:
1832         (WebCore::Node::getRegisteredMutationObserversOfType):
1833         * dom/Node.h:
1834
1835 2011-10-24  Mark Hahnenberg  <mhahnenberg@apple.com>
1836
1837         Rename static getOwnPropertySlot to getOwnPropertySlotByIndex
1838         https://bugs.webkit.org/show_bug.cgi?id=70271
1839
1840         Reviewed by Darin Adler.
1841
1842         No new tests.
1843
1844         Renaming versions of getOwnPropertySlot that use an unsigned as the property
1845         name to "getOwnPropertySlotByIndex" in preparation for adding them to the 
1846         MethodTable, which requires unique names for each method.
1847
1848         * bindings/js/SerializedScriptValue.cpp:
1849         (WebCore::CloneSerializer::getSparseIndex):
1850         * bindings/scripts/CodeGeneratorJS.pm:
1851         (GenerateHeader):
1852         (GenerateImplementation):
1853         * bridge/runtime_array.cpp:
1854         (JSC::RuntimeArray::getOwnPropertySlotVirtual):
1855         (JSC::RuntimeArray::getOwnPropertySlotByIndex):
1856         * bridge/runtime_array.h:
1857
1858 2011-10-24  Joshua Bell  <jsbell@chromium.org>
1859
1860         IndexedDB add should fail adding an inline and passed key simultaneously
1861         https://bugs.webkit.org/show_bug.cgi?id=58598
1862
1863         Reviewed by Tony Chang.
1864
1865         Test: storage/indexeddb/mozilla/key-requirements-inline-and-passed.html
1866
1867         Implement the spec clause: passing a key into add() or put() when
1868         the object store has a key path ("inline key") is an error.
1869
1870         * storage/IDBObjectStoreBackendImpl.cpp:
1871         (WebCore::IDBObjectStoreBackendImpl::put):
1872
1873 2011-10-24  Simon Fraser  <simon.fraser@apple.com>
1874
1875         Improve debug compositing border colors
1876         https://bugs.webkit.org/show_bug.cgi?id=70742
1877
1878         Reviewed by Dean Jackson.
1879
1880         Improve the appearance of the debug borders used to indicate compositing:
1881         1. Use green for normal layers, orange for tiled layers
1882         2. Make the repaint counter translucent
1883         3. Change the color of the repaint counter to show when accelerated drawing is enabled.
1884
1885         * platform/graphics/GraphicsLayer.cpp:
1886         (WebCore::GraphicsLayer::updateDebugIndicators):
1887         * platform/graphics/mac/WebLayer.mm:
1888         (drawLayerContents):
1889
1890 2011-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
1891
1892         [GTK] Fix make distcheck build
1893         https://bugs.webkit.org/show_bug.cgi?id=69745
1894
1895         Reviewed by Martin Robinson.
1896
1897         * GNUmakefile.am:
1898         * GNUmakefile.list.am:
1899
1900 2011-10-24  Alexander Pavlov  <apavlov@chromium.org>
1901
1902         Web Inspector: [Styles] Adding a new style rule breaks things
1903         https://bugs.webkit.org/show_bug.cgi?id=70721
1904
1905         Reviewed by Pavel Feldman.
1906
1907         We had used to swap BlankStylePropertiesSection prototype and recently got rid of this hack,
1908         but still had dependencies on the old behavior.
1909
1910         * inspector/front-end/StylesSidebarPane.js:
1911         (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
1912         (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
1913         (WebInspector.BlankStylePropertiesSection.prototype.get isBlank):
1914         (WebInspector.BlankStylePropertiesSection.prototype.expand):
1915         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
1916         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
1917         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCancelled):
1918         (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
1919
1920 2011-10-24  Pavel Feldman  <pfeldman@google.com>
1921
1922         Web Inspector: do not force document loading on reload (should happen on demand).
1923         https://bugs.webkit.org/show_bug.cgi?id=70724
1924
1925         Reviewed by Yury Semikhatsky.
1926
1927         * inspector/front-end/ConsoleMessage.js:
1928         (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
1929         * inspector/front-end/DOMAgent.js:
1930         (WebInspector.DOMAgent.prototype._documentUpdated):
1931         * inspector/front-end/ElementsPanel.js:
1932         (WebInspector.ElementsPanel.prototype.wasShown):
1933         * inspector/front-end/ElementsTreeOutline.js:
1934         (WebInspector.ElementsTreeOutline.prototype.setVisible):
1935
1936 2011-10-24  Eric Carlson  <eric.carlson@apple.com>
1937
1938         Drop MutableTextTrack and make TextTrack always mutable
1939         https://bugs.webkit.org/show_bug.cgi?id=62890
1940
1941         The MutableTextTrack type was removed from the spec, all text tracks are now mutable.
1942
1943         Reviewed by Sam Weinig.
1944
1945         No new tests needed, the changes just refactor existing code.
1946
1947         * CMakeLists.txt: Remove all traces of MutableTextTrack.
1948         * CodeGenerators.pri: Ditto.
1949         * DerivedSources.cpp: Ditto.
1950         * DerivedSources.make: Ditto.
1951         * GNUmakefile.list.am: Ditto.
1952         * WebCore.gypi: Ditto.
1953         * WebCore.pro: Ditto.
1954         * WebCore.xcodeproj/project.pbxproj: Ditto.
1955         * bindings/gobject/GNUmakefile.am: Ditto.
1956         * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Ditto.
1957         * bindings/js/JSBindingsAllInOne.cpp: Ditto.
1958
1959         * bindings/js/JSTextTrackCustom.cpp: Removed.
1960
1961         * html/HTMLMediaElement.cpp:
1962         (WebCore::HTMLMediaElement::addTrack): Return a TextTrack instead of a MutableTextTrack.
1963         * html/HTMLMediaElement.h:
1964         * html/HTMLMediaElement.idl:
1965
1966         * html/LoadableTextTrack.cpp:
1967         (WebCore::LoadableTextTrack::LoadableTextTrack): Return a TextTrack instead of a MutableTextTrack.
1968
1969         * html/MutableTextTrack.cpp: Removed.
1970         * html/MutableTextTrack.h: Removed.
1971         * html/MutableTextTrack.idl: Removed.
1972
1973         * html/TextTrack.cpp:
1974         (WebCore::TextTrack::TextTrack): Remove Type parameter.
1975         (WebCore::TextTrack::addCue): New, moved from MutableTextTrack.
1976         (WebCore::TextTrack::removeCue): Ditto.
1977         (WebCore::TextTrack::newCuesLoaded): Ditto.
1978         (WebCore::TextTrack::fetchNewestCues): Ditto.
1979         * html/TextTrack.h:
1980         (WebCore::TextTrack::create): Remove Type parameter
1981         * html/TextTrack.idl: Add addCue and removeCue.
1982
1983 2011-10-24  Yury Semikhatsky  <yurys@chromium.org>
1984
1985         Web Inspector: allow debugging dedicated worker initialization
1986         https://bugs.webkit.org/show_bug.cgi?id=70723
1987
1988         Now it is possible to pause each new dedicated worker on start. The user
1989         needs to select a checkbox and then each newly created dedicated worker
1990         will be paused on the first statement until the user resumes it explicitely.
1991
1992         Reviewed by Pavel Feldman.
1993
1994         * inspector/Inspector.json: resume command is added. It is similar to GDB's run
1995         command, i.e. worker execution will be paused until explicit "resume" command is
1996         received.
1997         * inspector/InspectorInstrumentation.cpp:
1998         (WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStartImpl):
1999         * inspector/InspectorInstrumentation.h:
2000         (WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart):
2001         * inspector/InspectorRuntimeAgent.cpp:
2002         (WebCore::InspectorRuntimeAgent::resume):
2003         (WebCore::InspectorRuntimeAgent::pauseWorkerContext):
2004         * inspector/InspectorRuntimeAgent.h:
2005         * inspector/InspectorWorkerAgent.cpp:
2006         (WebCore::InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart): returns true
2007         if the user chose to automatically pause all new workers.
2008         * inspector/InspectorWorkerAgent.h:
2009         * inspector/WorkerInspectorController.cpp:
2010         (WebCore::WorkerInspectorController::resume):
2011         * inspector/front-end/WorkerManager.js:
2012         (WebInspector.WorkerManager.loaded):
2013         (WebInspector.WorkerManager.loadCompleted):
2014         (WebInspector.WorkerManager.prototype._workerCreated):
2015         (WebInspector.WorkerManager.prototype.openWorkerInspector):
2016         (WebInspector.WorkerManager.prototype._openInspectorWindow):
2017         * inspector/front-end/inspector.js:
2018         (WebInspector.loaded):
2019         * workers/Worker.cpp:
2020         (WebCore::Worker::notifyFinished):
2021         * workers/WorkerContextProxy.h:
2022         * workers/WorkerMessagingProxy.cpp:
2023         (WebCore::WorkerMessagingProxy::startWorkerContext): additional flag specifying
2024         worker initial state(paused/not paused) is added to the factory method. The flag
2025         will be carried to the corresponding WorkerThread.
2026         (WebCore::WorkerMessagingProxy::connectToInspector):
2027         * workers/WorkerMessagingProxy.h:
2028
2029 2011-10-21  Nikita Vasilyev  <me@elv1s.ru>
2030
2031         Web Inspector: Make indent configurable
2032         https://bugs.webkit.org/show_bug.cgi?id=69986
2033
2034         Add a setting to choose an indent from "8 spaces", "4 spaces" (default), "2 spaces", or "Tab character".
2035
2036         Reviewed by Pavel Feldman.
2037
2038         * English.lproj/localizedStrings.js:
2039         * inspector/front-end/SettingsScreen.js:
2040         (WebInspector.SettingsScreen):
2041         (WebInspector.SettingsScreen.prototype._createSelectSetting.get p):
2042         (WebInspector.SettingsScreen.prototype._createSelectSetting.changeListener):
2043         * inspector/front-end/TextEditorModel.js:
2044         (WebInspector.TextEditorModel):
2045         * inspector/front-end/TextViewer.js:
2046
2047 2011-10-17  Andrey Kosyakov  <caseq@chromium.org>
2048
2049         Web Inspector: add "Add to Watch" option to context menu on selection in source frame
2050         https://bugs.webkit.org/show_bug.cgi?id=69924
2051
2052         Reviewed by Pavel Feldman.
2053
2054         - added 'Add to Watch' context menu item in scripts panel;
2055         - include both default and custom items into a context menu if selection is present;
2056
2057         * inspector/front-end/ScriptsPanel.js:
2058         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
2059         (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.addToWatch):
2060         * inspector/front-end/SourceFrame.js:
2061         (WebInspector.SourceFrame.prototype.populateSelectionContextMenu):
2062         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateSelectionContextMenu):
2063         (WebInspector.SourceFrameDelegate.prototype.suggestedFileName):
2064         (WebInspector.SourceFrameDelegate.prototype.addToWatch):
2065         * inspector/front-end/TextViewer.js:
2066         (WebInspector.TextViewer.prototype._contextMenu):
2067         (WebInspector.TextViewerDelegate.prototype.populateSelectionContextMenu):
2068         * inspector/front-end/WatchExpressionsSidebarPane.js:
2069         (WebInspector.WatchExpressionsSidebarPane.prototype.addExpression):
2070         (WebInspector.WatchExpressionsSidebarPane.prototype._addButtonClicked):
2071         (WebInspector.WatchExpressionsSection.prototype.addExpression):
2072         (WebInspector.WatchExpressionsSection.prototype.addNewExpressionAndEdit):
2073         * page/ContextMenuController.cpp:
2074         (WebCore::ContextMenuController::showContextMenu):
2075
2076 2011-10-21  Alexander Pavlov  <apavlov@chromium.org>
2077
2078         Web Inspector: Audits hang on pages without img[src] elements
2079         https://bugs.webkit.org/show_bug.cgi?id=70604
2080
2081         Reviewed by Pavel Feldman.
2082
2083         Test: inspector/audits/audits-panel-noimages-functional.html
2084
2085         * inspector/front-end/AuditRules.js:
2086         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
2087
2088 2011-10-24  Deepak Sherveghar  <bpwv64@motorola.com>
2089
2090         [Qt] fast/events/media-focus-in-standalone-media-document.html fails
2091         https://bugs.webkit.org/show_bug.cgi?id=70110
2092
2093         Reviewed by Simon Hausmann.
2094
2095         ExtensionMap should also include media files mapping.
2096
2097         * platform/qt/MIMETypeRegistryQt.cpp: Added media files mapping.
2098
2099 2011-10-24  Pavel Feldman  <pfeldman@google.com>
2100
2101         Not reviewed: [chromium] follow up to 98228 - added missing css.
2102
2103         * WebCore.gypi:
2104
2105 2011-10-24  Pavel Feldman  <pfeldman@chromium.org>
2106
2107         Web Inspector: Make CSS files load upon View demand; split inspector.css into views.
2108         https://bugs.webkit.org/show_bug.cgi?id=70694
2109
2110         Reviewed by Yury Semikhatsky.
2111
2112         * WebCore.gypi:
2113         * WebCore.vcproj/WebCore.vcproj:
2114         * inspector/front-end/AuditsPanel.js:
2115         (WebInspector.AuditsPanel):
2116         * inspector/front-end/DataGrid.js:
2117         (WebInspector.DataGrid):
2118         * inspector/front-end/ElementsPanel.js:
2119         * inspector/front-end/NetworkPanel.js:
2120         (WebInspector.NetworkLogView):
2121         * inspector/front-end/PanelEnablerView.js:
2122         * inspector/front-end/ProfilesPanel.js:
2123         * inspector/front-end/ResourceView.js:
2124         (WebInspector.ResourceView):
2125         * inspector/front-end/ResourcesPanel.js:
2126         * inspector/front-end/ScriptsPanel.js:
2127         * inspector/front-end/TextViewer.js:
2128         * inspector/front-end/TimelinePanel.js:
2129         (WebInspector.TimelinePanel):
2130         * inspector/front-end/WebKit.qrc:
2131         * inspector/front-end/WelcomeView.js:
2132         (WebInspector.WelcomeView):
2133         * inspector/front-end/auditsPanel.css: Renamed from Source/WebCore/inspector/front-end/audits.css.
2134
2135 2011-10-24  Pavel Feldman  <pfeldman@chromium.org>
2136
2137         Web Inspector: make view load CSS files upon show.
2138         https://bugs.webkit.org/show_bug.cgi?id=70696
2139
2140         Reviewed by Yury Semikhatsky.
2141
2142         Test: inspector/view-css.html
2143
2144         * inspector/front-end/View.js:
2145         (WebInspector.View):
2146         (WebInspector.View.prototype._callOnVisibleChildren):
2147         (WebInspector.View.prototype._processWillShow):
2148         (WebInspector.View.prototype._processWasShown):
2149         (WebInspector.View.prototype._processWillHide):
2150         (WebInspector.View.prototype._processWasHidden):
2151         (WebInspector.View.prototype._processOnResize):
2152         (WebInspector.View.prototype.show):
2153         (WebInspector.View.prototype.detach):
2154         (WebInspector.View.prototype.registerRequiredCSS):
2155         (WebInspector.View.prototype._loadCSSIfNeeded):
2156         (WebInspector.View.prototype._doLoadCSS):
2157         (WebInspector.View.prototype._disableCSSIfNeeded):
2158         (WebInspector.View.prototype._doUnloadCSS):
2159
2160 2011-10-24  Pavel Feldman  <pfeldman@chromium.org>
2161
2162         Web Inspector: make DataGrid a view
2163         https://bugs.webkit.org/show_bug.cgi?id=70695
2164
2165         Reviewed by Yury Semikhatsky.
2166
2167         * inspector/front-end/ApplicationCacheItemsView.js:
2168         (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
2169         * inspector/front-end/CookieItemsView.js:
2170         (WebInspector.CookieItemsView.prototype._updateWithCookies):
2171         (WebInspector.SimpleCookiesTable):
2172         (WebInspector.SimpleCookiesTable.prototype.setCookies):
2173         * inspector/front-end/CookiesTable.js:
2174         (WebInspector.CookiesTable):
2175         * inspector/front-end/DOMStorageItemsView.js:
2176         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
2177         * inspector/front-end/DataGrid.js:
2178         (WebInspector.DataGrid):
2179         (WebInspector.DataGrid.prototype.onResize):
2180         * inspector/front-end/DatabaseQueryView.js:
2181         (WebInspector.DatabaseQueryView.prototype._queryFinished):
2182         (WebInspector.DatabaseQueryView.prototype._queryError):
2183         (WebInspector.DatabaseQueryView.prototype._appendViewQueryResult):
2184         (WebInspector.DatabaseQueryView.prototype._appendErrorQueryResult):
2185         (WebInspector.DatabaseQueryView.prototype._appendQueryResult):
2186         * inspector/front-end/DatabaseTableView.js:
2187         (WebInspector.DatabaseTableView.prototype._queryFinished):
2188         * inspector/front-end/DetailedHeapshotView.js:
2189         (WebInspector.DetailedHeapshotView.prototype.wasShown.profileCallback2):
2190         (WebInspector.DetailedHeapshotView.prototype.wasShown):
2191         (WebInspector.DetailedHeapshotView.prototype.onResize):
2192         * inspector/front-end/NetworkPanel.js:
2193         (WebInspector.NetworkLogView.prototype.onResize):
2194         (WebInspector.NetworkLogView.prototype._createTable):
2195         * inspector/front-end/ProfileView.js:
2196         * inspector/front-end/ResourceCookiesView.js:
2197         (WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
2198         * inspector/front-end/ResourceView.js:
2199         (WebInspector.ResourceView):
2200
2201 2011-10-24  Yosifumi Inoue  <yosin@chromium.org>
2202
2203         [Forms] Setting defaultValue should hide an input placeholder.
2204         https://bugs.webkit.org/show_bug.cgi?id=70586
2205
2206         Reviewed by Kent Tamura.
2207
2208         Tests: fast/forms/placeholder-and-default-value-expected.html
2209                fast/forms/placeholder-and-default-value.html
2210
2211         When input element has default value, we should not display
2212         placeholder. Changing default value should tell rendering engine about
2213         changing display of input element.
2214
2215         * html/HTMLInputElement.cpp:
2216         (WebCore::HTMLInputElement::parseMappedAttribute): Calls updatePlaceholderVisibility for valueAttr if it doesn't have dirty value.
2217
2218 2011-10-23  Darin Adler  <darin@apple.com>
2219
2220         Eliminate OptionElement (second and final part)
2221         https://bugs.webkit.org/show_bug.cgi?id=70710
2222
2223         Reviewed by Kent Tamura.
2224
2225         * CMakeLists.txt: Removed OptionElement.h and OptionElement.cpp.
2226         * GNUmakefile.list.am: Ditto.
2227         * WebCore.gypi: Ditto.
2228         * WebCore.pro: Ditto.
2229         * WebCore.vcproj/WebCore.vcproj: Ditto.
2230         * WebCore.xcodeproj/project.pbxproj: Ditto.
2231         * dom/DOMAllInOne.cpp: Ditto.
2232
2233         * dom/OptionElement.cpp: Removed.
2234         * dom/OptionElement.h: Removed.
2235
2236         * html/HTMLSelectElement.cpp:
2237         (WebCore::HTMLSelectElement::saveLastSelection): Eliminate use of the
2238         toOptionElement function. Use hasTagName and toHTMLOptionElement instead.
2239         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): Ditto.
2240         (WebCore::HTMLSelectElement::updateListBoxSelection): Ditto.
2241         (WebCore::HTMLSelectElement::listBoxOnChange): Ditto.
2242         (WebCore::HTMLSelectElement::recalcListItems): Ditto.
2243         (WebCore::HTMLSelectElement::selectedIndex): Ditto.
2244         (WebCore::HTMLSelectElement::setSelectedIndex): Ditto.
2245         (WebCore::HTMLSelectElement::deselectItemsWithoutValidation): Ditto.
2246         (WebCore::HTMLSelectElement::saveFormControlState): Ditto.
2247         (WebCore::HTMLSelectElement::restoreFormControlState): Ditto.
2248         (WebCore::HTMLSelectElement::appendFormData): Ditto.
2249         (WebCore::HTMLSelectElement::reset): Ditto.
2250         (WebCore::HTMLSelectElement::updateSelectedState): Ditto.
2251         (WebCore::HTMLSelectElement::lastSelectedListIndex): Ditto.
2252         (WebCore::HTMLSelectElement::typeAheadFind): Ditto.
2253         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
2254
2255         * html/HTMLSelectElement.h: Changed the argument type of the
2256         deselectItemsWithoutValidation function to HTMLElement* since that's
2257         the type of an item in our items vector now.
2258
2259 2011-10-23  Yuzo Fujishima  <yuzo@google.com>
2260
2261         [chromium] Attempt to fix compilation error for Chromium OS.
2262
2263         Unreviewed.
2264
2265         * mediastream/MediaStreamTrack.cpp:
2266         (WebCore::MediaStreamTrack::kind):
2267
2268 2011-10-23  Adam Barth  <abarth@webkit.org>
2269
2270         <img crossorigin> should fail to load when CORS check fails
2271         https://bugs.webkit.org/show_bug.cgi?id=69732
2272
2273         Reviewed by Darin Adler.
2274
2275         When loading an image with the crossorigin attribute, the spec says
2276         that we're not supposed to load the image if the CORS check fails.
2277         This "fails fast" behavior is intended to help developers understand
2278         whether they've configured CORS correctly (instead of only catching the
2279         error later when trying to read back the canvas).
2280
2281         Our new behavior matches the spec and Firefox.
2282
2283         Test: http/tests/security/img-with-failed-cors-check-fails-to-load.html
2284
2285         * loader/ImageLoader.cpp:
2286         (WebCore::ImageLoader::notifyFinished):
2287
2288 2011-10-23  Noel Gordon  <noel.gordon@gmail.com>
2289
2290         [chromium] Remove GeolocationServiceGtk.{h,cpp} from the gyp projects
2291         https://bugs.webkit.org/show_bug.cgi?id=70702
2292
2293         Reviewed by Kent Tamura.
2294
2295         platform/gtk/GeolocationServiceGtk.{h,cpp} were removed in r97746, so
2296         remove references to these files from the gyp files.
2297
2298         * WebCore.gypi:
2299
2300 2011-10-23  Andreas Kling  <kling@webkit.org>
2301
2302         Move StyleSheet::addSubresourceStyleURLs() to CSSStyleSheet.
2303         https://bugs.webkit.org/show_bug.cgi?id=70690
2304
2305         Reviewed by Antti Koivisto.
2306
2307         This method isn't part of the StyleSheet DOM interface, nor is it used by
2308         XSLStyleSheet, so move it down to CSSStyleSheet and make it non-virtual.
2309         Also remove some nearby unneeded casts from CSSStyleSheet* to StyleSheet*.
2310
2311         * css/CSSStyleSheet.h:
2312         * css/StyleSheet.h:
2313         * html/HTMLLinkElement.cpp:
2314         (WebCore::HTMLLinkElement::isLoading):
2315         (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
2316         * html/HTMLStyleElement.cpp:
2317         (WebCore::HTMLStyleElement::addSubresourceAttributeURLs):
2318         (WebCore::HTMLStyleElement::disabled):
2319         (WebCore::HTMLStyleElement::setDisabled):
2320
2321 2011-10-23  Andreas Kling  <kling@webkit.org>
2322
2323         Remove style sheet constructors that take a style sheet parent.
2324         https://bugs.webkit.org/show_bug.cgi?id=70692
2325
2326         Reviewed by Antti Koivisto.
2327
2328         Style sheets are never directly parented by other style sheets, they always
2329         go via a rule (such as @import.)
2330
2331         * css/CSSStyleSheet.cpp:
2332         * css/CSSStyleSheet.h:
2333         (WebCore::CSSStyleSheet::create):
2334         * css/StyleSheet.cpp:
2335         * css/StyleSheet.h:
2336
2337 2011-10-23  Mark Hahnenberg  <mhahnenberg@apple.com>
2338
2339         Add deleteProperty to the MethodTable
2340         https://bugs.webkit.org/show_bug.cgi?id=70162
2341
2342         Reviewed by Sam Weinig.
2343
2344         No new tests.
2345
2346         * WebCore.exp.in:
2347
2348 2011-10-23  Adam Barth  <abarth@webkit.org>
2349
2350         Update baselines for run-bindings-tests.
2351
2352         * bindings/scripts/test/JS/JSTestInterface.cpp:
2353         * bindings/scripts/test/JS/JSTestInterface.h:
2354         * bindings/scripts/test/JS/JSTestObj.cpp:
2355
2356 2011-10-23  Mark Hahnenberg  <mhahnenberg@apple.com>
2357
2358         Remove getConstructDataVirtual
2359         https://bugs.webkit.org/show_bug.cgi?id=70638
2360
2361         Reviewed by Darin Adler.
2362
2363         No new tests.
2364
2365         Removed all declarations and definitions of getConstructDataVirtual.
2366         Also replaced all call sites to getConstructDataVirtual with a 
2367         corresponding lookup in the MethodTable.
2368
2369         * WebCore.exp.in:
2370         * bindings/js/JSAudioConstructor.cpp:
2371         * bindings/js/JSAudioConstructor.h:
2372         * bindings/js/JSImageConstructor.cpp:
2373         * bindings/js/JSImageConstructor.h:
2374         * bindings/js/JSOptionConstructor.cpp:
2375         * bindings/js/JSOptionConstructor.h:
2376         * bindings/js/ScriptFunctionCall.cpp:
2377         (WebCore::ScriptFunctionCall::construct):
2378         * bindings/scripts/CodeGeneratorJS.pm:
2379         (GenerateConstructorDeclaration):
2380         (GenerateConstructorDefinition):
2381         * bridge/runtime_object.cpp:
2382         * bridge/runtime_object.h:
2383
2384 2011-10-22  Geoffrey Garen  <ggaren@apple.com>
2385
2386         Separated string lifetime bits from character buffer state bits
2387         https://bugs.webkit.org/show_bug.cgi?id=70673
2388
2389         Reviewed by Anders Carlsson.
2390
2391         * bindings/scripts/CodeGeneratorJS.pm:
2392         (GenerateHashValue): Updated for string hashing changes in JavaScriptCore.
2393
2394 2011-10-22  Pratik Solanki  <psolanki@apple.com>
2395
2396         HTTPBodyStream in NSURLRequest gets lost when using CFNetwork loader
2397         https://bugs.webkit.org/show_bug.cgi?id=70583
2398         <rdar://problem/10281227>
2399
2400         Reviewed by Darin Adler.
2401
2402         Call WebCore::setHTTPBody() only if we actually have a FormData. Unconditionally calling it
2403         results in us passing 0 to wkCFURLRequestSetHTTPRequestBodyParts() which resets any input
2404         stream specified by the user on the NSURLRequest. This code matches the behavior in the
2405         Foundation version of doUpdatePlatformRequest().
2406
2407         * platform/network/cf/ResourceRequestCFNet.cpp:
2408         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2409
2410 2011-10-22  Adam Bergkvist  <adam.bergkvist@ericsson.com>
2411
2412         Move all MediaStream and PeerConnection related non-platform files to WebCore/mediastream
2413         https://bugs.webkit.org/show_bug.cgi?id=70233
2414
2415         Reviewed by Adam Barth.
2416
2417         Removed affected files from build systems that don't have a MEDIA_STREAM build flag.
2418
2419         No new tests since we're just moving files.
2420
2421         * CMakeLists.txt:
2422         * CodeGenerators.pri:
2423         * DerivedSources.cpp:
2424         * DerivedSources.make:
2425         * GNUmakefile.am:
2426         * GNUmakefile.list.am:
2427         * UseJSC.cmake:
2428         * WebCore.gyp/WebCore.gyp:
2429         * WebCore.gypi:
2430         * WebCore.pro:
2431         * WebCore.vcproj/WebCore.vcproj:
2432         * WebCore.xcodeproj/project.pbxproj:
2433         * bindings/js/JSBindingsAllInOne.cpp:
2434         * dom/DOMAllInOne.cpp:
2435         * dom/DispatchTask.h: Removed unused file.
2436         * dom/ScriptExecutionContext.cpp:
2437         * mediastream/LocalMediaStream.cpp: Renamed from Source/WebCore/dom/LocalMediaStream.cpp.
2438         (WebCore::LocalMediaStream::create):
2439         (WebCore::LocalMediaStream::LocalMediaStream):
2440         (WebCore::LocalMediaStream::stop):
2441         (WebCore::LocalMediaStream::stopTimerFired):
2442         (WebCore::LocalMediaStream::~LocalMediaStream):
2443         (WebCore::LocalMediaStream::toLocalMediaStream):
2444         * mediastream/LocalMediaStream.h: Renamed from Source/WebCore/dom/LocalMediaStream.h.
2445         * mediastream/LocalMediaStream.idl: Renamed from Source/WebCore/dom/LocalMediaStream.idl.
2446         * mediastream/MediaStream.cpp: Renamed from Source/WebCore/dom/MediaStream.cpp.
2447         (WebCore::MediaStream::create):
2448         (WebCore::MediaStream::MediaStream):
2449         (WebCore::MediaStream::~MediaStream):
2450         (WebCore::MediaStream::readyState):
2451         (WebCore::MediaStream::toMediaStream):
2452         (WebCore::MediaStream::streamEnded):
2453         (WebCore::MediaStream::scriptExecutionContext):
2454         (WebCore::MediaStream::eventTargetData):
2455         (WebCore::MediaStream::ensureEventTargetData):
2456         * mediastream/MediaStream.h: Renamed from Source/WebCore/dom/MediaStream.h.
2457         (WebCore::MediaStream::label):
2458         (WebCore::MediaStream::tracks):
2459         (WebCore::MediaStream::descriptor):
2460         (WebCore::MediaStream::refEventTarget):
2461         (WebCore::MediaStream::derefEventTarget):
2462         * mediastream/MediaStream.idl: Renamed from Source/WebCore/dom/MediaStream.idl.
2463         * mediastream/MediaStreamClient.h: Renamed from Source/WebCore/page/MediaStreamClient.h.
2464         (WebCore::MediaStreamClient::~MediaStreamClient):
2465         * mediastream/MediaStreamController.cpp: Renamed from Source/WebCore/page/MediaStreamController.cpp.
2466         (WebCore::MediaStreamController::Request::Request):
2467         (WebCore::MediaStreamController::Request::localId):
2468         (WebCore::MediaStreamController::Request::frameController):
2469         (WebCore::MediaStreamController::MediaStreamController):
2470         (WebCore::MediaStreamController::~MediaStreamController):
2471         (WebCore::MediaStreamController::isClientAvailable):
2472         (WebCore::MediaStreamController::unregisterFrameController):
2473         (WebCore::MediaStreamController::registerRequest):
2474         (WebCore::MediaStreamController::generateStream):
2475         (WebCore::MediaStreamController::streamGenerated):
2476         (WebCore::MediaStreamController::streamGenerationFailed):
2477         * mediastream/MediaStreamController.h: Renamed from Source/WebCore/page/MediaStreamController.h.
2478         * mediastream/MediaStreamEvent.cpp: Renamed from Source/WebCore/p2p/MediaStreamEvent.cpp.
2479         (WebCore::MediaStreamEvent::create):
2480         (WebCore::MediaStreamEvent::MediaStreamEvent):
2481         (WebCore::MediaStreamEvent::~MediaStreamEvent):
2482         (WebCore::MediaStreamEvent::initMediaStreamEvent):
2483         (WebCore::MediaStreamEvent::stream):
2484         * mediastream/MediaStreamEvent.h: Renamed from Source/WebCore/p2p/MediaStreamEvent.h.
2485         (WebCore::MediaStreamEvent::isMediaStreamEvent):
2486         * mediastream/MediaStreamEvent.idl: Renamed from Source/WebCore/p2p/MediaStreamEvent.idl.
2487         * mediastream/MediaStreamFrameController.cpp: Renamed from Source/WebCore/page/MediaStreamFrameController.cpp.
2488         (WebCore::MediaStreamFrameController::Request::~Request):
2489         (WebCore::MediaStreamFrameController::Request::scriptExecutionContext):
2490         (WebCore::MediaStreamFrameController::Request::isGenerateStreamRequest):
2491         (WebCore::MediaStreamFrameController::Request::Request):
2492         (WebCore::MediaStreamFrameController::GenerateStreamRequest::create):
2493         (WebCore::MediaStreamFrameController::GenerateStreamRequest::~GenerateStreamRequest):
2494         (WebCore::MediaStreamFrameController::GenerateStreamRequest::isGenerateStreamRequest):
2495         (WebCore::MediaStreamFrameController::GenerateStreamRequest::abort):
2496         (WebCore::MediaStreamFrameController::GenerateStreamRequest::successCallback):
2497         (WebCore::MediaStreamFrameController::GenerateStreamRequest::errorCallback):
2498         (WebCore::MediaStreamFrameController::GenerateStreamRequest::GenerateStreamRequest):
2499         (WebCore::MediaStreamFrameController::RequestMap::abort):
2500         (WebCore::MediaStreamFrameController::RequestMap::abortAll):
2501         (WebCore::MediaStreamFrameController::MediaStreamFrameController):
2502         (WebCore::MediaStreamFrameController::~MediaStreamFrameController):
2503         (WebCore::MediaStreamFrameController::securityOrigin):
2504         (WebCore::MediaStreamFrameController::scriptExecutionContext):
2505         (WebCore::MediaStreamFrameController::pageController):
2506         (WebCore::MediaStreamFrameController::enterDetachedState):
2507         (WebCore::MediaStreamFrameController::isClientAvailable):
2508         (WebCore::MediaStreamFrameController::disconnectPage):
2509         (WebCore::MediaStreamFrameController::disconnectFrame):
2510         (WebCore::MediaStreamFrameController::transferToNewPage):
2511         (WebCore::MediaStreamFrameController::parseGenerateStreamOptions):
2512         (WebCore::MediaStreamFrameController::generateStream):
2513         (WebCore::MediaStreamFrameController::streamGenerated):
2514         (WebCore::MediaStreamFrameController::streamGenerationFailed):
2515         * mediastream/MediaStreamFrameController.h: Renamed from Source/WebCore/page/MediaStreamFrameController.h.
2516         (WebCore::MediaStreamFrameController::IdGenerator::IdGenerator):
2517         (WebCore::MediaStreamFrameController::IdGenerator::getNextId):
2518         * mediastream/MediaStreamList.cpp: Renamed from Source/WebCore/dom/MediaStreamList.cpp.
2519         (WebCore::MediaStreamList::create):
2520         (WebCore::MediaStreamList::MediaStreamList):
2521         (WebCore::MediaStreamList::~MediaStreamList):
2522         (WebCore::MediaStreamList::length):
2523         (WebCore::MediaStreamList::item):
2524         (WebCore::MediaStreamList::append):
2525         (WebCore::MediaStreamList::remove):
2526         (WebCore::MediaStreamList::contains):
2527         * mediastream/MediaStreamList.h: Renamed from Source/WebCore/dom/MediaStreamList.h.
2528         * mediastream/MediaStreamList.idl: Renamed from Source/WebCore/dom/MediaStreamList.idl.
2529         * mediastream/MediaStreamRegistry.cpp: Renamed from Source/WebCore/platform/MediaStreamRegistry.cpp.
2530         (WebCore::MediaStreamRegistry::registry):
2531         (WebCore::MediaStreamRegistry::registerMediaStreamURL):
2532         (WebCore::MediaStreamRegistry::unregisterMediaStreamURL):
2533         (WebCore::MediaStreamRegistry::mediaStream):
2534         * mediastream/MediaStreamRegistry.h: Renamed from Source/WebCore/platform/MediaStreamRegistry.h.
2535         * mediastream/MediaStreamTrack.cpp: Renamed from Source/WebCore/dom/MediaStreamTrack.cpp.
2536         (WebCore::MediaStreamTrack::create):
2537         (WebCore::MediaStreamTrack::MediaStreamTrack):
2538         (WebCore::MediaStreamTrack::~MediaStreamTrack):
2539         (WebCore::MediaStreamTrack::kind):
2540         (WebCore::MediaStreamTrack::label):
2541         (WebCore::MediaStreamTrack::enabled):
2542         (WebCore::MediaStreamTrack::setEnabled):
2543         * mediastream/MediaStreamTrack.h: Renamed from Source/WebCore/dom/MediaStreamTrack.h.
2544         * mediastream/MediaStreamTrack.idl: Renamed from Source/WebCore/dom/MediaStreamTrack.idl.
2545         * mediastream/MediaStreamTrackList.cpp: Renamed from Source/WebCore/dom/MediaStreamTrackList.cpp.
2546         (WebCore::MediaStreamTrackList::create):
2547         (WebCore::MediaStreamTrackList::MediaStreamTrackList):
2548         (WebCore::MediaStreamTrackList::~MediaStreamTrackList):
2549         (WebCore::MediaStreamTrackList::length):
2550         (WebCore::MediaStreamTrackList::item):
2551         * mediastream/MediaStreamTrackList.h: Renamed from Source/WebCore/dom/MediaStreamTrackList.h.
2552         * mediastream/MediaStreamTrackList.idl: Renamed from Source/WebCore/dom/MediaStreamTrackList.idl.
2553         * mediastream/PeerConnection.cpp: Renamed from Source/WebCore/p2p/PeerConnection.cpp.
2554         (WebCore::PeerConnection::create):
2555         (WebCore::PeerConnection::PeerConnection):
2556         (WebCore::PeerConnection::~PeerConnection):
2557         (WebCore::PeerConnection::processSignalingMessage):
2558         (WebCore::PeerConnection::readyState):
2559         (WebCore::PeerConnection::send):
2560         (WebCore::PeerConnection::addStream):
2561         (WebCore::PeerConnection::removeStream):
2562         (WebCore::PeerConnection::localStreams):
2563         (WebCore::PeerConnection::remoteStreams):
2564         (WebCore::PeerConnection::close):
2565         (WebCore::PeerConnection::iceProcessingCompleted):
2566         (WebCore::PeerConnection::sdpGenerated):
2567         (WebCore::PeerConnection::dataStreamMessageReceived):
2568         (WebCore::PeerConnection::remoteStreamAdded):
2569         (WebCore::PeerConnection::remoteStreamRemoved):
2570         (WebCore::PeerConnection::toPeerConnection):
2571         (WebCore::PeerConnection::scriptExecutionContext):
2572         (WebCore::PeerConnection::stop):
2573         (WebCore::PeerConnection::eventTargetData):
2574         (WebCore::PeerConnection::ensureEventTargetData):
2575         (WebCore::PeerConnection::scheduleInitialNegotiation):
2576         (WebCore::PeerConnection::initialNegotiationTimerFired):
2577         (WebCore::PeerConnection::ensureStreamChangeScheduled):
2578         (WebCore::PeerConnection::streamChangeTimerFired):
2579         (WebCore::PeerConnection::scheduleReadyStateChange):
2580         (WebCore::PeerConnection::readyStateChangeTimerFired):
2581         (WebCore::PeerConnection::changeReadyState):
2582         * mediastream/PeerConnection.h: Renamed from Source/WebCore/p2p/PeerConnection.h.
2583         (WebCore::PeerConnection::refEventTarget):
2584         (WebCore::PeerConnection::derefEventTarget):
2585         * mediastream/PeerConnection.idl: Renamed from Source/WebCore/p2p/PeerConnection.idl.
2586         * mediastream/SignalingCallback.h: Renamed from Source/WebCore/p2p/SignalingCallback.h.
2587         (WebCore::SignalingCallback::~SignalingCallback):
2588         * mediastream/SignalingCallback.idl: Renamed from Source/WebCore/p2p/SignalingCallback.idl.
2589         * page/Frame.cpp:
2590         * page/Navigator.cpp:
2591         * page/Page.cpp:
2592
2593 2011-10-20  Pavel Feldman  <pfeldman@google.com>
2594
2595         Web Inspector: get rid of View::hide, View::set visible, View::attach,
2596         View::set visible.
2597         https://bugs.webkit.org/show_bug.cgi?id=70523
2598
2599         This change also introduces assetions that forces view attach / detach operations
2600         to be performed explicitly.
2601
2602         Reviewed by Yury Semikhatsky.
2603
2604         * inspector/front-end/ApplicationCacheItemsView.js:
2605         (WebInspector.ApplicationCacheItemsView.prototype.wasShown):
2606         (WebInspector.ApplicationCacheItemsView.prototype.willHide):
2607         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
2608         * inspector/front-end/AuditsPanel.js:
2609         (WebInspector.AuditsPanel.prototype.wasShown):
2610         * inspector/front-end/ConsolePanel.js:
2611         (WebInspector.ConsolePanel.prototype.wasShown):
2612         (WebInspector.ConsolePanel.prototype.willHide):
2613         * inspector/front-end/ConsoleView.js:
2614         (WebInspector.ConsoleView.prototype.wasShown):
2615         * inspector/front-end/CookieItemsView.js:
2616         (WebInspector.CookieItemsView.prototype.wasShown):
2617         (WebInspector.CookieItemsView.prototype.willHide):
2618         (WebInspector.CookieItemsView.prototype._updateWithCookies):
2619         * inspector/front-end/DOMStorageItemsView.js:
2620         (WebInspector.DOMStorageItemsView.prototype.wasShown):
2621         (WebInspector.DOMStorageItemsView.prototype.willHide):
2622         * inspector/front-end/DatabaseQueryView.js:
2623         * inspector/front-end/DatabaseTableView.js:
2624         (WebInspector.DatabaseTableView.prototype.wasShown):
2625         * inspector/front-end/DetailedHeapshotView.js:
2626         (WebInspector.DetailedHeapshotView.prototype.willHide):
2627         (WebInspector.DetailedHeapshotView.prototype._changeView):
2628         * inspector/front-end/Drawer.js:
2629         (WebInspector.Drawer.prototype.hide):
2630         * inspector/front-end/ElementsPanel.js:
2631         (WebInspector.ElementsPanel.prototype.wasShown):
2632         (WebInspector.ElementsPanel.prototype.willHide):
2633         * inspector/front-end/EmptyView.js:
2634         (WebInspector.EmptyView.prototype.wasShown):
2635         * inspector/front-end/FontView.js:
2636         (WebInspector.FontView.prototype.wasShown):
2637         * inspector/front-end/IFrameView.js:
2638         (WebInspector.IFrameView):
2639         * inspector/front-end/ImageView.js:
2640         (WebInspector.ImageView.prototype.wasShown):
2641         * inspector/front-end/NetworkItemView.js:
2642         (WebInspector.NetworkItemView.prototype.wasShown):
2643         (WebInspector.ResourceContentView.prototype.wasShown):
2644         * inspector/front-end/NetworkPanel.js:
2645         (WebInspector.NetworkLogView.prototype.wasShown):
2646         (WebInspector.NetworkLogView.prototype.willHide):
2647         (WebInspector.NetworkPanel.prototype.wasShown):
2648         * inspector/front-end/Panel.js:
2649         (WebInspector.Panel):
2650         (WebInspector.Panel.prototype.show):
2651         (WebInspector.Panel.prototype.wasShown):
2652         (WebInspector.Panel.prototype.willHide):
2653         * inspector/front-end/PanelEnablerView.js:
2654         * inspector/front-end/ProfileView.js:
2655         (WebInspector.CPUProfileView.prototype.willHide):
2656         * inspector/front-end/ProfilesPanel.js:
2657         (WebInspector.ProfilesPanel.prototype.wasShown):
2658         (WebInspector.ProfilesPanel.prototype._addProfileHeader):
2659         (WebInspector.ProfilesPanel.prototype._updateInterface):
2660         (WebInspector.ProfilesPanel.prototype._enableDetailedHeapProfiles):
2661         * inspector/front-end/ResourceCookiesView.js:
2662         (WebInspector.ResourceCookiesView.prototype.wasShown):
2663         * inspector/front-end/ResourceHTMLView.js:
2664         (WebInspector.ResourceHTMLView.prototype.wasShown):
2665         (WebInspector.ResourceHTMLView.prototype.willHide):
2666         * inspector/front-end/ResourceJSONView.js:
2667         (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype.wasShown):
2668         * inspector/front-end/ResourceTimingView.js:
2669         (WebInspector.ResourceTimingView.prototype.wasShown):
2670         * inspector/front-end/ResourcesPanel.js:
2671         (WebInspector.ResourcesPanel.prototype.wasShown):
2672         * inspector/front-end/ScriptsPanel.js:
2673         (WebInspector.ScriptsPanel.prototype.wasShown):
2674         (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
2675         * inspector/front-end/SourceFrame.js:
2676         (WebInspector.SourceFrame.prototype.wasShown):
2677         * inspector/front-end/TimelinePanel.js:
2678         (WebInspector.TimelinePanel.prototype.wasShown):
2679         (WebInspector.TimelinePanel.prototype.willHide):
2680         * inspector/front-end/View.js:
2681         (WebInspector.View):
2682         (WebInspector.View.prototype.get visible):
2683         (WebInspector.View.prototype.setHideOnDetach):
2684         (WebInspector.View.prototype._wasShown):
2685         (WebInspector.View.prototype._willHide):
2686         (WebInspector.View.prototype._onResize):
2687         (WebInspector.View.prototype.wasShown):
2688         (WebInspector.View.prototype.willHide):
2689         (WebInspector.View.prototype.onResize):
2690         (WebInspector.View.prototype.show):
2691         (WebInspector.View.prototype.detach):
2692         (WebInspector.View.prototype.doResize):
2693         (WebInspector.View.prototype.dispatchToSelfAndChildren):
2694         (WebInspector.View.prototype.dispatchToChildren):
2695         (WebInspector.View.prototype._handleInsertedIntoDocument):
2696
2697 2011-10-22  Kent Tamura  <tkent@chromium.org>
2698
2699         REGRESSION(r92480): Passing uninitialized variable in HTMLElement::calculateAndAdjustDirectionality()
2700         https://bugs.webkit.org/show_bug.cgi?id=70582
2701
2702         Reviewed by Darin Adler.
2703
2704         No new tests. It's very hard to make a reliable test.
2705
2706         * html/HTMLElement.cpp:
2707         (WebCore::HTMLElement::directionality):
2708         Clear *strongDirectionalityTextNode even if hasStrongDirectionality is false.
2709
2710 2011-10-21  Dan Bernstein  <mitz@apple.com>
2711
2712         Caret is drawn in the wrong place in multi-column blocks
2713         https://bugs.webkit.org/show_bug.cgi?id=70662
2714
2715         Reviewed by Gavin Barraclough.
2716
2717         * manual-tests/caret-in-columns.html: Added.
2718         * rendering/RenderBlock.cpp:
2719         (WebCore::RenderBlock::paintCaret): Removed the call to offsetForContents(). That function takes
2720         a point in local coordinates, whereas this function was applying it to a point in painting root
2721         coordinates. The desired effect was only to undo the scroll adjustment done by the caller,
2722         paintObject().
2723         (WebCore::RenderBlock::paintObject): Pass the original, rather than scroll-adjusted, paint offset
2724         to paintCaret().
2725
2726 2011-10-21  Nat Duca  <nduca@chromium.org>
2727
2728         [chromium] Make setVisibility extension- and thread-correct
2729         https://bugs.webkit.org/show_bug.cgi?id=70635
2730
2731         Reviewed by Kenneth Russell.
2732
2733         * platform/graphics/chromium/Extensions3DChromium.h:
2734         * platform/graphics/chromium/LayerRendererChromium.cpp:
2735         (WebCore::LayerRendererChromium::initialize):
2736         (WebCore::LayerRendererChromium::setVisible):
2737         * platform/graphics/chromium/LayerRendererChromium.h:
2738         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2739         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
2740         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2741         (WebCore::CCLayerTreeHostImpl::setVisible):
2742
2743 2011-10-21  Beth Dakin  <bdakin@apple.com>
2744
2745         https://bugs.webkit.org/show_bug.cgi?id=70647
2746         Common but unreproducible crash under [ScrollbarPartAnimation setCurrentProgress:]
2747         -and corresponding-
2748         <rdar://problem/9542018>
2749
2750         Reviewed by Sam Weinig.
2751
2752         This patch implements two speculative fixes for this crash.
2753
2754         First, block exceptions around all of the code responsible for calling 
2755         stopAnimation. If that code throws any exceptions, we want to make sure the other 
2756         animations are still stopped.
2757         * platform/mac/ScrollAnimatorMac.mm:
2758         (-[WebScrollbarPartAnimation scrollAnimatorDestroyed]):
2759         (-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
2760         (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
2761
2762         Only send AppKit these notifications for active pages. I originally made these 
2763         assertions, and I found that they were hit a surprising number of times. If we 
2764         only send notifications for active pages, then we should greatly reduce and 
2765         possibly eliminate our chances of hitting this crash.
2766         (WebCore::ScrollAnimatorMac::notifyPositionChanged):
2767         (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
2768         (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
2769         (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
2770         (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
2771         (WebCore::ScrollAnimatorMac::willStartLiveResize):
2772         (WebCore::ScrollAnimatorMac::contentsResized):
2773         (WebCore::ScrollAnimatorMac::willEndLiveResize):
2774         (WebCore::ScrollAnimatorMac::contentAreaDidShow):
2775         (WebCore::ScrollAnimatorMac::contentAreaDidHide):
2776         (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
2777         (WebCore::ScrollAnimatorMac::didEndScrollGesture):
2778
2779 2011-10-21  Mark Hahnenberg  <mhahnenberg@apple.com>
2780
2781         Add put to the MethodTable
2782         https://bugs.webkit.org/show_bug.cgi?id=70439
2783
2784         Reviewed by Oliver Hunt.
2785
2786         No new tests.
2787
2788         * WebCore.exp.in:
2789         * bindings/js/JSDOMWindowCustom.cpp: Added static put since it was overlooked in 
2790         previous patches.
2791         (WebCore::JSDOMWindow::putVirtual):
2792         (WebCore::JSDOMWindow::put):
2793         * bindings/js/JSDOMWindowShell.cpp: Ditto.
2794         (WebCore::JSDOMWindowShell::putVirtual):
2795         (WebCore::JSDOMWindowShell::put):
2796         * bindings/js/JSDOMWindowShell.h:
2797
2798 2011-10-21  Dmitry Lomov  <dslomov@google.com>
2799
2800         https://bugs.webkit.org/show_bug.cgi?id=70580
2801         [Chromium] Implement MessagePort transfer in chromium port of webkit.
2802
2803         Reviewed by David Levin.
2804
2805         * bindings/v8/SerializedScriptValue.cpp:
2806         (WebCore::V8ObjectMap::Writer::writeTransferredMessagePort):
2807         (WebCore::V8ObjectMap::Serializer::Serializer):
2808         (WebCore::V8ObjectMap::Serializer::doSerialize):
2809         (WebCore::V8ObjectMap::Reader::read):
2810         (WebCore::V8ObjectMap::Deserializer::Deserializer):
2811         (WebCore::V8ObjectMap::Deserializer::tryGetTransferredMessagePort):
2812         (WebCore::SerializedScriptValue::SerializedScriptValue):
2813         (WebCore::SerializedScriptValue::deserialize):
2814
2815 2011-10-21  Ojan Vafai  <ojan@chromium.org>
2816
2817         r97693 caused 42 failures on the chromium mac bots
2818         https://bugs.webkit.org/show_bug.cgi?id=70300
2819
2820         Can't test this until https://bugs.webkit.org/show_bug.cgi?id=70660
2821         is fixed. The fix for that bug will test this codepath as well though.
2822
2823         * rendering/RenderBlock.cpp:
2824         (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
2825
2826 2011-10-21  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
2827
2828         Setting form.enctype reflected attribute behaves strangely.
2829         https://bugs.webkit.org/show_bug.cgi?id=44879
2830
2831         Reviewed by Darin Adler.
2832
2833         The spec says form.enctype should be application/x-www-form-urlencoded,
2834         So as "text", "plain", "multipart" or "form-data" these are not a valid value so must be ignored.
2835
2836         * loader/FormSubmission.cpp:
2837         (WebCore::FormSubmission::Attributes::parseEncodingType):
2838
2839 2011-10-21  Matthew Delaney  <mdelaney@apple.com>
2840
2841         Ensure periodic flushing of canvas drawing context
2842         https://bugs.webkit.org/show_bug.cgi?id=70646
2843
2844         Reviewed by Simon Fraser.
2845
2846         No new tests. No current way to track tests that cause hangs or
2847         non-deterministic drops in performance.
2848
2849         * platform/graphics/cg/ImageBufferDataCG.h: Adds a timestamp of last tracked flush.
2850         * platform/graphics/cg/ImageBufferCG.cpp: Ensures periodic flushes on the drawing context.
2851         (WebCore::ImageBuffer::ImageBuffer):
2852         (WebCore::ImageBuffer::context): Flushes context if we're beyond flush interval.
2853         (WebCore::ImageBuffer::copyNativeImage): Updates last flush timestamp.
2854         (WebCore::ImageBuffer::getUnmultipliedImageData): Updates last flush timestamp.
2855         (WebCore::ImageBuffer::getPremultipliedImageData): Updates last flush timestamp.
2856         (WebCore::ImageBuffer::putUnmultipliedImageData): Updates last flush timestamp.
2857         (WebCore::ImageBuffer::putPremultipliedImageData): Updates last flush timestamp.
2858
2859 2011-10-21  Adam Barth  <abarth@webkit.org>
2860
2861         Introduce Event::hasInterface to make uses of interfaceName more readable
2862         https://bugs.webkit.org/show_bug.cgi?id=70652
2863
2864         Reviewed by Eric Seidel.
2865
2866         Eric felt that this approach would be more readable because it requires
2867         less syntax at each callsite.
2868
2869         * bindings/js/JSErrorHandler.cpp:
2870         (WebCore::JSErrorHandler::handleEvent):
2871         * bindings/objc/DOMEvents.mm:
2872         (kitClass):
2873         * bindings/v8/V8WindowErrorHandler.cpp:
2874         (WebCore::V8WindowErrorHandler::callListenerFunction):
2875         * bindings/v8/V8WorkerContextErrorHandler.cpp:
2876         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
2877         * dom/Event.cpp:
2878         (WebCore::Event::hasInterface):
2879         * dom/Event.h:
2880         * dom/EventDispatcher.cpp:
2881         (WebCore::EventDispatcher::determineDispatchBehavior):
2882         * dom/Node.cpp:
2883         (WebCore::Node::defaultEventHandler):
2884         * html/HTMLInputElement.cpp:
2885         (WebCore::HTMLInputElement::defaultEventHandler):
2886         * html/HTMLTextAreaElement.cpp:
2887         (WebCore::HTMLTextAreaElement::defaultEventHandler):
2888         * html/TextFieldInputType.cpp:
2889         (WebCore::TextFieldInputType::forwardEvent):
2890         (WebCore::TextFieldInputType::shouldSubmitImplicitly):
2891         * inspector/InspectorDOMStorageResource.cpp:
2892         (WebCore::InspectorDOMStorageResource::handleEvent):
2893
2894 2011-10-21  Adam Klein  <adamk@chromium.org>
2895
2896         [MutationObservers] Implement basic subtree observation
2897         https://bugs.webkit.org/show_bug.cgi?id=70436
2898
2899         Reviewed by Ryosuke Niwa.
2900
2901         Note that this patch only implements "basic" subtree semantics,
2902         not the fully robust semantics described in
2903         http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html.
2904         Most importantly, this change does not handle the case where mutations
2905         occur in a temporarily detached subtree.
2906
2907         The plan is to implement those semantics in a followup to avoid
2908         blocking other parts of the MutationObserver spec that rely on
2909         the existence of subtree observation but not its specific
2910         implementation.
2911
2912         Test: fast/mutation/observe-subtree.html
2913
2914         * dom/Node.cpp:
2915         (WebCore::addMatchingObservers): Static helper method for registeredMutationObserversOfType().
2916         (WebCore::Node::registeredMutationObserversOfType): Walk up the tree looking for observers.
2917         * dom/NodeRareData.h:
2918         (WebCore::MutationObserverEntry::hasAllOptions): A stricter, renamed from matches().
2919
2920 2011-10-21  Joshua Bell  <jsbell@chromium.org>
2921
2922         IndexedDB: objectStore.transaction property should be readonly
2923         https://bugs.webkit.org/show_bug.cgi?id=62395
2924
2925         Reviewed by Tony Chang.
2926
2927         Implement the IDBObjectStore.transaction property defined by the spec.
2928
2929         Test: storage/indexeddb/readonly-properties.html
2930
2931         * storage/IDBObjectStore.cpp:
2932         (WebCore::IDBObjectStore::transaction):
2933         * storage/IDBObjectStore.h:
2934         * storage/IDBObjectStore.idl:
2935
2936 2011-10-21  Adam Barth  <abarth@webkit.org>
2937
2938         Event.h has too many virtual isMumbleEvent() functions
2939         https://bugs.webkit.org/show_bug.cgi?id=70636
2940
2941         Reviewed by Dimitri Glazkov.
2942
2943         We should use the new interfaceName() way of doing run-time type inference.
2944
2945         * bindings/js/JSErrorHandler.cpp:
2946         (WebCore::JSErrorHandler::handleEvent):
2947         * bindings/js/JSEventCustom.cpp:
2948         (WebCore::JSEvent::clipboardData):
2949         * bindings/objc/DOMEvents.mm:
2950         (kitClass):
2951         * bindings/v8/V8WindowErrorHandler.cpp:
2952         (WebCore::V8WindowErrorHandler::callListenerFunction):
2953         * bindings/v8/V8WorkerContextErrorHandler.cpp:
2954         (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
2955         * bindings/v8/custom/V8EventCustom.cpp:
2956         (WebCore::V8Event::clipboardDataAccessorGetter):
2957         * dom/BeforeLoadEvent.h:
2958         (WebCore::BeforeLoadEvent::interfaceName):
2959         * dom/BeforeTextInsertedEvent.h:
2960         * dom/ClipboardEvent.cpp:
2961         * dom/ClipboardEvent.h:
2962         * dom/CompositionEvent.cpp:
2963         * dom/CompositionEvent.h:
2964         * dom/ErrorEvent.cpp:
2965         * dom/ErrorEvent.h:
2966         * dom/Event.cpp:
2967         (WebCore::Event::storesResultAsString):
2968         (WebCore::Event::storeResult):
2969         (WebCore::Event::clipboardData):
2970         * dom/Event.h:
2971         * dom/Event.idl:
2972             - Remove this interface from the CPP bindings because this function
2973               no longer exists.  It's unclear to me how strong our API
2974               commitments are in the CPP bindings.
2975         * dom/EventDispatcher.cpp:
2976         (WebCore::EventDispatcher::determineDispatchBehavior):
2977         * dom/MessageEvent.cpp:
2978         * dom/MessageEvent.h:
2979         * dom/MutationEvent.cpp:
2980         * dom/MutationEvent.h:
2981         * dom/Node.cpp:
2982         (WebCore::Node::defaultEventHandler):
2983         * dom/OverflowEvent.cpp:
2984         * dom/OverflowEvent.h:
2985         * dom/PageTransitionEvent.h:
2986         * dom/ProgressEvent.h:
2987         * dom/TextEvent.cpp:
2988         * dom/TextEvent.h:
2989         * dom/WheelEvent.cpp:
2990         * dom/WheelEvent.h:
2991         * html/HTMLInputElement.cpp:
2992         (WebCore::HTMLInputElement::defaultEventHandler):
2993         * html/HTMLTextAreaElement.cpp:
2994         (WebCore::HTMLTextAreaElement::defaultEventHandler):
2995         * html/TextFieldInputType.cpp:
2996         (WebCore::TextFieldInputType::forwardEvent):
2997         (WebCore::TextFieldInputType::shouldSubmitImplicitly):
2998         * html/shadow/TextControlInnerElements.cpp:
2999         (WebCore::TextControlInnerTextElement::defaultEventHandler):
3000         * svg/SVGZoomEvent.cpp:
3001         * svg/SVGZoomEvent.h:
3002
3003 2011-10-21  Raymond Toy  <rtoy@google.com>
3004
3005         Flush denormals in Biquad, ZeroPole, and DynamicsCompressor.
3006
3007         We only flush when saving the state variables instead of in the
3008         loops so that we don't impact performance too much when there are
3009         no denormals.  This will at least not propagate the denormals any
3010         further within the class.
3011         
3012         https://bugs.webkit.org/show_bug.cgi?id=70626
3013
3014         Reviewed by Kenneth Russell.
3015
3016         * platform/audio/Biquad.cpp:
3017         (WebCore::Biquad::process):
3018         Flush denormals when storing the filter state back in to class
3019         filter state.  
3020         * platform/audio/DynamicsCompressorKernel.cpp:
3021         (WebCore::DynamicsCompressorKernel::process):
3022         Ditto.
3023         * platform/audio/ZeroPole.cpp:
3024         (WebCore::ZeroPole::process):
3025         Ditto.
3026
3027 2011-10-21  Vsevolod Vlasov  <vsevik@chromium.org>
3028
3029         Web Inspector: Advanced search results should be cleared on navigation.
3030         https://bugs.webkit.org/show_bug.cgi?id=70627
3031
3032         Reviewed by Pavel Feldman.
3033
3034         * inspector/front-end/AdvancedSearchController.js:
3035         (WebInspector.AdvancedSearchController):
3036         (WebInspector.AdvancedSearchController.prototype._frameNavigated):
3037
3038 2011-10-21  Rafael Weinstein  <rafaelw@chromium.org>
3039
3040         [MutationObservers] Implement WebKitMutationObserver.observe for childList changes
3041         https://bugs.webkit.org/show_bug.cgi?id=68955
3042
3043         Reviewed by Ryosuke Niwa.
3044
3045         This patch adds a ChildListMutationScope object which manages the coalescing of
3046         multiple child removals and additions within DOM operations into single childList
3047         mutation records.
3048
3049         Note that this patch doesn't cover all the cases which can be coalesced (it only
3050         covers ContainerNode.*, and Node.innerHTML/innerText). A separate bug,
3051         https://bugs.webkit.org/show_bug.cgi?id=70385, has been opened to track the
3052         remaining cases.
3053
3054         Test: fast/mutation/observe-childList.html
3055
3056         * CMakeLists.txt:
3057         * GNUmakefile.list.am:
3058         * WebCore.gypi:
3059         * WebCore.pro:
3060         * WebCore.vcproj/WebCore.vcproj:
3061         * WebCore.xcodeproj/project.pbxproj:
3062         * dom/ChildListMutationScope.cpp: Added.
3063         (WebCore::ChildListAccumulation::ChildListAccumulation::ChildListAccumulation):
3064         (WebCore::ChildListAccumulation::ChildListAccumulation::~ChildListAccumulation):
3065         (WebCore::ChildListAccumulation::ChildListAccumulation::childAdded):
3066         (WebCore::ChildListAccumulation::ChildListAccumulation::willRemoveChild):
3067         (WebCore::ChildListAccumulation::ChildListAccumulation::dispatch):
3068         (WebCore::ChildListAccumulation::ChildListAccumulation::clear):
3069         (WebCore::ChildListAccumulation::ChildListAccumulation::isEmpty):
3070         (WebCore::ChildListAccumulation::ChildListAccumulator::ChildListAccumulator):
3071         (WebCore::ChildListAccumulation::ChildListAccumulator::~ChildListAccumulator):
3072         (WebCore::ChildListAccumulation::ChildListAccumulator::initialize):
3073         (WebCore::ChildListAccumulation::ChildListAccumulator::instance):
3074         (WebCore::ChildListAccumulation::ChildListAccumulator::childAdded):
3075         (WebCore::ChildListAccumulation::ChildListAccumulator::willRemoveChild):
3076         (WebCore::ChildListAccumulation::ChildListAccumulator::incrementScopingLevel):
3077         (WebCore::ChildListAccumulation::ChildListAccumulator::decrementScopingLevel):
3078         (WebCore::ChildListMutationScope::ChildListMutationScope):
3079         (WebCore::ChildListMutationScope::~ChildListMutationScope):
3080         (WebCore::ChildListMutationScope::childAdded):
3081         (WebCore::ChildListMutationScope::willRemoveChild):
3082         * dom/ChildListMutationScope.h: Added.
3083         * dom/ContainerNode.cpp:
3084         (WebCore::ContainerNode::insertBefore):
3085         (WebCore::ContainerNode::replaceChild):
3086         (WebCore::willRemoveChildren):
3087         (WebCore::dispatchChildInsertionEvents):
3088         (WebCore::dispatchChildRemovalEvents):
3089         * dom/Element.cpp:
3090         (WebCore::enqueueAttributesMutationRecord):
3091         * dom/Node.cpp:
3092         (WebCore::Node::setTextContent):
3093         (WebCore::Node::registeredMutationObserversOfType):
3094         * dom/WebKitMutationObserver.cpp:
3095         (WebCore::WebKitMutationObserver::disconnect):
3096         * html/HTMLElement.cpp:
3097         (WebCore::replaceChildrenWithFragment):
3098         (WebCore::replaceChildrenWithText):
3099
3100 2011-10-21  Sheriff Bot  <webkit.review.bot@gmail.com>
3101
3102         Unreviewed, rolling out r98079.
3103         http://trac.webkit.org/changeset/98079
3104         https://bugs.webkit.org/show_bug.cgi?id=70624
3105
3106         The extensions tests enabled are failing on the Chromium Win
3107         Dbg bot (Requested by jchaffraix on #webkit).
3108
3109         * inspector/front-end/ExtensionAPI.js:
3110         (buildExtensionAPIInjectedScript):
3111
3112 2011-10-21  Dan Bernstein  <mitz@apple.com>
3113
3114         Column rules positioned incorrectly in vertical-rl block with horizontal border or padding
3115         https://bugs.webkit.org/show_bug.cgi?id=70622
3116
3117         Reviewed by Beth Dakin.
3118
3119         Tests: fast/multicol/vertical-lr/rules-with-border-before.html
3120                fast/multicol/vertical-rl/rules-with-border-before.html
3121
3122         * rendering/RenderBlock.cpp:
3123         (WebCore::RenderBlock::paintColumnRules): Changed to use the physical left border and padding for the
3124         left edge of the horizontal column rule.
3125
3126 2011-10-21  Simon Fraser  <simon.fraser@apple.com>
3127
3128         Fix Windows build.
3129
3130         * rendering/RenderLayerCompositor.cpp:
3131         (WebCore::RenderLayerCompositor::hasAnyAdditionalCompositedLayers):
3132
3133 2011-10-21  Devdatta Deshpande  <pwjd73@motorola.com>
3134
3135         [Gtk] mousemove event always has metaKey == true
3136         https://bugs.webkit.org/show_bug.cgi?id=35299
3137
3138         Reviewed by Martin Robinson.
3139
3140         GDK_MOD2_MASK doesn't always mean meta so we can't use it to identify
3141         the meta key state. Use GDK_META_MASK instead.
3142
3143         Test: platform/gtk/fast/events/event-sender-metakey.html
3144
3145         * platform/gtk/PlatformMouseEventGtk.cpp:
3146         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
3147
3148 2011-10-21  Andreas Kling  <kling@webkit.org>
3149
3150         Style and Link elements' sheet() should return CSSStyleSheet.
3151         https://bugs.webkit.org/show_bug.cgi?id=70608
3152
3153         Reviewed by Antti Koivisto.
3154
3155         Return a CSSStyleSheet* instead of a StyleSheet* in these functions
3156         since we know they are always CSSStyleSheets.
3157         Also remove some now-unnecessary isCSSStyleSheet() checks.
3158
3159         * dom/StyleElement.h:
3160         (WebCore::StyleElement::sheet):
3161         * html/HTMLLinkElement.cpp:
3162         * html/HTMLLinkElement.h:
3163         (WebCore::HTMLLinkElement::sheet):
3164         * page/PageSerializer.cpp:
3165         (WebCore::PageSerializer::serializeFrame):
3166
3167 2011-10-21  Vsevolod Vlasov  <vsevik@chromium.org>
3168
3169         Web Inspector: Advanced search is working very slowly and does not show searching progress.
3170         https://bugs.webkit.org/show_bug.cgi?id=70611
3171
3172         Search implementation changed so that we do not start searching in the next file unless
3173         the previous one was already searched. This allows to interrupt search.
3174         Not all search matches are added on UI by default now, only first 20 for each file.
3175         Search progress information and search stop button were added to drawer status bar.
3176
3177         Reviewed by Pavel Feldman.
3178
3179         * English.lproj/localizedStrings.js:
3180         * inspector/ContentSearchUtils.cpp:
3181         (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
3182         (WebCore::ContentSearchUtils::countRegularExpressionMatches):
3183         * inspector/front-end/AdvancedSearchController.js:
3184         (WebInspector.AdvancedSearchController.prototype._onSearchResult):
3185         (WebInspector.AdvancedSearchController.prototype._onSearchFinished):
3186         (WebInspector.AdvancedSearchController.prototype.startSearch):
3187         (WebInspector.AdvancedSearchController.prototype.resetSearch):
3188         (WebInspector.AdvancedSearchController.prototype.stopSearch):
3189         (WebInspector.SearchView):
3190         (WebInspector.SearchView.prototype.get statusBarItems):
3191         (WebInspector.SearchView.prototype.get counterElement):
3192         (WebInspector.SearchView.prototype.set resultsPane):
3193         (WebInspector.SearchView.prototype.searchStarted):
3194         (WebInspector.SearchView.prototype._updateSearchResultsMessage):
3195         (WebInspector.SearchView.prototype._updateSearchProgress):
3196         (WebInspector.SearchView.prototype.resetResults):
3197         (WebInspector.SearchView.prototype._resetCounters):
3198         (WebInspector.SearchView.prototype.nothingFound):
3199         (WebInspector.SearchView.prototype.addSearchResult):
3200         (WebInspector.SearchView.prototype.searchFinished):
3201         (WebInspector.SearchView.prototype._searchStopButtonPressed):
3202         (WebInspector.SearchResultsPane):
3203         (WebInspector.FileBasedSearchResultsPane):
3204         (WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
3205         (WebInspector.FileBasedSearchResultsPane.prototype._fileTreeElementExpanded):
3206         (WebInspector.FileBasedSearchResultsPane.prototype._appendSearchMatches):
3207         (WebInspector.FileBasedSearchResultsPane.prototype._appendShowMoreMatchesElement):
3208         (WebInspector.FileBasedSearchResultsPane.prototype._showMoreMatchesElementSelected):
3209         (WebInspector.FileBasedSearchResultsPane.prototype._addFileTreeElement):
3210         (WebInspector.FileBasedSearchResultsPane.prototype._regexMatchRanges):
3211         * inspector/front-end/Drawer.js:
3212         (WebInspector.Drawer.prototype.hide):
3213         * inspector/front-end/Images/statusbarButtonGlyphs.png:
3214         * inspector/front-end/ScriptsSearchScope.js:
3215         (WebInspector.ScriptsSearchScope):
3216         (WebInspector.ScriptsSearchScope.prototype.performSearch.filterOutContentScripts):
3217         (WebInspector.ScriptsSearchScope.prototype.performSearch.continueSearch):
3218         (WebInspector.ScriptsSearchScope.prototype.performSearch.searchCallbackWrapper):
3219         (WebInspector.ScriptsSearchScope.prototype.performSearch):
3220         (WebInspector.ScriptsSearchScope.prototype.stopSearch):
3221         * inspector/front-end/TimelinePanel.js:
3222         (WebInspector.TimelinePanel.prototype._registerShortcuts):
3223         * inspector/front-end/inspector.css:
3224         (#drawer-status-bar .search-status-bar-item):
3225         (#drawer-status-bar .search-status-bar-message):
3226         (#drawer-status-bar .search-status-bar-progress):
3227         (#drawer-status-bar .search-status-bar-stop-button-item):
3228         (#drawer-status-bar .search-status-bar-stop-button .glyph):
3229         (#drawer-status-bar .search-results-status-bar-message):
3230         (.search-view .search-results):
3231         (#search-results-pane-file-based .search-results-outline-disclosure):
3232         (#search-results-pane-file-based .search-result):
3233         (#search-results-pane-file-based .search-result:hover):
3234         (#search-results-pane-file-based .show-more-matches):
3235         (#search-results-pane-file-based .show-more-matches:hover):
3236         (#search-results-pane-file-based .search-match:hover):
3237         * inspector/front-end/utilities.js:
3238         ():
3239
3240 2011-10-20  Zhenyao Mo  <zmo@google.com>
3241
3242         Implement mechanism to enable privileged webgl extensions
3243         https://bugs.webkit.org/show_bug.cgi?id=70538
3244
3245         Reviewed by Darin Fisher.
3246
3247         * html/canvas/WebGLRenderingContext.cpp:
3248         (WebCore::WebGLRenderingContext::allowPrivilegedExtensions): check page/Settings flag.
3249         * page/Settings.cpp: Add the flag.
3250         (WebCore::Settings::Settings):
3251         (WebCore::Settings::setPrivilegedWebGLExtensionsEnabled):
3252         * page/Settings.h: Ditto.
3253         (WebCore::Settings::privilegedWebGLExtensionsEnabled):
3254
3255 2011-10-20  Pavel Podivilov  <podivilov@chromium.org>
3256
3257         Web Inspector: first line in file is not highlighted.
3258         https://bugs.webkit.org/show_bug.cgi?id=70504
3259
3260         Reviewed by Pavel Feldman.
3261
3262         * inspector/front-end/SourceFrame.js:
3263         (WebInspector.SourceFrame.prototype._initializeTextViewer):
3264
3265 2011-10-21  Andreas Kling  <kling@webkit.org>
3266
3267         Simplify CSSStyleRule::setSelectorText().
3268         https://bugs.webkit.org/show_bug.cgi?id=70607
3269
3270         Reviewed by Antti Koivisto.
3271
3272         Remove unnecessary isCSSStyleSheet() check and redundant Document finding
3273         logic (CSSStyleSheet::document() will return the owner node's Document just
3274         like this code would.)
3275
3276         * css/CSSStyleRule.cpp:
3277         (WebCore::CSSStyleRule::setSelectorText):
3278
3279 2011-10-21  Alejandro G. Castro  <alex@igalia.com>
3280
3281         [cairo] Forward declaration of GraphicsContextState uses class instead of struct
3282         https://bugs.webkit.org/show_bug.cgi?id=70522
3283
3284         The type is a struct not a class, replace the definition in the
3285         forward declaration.
3286
3287         Reviewed by Martin Robinson.
3288
3289         * platform/graphics/cairo/PlatformContextCairo.h:
3290
3291 2011-10-20  Andrey Kosyakov  <caseq@chromium.org>
3292
3293         Web Inspector: make extension tests pass on chromium
3294         https://bugs.webkit.org/show_bug.cgi?id=70334
3295
3296         Reviewed by Pavel Feldman.
3297
3298         * inspector/front-end/ExtensionAPI.js:
3299         (buildExtensionAPIInjectedScript):
3300
3301 2011-10-20  Peter Rybin  <peter.rybin@gmail.com>
3302
3303         Web Inspector: reimplement protocol backend/frontend source generator
3304         https://bugs.webkit.org/show_bug.cgi?id=69295
3305
3306         Reviewed by Pavel Feldman.
3307
3308         Old 2-stage python+perf generator that uses intermediate IDL output is
3309         being replaced with a solid python script. This is for simplicity and
3310         as a base for the future JSON validator.
3311
3312         * CMakeLists.txt:
3313         * CodeGenerators.pri:
3314         * DerivedSources.make:
3315         * GNUmakefile.am:
3316         * WebCore.gyp/WebCore.gyp:
3317         * inspector/CodeGeneratorInspector.pm: Removed.
3318         * inspector/CodeGeneratorInspector.py: Added.
3319         * inspector/Inspector.json:
3320         * inspector/generate-inspector-idl: Removed.
3321
3322 2011-10-20  Adam Barth  <abarth@webkit.org>
3323
3324         Attemp to fix a bunch of tests PLATFORM(MAC).  We can't use a static
3325         map because that's shared between threads (and events exist in worker
3326         threads).  It migh be better to add a thread-specific map, but we can
3327         do that in another patch.
3328
3329         * bindings/js/JSEventCustom.cpp:
3330         (WebCore::toJS):
3331         * bindings/v8/custom/V8EventCustom.cpp:
3332         (WebCore::toV8):
3333
3334 2011-10-20  Simon Fraser  <simon.fraser@apple.com>
3335
3336         Hidden composited iframes cause infinite loop
3337         https://bugs.webkit.org/show_bug.cgi?id=52655
3338
3339         Reviewed by Darin Adler.
3340         
3341         visibility:hidden is problematic for compositing, because it causes
3342         RenderLayers to be removed from the z-order layer tree. This confuses
3343         RenderLayerCompositor in several ways; it never sees these layers
3344         when traversing the tree as it computes compositing requirements, or
3345         rebuilds the layer tree.
3346         
3347         This is a particular problem with composited iframes. When an iframe
3348         becomes composited, scheduleSetNeedsStyleRecalc() is called on that
3349         iframe's ownerElement in the parent document. If this happens inside
3350         Document::updateStyleForAllDocuments(), we get into an infinite loop
3351         because notifyIFramesOfCompositingChange() queues up style update as we
3352         bounce in and out of compositing mode, so documentsThatNeedStyleRecalc
3353         never empties out.
3354         
3355         This is an initial, conservative fix that doesn't attempt to fix all
3356         the issues with visibility. It changes RenderLayerCompositor to count
3357         the number of compositing RenderLayers, and to not leave compositing
3358         mode if there are any (even if they are hidden, so not hit while
3359         traversing the z-order tree). This avoids the infinite loop.
3360
3361         Test: compositing/visibility/hidden-iframe.html
3362
3363         * rendering/RenderLayer.cpp:
3364         (WebCore::RenderLayer::ensureBacking):
3365         (WebCore::RenderLayer::clearBacking):
3366         * rendering/RenderLayerCompositor.cpp:
3367         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
3368         (WebCore::RenderLayerCompositor::hasAnyAdditionalCompositedLayers):
3369         (WebCore::RenderLayerCompositor::updateCompositingLayers):
3370         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
3371         * rendering/RenderLayerCompositor.h:
3372         (WebCore::RenderLayerCompositor::layerBecameComposited):
3373         (WebCore::RenderLayerCompositor::layerBecameNonComposited):
3374
3375 2011-10-20  Antoine Labour  <piman@chromium.org>
3376
3377         Make WebCore depend on translator_glsl instead of translator_common
3378         https://bugs.webkit.org/show_bug.cgi?id=70548
3379
3380         Reviewed by Kenneth Russell.
3381
3382         This is a build-only fix. Tested by checking WebKit still compiles and
3383         link.
3384
3385         * WebCore.gyp/WebCore.gyp:
3386
3387 2011-10-20  Dana Jansens  <danakj@chromium.org>
3388
3389         [Chromium] Fix opaque flag default and for ImageLayerChromium
3390         https://bugs.webkit.org/show_bug.cgi?id=70554
3391
3392         Reviewed by James Robinson.
3393
3394         Covered by layout tests.
3395
3396         * platform/graphics/chromium/ImageLayerChromium.cpp:
3397         (WebCore::ImageLayerChromium::setContents): Set opaque flag based on if the image claims to have alpha.
3398         * platform/graphics/chromium/LayerChromium.cpp:
3399         (WebCore::LayerChromium::LayerChromium): Match the default opaque value in GraphicsLayerChromium.
3400
3401 2011-10-20  Yosifumi Inoue  <yosin@chromium.org>
3402
3403         [Forms][File] Add tooltip to "No file selected" text
3404         https://bugs.webkit.org/show_bug.cgi?id=70474
3405
3406         Reviewed by Kent Tamura.
3407
3408         No new tests. Existing tests cover all changes.
3409
3410         This patch provides tooltip for text portion of upload file control
3411         tell users to know actual text of truncated text of file name and
3412         "No file selected" text. Tooltip is always displayed even if user
3413         select only one file for truncated displayed file name.
3414
3415         * html/FileInputType.cpp:
3416         (WebCore::FileInputType::defaultToolTip): Implement default tooltip logic.
3417         * html/FileInputType.h: declaration of new method defaultToolTip.
3418         * html/HTMLInputElement.cpp:
3419         (WebCore::HTMLInputElement::defaultToolTip): Impelement new method defaultToolTip.
3420         * html/HTMLInputElement.h: declaration of new method defaultToolTip.
3421         * html/InputType.cpp:
3422         (WebCore::InputType::defaultToolTip): Implement default method of defaultToolTip method.
3423         * html/InputType.h: declaration of new method defaultToolTip.
3424         * page/Chrome.cpp:
3425         (WebCore::Chrome::setToolTip): Use new method HTMLInputElement::defaultToolTip and move default tooltip logic to FileInputType::defaultToolTip method.
3426
3427 2011-10-20  Darin Adler  <darin@apple.com>
3428
3429         Remove OptionElement (first half)
3430         https://bugs.webkit.org/show_bug.cgi?id=70276
3431
3432         Reviewed by Kent Tamura.
3433
3434         Refactoring that does not require new tests.
3435
3436         * css/SelectorChecker.cpp:
3437         (WebCore::SelectorChecker::checkOneSelector): Use hasTagName
3438         and toHTMLOptionElement instead of toOptionElement.
3439
3440         * dom/OptionElement.cpp: Deleted contents. Remove file later.
3441         * dom/OptionElement.h: Ditto.
3442
3443         * html/HTMLOptionElement.cpp:
3444         (WebCore::HTMLOptionElement::HTMLOptionElement): Initialize m_isSelected.
3445         (WebCore::HTMLOptionElement::createForJSConstructor): Initialize the
3446         selected attribute rather than calling setDefaultSelected.
3447         (WebCore::HTMLOptionElement::text): Moved the code here from
3448         OptionElement::collectOptionLabelOrText.
3449         (WebCore::HTMLOptionElement::index): Moved the code here from
3450         OptionElement::optionIndex.
3451         (WebCore::HTMLOptionElement::parseMappedAttribute): Removed unneeded
3452         code to call setValue and setLabel. Changed the code that called
3453         setSelected to instead set m_isSelected and added a FIXME about why
3454         that's probably wrong, but same behavior as before.
3455         (WebCore::HTMLOptionElement::value): Moved the code here from
3456         OptionElement::collectOptionValue. Added a FIXME about incorrect
3457         whitespace stripping.
3458         (WebCore::HTMLOptionElement::selected): Use m_isSelected.
3459         (WebCore::HTMLOptionElement::setSelected): Use m_isSelected and
3460         call setSelectedState instead of OptionElement::setSelectedState.
3461         (WebCore::HTMLOptionElement::setSelectedState): Moved the code
3462         here from OptionElement::setSelectedState.
3463         (WebCore::HTMLOptionElement::label): Streamlined the code.
3464         (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
3465         Moved the code here from OptionElement::collectOptionTextRespectingGroupLabel.
3466         (WebCore::HTMLOptionElement::insertedIntoTree): Use m_isSelected
3467         and rewrote comment for clarity.
3468         (WebCore::HTMLOptionElement::collectOptionInnerText): Moved this
3469         here from OptionElement, and changed to use StringBuilder.
3470         (WebCore::toHTMLOptionElement): Added.
3471
3472         * html/HTMLOptionElement.h: Removed OptionElement.h include.
3473         Removed OptionElement base class. Removed unneeded friend declarations.
3474         Made value and selected functions non-virtual. Removed unneeded
3475         defaultSelected and setDefaultSelected functions. Made the
3476         textIndentedToRespectGroupLabel and setSelectedState functions
3477         be non-virtual and public. Added a collectOptionInnerText function.
3478         Replaced m_data with m_value, m_label, and m_selected.
3479