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